You submit an image prompt that looks completely innocent — portrait of a woman in a red dress, sitting at a cafe — and the tool returns a refusal instead of an image. The filter caught one token or one combination that pattern-matched a blocked category, not your intent.
Fastest fix: delete the second half of the prompt, resubmit. Keep halving until the refusal disappears, and you have isolated the single trigger word. Then swap that word for a generic descriptor (Step 2 below). Most legitimate prompts are unblocked in under a minute this way.
What the refusal looks like depends on the tool (as of June 2026):
| Tool / model | Typical refusal text | Where the block happens |
|---|---|---|
| ChatGPT (GPT Image 2) | This image generation request did not follow our content policy | Stage 1 prompt classifier, then a second post-image scan |
gpt-image-2 API | 400 with code: "moderation_blocked" / Your request was rejected by the safety system | API moderation layer |
| Midjourney (V8.1) | Banned word is highlighted/stripped, or Sorry! Our AI moderators feel... | Prompt parse step |
| Gemini / Nano Banana | Returns no image plus a policy notice, or an empty/blurred result | Prompt and output filter |
| Flux.2, SDXL (local) | Black or blurred output (built-in NSFW/IP filter), or nothing if filter disabled | Optional input/output filter |
OpenAI confirms GPT Image 2 uses a two-stage filter: a neural multi-class classifier scans the prompt text and any reference image first, then a second pass scans the generated image after creation. That is why a prompt sometimes passes, renders, and then gets blocked — you tripped Stage 2, not Stage 1.
Common causes
Ordered by what trips the most legitimate prompts.
1. Celebrity, brand, or trademarked name
Taylor Swift, Coca-Cola, Mickey Mouse, Iron Man, Pokemon, Nike swoosh — even as descriptors (style of Taylor Swift's reputation tour), these route the prompt into a stricter classifier. Midjourney, GPT Image 2, Nano Banana, and Flux all maintain block-lists. GPT Image 2 was trained to avoid reproducing protected IP, so a trademarked character often returns a rejection or an altered image that dodges the distinctive look.
How to spot it: Scan your prompt for any proper noun. If you find one, replace it with a generic descriptor that captures the same vibe.
2. Scene description reads as violence or gore
Blood, wound, dead, body on the ground, weapon raised, combat, dripping, even red liquid — singly or in combination. Midjourney is explicitly PG-13: detached body parts, mutilation, severed limbs, and “images of shooting or bombing someone” are named in its Community Guidelines. A “horror movie poster” or “war photography” prompt usually trips this.
How to spot it: Read the prompt back imagining you are a high-school content moderator. If you would flag it without thinking, the filter does too.
3. Sexualized or NSFW-adjacent language
Lingerie, bedroom, bare shoulders, wet, lying down, seductive, even intimate — and especially when combined with young, teenage, school. The under-18 + suggestive combination triggers the hardest blocks; some platforms also block solo school uniform and swimsuit regardless of age context. Midjourney bans NSFW outright and treats bypass attempts as a ban-worthy offense.
How to spot it: Check for any word that could read as suggestive even out of context. Then check whether anything in the prompt could be read as under-18 (student, young, school). If both are present, that is the trigger.
4. Negative prompt tokens themselves trip the filter
Counterintuitive but common in SDXL / Flux workflows. You add nsfw, nude, child to the negative prompt to suppress unwanted outputs. Some platforms scan the negative field with the same classifier as the positive and block the job because it contains the word.
How to spot it: Remove the negative prompt entirely and retry. If the job goes through, the negative was the trigger.
5. Real-person or living-political-figure reference
Putin, Trump, the current US president, the Pope, etc. Most platforms hard-block recognizable living politicians; many block any private individual by name. GPT Image 2’s classifier explicitly covers “public figures.” The block often surfaces as content policy rather than “real person blocked.”
How to spot it: Search the prompt for political or public-figure names. Replace with descriptors (middle-aged businessman with grey hair, suit).
6. Medical, gore, or self-harm signals
Suicide, cutting, pills, noose, hanging, bleeding, plus surgery, autopsy, wound — even in legitimate medical-illustration contexts. The classifier cannot tell a textbook from a graphic. OpenAI lists self-harm as its own moderation class.
7. False positive on innocuous text
Cock (rooster), bare hands, breast (chicken), loaded gun (idiom), kill it (slang) — substring matchers occasionally trip on these. Rarer on the big 2026 models, which classify meaning rather than substrings, but still common on smaller open-source filters and on Midjourney’s word-level block-list.
Which bucket are you in
| If your prompt contains… | Most likely cause | Go to |
|---|---|---|
| A real name (person, brand, character) | Proper-noun block-list | Step 2 |
| Action / weapon / injury words | Violence classifier | Step 3 |
| Suggestive word + any youth word | NSFW + minor classifier | Step 4 |
| Loaded words only in the negative field | Negative-field scan | Step 5 |
| Passes, renders, then blocks | Stage-2 image scan | Step 6 |
| Nothing obviously wrong | False positive / model too strict | Steps 1 then 7 |
Before you change anything
- Note the exact tool and model version that blocked you — GPT Image 2, Midjourney V8.1, and Nano Banana have different filters.
- Copy the full prompt and the exact refusal message into a scratch doc before rewriting.
- Check the tool’s content policy page (Midjourney Community Guidelines; OpenAI usage policies); the blocked categories are listed there.
- Decide whether the use case is legitimately covered by the policy. If the model is correctly blocking something genuinely against policy, the fix is the use case, not the prompt.
- Save the working version of your other prompts on this account; repeated safety strikes can lead to account rate-limiting or, on Midjourney, a permanent ban with no refund.
Information to collect
- The full prompt, negative prompt (if any), model name, and exact tier.
- The exact refusal message text, a screenshot of the UI, and the timestamp. For the API, capture the
request_idand thecodefield. - Whether the same prompt with one word removed goes through (this is your binary-search anchor).
- Account history of refusals — three in a row may flip a soft block to a hard block on some platforms.
- Whether the same prompt works on a different model / tool entirely.
Shortest path to fix
Step 1: Binary-search to isolate the trigger word
This is the highest-ROI move and takes 60-90 seconds.
- Delete the second half of the prompt, resubmit.
- If it passes, the trigger is in the second half; if it fails, the trigger is in the first half.
- Halve again. Repeat until you have a single word or phrase.
For a 30-word prompt, this is at most 5 iterations.
Step 2: Replace proper nouns with descriptors
Specific replacements that almost always pass:
Taylor Swift→blonde pop singer in glittering stage outfit, microphone in handIron Man→man in red and gold robotic armor, glowing chest platePutin→bald middle-aged Eastern European politician in dark suitCoca-Cola can→red soda can with white ribbon design
The model still produces a recognizable result without tripping the name filter.
Step 3: Soften violence / gore language
Blood→red liquid, or omit entirely and let the scene context imply itBody on the ground→figure resting on the groundSword raised, blood dripping→dramatic medieval combat scene, action poseDead→still,unconscious, or omit
For legitimate horror / war / medical use cases, lean on lighting and composition cues (dark shadows, low-angle, dim lighting) instead of explicit damage descriptors.
Step 4: Re-frame age-adjacent language
If your subject is genuinely an adult, say so explicitly: adult woman in her late 20s. If the prompt previously said student or young, the explicit adult anchor usually unblocks it. If your subject must be under 18 (school photo, family portrait), avoid any clothing or pose language that could read as suggestive.
Step 5: Strip the negative prompt and re-test
Remove the entire negative prompt block, run the positive prompt alone. If it passes, the negative was the trigger. Reintroduce neutral negative tokens only (blurry, low quality, deformed hands) and avoid loaded words (nude, child, nsfw) in the negative field even when you mean to suppress them.
Step 6: Defeat the Stage-2 image scan
If the prompt passes but the result gets blocked or comes back blurred, the post-generation scan caught the output. Reduce realism cues that push an otherwise-fine prompt over the line: add illustration, digital painting, or stylized to move away from photoreal skin; add more clothing/context words; widen the framing (full body, environment visible) so a torso crop is not the whole image. On the gpt-image-2 API, switching moderation: "low" (where your account is eligible) relaxes the post-image threshold.
Step 7: Try a different model
Filters vary a lot in strictness. If the prompt is legitimate (not policy-violating) but Midjourney refuses, try GPT Image 2, Nano Banana, or a local Flux.2 / SDXL build. Local open-source models have the loosest filters (Flux.2’s NSFW/IP filter can be configured on self-hosted Dev builds); the big hosted commercial models tend to be strictest. Note that Google retired the Imagen brand inside Gemini — image generation there now runs on Nano Banana.
Step 8: For commercial / educational use, request an exception
OpenAI and Anthropic offer business-tier support that can review false-positive blocks. Document the use case, share the prompt, and request a policy review. This is slow (1-2 weeks) but works for repeated false positives.
How to confirm the fix
- The same prompt, with the identified change, completes the generation end-to-end (passes both Stage 1 and Stage 2).
- The output still captures the intended subject and mood.
- Three consecutive runs at different seeds all complete, confirming it was the trigger and not noise.
- Your account refusal count for the day stops climbing.
If it still fails
- Check the tool’s status page — safety filters occasionally get tightened during incidents and revert within hours.
- Reduce the prompt to its absolute minimum (subject + style, nothing else) and rebuild it word by word, testing after each addition.
- Use a fresh or teammate’s account to verify the block is not account-level rate-limiting masquerading as a content filter.
- Package the full prompt, refusal message, timestamp,
request_id, and use-case context before contacting support.
FAQ
Why did the same prompt work yesterday and fail today? Filters are updated continuously. Midjourney states there is no fixed public banned-word list — it is dynamic and changes as people find workarounds. A word that was borderline can be tightened overnight, or a model default can roll over (Midjourney V8.1 became default on June 10, 2026; ChatGPT switched to GPT Image 2 on April 21, 2026, retiring DALL-E 3 on May 12).
The prompt is clearly innocent. Why is it blocked?
The classifier matches patterns, not intent. Gun in a history scene, blood in a medical diagram, or a celebrity name trips the same rejection as genuinely prohibited content. Binary-search to find the one token, then describe rather than name it.
It generated the image, then blocked it. What happened? You hit the post-generation (Stage 2) scan. The prompt was fine but the rendered pixels read as policy-violating. Reduce realism, add clothing/context, or widen the crop (Step 6).
Will repeated refusals get my account banned? On some platforms, yes. Repeated borderline submissions soft-flag an account, and Midjourney explicitly bans persistent or deliberate-bypass violations with no refund. Stop after one refusal and rewrite rather than retrying the same thing.
How do I generate something genuinely against policy (real NSFW, exact celebrity)? You don’t, on the hosted commercial tools — that is what the filter is for, and bypassing it risks a ban. The techniques here are for false positives on legitimate prompts only.
Prevention
- Maintain a “neutral vocabulary” cheat sheet for terms you have learned trip filters, with safe substitutes.
- Keep all proper-noun references out of prompts; describe the look, not the name.
- Scan prompts with a moderator’s eye before you submit; the 5-second check catches roughly 80% of refusals.
- When working on edgy creative briefs (horror, conflict, fashion), iterate on a known-looser model, then re-render the final on the stricter commercial model.
- Stop after one refusal and rewrite — repeated submissions of borderline prompts can soft-flag your account.
Related
- Gemini / Imagen prompt blocked by safety
- ChatGPT image generation failed
- AI generation credits burned fast
- Prompt triggered refusal
- Refactor prompts
Tags: #Debug #Troubleshooting