Should an image-to-prompt result be tags or a sentence?

Tag lists ("1girl, red dress, rim light, 85mm") come from the booru-trained anime lineage and still work well on those checkpoints. Today's hosted models — gpt-image-2, FLUX 2 Pro, Nano Banana 2 — were trained on natural captions and read sentences far more accurately, especially for spatial relationships and anything involving more than one subject. Tags remain useful as a checklist and as the vocabulary layer, not as the final prompt.

Search "image to prompt tags" and you land in a specific tradition: comma-separated keyword lists, often with weights and parentheses, that came out of the booru-tagged anime datasets Stable Diffusion checkpoints were fine-tuned on. Those models literally saw tag strings during training, so a tag string is their native language. That is not true of the models most people generate with in 2026.

Why the difference exists

A model learns to associate whatever text accompanied its training images. Booru-derived checkpoints saw tag lists, so `1girl, solo, cowboy shot, backlighting` maps cleanly onto image features. The current hosted models were trained largely on recaptioned data — full descriptive sentences, often machine-written and quite long — so they parse grammar, and they use it. "The lamp is behind her, to the left" places a lamp; `lamp, backlight, left` sprays those concepts across the frame and hopes.

SituationTagsSentences
Anime/illustration checkpoints (SD 1.5, SDXL anime, Pony, Illustrious)Native — use themWorks, but weaker than tags
gpt-image-2, FLUX 2 Pro, Nano Banana 2Understood but flattenedClearly better, especially for layout
Two or more subjects doing different thingsAttributes bleed between themGrammar keeps them apart
Spatial relationships (behind, left of, reflected in)Mostly ignoredRespected
Text in the imageUnreliableQuote the exact string; much better
Building a checklist so nothing is forgottenExcellentEasy to leave gaps

The attribute-bleed problem in one line

`man, red jacket, woman, blue scarf` gives you, with real frequency, a man in a blue scarf. There is nothing in the string that binds an attribute to a subject. "A man in a red jacket stands beside a woman wearing a blue scarf" binds both, and modern engines hold that binding. This is the single most common reason a tag-shaped reconstruction of a two-person image comes back wrong.

How to use tags well anyway

  1. 1.Use tags as the extraction layer. Reading an image backwards, list terms freely: subject, materials, light direction, lens, grade, era. No grammar required while you are still looking.
  2. 2.Then write the sentence. Group the tags into the five components and connect them — subject, setting, lighting, camera, style — so relationships become explicit.
  3. 3.Keep short tag-ish clauses where they are genuinely atomic: "85mm, shallow depth of field, 3:4" reads fine inside an otherwise prose prompt, and every prompt here mixes the two.
  4. 4.Keep the negative prompt as tags. It is a suppression list, not a description, and comma-separated terms are the right shape for it.
  5. 5.Drop weight syntax on hosted models. `(word:1.4)` is a Stable Diffusion UI feature, not a universal language; on gpt-image-2 or Nano Banana 2 it is just odd characters. Emphasise by being specific and by putting the important thing first.

A quick way to see the effect: take a tag list you like, paste it into two engines, then rewrite it as one paragraph and repeat. On multi-subject and spatial prompts the paragraph wins on the current models — the 121 prompts here that ran through all three engines show the same pattern.

More on this

Other questions

← all questions