Nodes/Eric's Prompt Enhancers for ComfyUI/Video Prompt Expander (Advanced)
ComfyUI Node

Video Prompt Expander (Advanced)

When 'cinematic' isn't specific enough

By EricRollei·Created 11 months ago·Updated 9 months ago· 45
Video Prompt Expander (Advanced)
  • reference_image
  • positive_prompt_1
  • positive_prompt_2
  • positive_prompt_3
  • negative_prompt
  • breakdown
  • status
  • vision_caption
basic_promptA cat playing piano in a cozy room
operation_modeexpand_from_idea
presetcinematic
detail_leveldetailed
creativity_modebalanced
reference_moderecreate_exact
shot_structure3_shot_structure
light_sourceauto
lighting_qualityauto
time_of_dayauto
shot_sizeauto
compositionauto
lensauto
camera_angleauto
camera_movementauto
color_toneauto
art_styleauto
scene_detailauto
visual_styleauto
visual_effectauto
character_emotionauto
llm_backendlm_studio
api_endpointhttp://localhost:1234/v1
positive_keywords
negative_keywords
num_variations1
save_to_filefalse
filename_basevideo_prompt_advanced

The plain Video Prompt Expander is the on/off switch: give it an idea, pick a preset, get a prompt. This is the control room. The Advanced node from Eric's Prompt Enhancers pack hands you granular control over a video prompt - lighting source, lens, shot structure, color tone, even "Studio Ghibli style" - and, in the v1.8 redesign, something none of the pack's other nodes do: it can take an existing prompt and improve it rather than only writing from scratch.

It's the node you graduate to when the cinematic preset keeps producing prompts that all feel like the same movie.

The four operation modes

operation_mode is the headline feature, and it changes what the node does with your basic_prompt:

  • expand_from_idea - the original behavior: turn a short concept into a full prompt.
  • refine_existing - polish and improve a prompt you already wrote. This is the standout; nothing else in the pack does it.
  • modify_style - keep the subject, change the aesthetic.
  • add_details - take a decent prompt and enrich it.

So you're not locked into the expand-a-sentence workflow. If you hand-rolled a 200-word prompt that's 80% right, refine_existing is the difference between starting over and polishing.

How it works

Same local-LLM backend as the rest of the pack (LM Studio or Ollama via an OpenAI-compatible endpoint; no model ships with the node). What's different is the system prompt it assembles: the operation mode, your detail_level (concise / moderate / detailed / exhaustive - the tooltips on each are the author's own description, and "detailed" is the default for good reason), plus whichever of the ~25 aesthetic dropdowns you touched. creativity_mode is worth calling out because it's just temperature in a trench coat: conservative maps to 0.5, balanced 0.7, creative 0.85, highly_creative 1.0. And shot_structure (continuous paragraph vs. a 2/3/4-shot breakdown) is the pack's most underrated setting - a three-shot structure is what makes a Wan clip feel directed instead of generated.

The trap: leave the dropdowns alone

Fifty-plus settings is a lot of knobs, and they all default to auto - that default is correct. The fastest way to ruin this node is to set eight categories at once and turn the LLM into a box-ticker. The right order of operations: set operation_mode and detail_level, pick a preset, run it. Then add one or two specific choices - say, camera_movement set to "camera pushes in" and lighting_quality to "rim lighting" - and rerun. Tune the aesthetics in small increments or you'll never know which setting actually moved the result.

Image-to-video, when you need it

The optional reference_image input flips the node into image-to-video mode automatically. reference_mode gives you seven ways to apply the image - from recreate_exact (keep character, costume and setting) down to reimagine (loosely inspired). The vision pass needs a vision-capable backend: either a VL model loaded in LM Studio/Ollama, or the pack's local Qwen3-VL backend (which needs the optional transformers stack and downloads the model on first run). The resulting caption shows up in the vision_caption output so you can see what it actually "saw."

Outputs and install

positive_prompt_1/2/3 (with num_variations up to 3), negative_prompt, breakdown (a readable summary of every setting that went in), vision_caption, and status. Wire the positive into Wan 2.2 or LTX conditioning and you're off.

Install is the shared pack story: ComfyUI Manager → search "Local LLM Prompt Enhancer", or

cd ComfyUI/custom_nodes/
git clone https://github.com/EricRollei/Local_LLM_Prompt_Enhancer.git video_prompter
cd video_prompter
pip install -r requirements.txt

