image_promter β€” unified prompt skill (Qwen-Image + Krea 2)

Prompt-mastery skill for the Flux/Qwen family of image models, in one place:

  • Qwen-Image-2512 β€” text-to-image generation
  • Qwen-Image-Edit-2511 β€” image editing
  • Krea 2 (Raw / Turbo) β€” generation + img2img + depth/pose control

They share the same lineage β€” a Qwen VLM text encoder and a Qwen-Image VAE β€” so one prompting philosophy covers all three, with per-model specifics called out. Every load-bearing rule is sourced; community material is marked [secondary], unconfirmed is [unverified].

Merged 2026-07-24 from the qwen-image-prompter and krea2_promter skills. Project context: SFW artistic work (athletics, grace, fantasy). Keep prompts positive and literal.


0. TRIGGERS β€” when to open

  • Writing/auditing a prompt for Qwen-Image-2512 (T2I), Qwen-Image-Edit-2511 (edit), or Krea 2 (Raw/Turbo).
  • Text inside an image (signs, labels, logos).
  • An edit that won't obey β€” changes what you didn't ask, drifts pose/frame/identity.
  • Multi-image edits (subject+subject, subject+pose, subject+scene).
  • Depth / pose / skeleton control for Krea 2.
  • Picking steps/CFG/mu/negative/resolution for any of them.

Skip for: LTX-2.3 video (separate skill), SDXL/older SD (different rules).


1. Shortest answer

These are natural-language models, not tag models. The text encoder is a Qwen VLM (Qwen2.5-VL-7B for Qwen-Image; Qwen3-VL-4B for Krea 2) β€” it parses grammar, not keyword confetti. Write fluent sentences, subject first, quote any literal text, and do not use (word:weight) numeric emphasis β€” it breaks. [verified: official docs]

Per-model defaults:

Qwen-Image-2512 (T2I) Qwen-Image-Edit-2511 (edit) Krea 2 Turbo Krea 2 Raw
steps 50 40 8 52
true_cfg / guidance 4.0 4.0 (guidance 1.0) 0 (guidance off) 3.5
mu (shift) β€” β€” fixed 1.15 resolution-derived
negative prompt long CN default " " (one space) ignored (cfg 0) yes
token limit 1024 1024 512 512

2. PROCEDURE β€” run it, don't recall it

Step 1. Read Β§3 (what the models see) and the model's own section (Β§5 Qwen-gen / Β§6 Qwen-edit / Β§7 Krea) BEFORE drafting.

Step 2. Build:

  • Generation / Krea: one fluent paragraph β€” subject (front-loaded) β†’ attributes/materials β†’ action β†’ setting β†’ lighting (name 1-2 sources) β†’ camera/lens β†’ medium/style.
  • Edit (2511): an instruction β€” <what changes>; keep <what stays> unchanged, concise, one edit per pass.

Step 3. Checklist:

[ ] natural-language prose, NOT booru tags, NOT (word:1.3) weights
[ ] subject front-loaded (whatever comes first reads as the subject)
[ ] 1-2 named light sources + direction (biggest realism lever)
[ ] ONE main action (two competing actions => mush)
[ ] literal text wrapped in "double quotes"
[ ] medium stated and not switched (photo -> photo)
[ ] positive phrasing β€” say what IS, avoid "no ..." / "not ..." (VLM encoders mishandle negation)
[ ] emphasis by word order / restatement / precise word, not numbers
[ ] Krea Turbo: no negative prompt (cfg 0) β€” remove elements by describing positively
[ ] edit(2511): concise, one change, keep-list only for LOCAL edits
[ ] LoRA trigger placed verbatim at the start if a LoRA is used
[ ] within token limit (1024 Qwen / 512 Krea)

Step 4. Deliver the prompt WITH the checklist result.


3. What the models SEE (shared)

  • Encoder = Qwen VLM, not CLIP/T5. It reads the prompt as language: grammar, spatial relations, possessives, and (mostly) counts. SDXL-style masterpiece, best quality, 8k is ignored. [verified: diffusers docs; instasd secondary]
  • VAE = Qwen-Image VAE (f8, 16 latent channels) β€” shared across Qwen-Image and Krea 2. [verified]
  • (word:weight) emphasis breaks β€” scaling one token shoves the whole conditioning. Emphasize by order, restatement ("a rusted gate, orange corrosion eating the hinges"), or a precise word ("oxblood" > "red:1.5"). [secondary: instasd]
  • Qwen-Edit wraps your prompt in a system template that says describe the input, then apply the instruction β€” so write an instruction, not a scene description. [verified: diffusers pipeline]
  • Qwen-Edit sees each input image at ~384Γ—384 for meaning (plus ~1MP for appearance) β€” small details (a face at 5% of frame) are invisible to the semantic encoder; fix by cropping, not prompting. [verified: pipeline CONDITION_IMAGE_SIZE]

