WAN Prompt Builder Vision
Wan prompts built from a reference image
- image
- prompt_1
- prompt_2
- prompt_3
- negative
Image-to-video is where Wan shines, and it's the workflow the community actually uses: anchor the first frame to a known image and most of your consistency problems vanish before you start. The job that remains is describing what should happen - which is exactly the fiddly part. WAN Prompt Builder Vision is the pack's Trio node with eyes: feed it a reference image and it describes the scene itself, then builds three coherent prompts for three chained ~7-second segments around that visual.
This is the one to reach for when you're animating an existing still, concept art, or a character render rather than generating from nothing. Same wide-to-medium-to-close camera progression and same continuous-scene rules as the Trio, but the model is looking at your picture while it writes.
How it works
It takes your image tensor, converts it to base64 JPEG (downscaled to 1024px), and sends it to Groq's vision model llama-4-scout-17b alongside the usual system prompt and whatever text hints you gave it. The model reads the reference for subject, environment, lighting, and mood, then returns three prompts as JSON. No image on the input? It quietly switches to the text-only llama-3.3-70b model and invents the scene from your hints - which is a nice safety net, though not what you installed it for.
Four outputs: prompt_1, prompt_2, prompt_3, and a shared negative. Each prompt feeds one segment of an I2V chain. Like the rest of the pack, any API failure drops to hardcoded fallback prompts instead of erroring - three generic wide/medium/close templates.
The inputs that matter
- image (optional) - wire any IMAGE output in, straight from a Load Image node. This is the whole point of the node.
- camera_move, lighting, action_intensity - required, same enums as the other two nodes (9 camera moves, 8 lighting moods, intensity 1–5). The intensity slider carries across all three segments so the energy stays consistent.
- subject and action (optional) - text hints. The image does the heavy lifting; these nudge the action and style. Leave them empty and the model invents something cinematic.
If you leave both text and image empty, it still works - it just writes you an entirely invented sequence, which is a useless way to use a vision node, but good to know it won't crash.
Installing and the real requirement
ComfyUI Manager (search "WanPromptBuilder") or:
cd ComfyUI/custom_nodes
git clone https://github.com/jideka/ComfyUI-WanPromptBuilder
Restart, and the nodes appear under WAN > prompting. No requirements.txt, no model files, no VRAM impact - the pack's Python needs (requests, numpy, Pillow) are all bundled with ComfyUI. The one thing you must provide is a Groq API key from console.groq.com, free tier included. One wrinkle: the key field's default is read from the pack's config.json, but nothing in the code writes that file, so you'll be pasting the key in yourself.
Where it trips people up
The pack is young - a single-person May 2026 launch, explicitly labeled work-in-progress - and the Vision node has the roughest edges of the three. If you feed an image but no action, the fallback templates produce something like "the subject . Wide establishing shot..." with a stray period, so give it at least a short action even when the image is doing the work. The code also appends its camera line to the text hints three times over (harmless - the model ignores the duplicates), and the JSON parsing is strict: markdown fences around the model's answer mean fallbacks instead of prompts. Short, plain inputs and a working key avoid most of it. And keep expectations calibrated: the node makes segment prompts coherent, it doesn't make the character stable across cuts - that's still on your chaining workflow and, for a specific face, a LoRA.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| camera_move | COMBO | 9 options: free, slow push in, slow pull out, orbit left, orbit right, crane up, +3 | |
| lighting | COMBO | 8 options: none, dramatic, golden hour, overcast, neon, studio, +2 | |
| action_intensity | INT | 21–5 | — |
| api_key | STRING | You groq key here | — |
| imageopt | IMAGE | — | |
| subjectopt | STRING | — | |
| actionopt | STRING | — | |
| styleopt | STRING | cinematic, 4K, photorealistic | — |
| negativeopt | STRING | blurry, static camera, low quality, watermark, text, deformed, artifacts, flickering, overexposed | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| prompt_1 | STRING | — |
| prompt_2 | STRING | — |
| prompt_3 | STRING | — |
| negative | STRING | — |