- image_promter β unified prompt skill (Qwen-Image + Krea 2)
- 0. TRIGGERS β when to open
- 1. Shortest answer
- 2. PROCEDURE β run it, don't recall it
- 3. What the models SEE (shared)
- 4. Text inside images (all models)
- 5. Qwen-Image-2512 β generation (T2I)
- 6. Qwen-Image-Edit-2511 β editing
- 7. Krea 2 (Raw / Turbo)
- 8. Anti-drift / preservation (edit & img2img)
- 9. Ready patterns (SFW)
- 10. Failure modes β fix
- 11. Sources
- 0. TRIGGERS β when to open
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, 8kis 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.25light β0.50balanced β0.70strong β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.