then restart. Core deps are just requests; the heavier transformers/accelerate/bitsandbytes install is only for the optional local vision backend. If you get empty output, check your LLM server is running and temperature isn't cranked - the usual suspects, same as the rest of the pack.

CategoryEric Prompt Enhancers

Inputs (29)

NameTypeDefaultDescription
basic_promptSTRINGA cat playing piano in a cozy roomEnter your prompt. Supports emphasis (keyword:1.5) and alternations {opt1|opt2}
operation_modeCOMBOexpand_from_ideaexpand_from_idea: Take a short concept and expand it fully refine_existing: Polish and improve an existing prompt modify_style: Change the style/aesthetic of existing prompt add_details: Add more descriptive details to existing prompt
presetCOMBOcinematic7 options: custom, cinematic, surreal, action, stylized, noir, +1
detail_levelCOMBOdetailedconcise: Brief, essential details only moderate: Good balance of detail detailed: Rich, comprehensive description exhaustive: Maximum detail for cinematic quality
creativity_modeCOMBObalancedConservative: Focused, predictable (temp 0.5) Balanced: Good variety (temp 0.7) Creative: More experimental (temp 0.85) Highly Creative: Maximum variety (temp 1.0)
reference_modeCOMBOrecreate_exactrecreate_exact: Use image as exact reference for character, costume, and setting subject_only: Keep character identity, ignore background and lighting style_only: Match aesthetic and mood, create new subject color_palette_only: Extract and apply color scheme only action_only: Use the pose/action, change everything else character_remix: Keep character, place in new scenario reimagine: Loosely inspired by image, creative reinterpretation
shot_structureCOMBO3_shot_structurecontinuous_paragraph: Single flowing description (no shot breaks) 2_shot_structure: Two distinct shots (Opening + Final Reveal) 3_shot_structure: Three shots (Setup, Development, Finale) [Recommended] 4_shot_structure: Four shots (Intro, Build, Climax, Resolution)
light_sourceCOMBOautoPrimary source of illumination in the scene
lighting_qualityCOMBOautoQuality and style of lighting
time_of_dayCOMBOauto9 options: auto, none, sunrise time, dawn time, daylight, daytime, +3
shot_sizeCOMBOauto10 options: auto, none, extreme close-up shot, close-up shot, medium close-up shot, medium shot, +4
compositionCOMBOauto9 options: auto, none, center composition, balanced composition, left-weighted composition, right-weighted composition, +3
lensCOMBOauto7 options: auto, none, wide-angle lens, medium lens, long-focus lens, telephoto lens, +1
camera_angleCOMBOauto12 options: auto, none, eye-level shot, high angle shot, low angle shot, dutch angle shot, +6
camera_movementCOMBOautoHow the camera moves through the scene (Wan 2.2 optimized)
color_toneCOMBOauto8 options: auto, none, warm colors, cool colors, saturated colors, desaturated colors, +2
art_styleCOMBOautoApply the distinctive style of famous artists or art movements
scene_detailCOMBOautoLevel of detail and complexity in the scene composition
visual_styleCOMBOauto15 options: auto, none, photorealistic, cinematic, 3D cartoon style, 2D anime style, +9
visual_effectCOMBOauto11 options: auto, none, tilt-shift photography, time-lapse, slow motion, motion blur, +5
character_emotionCOMBOauto14 options: auto, none, angry, fearful, happy, sad, +8
llm_backendCOMBOlm_studiolm_studio: Uses currently loaded model in LM Studio ollama: Uses currently loaded model in Ollama qwen3_vl: Auto-detects local Qwen3-VL model (no API server needed)
api_endpointSTRINGhttp://localhost:1234/v1lm_studio/ollama: API endpoint URL qwen3_vl: Leave default, or specify custom model path like 'local:A:\path\to\model'
positive_keywordsSTRING
negative_keywordsSTRING
num_variationsINT11–3
save_to_fileBOOLEANfalse
filename_baseSTRINGvideo_prompt_advanced
reference_imageoptIMAGEOptional: Provide an image to analyze and incorporate into the prompt using Qwen3-VL

Outputs (7)

NameTypeDescription
positive_prompt_1STRING
positive_prompt_2STRING
positive_prompt_3STRING
negative_promptSTRING
breakdownSTRING
statusSTRING
vision_captionSTRING