{ "id": "5775f45b-ae48-4889-b57c-dbdb70f74381", "revision": 0, "last_node_id": 5214, "last_link_id": 13953, "nodes": [ { "id": 5185, "type": "EmptyImage", "pos": [ -2667.561287475645, 6824.636229314792 ], "size": [ 210, 130 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13943 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "Node name for S&R": "EmptyImage", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 1920, 1088, 1, 0 ] }, { "id": 5186, "type": "PrimitiveInt", "pos": [ -2669.265782707413, 7006.326003754771 ], "size": [ 210, 82 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "INT", "type": "INT", "links": [ 13944 ] } ], "title": "length", "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "Node name for S&R": "PrimitiveInt", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 121, "fixed" ] }, { "id": 5196, "type": "CM_FloatToInt", "pos": [ -2673.4965346008653, 7259.13385362648 ], "size": [ 214.03773034527285, 58 ], "flags": {}, "order": 13, "mode": 0, "inputs": [ { "name": "a", "type": "FLOAT", "widget": { "name": "a" }, "link": 13948 } ], "outputs": [ { "name": "INT", "type": "INT", "links": [ 13949 ] } ], "title": "Frame Rate", "properties": { "Node name for S&R": "CM_FloatToInt" }, "widgets_values": [ 0 ] }, { "id": 5190, "type": "CreateVideo", "pos": [ -1150.8629295969438, 6768.122273238377 ], "size": [ 210, 78 ], "flags": {}, "order": 20, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 13930 }, { "name": "audio", "shape": 7, "type": "AUDIO", "link": 13931 }, { "name": "fps", "type": "FLOAT", "widget": { "name": "fps" }, "link": 13932 } ], "outputs": [ { "name": "VIDEO", "type": "VIDEO", "links": [ 13946 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "Node name for S&R": "CreateVideo", "ue_properties": { "widget_ue_connectable": { "fps": true }, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 30 ] }, { "id": 4958, "type": "SaveVideo", "pos": [ -908.3162271395863, 6765.627599904565 ], "size": [ 632.4072425120453, 817.489191202842 ], "flags": {}, "order": 21, "mode": 0, "inputs": [ { "name": "video", "type": "VIDEO", "link": 13946 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "video/LTX-2", "auto", "auto" ] }, { "id": 5184, "type": "PrimitiveFloat", "pos": [ -2674.0643381993596, 7141.5495111297 ], "size": [ 219.3647216161935, 58 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "FLOAT", "type": "FLOAT", "links": [ 13923, 13932, 13948 ] } ], "title": "Frame Rate", "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "Node name for S&R": "PrimitiveFloat", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 24 ] }, { "id": 5176, "type": "CheckpointLoaderSimple", "pos": [ -3163.6484542778676, 6835.212679199566 ], "size": [ 429.0602433593749, 115.06840156250018 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13934, 13947 ] }, { "name": "CLIP", "type": "CLIP", "links": [] }, { "name": "VAE", "type": "VAE", "links": [ 13939 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.56", "Node name for S&R": "CheckpointLoaderSimple", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "ltx-2-19b-distilled.safetensors" ] }, { "id": 5178, "type": "LTXVGemmaCLIPModelLoader", "pos": [ -3158.5490398695288, 7158.821506282883 ], "size": [ 421.93656760943577, 106 ], "flags": {}, "order": 4, "mode": 0, "inputs": [], "outputs": [ { "name": "clip", "type": "CLIP", "links": [ 13924, 13926 ] } ], "properties": { "cnr_id": "ComfyUI-LTXVideo", "ver": "aa0e2f1709a2a5f35a70de667cd5e4f4ebfad4fe", "Node name for S&R": "LTXVGemmaCLIPModelLoader", "ue_properties": { "version": "7.5.2", "widget_ue_connectable": { "model_path": true, "max_length": true }, "input_ue_unconnectable": {} } }, "widgets_values": [ "gemma-3-12b-it-qat-q4_0-unquantized/model-00001-of-00005.safetensors", "ltx-2-19b-distilled.safetensors", 1024 ] }, { "id": 5188, "type": "LTXVAudioVAELoader", "pos": [ -3153.75563617144, 7313.4443822788235 ], "size": [ 424.18031362607053, 58 ], "flags": {}, "order": 5, "mode": 0, "inputs": [], "outputs": [ { "name": "Audio VAE", "type": "VAE", "links": [ 13935 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.64", "Node name for S&R": "LTXVAudioVAELoader", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "ltx-2-19b-distilled.safetensors" ] }, { "id": 5182, "type": "LoraLoaderModelOnly", "pos": [ -1958.7895251485363, 6623.839323304449 ], "size": [ 210, 82 ], "flags": {}, "order": 14, "mode": 4, "inputs": [ { "name": "model", "type": "MODEL", "link": 13934 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13941 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.68", "Node name for S&R": "LoraLoaderModelOnly", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "your_camera_lora.safetensors", 1 ] }, { "id": 5183, "type": "LoraLoaderModelOnly", "pos": [ -1740.2505912634988, 6624.698937379894 ], "size": [ 210, 82 ], "flags": {}, "order": 15, "mode": 4, "inputs": [ { "name": "model", "type": "MODEL", "link": 13947 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13936 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.68", "Node name for S&R": "LoraLoaderModelOnly", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "your_camera_lora.safetensors", 1 ] }, { "id": 5174, "type": "CLIPTextEncode", "pos": [ -1674.9082842387786, 7164.805578586365 ], "size": [ 307.2346496582031, 76 ], "flags": { "collapsed": true }, "order": 17, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 13924 }, { "name": "text", "type": "STRING", "widget": { "name": "text" }, "link": 13925 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 13921, 13950 ] } ], "title": "Enhanced Prompt (Positive)", "properties": { "cnr_id": "comfy-core", "ver": "0.3.28", "Node name for S&R": "CLIPTextEncode", "ue_properties": { "widget_ue_connectable": { "text": true }, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "" ], "color": "#232", "bgcolor": "#353" }, { "id": 5173, "type": "LTXVConditioning", "pos": [ -1670.0361297856184, 7232.400593532743 ], "size": [ 210, 94 ], "flags": {}, "order": 18, "mode": 0, "inputs": [ { "name": "positive", "type": "CONDITIONING", "link": 13921 }, { "name": "negative", "type": "CONDITIONING", "link": 13950 }, { "name": "frame_rate", "type": "FLOAT", "widget": { "name": "frame_rate" }, "link": 13923 } ], "outputs": [ { "name": "positive", "type": "CONDITIONING", "slot_index": 0, "links": [ 13937 ] }, { "name": "negative", "type": "CONDITIONING", "slot_index": 1, "links": [ 13938 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.28", "Node name for S&R": "LTXVConditioning", "ue_properties": { "widget_ue_connectable": { "frame_rate": true }, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 25 ] }, { "id": 5210, "type": "LatentUpscaleModelLoader", "pos": [ -3139.869216300637, 7005.9900104735725 ], "size": [ 399.6787452278271, 58 ], "flags": {}, "order": 6, "mode": 0, "inputs": [], "outputs": [ { "name": "LATENT_UPSCALE_MODEL", "type": "LATENT_UPSCALE_MODEL", "links": [ 13953 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.7.0", "Node name for S&R": "LatentUpscaleModelLoader", "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "ltx-2-spatial-upscaler-x2-1.0.safetensors" ] }, { "id": 5212, "type": "MarkdownNote", "pos": [ -3624.6205106722414, 6715.620851300959 ], "size": [ 421.1303542521987, 436.3332627074051 ], "flags": { "collapsed": false }, "order": 7, "mode": 0, "inputs": [], "outputs": [], "title": "Model Links", "properties": { "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "## Model Links\n\n**LTX-2 Model Weights**\n\n- [ltx-2-19b-distilled.safetensors](https://huggingface.co/Lightricks/LTX-2/resolve/main/ltx-2-19b-distilled.safetensors)\n- [ ltx-2-spatial-upscaler-x2-1.0.safetensors ](https://huggingface.co/Lightricks/LTX-2/tree/main/ltx-2-spatial-upscaler-x2-1.0.safetensors)\n\n**Text Encoder**\n- [Google Gemma 3](https://huggingface.co/google/gemma-3-12b-pt)\n\n**Model Storage Location**\n\n```\nπŸ“‚ ComfyUI/\nβ”œβ”€β”€ πŸ“‚ models/\nβ”‚ β”œβ”€β”€ πŸ“‚ text_encoders/\nβ”‚ β”‚ β”œβ”€β”€ comfy_gemma_3_12B_it.safetensors\nβ”‚ β”œβ”€β”€ πŸ“‚ checkpoints/\nβ”‚ β”‚ └── ltx-2-19b-distilled.safetensors\nβ”‚ β”œβ”€β”€ πŸ“‚ latent_upscale_models/ \n └── ltx-2-spatial-upscaler-x2-1.0.safetensors\n```\n\n## Report Issues\nTo report any issues when running this workflow, [go to GitHub](https://github.com/Lightricks/ComfyUI-LTXVideo/issues)\n" ], "color": "#432", "bgcolor": "#653" }, { "id": 5211, "type": "MarkdownNote", "pos": [ -3623.5618947453854, 7193.231548656596 ], "size": [ 420.9178919734818, 209.33158232705227 ], "flags": { "collapsed": false }, "order": 8, "mode": 0, "inputs": [], "outputs": [], "title": "Prompting LTX-2", "properties": { "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "## LTX-2 Prompting Tips\n1. **Core Actions**: Describe events and actions as they occur over time \n2. **Audio**: Describe sounds and dialogue needed for the scene \n3. **Reference Image**: Do not repeat details already present \n4. **Consistency**: Avoid instructions that do not match the reference image, as this will degrade results" ], "color": "#432", "bgcolor": "#653" }, { "id": 5213, "type": "MarkdownNote", "pos": [ -2682.3402563401937, 6633.478072231158 ], "size": [ 240.16187366614236, 98.41687371924309 ], "flags": { "collapsed": false }, "order": 9, "mode": 0, "inputs": [], "outputs": [], "title": "Video Size", "properties": { "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "Width & height settings must be divisible by 32 + 1. \nFrame count must be divisible by 8 + 1. \n\n\nRunning with invalid parameters **will not cause errors**. Instead, the flow will silently choose the closest valid parameters. " ], "color": "#432", "bgcolor": "#653" }, { "id": 5214, "type": "MarkdownNote", "pos": [ -1985.053544501217, 6321.755714756273 ], "size": [ 469.5872194653941, 209.10385276580928 ], "flags": { "collapsed": false }, "order": 10, "mode": 0, "inputs": [], "outputs": [], "title": "LoRA", "properties": { "ue_properties": { "widget_ue_connectable": {}, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ "# Using LoRAs\n**Ctrl + B to enable**\n\nFor the camera LoRA we recommend setting strength = 1\n\nYou can use LTX [Ready to use camera LoRAs](https://huggingface.co/collections/Lightricks/ltx-2)\n\n\n\n\nUse a second LoRa only when the details are important in the LoRa. \n\n## Training\nWe have made available a full trainer to help you to train your own LoRA. You can [find it here](https://github.com/Lightricks/LTX-2)." ], "color": "#432", "bgcolor": "#653" }, { "id": 5192, "type": "LTXVGemmaEnhancePrompt", "pos": [ -1661.3146912335997, 7116.792700532783 ], "size": [ 361.2680247659398, 425.1336513712222 ], "flags": { "collapsed": true }, "order": 16, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 13926 }, { "name": "image", "shape": 7, "type": "IMAGE", "link": 13927 }, { "name": "prompt", "type": "STRING", "widget": { "name": "prompt" }, "link": 13928 } ], "outputs": [ { "name": "enhanced_prompt", "type": "STRING", "links": [ 13925 ] } ], "title": "Enhancer", "properties": { "cnr_id": "ComfyUI-LTXVideo", "ver": "aa0e2f1709a2a5f35a70de667cd5e4f4ebfad4fe", "Node name for S&R": "LTXVGemmaEnhancePrompt", "ue_properties": { "widget_ue_connectable": { "prompt": true }, "version": "7.5.2", "input_ue_unconnectable": {} } }, "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: