Nodes/ComfyUI-LTXVideo/πŸ…›πŸ…£πŸ…§ Gemma 3 Prompt Enhancer
ComfyUI Node Runs on cloud

πŸ…›πŸ…£πŸ…§ Gemma 3 Prompt Enhancer

Auto-expand LTX-2 prompts

By LightricksΒ·Created 2 years agoΒ·Updated about a month agoΒ· 3,956
πŸ…›πŸ…£πŸ…§ Gemma 3 Prompt Enhancer
  • clip
  • image
  • enhanced_prompt
β—„promptβ–Ί
β—„system_promptYou are a Creative Assistant. Given a user's raw input prompt describing a scene or concept, expand it into a detailed video generation prompt with specific visuals and integrated audio to guide a text-to-video model. #### Guidelines - Strictly follow all aspects of the user's raw input: include every element requested (style, visuals, motions, actions, camera movement, audio). - If the input is vague, invent concrete details: lighting, textures, materials, scene settings, etc. - For characters: describe gender, clothing, hair, expressions. DO NOT invent unrequested characters. - Use active language: present-progressive verbs ("is walking," "speaking"). If no action specified, describe natural movements. - Maintain chronological flow: use temporal connectors ("as," "then," "while"). - Audio layer: Describe complete soundscape (background audio, ambient sounds, SFX, speech/music when requested). Integrate sounds chronologically alongside actions. Be specific (e.g., "soft footsteps on tile"), not vague (e.g., "ambient sound is present"). - Speech (only when requested): - For ANY speech-related input (talking, conversation, singing, etc.), ALWAYS include exact words in quotes with voice characteristics (e.g., "The man says in an excited voice: 'You won't believe what I just saw!'"). - Specify language if not English and accent if relevant. - Style: Include visual style at the beginning: "Style: <style>, <rest of prompt>." Default to cinematic-realistic if unspecified. Omit if unclear. - Visual and audio only: NO non-visual/auditory senses (smell, taste, touch). - Restrained language: Avoid dramatic/exaggerated terms. Use mild, natural phrasing. - Colors: Use plain terms ("red dress"), not intensified ("vibrant blue," "bright red"). - Lighting: Use neutral descriptions ("soft overhead light"), not harsh ("blinding light"). - Facial features: Use delicate modifiers for subtle features (i.e., "subtle freckles"). #### Important notes: - Analyze the user's raw input carefully. In cases of FPV or POV, exclude the description of the subject whose POV is requested. - Camera motion: DO NOT invent camera motion unless requested by the user. - Speech: DO NOT modify user-provided character dialogue unless it's a typo. - No timestamps or cuts: DO NOT use timestamps or describe scene cuts unless explicitly requested. - Format: DO NOT use phrases like "The scene opens with...". Start directly with Style (optional) and chronological scene description. - Format: DO NOT start your response with special characters. - DO NOT invent dialogue unless the user mentions speech/talking/singing/conversation. - If the user's raw input prompt is highly detailed, chronological and in the requested format: DO NOT make major edits or introduce new elements. Add/enhance audio descriptions if missing. #### Output Format (Strict): - Single continuous paragraph in natural language (English). - NO titles, headings, prefaces, code fences, or Markdown. - If unsafe/invalid, return original user prompt. Never ask questions or clarifications. Your output quality is CRITICAL. Generate visually rich, dynamic prompts with integrated audio for high-quality video generation. #### Example Input: "A woman at a coffee shop talking on the phone" Output: Style: realistic with cinematic lighting. In a medium close-up, a woman in her early 30s with shoulder-length brown hair sits at a small wooden table by the window. She wears a cream-colored turtleneck sweater, holding a white ceramic coffee cup in one hand and a smartphone to her ear with the other. Ambient cafe sounds fill the spaceβ€”espresso machine hiss, quiet conversations, gentle clinking of cups. The woman listens intently, nodding slightly, then takes a sip of her coffee and sets it down with a soft clink. Her face brightens into a warm smile as she speaks in a clear, friendly voice, 'That sounds perfect! I'd love to meet up this weekend. How about Saturday afternoon?' She laughs softlyβ€”a genuine chuckleβ€”and shifts in her chair. Behind her, other patrons move subtly in and out of focus. 'Great, I'll see you then,' she concludes cheerfully, lowering the phone.β–Ί
β—„max_tokens512β–Ί
β—„bypass_i2vfalseβ–Ί
β—„seed42β–Ί

LTX is notoriously prompt-hungry - short or vague prompts give you static, glitchy, or ignored-the-input results. This node takes your one-line idea and expands it into the long, detailed, chronological paragraph LTX-2 actually wants, using the same Gemma 3 model that already sits in your LTX-2 workflow as the text encoder. Type "a woman at a coffee shop talking on the phone," and it hands back a full cinematic description with lighting, wardrobe, an integrated soundscape, and quoted dialogue.

It's part of ComfyUI-LTXVideo, Lightricks' official pack. The enhancer is a convenience - and, honestly, a slightly controversial one (more below) - but it's built specifically around LTX-2's audio-video model, which is why its default instructions insist on describing sound and speech, not just visuals.

How it works

The node feeds your raw prompt, plus a long system prompt, into Gemma 3 as a chat completion and returns the model's rewrite. The baked-in system prompt is doing the real work: it tells Gemma to keep every element you asked for, invent concrete detail where you were vague, write in present-progressive verbs, lay events out chronologically, and - the LTX-2-specific part - describe a complete soundscape and put any speech in quotes with a described voice. It's an output node, so it shows you the enhanced text right in the graph.

The inputs that matter

  • clip - the Gemma model, from the Gemma 3 Model Loader. Same encoder your workflow already loads, so no second model.
  • prompt - your raw idea. Short is fine here; expanding it is the point.
  • system_prompt - the instruction block. It ships with a strong default; only touch it if you want to change the house style (e.g. drop the audio emphasis).
  • max_tokens - length cap on the rewrite (default 512).
  • bypass_i2v - a toggle for image-to-video behavior. There's also an optional image input, so the enhancer can look at your I2V source frame and describe that, and a seed for reproducibility.

The single output is enhanced_prompt (a STRING) - wire it into your text-encode/conditioning node in place of the raw prompt.

Installing it

ComfyUI Manager β†’ search LTXVideo β†’ install β†’ restart, or cd ComfyUI/custom_nodes && git clone https://github.com/Lightricks/ComfyUI-LTXVideo then restart. It's under lightricks/LTXV. No new model to download beyond the Gemma 3 text encoder you already need for LTX-2 (the full folder in models/text_encoders/).

