{ "id": "2aa3ba93-211a-4e32-8b51-3a8ecbd26012", "revision": 0, "last_node_id": 62, "last_link_id": 999005, "nodes": [ { "id": 61, "type": "PreviewAny", "pos": [ 723.6558778824344, 348.70956913117413 ], "size": [ 318.81727649319555, 199.11831566595265 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "source", "type": "*", "link": 999004 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.13.0", "Node name for S&R": "PreviewAny" }, "widgets_values": [ null, null, null ] }, { "id": 22, "type": "Reroute", "pos": [ -478.5929563194253, 195.32059151926558 ], "size": [ 75, 26 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "name": "", "type": "*", "link": 999005 } ], "outputs": [ { "name": "", "type": "IMAGE", "links": [ 999002 ] } ], "title": "Image Input Reroute", "properties": { "showOutputText": false, "horizontal": false, "Node name for S&R": "Reroute" } }, { "id": 62, "type": "MarkdownNote", "pos": [ -429.6987715406843, -263.51206141637516 ], "size": [ 980, 270 ], "flags": { "collapsed": false }, "order": 0, "mode": 0, "inputs": [], "outputs": [], "title": "Prompt Enhancer Only", "properties": {}, "widgets_values": [ "Gemma 3 Vision Prompt Enhancer (standalone)\n\nWhat this does:\n- Takes your raw I2V prompt and (optionally) a reference image (first frame).\n- Uses Gemma 3 Vision (GGUF + mmproj) via comfyui_LLM_party to rewrite the prompt into a single, concise paragraph that follows LTX I2V best practices.\n- Output is shown in show_text_party so you can copy-paste it.\n\nModel files:\n- HF repo: https://huggingface.co/mradermacher/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning-GGUF\n- GGUF: https://huggingface.co/mradermacher/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning-GGUF/resolve/main/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning.Q8_0.gguf\n- mmproj: https://huggingface.co/mradermacher/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning-GGUF/resolve/main/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning.mmproj-Q8_0.gguf\n\nInstall:\n- Put both files here:\n ComfyUI/models/llm_models/\n\nLinux download:\nwget --content-disposition -P ~/ComfyUI/models/llm_models/ \"https://huggingface.co/mradermacher/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning-GGUF/resolve/main/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning.Q8_0.gguf\"\nwget --content-disposition -P ~/ComfyUI/models/llm_models/ \"https://huggingface.co/mradermacher/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning-GGUF/resolve/main/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning.mmproj-Q8_0.gguf\"\n\nHow to use:\n1) Edit the Raw Prompt node.\n2) OPTIONAL: If you want image conditioning, load an image in LoadImage and rewire it into the Image Input Reroute.\n By default, the workflow uses EmptyImage so it runs even without a reference.\n3) Queue Prompt. Copy the enhanced prompt from show_text_party.\n" ], "color": "#432", "bgcolor": "#653" }, { "id": 25, "type": "LLavaLoader", "pos": [ -371.1620694300964, 288.2749087043521 ], "size": [ 420, 220 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "label": "model", "name": "model", "type": "CUSTOM", "slot_index": 0, "links": [ 40 ] } ], "properties": { "cnr_id": "comfyui_llm_party", "ver": "1.4.1", "Node name for S&R": "LLavaLoader" }, "widgets_values": [ "/home/ubuntu/ComfyUI//models/llm_models/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning.Q8_0.gguf", "/home/ubuntu/ComfyUI/models/llm_models/Gemma3-27B-it-vl-GLM-4.7-Uncensored-Heretic-Deep-Reasoning.mmproj-Q8_0.gguf", 1836, 31, 8, "minicpm-v-2.6", false ] }, { "id": 30, "type": "PrimitiveStringMultiline", "pos": [ -934.4993233290827, 499.3783025609207 ], "size": [ 410, 320 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "STRING", "type": "STRING", "links": [ 202 ] } ], "title": "Raw Prompt", "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "Node name for S&R": "PrimitiveStringMultiline" }, "widgets_values": [ "cinematic thriller adventure movie scene shows an intrigued blonde female explorer holding a fiery torch. she looks curious and excited initially, but then a gust of wind blows her hair. her face turns concerned and frowned as says with a whispering tone of voice: \"these markings aren't just random...it's a warning...\"\nthe camera slowly zooms in and remains focused on her face" ], "color": "#232", "bgcolor": "#353" }, { "id": 20, "type": "LoadImage", "pos": [ -939.1180467084035, -37.879351628349774 ], "size": [ 410, 440 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 201, 999005 ] }, { "name": "MASK", "type": "MASK", "links": [] } ], "title": "LoadImage (optional)", "properties": { "cnr_id": "comfy-core", "ver": "0.13.0", "Node name for S&R": "LoadImage" }, "widgets_values": [ "example.png", "image" ] }, { "id": 23, "type": "LLM_local", "pos": [ 70, 170 ], "size": [ 460, 560 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "label": "model", "name": "model", "type": "CUSTOM", "link": 40 }, { "label": "tokenizer", "name": "tokenizer", "shape": 7, "type": "CUSTOM", "link": null }, { "label": "image", "name": "image", "shape": 7, "type": "IMAGE", "link": 999002 }, { "label": "system_prompt_input", "name": "system_prompt_input", "shape": 7, "type": "STRING", "link": null }, { "label": "user_prompt_input", "name": "user_prompt_input", "shape": 7, "type": "STRING", "link": 202 }, { "label": "tools", "name": "tools", "shape": 7, "type": "STRING", "link": null }, { "label": "file_content", "name": "file_content", "shape": 7, "type": "STRING", "link": null }, { "label": "extra_parameters", "name": "extra_parameters", "shape": 7, "type": "DICT", "link": null }, { "name": "user_history", "shape": 7, "type": "STRING", "link": null } ], "outputs": [ { "label": "assistant_response", "name": "assistant_response", "type": "STRING", "slot_index": 0, "links": [ 999004 ] }, { "label": "history", "name": "history", "type": "STRING", "links": null }, { "label": "tool", "name": "tool", "type": "STRING", "links": null }, { "label": "image", "name": "image", "type": "IMAGE", "links": null } ], "properties": { "cnr_id": "comfyui_llm_party", "ver": "1.4.1", "Node name for S&R": "LLM_local" }, "widgets_values": [ "You are a Creative Assistant writing concise, action-focused image-to-video prompts. Given an image (first frame) and user Raw Input Prompt, generate a prompt to guide video generation from that image.\n\n#### Guidelines:\n- Analyze the Image: Identify Subject, Setting, Elements, Style and Mood.\n- Follow user Raw Input Prompt: Include all requested motion, actions, camera movements, audio, and details. If in conflict with the image, prioritize user request while maintaining visual consistency (describe transition from image to user's scene).\n- Describe only changes from the image: Don't reiterate established visual details. Inaccurate descriptions may cause scene cuts.\n- Active language: Use present-progressive verbs (\"is walking,\" \"speaking\"). If no action specified, describe natural movements.\n- Chronological flow: Use temporal connectors (\"as,\" \"then,\" \"while\").\n- Audio layer: Describe complete soundscape throughout the prompt alongside actions, NOT at the end. Align audio intensity with action tempo. Include natural background audio, ambient sounds, effects, speech or music (when requested). Be specific (e.g., \"soft footsteps on tile\") not vague (e.g., \"ambient sound\").\n- Speech (only when requested): Provide exact words in quotes with character's visual/voice characteristics (e.g., \"The tall man speaks in a low, gravelly voice\"), language if not English and accent if relevant. If general conversation mentioned without text, generate contextual quoted dialogue. (i.e., \"The man is talking\" input -> the output should include exact spoken words, like: \"The man is talking in an excited voice saying: 'You won't believe what I just saw!' His hands gesture expressively as he speaks, eyebrows raised with enthusiasm. The ambient sound of a quiet room underscores his animated speech.\")\n- Style: Include visual style at beginning: \"Style: