Nodes/ComfyUI-Koolook/Wan 2.2 Easy Prompt (Koolook)
ComfyUI Node

Wan 2.2 Easy Prompt (Koolook)

Wan 2.2 Easy Prompt builds the shot vocabulary for you

By malkuthro·Created 11 months ago·Updated a day ago· 8
Wan 2.2 Easy Prompt (Koolook)
  • clip
  • combined_prompt
  • fields_only
  • conditioning
light_sourcenone
lighting_typenone
time_of_daynone
shot_sizenone
lens_focal_lengthnone
lens_typenone
camera_anglenone
compositionnone
color_tonenone
motionnone
character_emotionnone
basic_camera_movementnone
advanced_camera_movementnone
visual_stylenone
visual_effectsnone
body

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.
CategoryKoolook/Wan_Video

Inputs (17)

NameTypeDefaultDescription
light_sourceCOMBOnoneOptional Wan 2.2 prompt fragment for light source. Choose 'none' to omit it.
lighting_typeCOMBOnoneOptional Wan 2.2 prompt fragment for lighting type. Choose 'none' to omit it.
time_of_dayCOMBOnoneOptional Wan 2.2 prompt fragment for time of day. Choose 'none' to omit it.
shot_sizeCOMBOnoneOptional Wan 2.2 prompt fragment for shot size. Choose 'none' to omit it.
lens_focal_lengthCOMBOnoneOptional Wan 2.2 prompt fragment for lens focal length. Choose 'none' to omit it.
lens_typeCOMBOnoneOptional Wan 2.2 prompt fragment for lens type. Choose 'none' to omit it.
camera_angleCOMBOnoneOptional Wan 2.2 prompt fragment for camera angle. Choose 'none' to omit it.
compositionCOMBOnoneOptional Wan 2.2 prompt fragment for composition. Choose 'none' to omit it.
color_toneCOMBOnoneOptional Wan 2.2 prompt fragment for color tone. Choose 'none' to omit it.
motionCOMBOnoneOptional Wan 2.2 prompt fragment for motion. Choose 'none' to omit it.
character_emotionCOMBOnoneOptional Wan 2.2 prompt fragment for character emotion. Choose 'none' to omit it.
basic_camera_movementCOMBOnoneOptional Wan 2.2 prompt fragment for basic camera movement. Choose 'none' to omit it.
advanced_camera_movementCOMBOnoneOptional Wan 2.2 prompt fragment for advanced camera movement. Choose 'none' to omit it.
visual_styleCOMBOnoneOptional Wan 2.2 prompt fragment for visual style. Choose 'none' to omit it.
visual_effectsCOMBOnoneOptional Wan 2.2 prompt fragment for visual effects. Choose 'none' to omit it.
bodySTRINGMain free-text prompt. Appended after selected dropdown fragments.
clipoptCLIP

Outputs (3)

NameTypeDescription
combined_promptSTRING
fields_onlySTRING
conditioningCONDITIONING