Video Prompt Helper
This node builds the video prompt for you
- generated_prompt
If you've ever stared at a Wan or LTX prompt and thought "…and then some camera words," this is the node that stops the guesswork. Video Prompt Helper is a structured prompt builder: you type one line about the scene, tick a few cinematic dropdowns, and it assembles a properly punctuated shot description for you. It's not a magic quality button - but consistent, well-structured prompts are a real chunk of video output quality, and this makes them repeatable instead of vibes.
How it works
The node is a port of flybirdxx's ComfyUI_Prompt_Helper (which was itself modeled on Denge AI's video prompt tooling), with one useful upgrade: it's fully bilingual in Chinese and English. It loads a big JSON of preset options and, at runtime, maps your dropdown selections back to the underlying English keywords and assembles the final sentence. No API calls, no models, no network - it's pure text assembly, so it's instant and free.
One thing that trips people up: it auto-detects your system language. If your OS locale is set to Chinese, the node defaults to zh and every label switches language. Just set the Language input to en explicitly and it stays put.
The inputs that matter
You only really touch a few of these:
- User Prompt - the actual scene you want ("a woman walks through a neon market at night"). This is the core; everything else is garnish.
- Prompt Format -
Professional,Simple, orDetailed. Start with Professional; switch to Simple if the video model starts ignoring you. - Shot Size, Camera Angle, Lens, Camera Movement Basic/Advanced - the four dropdowns that change the look more than anything else. Each defaults to
none, so you can ignore what you don't care about.
The rest - Lighting Type, Light Source, Color Tone, Time of Day, Motion, Visual Effects, Visual Style, Character Emotion, Composition - are all single-select enums with a none option. The trap is picking fifteen things. Video models treat long prompts as a shopping list and the result looks like a checklist. Pick two or three, leave the rest at none.
Output and where it goes
One output: generated_prompt (a STRING). Wire it straight into your video workflow's text encoder or prompt input - that's the whole job. You can also run it into a text-concat node to glue on quality tags or a negative-prompt counterpart.
Installing it
It ships in the ComfyUI-UniversalToolkit pack, so:
- ComfyUI Manager → search ComfyUI-UniversalToolkit → Install → restart, or
cd ComfyUI/custom_nodes && git clone https://github.com/whmc76/ComfyUI-UniversalToolkitthenpip install -r requirements.txtand restart.
The generator itself needs nothing beyond the base pack - no torchaudio, no OpenCV, nothing heavy.
Troubleshooting
- Labels are in Chinese and I didn't ask for that - your system locale is
zh. Set Language toen. - Prompt looks like a run-on sentence - that's the
Detailedformat doing its job. It's aggressive; most people end up onProfessional. - The output reads like a paragraph, not tags - correct. This node writes descriptive English sentences, the style modern video models actually respond to. Don't force comma-tag syntax through it.
It's a small thing, but if you batch-generate video prompts for testing it quietly saves you a lot of typing - and your seed runs become comparable because the prompt structure stops drifting.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| Language | COMBO | en | 2 options: zh, en |
| User Prompt | STRING | A beautiful scene | — |
| Shot Size | COMBO | none | 16 options: none, Medium Wide Shot, Wide Shot, Medium Shot, Medium Close Up, Extreme Close Up, +10 |
| Lighting Type | COMBO | none | 13 options: none, Natural Light, Studio Lighting, Soft Lighting, Hard Lighting, Dramatic Lighting, +7 |
| Light Source | COMBO | none | 13 options: none, Sunlight, Moonlight, Candlelight, Firelight, Neon Lights, +7 |
| Color Tone | COMBO | none | 13 options: none, Warm Tones, Cool Tones, Neutral Tones, Vibrant Colors, Muted Colors, +7 |
| Camera Angle | COMBO | none | 13 options: none, Eye Level, High Angle, Low Angle, Bird's Eye, Worm's Eye, +7 |
| Lens | COMBO | none | 12 options: none, Wide Angle, Ultra Wide, Telephoto, Macro, Fisheye, +6 |
| Camera Movement Basic | COMBO | none | 14 options: none, Static Shot, Pan Left, Pan Right, Tilt Up, Tilt Down, +8 |
| Camera Movement Advanced | COMBO | none | 13 options: none, Steadicam, Handheld, Crane Shot, Jib Shot, Drone Shot, +7 |
| Time of Day | COMBO | none | 13 options: none, Dawn, Sunrise, Morning, Noon, Afternoon, +7 |
| Motion | COMBO | none | 13 options: none, Slow Motion, Fast Motion, Normal Speed, Time Lapse, Freeze Frame, +7 |
| Visual Effects | COMBO | none | 13 options: none, Lens Flare, Rain, Fog, Smoke, Fire, +7 |
| Visual Style | COMBO | none | 13 options: none, Cinematic, Documentary, Action, Romance, Horror, +7 |
| Character Emotion | COMBO | none | 13 options: none, Happy, Sad, Angry, Fearful, Surprised, +7 |
| Composition | COMBO | none | 13 options: none, Rule of Thirds, Symmetrical, Asymmetrical, Leading Lines, Framing, +7 |
| Prompt Format | COMBO | Professional | 3 options: Professional, Simple, Detailed |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| generated_prompt | STRING | — |