{ "id": "2d995555-9a88-4480-bc48-960928d44208", "revision": 0, "last_node_id": 5269, "last_link_id": 14020, "nodes": [ { "id": 5227, "type": "LTXVGemmaCLIPModelLoader", "pos": [ -3780, 7650 ], "size": [ 421.93656760943577, 106 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "clip", "type": "CLIP", "links": [ 13961, 13962 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "aux_id": "Lightricks/ComfyUI-LTXVideo", "ver": "6790484426305443104ea47d7a2aab13badd8c49", "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-bnb-4bit\\model-00001-of-00002.safetensors", "LTX2\\ltx-2-19b-distilled-fp8.safetensors", 1024 ] }, { "id": 5219, "type": "LTXVAudioVAELoader", "pos": [ -3780, 7800 ], "size": [ 424.18031362607053, 58 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "Audio VAE", "type": "VAE", "links": [ 13973 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": [ "LTX2\\ltx-2-19b-distilled-fp8.safetensors" ] }, { "id": 5228, "type": "CheckpointLoaderSimple", "pos": [ -3780, 7370 ], "size": [ 420, 100 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13957, 13975 ] }, { "name": "CLIP", "type": "CLIP", "links": [] }, { "name": "VAE", "type": "VAE", "links": [ 13971 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": [ "LTX2\\ltx-2-19b-distilled-fp8.safetensors" ] }, { "id": 5221, "type": "PrimitiveFloat", "pos": [ -3330, 7660 ], "size": [ 210, 60 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "FLOAT", "type": "FLOAT", "links": [ 13960, 13965, 13977 ] } ], "title": "Frame Rate", "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": 5224, "type": "LTXVConditioning", "pos": [ -2729.9999999999973, 7659.999999999999 ], "size": [ 220, 80 ], "flags": { "collapsed": false }, "order": 17, "mode": 0, "inputs": [ { "name": "positive", "type": "CONDITIONING", "link": 13964 }, { "name": "negative", "type": "CONDITIONING", "link": 13978 }, { "name": "frame_rate", "type": "FLOAT", "widget": { "name": "frame_rate" }, "link": 13965 } ], "outputs": [ { "name": "positive", "type": "CONDITIONING", "slot_index": 0, "links": [ 13967 ] }, { "name": "negative", "type": "CONDITIONING", "slot_index": 1, "links": [ 13968 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": 5230, "type": "LoraLoaderModelOnly", "pos": [ -3090, 7370 ], "size": [ 220.14623500416474, 90.32621827319144 ], "flags": {}, "order": 12, "mode": 4, "inputs": [ { "name": "model", "type": "MODEL", "link": 13957 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13966 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": 5231, "type": "LoraLoaderModelOnly", "pos": [ -2860, 7370 ], "size": [ 210, 82 ], "flags": {}, "order": 13, "mode": 4, "inputs": [ { "name": "model", "type": "MODEL", "link": 13975 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13979 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": 5229, "type": "CreateVideo", "pos": [ -2470.7993723995974, 7369.999999999999 ], "size": [ 210, 80 ], "flags": { "collapsed": false }, "order": 19, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 13958 }, { "name": "audio", "shape": 7, "type": "AUDIO", "link": 13959 }, { "name": "fps", "type": "FLOAT", "widget": { "name": "fps" }, "link": 13960 } ], "outputs": [ { "name": "VIDEO", "type": "VIDEO", "links": [] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": 5220, "type": "CM_FloatToInt", "pos": [ -3330, 7760 ], "size": [ 210, 100 ], "flags": {}, "order": 14, "mode": 0, "inputs": [ { "name": "a", "type": "FLOAT", "widget": { "name": "a" }, "link": 13977 } ], "outputs": [ { "name": "INT", "type": "INT", "links": [ 13976 ] } ], "title": "Frame Rate", "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "aux_id": "evanspearman/ComfyMath", "ver": "c01177221c31b8e5fbc062778fc8254aeb541638", "Node name for S&R": "CM_FloatToInt", "ue_properties": { "widget_ue_connectable": { "a": true }, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 0 ] }, { "id": 5248, "type": "MarkdownNote", "pos": [ -3100, 7080 ], "size": [ 460, 200 ], "flags": { "collapsed": false }, "order": 4, "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": 5247, "type": "MarkdownNote", "pos": [ -3340, 7080 ], "size": [ 230, 200 ], "flags": { "collapsed": false }, "order": 5, "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": 5245, "type": "MarkdownNote", "pos": [ -4400, 7330 ], "size": [ 600, 480 ], "flags": { "collapsed": false }, "order": 6, "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/resolve/main/ltx-2-spatial-upscaler-x2-1.0.safetensors)\n\n**Text Encoder**\n- [Google Gemma 3](https://huggingface.co/google/gemma-3-12b-it-qat-q4_0-unquantized)\n\nPlease download the entire folder - \n\n- Run: \n 1. cd models/text_encoders\n 2. git clone https://huggingface.co/google/gemma-3-12b-it-qat-q4_0-unquantized\n\n*Full documentation can be found [here](https://docs.ltx.video/open-source-model/integration-tools/comfy-ui#text-encoder)\n\n**Model Storage Location**\n\n```\nπŸ“‚ ComfyUI/\nβ”œβ”€β”€ πŸ“‚ models/\nβ”‚ β”œβ”€β”€ πŸ“‚ text_encoders/\nβ”‚ β”‚ β”œβ”€β”€ gemma-3-12b-it-qat-q4_0-unquantized/model-00001-of-00005.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": 5246, "type": "MarkdownNote", "pos": [ -3760, 7940 ], "size": [ 600, 88 ], "flags": { "collapsed": false }, "order": 7, "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. **Consistency**: Avoid instructions that do not match the reference image, as this will degrade results\n" ], "color": "#432", "bgcolor": "#653" }, { "id": 5269, "type": "VHS_VideoCombine", "pos": [ -2230, 7170 ], "size": [ 340, 518.6666666666666 ], "flags": {}, "order": 20, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 14009 }, { "name": "audio", "shape": 7, "type": "AUDIO", "link": 14010 }, { "name": "meta_batch", "shape": 7, "type": "VHS_BatchManager", "link": null }, { "name": "vae", "shape": 7, "type": "VAE", "link": null } ], "outputs": [ { "name": "Filenames", "type": "VHS_FILENAMES", "links": null } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "ue_properties": { "widget_ue_connectable": {}, "input_ue_unconnectable": {}, "version": "7.5.2" }, "aux_id": "Kosinkadink/ComfyUI-VideoHelperSuite", "ver": "3234937ff5f3ca19068aaba5042771514de2429d", "Node name for S&R": "VHS_VideoCombine" }, "widgets_values": { "frame_rate": 24, "loop_count": 0, "filename_prefix": "AnimateDiff", "format": "video/h264-mp4", "pix_fmt": "yuv420p", "crf": 19, "save_metadata": true, "trim_to_audio": false, "pingpong": false, "save_output": true, "videopreview": { "hidden": false, "paused": false, "params": { "filename": "AnimateDiff_00023-audio.mp4", "subfolder": "", "type": "output", "format": "video/h264-mp4", "frame_rate": 24, "workflow": "AnimateDiff_00023.png", "fullpath": "H:\\ComfyUI\\output\\AnimateDiff_00023-audio.mp4" } } } }, { "id": 5218, "type": "PrimitiveInt", "pos": [ -3330, 7540 ], "size": [ 210, 82 ], "flags": {}, "order": 8, "mode": 0, "inputs": [], "outputs": [ { "name": "INT", "type": "INT", "links": [ 13969 ] } ], "title": "length", "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": [ 141, "fixed" ] }, { "id": 5217, "type": "EmptyImage", "pos": [ -3330, 7370 ], "size": [ 210, 130 ], "flags": {}, "order": 9, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 13970 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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, 1080, 1, 0 ] }, { "id": 5232, "type": "61915fab-cab7-41be-9727-d69a7e41f24a", "pos": [ -2470, 7540 ], "size": [ 210, 510 ], "flags": {}, "order": 18, "mode": 0, "inputs": [ { "label": "model stage 1", "name": "model", "type": "MODEL", "link": 13966 }, { "label": "model stage 2", "name": "model_1", "type": "MODEL", "link": 13979 }, { "label": "upscale model", "name": "upscale_model_1", "type": "LATENT_UPSCALE_MODEL", "link": 13981 }, { "name": "positive", "type": "CONDITIONING", "link": 13967 }, { "name": "negative", "type": "CONDITIONING", "link": 13968 }, { "label": "VAE", "name": "vae", "type": "VAE", "link": 13971 }, { "label": "audio vae", "name": "audio_vae", "type": "VAE", "link": 13973 }, { "label": "empty latent image", "name": "empty_latent_image", "type": "IMAGE", "link": 13970 }, { "name": "length", "type": "INT", "widget": { "name": "length" }, "link": 13969 }, { "label": "frame rate", "name": "frame_rate", "type": "INT", "widget": { "name": "frame_rate" }, "link": 13976 }, { "label": "noise seed", "name": "noise_seed", "type": "INT", "widget": { "name": "noise_seed" }, "link": null } ], "outputs": [ { "label": "images", "name": "empty latent image", "type": "IMAGE", "links": [ 13958, 14009 ] }, { "label": "audio", "name": "audio", "type": "AUDIO", "links": [ 13959, 14010 ] } ], "properties": { "proxyWidgets": [ [ "-1", "length" ], [ "-1", "frame_rate" ], [ "-1", "noise_seed" ], [ "5158", "control_after_generate" ] ], "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "cnr_id": "comfy-core", "ver": "0.5.1", "ue_properties": { "widget_ue_connectable": { "length": true, "frame_rate": true, "noise_seed": true }, "version": "7.5.2", "input_ue_unconnectable": {} } }, "widgets_values": [ 121, 25, 45 ] }, { "id": 5244, "type": "LatentUpscaleModelLoader", "pos": [ -3780, 7510 ], "size": [ 420, 100 ], "flags": {}, "order": 10, "mode": 0, "inputs": [], "outputs": [ { "name": "LATENT_UPSCALE_MODEL", "type": "LATENT_UPSCALE_MODEL", "links": [ 13981 ] } ], "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "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": 5225, "type": "LTXVGemmaEnhancePrompt", "pos": [ -2729.9999999999973, 7579.999999999999 ], "size": [ 419.25607680542, 475.02407185169704 ], "flags": { "collapsed": true }, "order": 15, "mode": 4, "inputs": [ { "name": "clip", "type": "CLIP", "link": 13961 }, { "name": "image", "shape": 7, "type": "IMAGE", "link": null }, { "name": "prompt", "type": "STRING", "widget": { "name": "prompt" }, "link": 13980 } ], "outputs": [ { "name": "enhanced_prompt", "type": "STRING", "links": [ 13963 ] } ], "title": "Enhancer", "properties": { "enableTabs": false, "tabWidth": 65, "tabXOffset": 10, "hasSecondTab": false, "secondTabText": "Send Back", "secondTabOffset": 80, "secondTabWidth": 65, "aux_id": "Lightricks/ComfyUI-LTXVideo", "ver": "6790484426305443104ea47d7a2aab13badd8c49", "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. 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.\n\n#### Guidelines\n- Strictly follow all aspects of the user's raw input: include every element requested (style, visuals, motions, actions, camera movement, audio).\n - If the input is vague, invent concrete details: lighting, textures, materials, scene settings, etc.\n - For characters: describe gender, clothing, hair, expressions. DO NOT invent unrequested characters.\n- Use active language: present-progressive verbs (\"is walking,\" \"speaking\"). If no action specified, describe natural movements.\n- Maintain chronological flow: use temporal connectors (\"as,\" \"then,\" \"while\").\n- 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\").\n- Speech (only when requested): \n - 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!'\").\n - Specify language if not English and accent if relevant.\n- Style: Include visual style at the beginning: \"Style: