Fellowi

Why AI Image Generators Refuse You, and What Is Actually Happening

By The Fellowi Team · · 8 min read

Three translucent violet gates staggered across a dark field, each one narrower than the last, with no figure passing through.

There is a particular kind of frustration that only happens with image generators. You write something, it comes back empty or with a message so bland it could mean anything, and you have no idea whether you asked for something forbidden, phrased it badly, or hit a bug. So you change a word at random and try again. Sometimes that works, which is the worst possible outcome, because now you have learned a superstition instead of a fact.

The useful thing to understand is that “the generator refused me” describes at least three completely different systems, built by different people for different reasons, failing in different ways. Once you can tell them apart, most of the mystery goes away and a fair number of refusals turn out to be fixable.

Layer one: the prompt blocklist

The cheapest filter runs before anything is generated. It reads your text, matches it against a list of words and patterns, and rejects outright if it hits. This is the layer that produces instant refusals, usually within a second of pressing the button, and it is the one people most successfully route around by changing vocabulary.

It is also the crudest. Blocklists cannot read context, so they catch an enormous amount of innocent work: anatomy words in a medical illustration, ordinary words that happen to be slang somewhere, character names that collide with something unrelated. Anyone who has tried to generate a picture of a butcher's shop or a life drawing class has met this layer.

The tell is speed and consistency. If a prompt is refused immediately and refused every single time, in exactly the same way, you are almost certainly hitting a text filter rather than anything to do with the image.

Layer two: the model itself

The second layer is not a filter at all, which is why it behaves so strangely. Modern image models are trained with a preference for certain outputs and against others, so a request the model has been steered away from does not get rejected, it gets quietly degraded. You asked for one thing and received something adjacent, blander, more clothed, more ambiguous. Nothing announced itself. You just got a worse picture and could not say why.

This is the layer that makes people think they are bad at prompting. In a sense they are not wrong, but the problem is not their vocabulary. The model is negotiating with them, and it has the last word.

It is also the layer that is hardest to remove. A provider can delete a blocklist in an afternoon. Undoing training is a different order of problem, which is why even genuinely permissive tools still sometimes resist, and why “uncensored” is a claim worth reading carefully. We wrote about what the word can honestly mean in what an uncensored AI image generator actually means.

Layer three: the classifier that looks at the result

The third layer runs after the image exists. A separate model looks at the finished picture, scores it, and blocks delivery if the score crosses a line. You paid for the render, the render happened, and then something else decided you could not have it.

This is the layer that explains the single most maddening behaviour in this whole category: the same prompt working on Tuesday and failing on Thursday. Generation is random. Run one prompt twice and you get two different images. If your request sits anywhere near the classifier's threshold, one of those images clears it and the other does not. You did not do anything differently. The dice did.

If you have ever been convinced that a service quietly tightened its filters overnight, this is usually what happened instead. Sometimes providers really do tighten things. Far more often you were always on the edge and only noticed the day you landed on the wrong side of it twice in a row.

Why nobody tells you which layer caught you

Because a specific error message is an instruction manual for getting around the filter. Tell someone “the word X was blocked” and you have taught them exactly what to swap. So almost every provider returns a single vague refusal for all three causes, and the result is that a legitimate user with a harmless prompt gets the same opaque message as someone probing for holes.

It is a defensible trade and it is genuinely unpleasant to be on the receiving end of. It is also why so much prompting advice online is folklore: people are pattern-matching on an invisible system and passing on rituals that happened to work once.

The one habit that survives all three layers

Never name something you do not want in the picture. Writing “no nudity” puts nudity into the prompt, where layer one may match it, layer two weighs it, and layer three eventually looks for it. Image models have no reliable concept of negation, so a negative is read as a topic.

We learned this inside our own system rather than from a paper. An early version of the instruction we prepend to every generation named a physical attribute in order to preserve it, effectively saying that a person was bald. The model read that as something to draw and started producing bald people in conversations with characters who had hair. The fix was to stop naming attribute values entirely. The full set of habits that follow from this is in how to write NSFW prompts that actually render, and the anime-specific version is in why the anime style fights you.

What we do instead

Two things are refused on Fellowi and always will be: anything sexual involving minors, and anything depicting non-consent. That is the whole list, it is not a dial, and no plan unlocks it. Everything else between adults is allowed, which is precisely why it costs us nothing to state the limits this plainly.

For everything that is not one of those two, the design principle is that a failure should never cost you. If a prompt does not come back, we retry once with a softened version of your own wording, and if that also fails, the coins return to your wallet automatically. You are not paying for the privilege of guessing. That single policy is what makes rewriting a prompt the rational response to a refusal, instead of hoarding your ideas and trying the least interesting version of each one.

If you have been fighting a generator that will not tell you what it objects to, the honest test is to go and ask for the thing you actually wanted: open the generator, or read the plain-language version of our policy on the 18+ generator page first.

Try it for yourself

A warm, private AI companion - 7 days free with 30 messages, no card needed.

Pricing and limits

Keep reading