Addaly is in open beta. Things will change, and AI answers can be wrong — check anything that matters.

Making Things With AI

Images, video, voice and music — how they work, where they break, who owns them.

Lesson 17 of 848 min

The prompt you sent is not the prompt it got

An invisible layer

When you type into a hosted image service, your text does not usually go straight to the model. Several things happen to it first, and none of them are shown to you.

Expansion. A language model reads your short request and writes a longer, more detailed description for the image model to render. This is why a four-word prompt on some services returns a richly specified image with lighting, lens and setting you never asked for. It is also why the same four words give a different scene each time even at a fixed seed, if the service exposes seeds at all: the expansion is itself a generation.

Safety filtering and rewriting. Prompts are checked against policy. A prompt may be refused, or quietly modified — a named public figure replaced with a description, a violent word softened. The image comes back. Nothing says it answered a different question.

Diversity and default injection. Some services append or substitute terms intended to broaden the range of people depicted, because an unmodified model returns the training-set average. This is a defensible aim with a clumsy mechanism, and it has produced well-publicised failures where the injected terms were applied to requests where they made no sense, including historical ones. The lesson is not that the aim was wrong. It is that the intervention happened at the prompt, invisibly, where the user could neither see it nor correct it.

What a hosted service does to your prompt before the model sees itYou typethirty wordsThe only partof this youwill everread.ExpansionA languagemodelrewrites itinto a longliteraldescription,withlighting,lens andsetting youdid not askfor. Theexpansion isitself ageneration,so it differseach time.Policy checkThe requestmay berefused, orquietlyaltered — anamed personreplaced withadescription,a violentwordsoftened. Theimage stillcomes back.DefaultinjectionSome servicesappend orsubstituteterms,includingones meant tobroaden whois depicted.This is wherethewell-publicisedhistoricalfailures camefrom.The imagemodelReceives aprompt younever saw,and rendersthat.Your recordno longerreproducesPrompt plusseed does notdefine theoutput,because anunseengenerationsits in themiddle of thepipeline.None of this is visible and all of it is detectable: ask for an empty room with a single grey box andnothing else. If furniture, plants and a window come back, something expanded your request.
What a hosted service does to your promptbefore the model sees itYou type thirty wordsThe only part of this you will ever read.ExpansionA language model rewrites it into a long literaldescription, with lighting, lens and setting youdid not ask for. The expansion is itself ageneration, so it differs each time.Policy checkThe request may be refused, or quietly altered —a named person replaced with a description, aviolent word softened. The image still comesback.Default injectionSome services append or substitute terms,including ones meant to broaden who is depicted.This is where the well-publicised historicalfailures came from.The image modelReceives a prompt you never saw, and rendersthat.Your record no longer reproducesPrompt plus seed does not define the output,because an unseen generation sits in the middleof the pipeline.None of this is visible and all of it is detectable:ask for an empty room with a single grey box andnothing else. If furniture, plants and a window comeback, something expanded your request.

How to detect it

You cannot read the rewritten prompt on most services. You can detect that rewriting is happening:

  • Ask for something structurally odd — an empty room with a single grey box, nothing else. If the result contains furniture, plants and a window, something expanded your request.
  • Repeat the identical prompt several times. Wide variation in scene content, as opposed to variation in the same scene, points at an upstream generator.
  • Give a prompt that contradicts itself mildly. Expansion layers tend to resolve contradictions into something coherent; a raw model tends to produce the contradiction.

Some services will tell you the final prompt if you ask in the same conversation, and some show it in a details panel. Where it is available, look at it once. It is usually instructive about how much of your result was your idea.

Why this matters beyond curiosity

Three practical consequences.

Reproducibility is not yours. If the pipeline includes a rewriting step you cannot see or pin, then your prompt plus seed does not define the output. For work that must be repeatable — a series, a brand, anything a client will ask you to match — this is a real limitation of hosted services, and it is the main reason production studios keep local models for the shots that must be consistent.

Attribution of failure goes wrong. People conclude that a model "cannot" do something when it was the filter that refused, or that a model is "biased toward" something when it was the injection. Diagnosing anything requires knowing which layer you are talking to.

Disclosure gets complicated. If you are telling a client what went into a piece of work, "I wrote this prompt" is not quite true when an unseen model wrote most of the operative description. It rarely matters. It occasionally does, and it is better to know.

The free alternative, and its price

Running a model locally removes every one of these layers. Your prompt is the prompt. The seed reproduces. Nothing is injected, nothing is silently refused, and the record you keep is complete. ComfyUI, the various WebUIs, InvokeAI, Fooocus and Draw Things are all free, and small models run on modest hardware.

The price is honest to state. You maintain it. You choose the model, the sampler, the guidance and the upscaler yourself, and nothing helps you when a result is bad. The removal of the safety layer is also the removal of the safety layer: what you generate is entirely your responsibility, legally and ethically, and the law does not care that no filter warned you.

Most people end up using both — hosted services for speed and for the things the big models do best, local models for anything that must be reproducible, private or consistent. Knowing which one you are on, and what it is doing to your words, is the point of this lesson.

The one thing to keep

Hosted image services rewrite, expand and filter prompts before the model sees them, which explains results that do not match the words you typed and makes reproducibility a property of the service rather than of your record.

Before you move on

A hosted service returns wildly different scenes for the identical short prompt on repeated runs, while a local model with a fixed seed returns the same image every time. What does this most likely indicate?

Pick the one you would defend. Nobody sees your answer.

No ads. No data sale. No public scores on people. Ever.

© 2026 Addaly