WAN 2.2 Prompt Studio
Stop Writing Wan Video Prompts Like an Image Prompt
- reference_image
- wan22_prompt
- prompt_breakdown
- technical_notes
Video prompting is a different dialect, and Wan 2.2 - the frozen, Apache 2.0 open base that most 2026 open video models still build on - speaks it strictly: prose, subject plus scene plus motion, camera moves, lighting, shot sizes. Dump an image-style taglist into a Wan sampler and you'll get a clip that ignores half of it. WAN 2.2 Prompt Studio is a "studio" node that sits on top of Grok and does the translation for you: you type a rough idea, it returns a properly structured Wan-2.2-flavored video prompt, plus a breakdown and technical notes.
It's the Wan entry in the pack's series of model-specific prompt studios, and it's the most opinionated one - a wall of dropdowns that encode what the author thinks a good Wan prompt contains.
How it works
The node wraps a giant system prompt - "you are the world's leading expert in WAN 2.2 AI video generation prompting" - and feeds it your idea plus a stack of controls it turns into instructions: content mode, complexity level, style, motion intensity, camera style, lighting mood, color palette, shot type, and time of day. Grok then generates the actual prompt, and the node splits the response into three outputs: the wan22_prompt itself, a prompt_breakdown, and technical_notes.
The formulas it pushes are real Wan practice: Basic is Subject + Scene + Motion, Advanced adds aesthetic control and stylization, and there's a whole vocabulary of shot sizes, lighting types, and camera moves (dolly, pan, tilt, steadicam) baked into the system prompt. Wire wan22_prompt into your Wan positive prompt - for text-to-video, that's the whole ask.
You can also drop in a reference_image. The node base64-encodes the first frame and sends it to Grok Vision, so an image-to-video workflow gets a prompt that actually describes what's in the starting frame. For that, keep the default grok-2-vision-1212 model; the dropdown lists a couple of image/video models that aren't what you want for this.
The inputs that matter
- user_idea - the only thing you really must type. One sentence is fine.
- content_mode - SFW or NSFW. This is an uncensored-friendly pack, and the NSFW mode explicitly tells the model it may include explicit content if your idea demands it. SFW is the default.
- prompt_complexity - Basic / Advanced / Cinematic Pro. Cinematic Pro is where the camera jargon comes out.
- api_key - here's the trap: unlike the other Grok nodes in this pack, there's no environment-variable fallback. If this is empty, the node returns an error string ("Grok API key is required") instead of running. It's marked
forceInput, so you can wire it from a text node or a key stored elsewhere.
The optional free-text slots - specific_subject, environment, mood_keywords, technical_specs - are the escape hatches when the dropdowns don't capture what you mean.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/babydjac/babydjacNODES
# restart ComfyUI
Or search "babydjacNODES" in ComfyUI Manager. It needs requests, torch, numpy, and Pillow, all of which ComfyUI already ships - no model downloads. The real requirement is an xAI API key, and every run is a metered API call, so this is a "pay a few cents per prompt" node, not a local one.
Where people get burned
- No key in the widget = error string, not a crash. The node politely returns the error as its output text. You'll see it, not a red node.
- Forgetting to restart after install. Python changes need a restart, and the custom frontend dropdowns need a hard browser refresh.
- It's an API-wrapper node. You're handing a small third-party pack your credential and your prompt text - the exact shape of node the ecosystem has warned about. It's a reasonable pattern and this is a young, small pack, but it's worth knowing what you're running.
For people who'd rather not hand-write Wan's motion-and-camera grammar, this takes a rough idea and produces something a Wan sampler will actually follow - and the breakdown output doubles as a teaching tool for how those prompts are supposed to be built.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| user_idea | STRING | — | |
| grok_model | COMBO | grok-2-vision-1212 | 17 options: grok-4-1-fast-reasoning, grok-4-1-fast-non-reasoning, grok-code-fast-1, grok-4-fast-reasoning, grok-4-fast-non-reasoning, grok-4-0709, +11 |
| content_mode | COMBO | SFW | 2 options: SFW, NSFW |
| prompt_complexity | COMBO | Advanced | 3 options: Basic, Advanced, Cinematic Pro |
| style_preference | COMBO | Cinematic | 6 options: Realistic, Cinematic, Artistic, Documentary, Experimental, Pornographic |
| motion_intensity | COMBO | Moderate | 4 options: Subtle, Moderate, Dynamic, Extreme |
| camera_style | COMBO | Smooth Movement | 4 options: Static, Smooth Movement, Dynamic Tracking, Experimental |
| lighting_mood | COMBO | Natural | 5 options: Natural, Dramatic, Soft, High Contrast, Atmospheric |
| color_palette | COMBO | Neutral | 5 options: Warm, Cool, Neutral, Saturated, Desaturated |
| shot_type | COMBO | Medium | 5 options: Close-up, Medium, Wide, Extreme Wide, Mixed |
| time_of_day | COMBO | Auto | 7 options: Auto, Sunrise, Day, Sunset, Dusk, Night, +1 |
| temperature | FLOAT | 0.70–1.5 | — |
| api_keyopt | STRING | — | |
| specific_subjectopt | STRING | — | |
| environmentopt | STRING | — | |
| mood_keywordsopt | STRING | — | |
| technical_specsopt | STRING | — | |
| reference_imageopt | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| wan22_prompt | STRING | — |
| prompt_breakdown | STRING | — |
| technical_notes | STRING | — |