ComfyUI lesson 3: Prompt with intent, not incantations
Layer subject, composition, light, and finish; use negatives only to correct observed failures.
Listen to this article
On-device voiceUses the voice built into your browser; no article text leaves this page.
Audio narration is not supported by this browser.
A prompt is a compact art direction document. Write it in visible layers and you can debug it; write a bag of prestige words and every edit becomes guesswork.
Build the positive prompt in layers
- Subject: who or what must exist.
- Composition: close-up, wide shot, centered, overhead, asymmetrical.
- Environment: where it is and the meaningful surrounding objects.
- Light and camera: soft window light, 85 mm portrait, shallow depth.
- Finish: editorial photo, ink wash, product render, film grain.
Start with one phrase per layer. Put the most important visual facts early. If a model has a documented trigger phrase, use it; otherwise repeated “masterpiece” tokens usually add less than a concrete material, lens, or lighting direction.
Negative prompts are correction
Run once with a short generic negative such as watermark, text, blurry. Inspect the actual failure. Add extra fingers only when hands are the failure; add cartoon only when illustration is unwanted. An enormous negative prompt can fight the positive conditioning and flatten the image.
Use the RealVisXL workflow for this lesson. Fix seed 42, then rewrite one layer at a time. Keep a tiny lab note:
| Run | Change | Result |
|---|---|---|
| A | Baseline | Subject right, light flat |
| B | Add warm rim light | Better separation |
| C | Add 35 mm wide shot | Too much environment |
The habit scales to every model: prompt, seed, graph version, and observation travel together. “I think this wording is better” becomes a reproducible claim.
Run the lesson, do not just read it
- Open the tested workflow in Comfy Studio
- Download the exact API-format JSON
- CLI:
app comfy download realvisxl-photo
The gallery records model sources, minimum VRAM, custom-node requirements, and verification state beside the graph. That is the portable unit for this series.
Series progress: lesson 3 of 10. Previous: Diffusion, seeds, CFG, samplers, and schedulers Next: Build text-to-image from a blank canvas