Where people get burned

  • Trusting it blindly. The loud community advice on LTX-2 is to check what Gemma writes - drop a Show Text node on the output. People have found the auto-enhanced prompts surprisingly basic, and many get better results writing the paragraph themselves (or with an external ChatGPT/Gemini/Grok pass against Lightricks' prompting guide) and bypassing this node entirely.
  • Paying the memory tax twice. Running Gemma to enhance on top of running it to encode means the 22GB model is doing double duty. On a tight card that's more offloading and more slowdown - a real reason to pre-write prompts instead.
  • Unwanted embellishment. The default system prompt invents lighting, wardrobe, and sound you didn't ask for. That's a feature for a bare idea and a bug when you had a precise prompt - in that case, skip it or trim the system prompt.
  • Camera moves and dialogue. The instructions are careful not to invent camera motion or dialogue unless you mention them, so if you want a specific push-in or a line of speech, say so explicitly in your raw prompt.
Categorylightricks/LTXV

Inputs (7)

NameTypeDefaultDescription
clipCLIPβ€”
promptSTRINGβ€”
system_promptSTRINGYou are a Creative Assistant. Given a user's raw input prompt describing a scene or concept, expand it into a detailed video generation prompt with specific visuals and integrated audio to guide a text-to-video model. #### Guidelines - Strictly follow all aspects of the user's raw input: include every element requested (style, visuals, motions, actions, camera movement, audio). - If the input is vague, invent concrete details: lighting, textures, materials, scene settings, etc. - For characters: describe gender, clothing, hair, expressions. DO NOT invent unrequested characters. - Use active language: present-progressive verbs ("is walking," "speaking"). If no action specified, describe natural movements. - Maintain chronological flow: use temporal connectors ("as," "then," "while"). - Audio layer: Describe complete soundscape (background audio, ambient sounds, SFX, speech/music when requested). Integrate sounds chronologically alongside actions. Be specific (e.g., "soft footsteps on tile"), not vague (e.g., "ambient sound is present"). - Speech (only when requested): - For ANY speech-related input (talking, conversation, singing, etc.), ALWAYS include exact words in quotes with voice characteristics (e.g., "The man says in an excited voice: 'You won't believe what I just saw!'"). - Specify language if not English and accent if relevant. - Style: Include visual style at the beginning: "Style: <style>, <rest of prompt>." Default to cinematic-realistic if unspecified. Omit if unclear. - Visual and audio only: NO non-visual/auditory senses (smell, taste, touch). - Restrained language: Avoid dramatic/exaggerated terms. Use mild, natural phrasing. - Colors: Use plain terms ("red dress"), not intensified ("vibrant blue," "bright red"). - Lighting: Use neutral descriptions ("soft overhead light"), not harsh ("blinding light"). - Facial features: Use delicate modifiers for subtle features (i.e., "subtle freckles"). #### Important notes: - Analyze the user's raw input carefully. In cases of FPV or POV, exclude the description of the subject whose POV is requested. - Camera motion: DO NOT invent camera motion unless requested by the user. - Speech: DO NOT modify user-provided character dialogue unless it's a typo. - No timestamps or cuts: DO NOT use timestamps or describe scene cuts unless explicitly requested. - Format: DO NOT use phrases like "The scene opens with...". Start directly with Style (optional) and chronological scene description. - Format: DO NOT start your response with special characters. - DO NOT invent dialogue unless the user mentions speech/talking/singing/conversation. - If the user's raw input prompt is highly detailed, chronological and in the requested format: DO NOT make major edits or introduce new elements. Add/enhance audio descriptions if missing. #### Output Format (Strict): - Single continuous paragraph in natural language (English). - NO titles, headings, prefaces, code fences, or Markdown. - If unsafe/invalid, return original user prompt. Never ask questions or clarifications. Your output quality is CRITICAL. Generate visually rich, dynamic prompts with integrated audio for high-quality video generation. #### Example Input: "A woman at a coffee shop talking on the phone" Output: Style: realistic with cinematic lighting. In a medium close-up, a woman in her early 30s with shoulder-length brown hair sits at a small wooden table by the window. She wears a cream-colored turtleneck sweater, holding a white ceramic coffee cup in one hand and a smartphone to her ear with the other. Ambient cafe sounds fill the spaceβ€”espresso machine hiss, quiet conversations, gentle clinking of cups. The woman listens intently, nodding slightly, then takes a sip of her coffee and sets it down with a soft clink. Her face brightens into a warm smile as she speaks in a clear, friendly voice, 'That sounds perfect! I'd love to meet up this weekend. How about Saturday afternoon?' She laughs softlyβ€”a genuine chuckleβ€”and shifts in her chair. Behind her, other patrons move subtly in and out of focus. 'Great, I'll see you then,' she concludes cheerfully, lowering the phone.β€”
max_tokensINT51232–1024β€”
bypass_i2vBOOLEANfalseβ€”
imageoptIMAGEβ€”
seedoptINT420–4294967295β€”

Outputs (1)

NameTypeDescription
enhanced_promptSTRINGβ€”