Your prompt was blocked. How to rewrite it
Most prompt blocks come from a few trigger patterns, not the idea. Isolate the phrase, rewrite it, and know when to switch models instead.
A blocked prompt is usually not a verdict on the idea. It is a classifier hitting a phrase. Medical copy, a sports injury, a brand name that collides with a blocked token, an anatomical word used in a garment brief: those are the jobs that bounce, and they bounce even when the brief is ordinary.
Retrying the same text is the expensive non-fix. An input-level refusal fails the same way on the next attempt, because nothing about the wording changed. The procedure is: classify which checker fired, isolate the offending phrase, rewrite only that phrase, and switch models when the phrase is not the problem. This is a rewrite guide for false positives. If the idea itself is disallowed, a synonym will not make it allowed.
Two checkers, two clocks
A safety checker inspects prompts, outputs, or both. The two stages behave differently, which is why the timing of the refusal is diagnostic.
Input filter. Reads the prompt before any generation starts. Refusal is instant, or close to it. You spent no wait. The text is the whole problem.
Output filter. Inspects finished frames after the wait, and suppresses them. The result arrives as a blank, a black frame, or a generic "couldn't generate" with no useful diff. The prompt may have been clean. The picture was not.
Filters are wrong in both directions. False positives are the daily annoyance. False negatives exist too, which is why the provider's terms, not the filter, define what you can publish. A tolerance setting, where one exists, is not an off switch.
On Versely, submitted text is checked before a job is dispatched, and many models run a second checker on the finished frames. Instant block: rewrite the prompt. Late blank: the prompt may be fine, and the picture tripped a pixel-level rule (a pose, a crop, a texture the classifier reads as disallowed). Those two cases do not share a rewrite.
A late blank is not a model ignoring you. Adherence failures still return a picture. If you got a wrong picture, use the tree for generations that come back wrong.
Isolate the phrase. Do not rewrite the brief.
The instinct is to start over with a longer, softer paragraph. That moves every variable at once, so you never learn which token was the trip. Binary-search the text instead.
- Copy the prompt out. You need the exact wording that failed, not the version you remember.
- Split it in half. Subject and action in one test. Style, grade, camera in the other. Run each half (or a reduced version of each) as its own prompt.
- Keep splitting the half that still blocks. When a sentence fails and the sentence without one clause passes, you have the region. Then drop words until a single noun, verb, or brand is the difference.
- Rewrite only that slot. Put the rest back unchanged. If the job now runs, stop. Extra adjectives are how you introduce a second trip.
What the isolated phrase usually is, in practice:
- An anatomical or medical term in a brief that was never adult content. "Lesion," "nude-toned," "body" in a garment or skincare shot.
- Violence vocabulary in a sports, stunt, or first-aid context. "Hit," "blood," "injury," "knocked out."
- A brand, celebrity, or title that collides with a blocked name, including when you meant a generic product category.
- Sexualised clothing language that you meant as a fashion spec. The classifier does not know the difference between a lookbook and a policy violation; it knows tokens.
- Quotation marks and contractions on some video models, which is a different failure (the model treats quoted text as dialogue or burns in captions). That is not a safety block. It still needs a rewrite: "I am here," not "I'm here," and no quotes around lines you do not want spoken.
Write the replacement as the thing you do want to see, not as a negation of the trip. Negative prompts are a separate channel, and they are absent on some families entirely. Flux-family models in particular have no classifier-free-guidance channel for a negative to push against; a stacked "no X, no Y" on those cards does nothing, or it muddies the positive. Convert every "no blood" into "clean kit, intact skin, a finished play." Naming the forbidden concept in either channel can activate it.
A rewrite procedure you can run in five minutes
Use this as a script, not as inspiration.
Step A. Classify the refusal.
| What you saw | Likely stage | First move |
|---|---|---|
| Instant error, no wait | Input filter | Binary-search the prompt |
| Long wait, then blank / black / silent fail | Output filter | Change pose, crop, or wardrobe; keep the prompt if it already passed |
| Picture returns, just wrong | Not a block | Adherence / model swap, not this procedure |
| Same prompt blocked on model 1, fine on model 2 | Provider filter difference | You already have the decision: switch, or keep rewriting for the first card |
Step B. Substitute, don't euphemise at random.
The replacement has to still specify the shot. Vague softness ("tasteful, artistic, appropriate") does not describe a picture and does not reliably clear a token filter.
| Trip (typical) | Rewrite that keeps the brief |
|---|---|
| Medical / skin condition language | Name the visible, non-graphic state: "redness on the cheek," "a closed bandage on the forearm." |
| Sports contact | Name the sport and the body position: "a striker sliding, grass stains on the kit, no injury shown." |
| Fashion "nude" as a colour | "Bare-shoulder evening dress, sand-coloured fabric." Colour words, not body words. |
| Brand collision | Generic category plus shape and materials, or a brand you actually have the right to show. |
| Quoted dialogue on a video model that burns in captions | Unquoted, uncontracted speech, or no speech in the prompt and a later voiceover. |
Step C. Re-test the minimum change.
One substituted phrase. Same model. Same other settings. If you change the model and the wording, you cannot tell which one cleared it, and you will not have a reusable rewrite for the next brief in this series.
Step D. Stop if the idea is the problem.
If every honest description of the shot blocks, you are not holding a clumsy synonym. You are holding a job the policy does not allow. Do not spend a dozen generations hunting for a phrasing that sneaks it through. Change the brief, or do not run it.
Brand safety is a different layer again. A safety checker has no opinion on an invented claim, a resemblance to a real founder, or a background sign in the wrong language. Clearing a prompt filter does not clear a legal review. Run the brand-safety checklist on anything that will ship, including the variant that "finally generated."
When to switch models instead
Filters differ per provider. The same prompt can pass on one card and fail on another. That is a legitimate production lever, not a cheat, once you have confirmed you are not asking for a disallowed job.
Switch, rather than rewrite again, when:
- You isolated the phrase, substituted it twice, and the input filter still fires on wording that is now ordinary.
- The block is output-stage: the prompt is clean, the picture is blank, and a second model on the identical prompt returns a usable frame.
- You need a family that does not share the first provider's token list. Shopping by brand inside one family often shares a checker.
Stay, and keep rewriting, when half the prompt already runs on this model and the rest of the sequence is locked to it, or when you have not isolated the phrase yet. Switching before isolation teaches you nothing.
The model catalog is the place to pick a second card in the same job category. Compare puts two specific ones side by side once you have names. Do not jump to a generate-only model for an edit job just because it might be "less filtered." Wrong category is a new failure, not a cleared one.
A note on prompt expansion: an enhancer can introduce a trip the original did not contain. If a prompt that used to run starts blocking after an enhance, compare the expanded text to your original and strip the extra anatomical, violent, or brand language.
FAQ
Why did a retry of the exact same prompt fail again?
Because an input-level refusal is a function of the text. Identical wording, identical decision. Change the isolated phrase, or change the model.
The job sat for a while and came back blank. Is that a prompt problem?
Often not. That timing is the output filter: the sampler produced frames and a second classifier suppressed them. Change what the picture is likely to contain (pose, crop, wardrobe, how much skin, whether a contact sport reads as injury) while keeping the prompt's job description. If a blank persists across those changes, then try a different model on the same prompt.
Will a long negative prompt get me past the filter?
No. A negative prompt steers generation away from named concepts; it does not disable a checker. On models that do not expose negatives at all, the field is simply unused. On models that do, putting the trip word in the negative can still activate the concept. Describe the permitted scene in the positive prompt. Do not build a list of banned nouns and expect the checker to treat that as clearance.
How is this different from the model just ignoring part of the prompt?
Ignored terms still return a picture. You can see the miss and rewrite for adherence. A block returns a refusal or a blank. If you have a picture, even a wrong one, you are not in this procedure. Use the diagnostic tree for wrong generations, and keep this procedure for refusals.