Wan 2.2 Easy Prompt (Koolook)
Wan 2.2 Easy Prompt builds the shot vocabulary for you
- clip
- combined_prompt
- fields_only
- conditioning
Wan 2.2 is a model that rewards a well-spoken prompt, but it also wants you to speak its language. The community wisdom is consistent: lighting, lens, camera angle, shot size, motion, emotion - video models answer to explicit cinematography vocabulary, and fumbling the phrasing is how you get generic footage. Wan 2.2 Easy Prompt is a structured prompt builder that hands you the vocabulary on dropdowns instead of making you recall it mid-workflow.
Open the node and you get a dozen-plus categories of filmmaking terms: light source (sunny, moonlight, practical, firelight...), lighting type (soft, hard, silhouette, high contrast...), time of day, shot size, lens focal length and lens type, camera angle, composition, color tone, motion (street dance, skateboarding, basketball...), character emotion, basic and advanced camera movement, visual style (claymation, watercolor, pixel art...), and visual effects. Pick what you want, skip what you don't - every dropdown has a none that omits it.
How it works
The dropdown fragments are defined in the pack's config.json, and the node builds them into the prompt in order, skipping anything set to none. Your free-text body field gets appended at the end. Outputs:
- combined_prompt - the full assembled string. Wire it into a Wan text encoder.
- fields_only - just the dropdown fragments without the body, if you want them separate.
- conditioning - optionally plug a clip into the input and the node encodes the combined prompt to real CONDITIONING, so it can double as a positive-prompt node in one step.
That last bit is the sleeper feature: one node does both prompt assembly and CLIP encoding, which removes a whole class of "I updated my prompt but forgot to re-encode" mistakes.
Why you'd bother
If your workflow already has a prompt you're happy with, you don't need it. Where it earns its keep is consistency across a batch of shots - every shot in a sequence gets the same lighting, lens, and framing vocabulary, and you only change the free-text body per shot. That's a huge deal for a multi-shot pipeline where "same look" matters more than any single prompt's cleverness. It also helps if your phrasing keeps getting ignored: the dropdown terms are the exact kinds of words Wan 2.2 was tuned on.
Install
Part of ComfyUI-Koolook. ComfyUI Manager → Install Custom Nodes → Git URL:
https://github.com/malkuthro/ComfyUI-Koolook.git
Or:
cd ComfyUI/custom_nodes
git clone https://github.com/malkuthro/ComfyUI-Koolook.git
Restart and it's under Koolook/Wan_Video. No model downloads - the CLIP comes from wherever your Wan workflow already loads it. One install only, per the pack's rule: a Manager install lands at custom_nodes/koolook/; adding a git clone copy creates a parallel install that double-registers and corrupts the workflow store on every boot. Remove one folder.
Common issues
- Prompt comes out empty or partial - everything is on
none. Set at least a couple of dropdowns; the fragments only appear when selected. - "I set the dropdown but the output didn't change" - check the body. If your free-text contradicts the dropdown vocabulary ("bright daylight" while you selected "Night time"), the model gets a mixed signal. Keep them aligned.
- It's Wan 2.2-specific vocabulary - works best with Wan 2.2 and derivative models built on it. For other video models the terms mostly carry over, but treat it as a bonus, not a contract.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| light_source | COMBO | none | Optional Wan 2.2 prompt fragment for light source. Choose 'none' to omit it. |
| lighting_type | COMBO | none | Optional Wan 2.2 prompt fragment for lighting type. Choose 'none' to omit it. |
| time_of_day | COMBO | none | Optional Wan 2.2 prompt fragment for time of day. Choose 'none' to omit it. |
| shot_size | COMBO | none | Optional Wan 2.2 prompt fragment for shot size. Choose 'none' to omit it. |
| lens_focal_length | COMBO | none | Optional Wan 2.2 prompt fragment for lens focal length. Choose 'none' to omit it. |
| lens_type | COMBO | none | Optional Wan 2.2 prompt fragment for lens type. Choose 'none' to omit it. |
| camera_angle | COMBO | none | Optional Wan 2.2 prompt fragment for camera angle. Choose 'none' to omit it. |
| composition | COMBO | none | Optional Wan 2.2 prompt fragment for composition. Choose 'none' to omit it. |
| color_tone | COMBO | none | Optional Wan 2.2 prompt fragment for color tone. Choose 'none' to omit it. |
| motion | COMBO | none | Optional Wan 2.2 prompt fragment for motion. Choose 'none' to omit it. |
| character_emotion | COMBO | none | Optional Wan 2.2 prompt fragment for character emotion. Choose 'none' to omit it. |
| basic_camera_movement | COMBO | none | Optional Wan 2.2 prompt fragment for basic camera movement. Choose 'none' to omit it. |
| advanced_camera_movement | COMBO | none | Optional Wan 2.2 prompt fragment for advanced camera movement. Choose 'none' to omit it. |
| visual_style | COMBO | none | Optional Wan 2.2 prompt fragment for visual style. Choose 'none' to omit it. |
| visual_effects | COMBO | none | Optional Wan 2.2 prompt fragment for visual effects. Choose 'none' to omit it. |
| body | STRING | Main free-text prompt. Appended after selected dropdown fragments. | |
| clipopt | CLIP | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| combined_prompt | STRING | — |
| fields_only | STRING | — |
| conditioning | CONDITIONING | — |