π π £π § Gemma 3 Prompt Enhancer
Auto-expand LTX-2 prompts
- clip
- image
- enhanced_prompt
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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | β | |
| prompt | STRING | β | |
| system_prompt | STRING | You 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_tokens | INT | 51232β1024 | β |
| bypass_i2v | BOOLEAN | false | β |
| imageopt | IMAGE | β | |
| seedopt | INT | 420β4294967295 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| enhanced_prompt | STRING | β |