4. Text inside images (all models)

  • Strength of this family. Wrap every literal string in double quotes: a sign reading "OPEN". [verified: official]
  • State exact content, position, and style; avoid vague "a label"/"some text".
  • Krea 2: same quoting rule; text quality is mid-tier (fine for a sign, unreliable for a headline). [verified + secondary]
  • Qwen-Edit: adding or replacing text are both "text replacement" β€” Replace "xx" with "yy", keep original case/language.

5. Qwen-Image-2512 β€” generation (T2I)

  • Params: num_inference_steps=50, true_cfg_scale=4.0, official Chinese negative default (low quality / deformed limbs / oversaturated / waxy / blurry text). [verified: model card]
  • Prose, single paragraph, no markdown lists. Portrait order: person (ethnicity, gender, age) β†’ clothing β†’ face/skin β†’ pose β†’ background. [verified: official rewriter]
  • Standard resolutions: 1:1 1328Β², 16:9 1664Γ—928, 9:16 928Γ—1664, 4:3 1472Γ—1104, 3:2 1584Γ—1056 (and mirrors).
  • Truncation past 1024 tokens is silent. Keep ~200 words for portraits.

6. Qwen-Image-Edit-2511 β€” editing

Golden rule: one sentence, <change> ; keep <list> unchanged. Official example:

Replace the man's hat with a dark brown beret; keep smile, short hair, and gray jacket unchanged

  • It re-synthesizes, not pixel-preserves. For byte-exact untouched areas use a mask / crop-and-stitch, not words. [verified: tech report + community]
  • keep-lists: work for local edits (hat, color, text). For big edits (swap character, change scene) they don't hold, and mentioning the face invites repaint β€” scope positively, describe only what changes. [secondary synthesis]
  • Be concise, one edit per pass. Chains of 2-3 short edits beat one compound prompt. [verified: official "keep concise" + community]
  • Multi-image: name the entity, not the index β€” "the girl of picture 1", not "the subject of picture 1"; add "keeping picture 2's background unchanged". Up to 3 images (Picture 1/2/3). [verified]
  • Pose transfer vocab that works: "pixel accurate", list body parts by name, a separate sentence for "field of view and angle". [secondary: AnyPose]
  • Fixed templates (verbatim): Restore and colorize the photo. / Perform inpainting on this image. The original caption is: <caption> / Extend the image beyond its boundaries using outpainting. The original caption is: <caption>

7. Krea 2 (Raw / Turbo)

  • Family: single-stream MMDiT + flow-matching, Qwen3-VL-4B encoder, Qwen-Image VAE β€” Flux-2 lineage, prompt it like Qwen-Image. [verified]
  • Raw vs Turbo:
    • Turbo β€” 8 steps, cfg 0 (guidance off β†’ no negative prompt), fixed mu 1.15, ~2s@2K, inference.
    • Raw β€” 52 steps, cfg 3.5, resolution-derived mu, the LoRA-training base ("not for inference").
    • Train on Raw β†’ run on Turbo (official).
  • CFG is offset by +1: Krea guidance_scale=3.5 β‰ˆ conventional CFG 4.5. [verified]
  • Official prompt guide: natural-language, long detailed sentences; subject β†’ material/attributes β†’ lighting β†’ palette β†’ composition. Quote text. [verified: krea prompting.md]
  • Realism levers: name 1-2 light sources + direction (biggest one), camera/lens (35mm, macro, shallow depth of field), film terms (film grain, motion blur), concrete materials. Kills realism: quality-tag spam, two competing actions, zero described light, fighting a style LoRA. [secondary: fal.ai, instasd]
  • Resolution: up to 2K; native training res 2048Β² β€” generate near 2K, don't render at 1024 and upscale.
  • LoRAs: each style LoRA needs its exact trigger in the prompt; stack ~0.7 per LoRA as a starting weight; one style + one subject LoRA composes, two styles fight.

7a. Control (Krea 2, ComfyUI)

