The internet is full of prompt incantations — strings of comma-separated adjectives passed around like spells, with no explanation of why they work or when they fail. They are folklore, and folklore stops working the moment the model updates. What survives a model change is not a magic word. It is a way of thinking.

Here is a more durable mental model: treat the prompt as a grammar with a few distinct roles, and compose those roles deliberately rather than piling on descriptors and hoping.

A guide that only asserted this would be folklore of a different flavour, so each of the habits below is tied to something about how these systems actually work. Where the mechanism is documented, it is cited. Where the advice is craft rather than mechanism, that is said plainly.

Subject, then constraint

A diffusion model does not read your prompt the way a person does. It treats every token as a pull on the final image, and conflicting pulls average into mush. The first discipline is to separate what the image is from how it should look — the subject from its constraints — and to keep each short enough that the model can honour it.

A single clear subject with three deliberate constraints will outperform a paragraph of adjectives almost every time. More words is not more control. It is usually less.

That last claim is the one worth defending, because it sounds like taste and is not. Many image models condition on text through a CLIP encoder, and CLIP’s text encoder accepts a maximum of 77 tokens. The interesting part is what happens well before that ceiling. In Long-CLIP, published in March 2024, Beichen Zhang and colleagues report that “the actual effective length for CLIP is merely 20 tokens” — because CLIP was trained overwhelmingly on short captions, the positional embeddings for later token positions are, in their words, inadequately trained.

Read that against a typical folklore prompt. The subject arrives in the first few tokens, and the long tail of quality words — the “masterpiece, ultra detailed, 8k, trending on artstation” freight — lands in positions the encoder never learned to use well. The tail is not being weighed and found wanting. It is arriving somewhere the model barely reads. That is why trimming a prompt so often improves it, and it is a fact about the architecture rather than a preference about style.

The practical rule follows directly: spend your early tokens on the subject and the constraints that matter most, and treat every additional descriptor as competing for a budget that is smaller than the documented limit suggests.

One caveat, and it is the kind this guide exists to model. That budget is a property of a particular text encoder, not a law of diffusion, and newer pipelines have moved. Flux pairs a CLIP encoder with a second T5 encoder, and its documented default sets max_sequence_length to 512, with the timestep-distilled variant capped lower at 256. The documentation does not attribute that limit to one encoder or the other, so the honest reading is that the ceiling has risen substantially and the exact mechanics vary by pipeline. Treat “keep it short” as a default justified by how the encoder in front of you was trained, and go and check which encoder that is — because a rule repeated after its architecture has changed is precisely how folklore gets made.

Composition is a separate decision

The second role in the grammar is composition: framing, distance, where the eye lands. Models respond far better to compositional language — close crop, low angle, negative space on the left — than to abstract quality words. “Beautiful” means nothing to the model. “Centred, shallow depth of field” means something it can act on.

This one is craft, not mechanism, and it is worth being honest about the difference. There is no citation below it. It is the accumulated habit of people who generate a great many images, and the reason to trust it is that it is falsifiable in about four minutes: write the same subject twice, once with three quality adjectives and once with three compositional instructions, and compare. A guide that cannot tell you how to check its own advice is asking for the same faith the incantations do.

Iterate on one variable

The most common mistake is changing five things between generations and then not knowing which one helped. The professional habit is the opposite: change one element, observe, repeat. You are not casting spells. You are running experiments, and experiments need controls.

The usual way to hold the rest steady is to fix the seed, and here the standard advice needs a correction that most guides skip. Fixing a seed narrows variation; it does not guarantee repetition. The reproducibility guidance for diffusers, the reference implementation most of this tooling descends from, is blunt about it: “You can try to limit randomness, but it is not guaranteed even with an identical seed.”

Three documented reasons sit behind that sentence, and each one has bitten somebody who thought their control was tighter than it was. CPU and GPU use different random number generators, so the same seed on different hardware is not the same starting noise. Determinism across releases and platforms is described as holding only within a tolerance range, not exactly. And a Generator object carries a random state that is consumed as you use it — run it through a loop expecting five identical images and you will get five different ones, because the state moved on after the first.

None of this makes the discipline wrong. It sharpens it. Change one variable, and treat the seed as a way to reduce noise in the comparison rather than as a guarantee that everything else held still. When two runs differ and you cannot explain why, the answer is more often the machinery than the prompt — and knowing that saves you from rewriting a prompt that was never the problem.

Why a grammar outlasts the folklore

The two sections above point at the same underlying reason, and it is worth making explicit.

The incantations encode implementation details: which quality words a particular checkpoint happened to reward, which sampler produced which texture, which trailing tokens survived a specific tokeniser. All of that is downstream of choices a new model release is free to change, which is exactly why the spells rot. The grammar encodes something slower-moving — that these systems condition on text with a bounded budget, that they average conflicting instructions rather than ranking them, that reproducibility is approximate. Those are properties of the approach, not of a checkpoint.

This is also why the grammar transfers. The same separation of subject from constraint, and the same discipline of one variable at a time, is what makes generative video usable rather than merely impressive, where a bad take costs far more than a rerolled still.

The point of the grammar

None of this makes you an artist; taste still decides what is worth making. That judgement is the part with no parameter and no documentation — the same gap that leaves the ethics of a synthetic voice unresolved long after the sound is solved, and the same reason the capability that gets commoditised is never the one that mattered most in the unbundling of the creative studio.

But a grammar gives you something the folklore never could — a way to debug a bad image instead of rerolling and praying. When the next model lands and the magic words stop working, the grammar will still be there, because it was never about the words.