One recording.
A clean version
and an uncensored one.
Sapari detects profanity in your audio and captions, then lets you bleep, mute, or censor each independently. Ship the clean cut to YouTube and the uncensored to Patreon from the same timeline.
7 days · 30 AI minutes · No credit card
THIS IS FUCKING UNREAL
THIS IS F*****G UNREAL
THIS IS ******* UNREAL
The problem
Swearing is part
of how creators talk.
Doing this manually means finding each word, bleeping the audio, censoring the caption. For a ranty podcaster, that's hundreds of edits per episode.
Sapari detects profanity automatically and applies the treatment you pick.
Penalizes profanity in the first 30 seconds for monetization.
Flags explicit content, lowers reach.
Tolerance is roughly zero.
Usually have explicit "no profanity" clauses.
Ship a clean version alongside the original.
How it works
Detect.
Classify.
Apply.
Dictionary tokens
Across four languages with Unicode normalization, so leet-spelled or accented variants also match.
Red card
Each detected token shows up on the timeline as a red edit card.
Independent modes
You pick audio and caption modes independently.
Two modes, independent
Audio × Captions.
Leave audio unchanged.
Silence the audio for the word's duration.
Replace with a 1kHz tone matched to the word's duration. Classic censorship beep.
Caption the word as spoken.
Censor mid-word. "f**k"
Censor entirely. "****"
Podcast: cleaner audio, visible but softened text.
Silent cuts in audio, captions obscured entirely.
Audio raw, captions soften for screenshots.
Languages
Four supported.
Additional languages on the roadmap.
Review
Red cards.
Same pattern.
"…this is **** unreal…"
Detector flagged a name, place, or homograph? Dismiss the card. Missed one? Mark a manual edit with the censor action.
Before you ask
Common questions.
Is the dictionary customizable? +
Built-in dictionaries are fixed today. Custom blocklists (your own terms, allowlist false positives) are on the roadmap.
What if a word isn't profanity in my context? +
Dismiss the card and that specific instance stays uncensored.
Can I export a clean and uncensored version from the same project? +
Yes. Save two drafts with different profanity settings and export each separately. Both pull from the same analysis.
Does the bleep replace the entire word's duration? +
Yes. The bleep tone is trimmed to match the word's exact start and end, so lip-sync stays tight in caption-forward video.
How accurate is detection? +
For common profanity in supported languages, very high. For creative or obfuscated spellings, less reliable. Unicode normalization catches most common substitutions.
Is the dictionary customizable?
Built-in dictionaries are fixed today. Custom blocklists (your own terms, allowlist false positives) are on the roadmap.
What if a word isn't profanity in my context?
Dismiss the card and that specific instance stays uncensored.
Can I export a clean and uncensored version from the same project?
Yes. Save two drafts with different profanity settings and export each separately. Both pull from the same analysis.
Does the bleep replace the entire word's duration?
Yes. The bleep tone is trimmed to match the word's exact start and end, so lip-sync stays tight in caption-forward video.
How accurate is detection?
For common profanity in supported languages, very high. For creative or obfuscated spellings, less reliable. Unicode normalization catches most common substitutions.