Control-image is VAE-encoded and channel-concatenated (not classic ControlNet). Plugin facok/comfyui-krea2-controlnet: preprocessor β†’ Control Image Encode β†’ Control LoRA Loader β†’ Control Apply β†’ sampler.

  • Depth (Patil/Krea-2-depth-controlnet) β€” run Depth-Anything-V2 on a real photo; drives volume/silhouette. Don't feed a bare skeleton to the depth LoRA (thin lines β†’ near-uniform depth β†’ weak control).
  • Pose (SceneWorks/krea2-pose-controlnet-beta) β€” eats OpenPose skeletons natively (512Β², Turbo, experimental).
  • control_scale / lora-scale: 0.5-0.7 lets the prompt add mass beyond the source silhouette (thin subject β†’ bulky costume); 1.0 locks the silhouette; 1.1-1.2 exact pose match.

8. Anti-drift / preservation (edit & img2img)

Canonical preservation vocabulary (Qwen-Edit expander, applies broadly): [verified]

  • "Preserve all original subjects, actions, colors, and spatial relationships. Do not add new objects unless clearly implied."
  • Already detailed prompt β†’ "lightly polish rather than heavily expand."
  • Honor the stated medium; don't switch.
  • img2img/reference strength as a style-lock: 0.25 light β†’ 0.50 balanced β†’ 0.70 strong β†’ 0.90+ dominant (less literal prompt).
  • Krea over a Qwen-Edit latent: keep denoise ~0.42 β€” structure holds, realism is added.

9. Ready patterns (SFW)

Portrait realism (Qwen-gen / Krea, official-style):

A close-up portrait of a young woman with straight black hair and an intense gaze, wearing a light grey collared shirt with a black tie, a bouquet of pink lilies blurred in the right foreground, solid crimson background, soft directional studio lighting, high-contrast, shallow depth of field.

Two-lights / one-action / one-texture realism (Krea):

a fishmonger in a yellow rubber apron arranging silver mackerel on crushed ice at a market stall, early morning, cold blue daylight mixing with warm tungsten bulbs, wet reflective concrete floor, photorealistic, slight motion blur on his hands

Local edit (2511):

Replace the woman's black top with a white tank top; keep her face, hairstyle, pose, skin tone and the background unchanged.

Pose transfer (2511, multi-image):

Make the person in picture 1 match the exact pose of the person in picture 2 β€” arms, head and legs pixel accurate, and match the field of view and angle. Keep the style and background of picture 1 unchanged.

Character with LoRA (Krea):

<TRIGGER> a tall figure in <outfit>, <action>, <setting>, soft directional key light with rim light from behind, low-angle 35mm, photorealistic, film grain.


10. Failure modes β†’ fix

symptom fix
Mushy / incoherent remove the second competing action; describe the light (β‰₯1 source)
Plastic skin add texture + film language: fine pores, vellus hair, 35mm film grain
(word:1.3) does nothing / blows up use order / restatement / precise word (Β§3)
Style LoRA silent insert its exact trigger; stop fighting it with contradictory style words
Edit redrew whole scene name the entity + place, add a keep clause (local edits only)
Pose/frame drifted keep the same pose, list body parts, pixel accurate, "field of view and angle"
Small detail won't change encoder sees ~384Β² β€” crop the region and edit it separately
Text garbled quote it, state exact content/position; short labels only
Negation ignored/backfired rephrase positively β€” describe what should be there

11. Sources

Qwen-Image / Edit: HF Qwen/Qwen-Image-2512, Qwen/Qwen-Image-Edit-2511; GitHub QwenLM/Qwen-Image (prompt_utils.py, prompt_utils_2512.py); diffusers pipeline_qwenimage_edit_plus.py; arXiv 2508.02324. Krea 2: krea-ai/krea-2/docs/prompting.md + expansion.txt; Krea 2 Technical Report; diffusers Krea2 pipeline; HF krea/Krea-2-Turbo, krea/Krea-2-Raw; ComfyUI Krea-2 tutorial. Control: HF Patil/Krea-2-depth-controlnet, SceneWorks/krea2-pose-controlnet-beta; GitHub facok/comfyui-krea2-controlnet. Community [secondary]: instasd, fal.ai, Andro-Meta krea-2-local-studio, AnyPose LoRA card.

[unverified]: exact AR buckets above 2K; max clean LoRA stack; whether the 2509 "1-3 image" optimum holds for 2511; whether the negation ban transfers from T2I rewriter to editing.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support