{
 "id": "e3f2b845-8f2c-4b5a-9caf-eac1029d3e7e",
 "revision": 0,
 "last_node_id": 146,
 "last_link_id": 291,
 "nodes": [
  {
   "id": 92,
   "type": "SaveVideo",
   "pos": [
    750,
    4870
   ],
   "size": [
    1380,
    970
   ],
   "flags": {},
   "order": 28,
   "mode": 0,
   "inputs": [
    {
     "name": "video",
     "type": "VIDEO",
     "link": 260
    }
   ],
   "outputs": [
    {
     "name": "video",
     "type": "VIDEO",
     "links": null
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0"
   },
   "widgets_values": [
    "video/h3-camera-shots/rooftop-swing",
    "auto",
    "auto"
   ],
   "widgets_values_named": {
    "filename_prefix": "video/MiniMax_H3",
    "format": "auto",
    "codec": "auto"
   }
  },
  {
   "id": 115,
   "type": "ResolutionSelector",
   "pos": [
    -1490,
    6060
   ],
   "size": [
    270,
    170
   ],
   "flags": {},
   "order": 0,
   "mode": 0,
   "showAdvanced": false,
   "inputs": [],
   "outputs": [
    {
     "name": "width",
     "type": "INT",
     "links": [
      276
     ]
    },
    {
     "name": "height",
     "type": "INT",
     "links": [
      277
     ]
    }
   ],
   "title": "Resolution Selector (Size)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "ResolutionSelector"
   },
   "widgets_values": [
    "16:9 (Widescreen)",
    0.98,
    32
   ],
   "widgets_values_named": {
    "aspect_ratio": "16:9 (Widescreen)",
    "megapixels": 0.4,
    "multiple": 32
   },
   "color": "#322",
   "bgcolor": "#533"
  },
  {
   "id": 116,
   "type": "MarkdownNote",
   "pos": [
    -2030,
    4850
   ],
   "size": [
    450,
    890
   ],
   "flags": {},
   "order": 1,
   "mode": 0,
   "inputs": [],
   "outputs": [],
   "title": "Note: MiniMax H3",
   "properties": {},
   "widgets_values": [
    "## MiniMax H3\n\n[MiniMax H3](https://www.minimax.io/blog/minimax-h3) is MiniMax's general-purpose, omni-modal generation model. It jointly understands text, image, video, and audio, and generates video with **native stereo audio**: voice, sound effects, and music are modeled jointly in a single forward pass, not layered on afterward. Output is up to 2K resolution, 24fps, and up to about 15 seconds.\n\n## ComfyUI links\n- [ComfyUI#15224](https://github.com/Comfy-Org/ComfyUI/pull/15224)\n- [🤗 Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n\n## About this workflow\n\nThis template runs the **reference-to-video (ref2va)** task using the `MiniMaxH3ReferenceToVideo` node. It takes any mix of reference images, videos, and standalone audio, and weaves them into the generation to lock in a character's identity, a style, a motion, a camera move, or a voice.\n\n**Key inputs**\n\n- **ref_images / ref_videos / ref_video_audios / ref_audios**: up to 9 reference images, 3 reference videos (each may carry its own paired soundtrack), and 3 standalone reference audio clips\n- **prompt**: reference the inputs by tag, in the exact order they were connected, for example `<Picture 1>`, `<Video 1>`, `<Audio 1>`, then describe the target scene, motion, and audio\n- **ref_image_size**: `match` scales references down to the generation's resolution (faster); `max` keeps up to a 2048px short edge for stronger identity fidelity, at the cost of speed since reference tokens ride along every sampling step\n- **width / height**: set via Resolution Selector.\n- **duration (seconds)**: converted to a valid frame `length` by the Math Expression node\n\n**Sampling and decode**\n\n- Sampler: `res_multistep`. `beta` or `normal` scheduler tends to outperform `simple` for reference-heavy prompts like this one\n- The sampler's joint audio+video `LATENT` output feeds directly into both `VAEDecode` (video, `minimax_h3_video_vae_int8_convrot`) and `VAEDecodeAudio` (audio, `minimax_h3_audio_vae_fp32`); each decode node automatically pulls its own half out of the packed latent. `CreateVideo` then muxes the two into a single MP4 with synced sound\n- The diffusion model here is `minimax_h3_ref2va_pruned_int8_convrot.safetensors`, a different set of weights from the `fl2va` model used by the t2v/i2v templates\n\nRef2va's output is very sensitive to prompt wording; matching the reference tags precisely and being explicit about which reference drives which part of the shot tends to work best."
   ],
   "widgets_values_named": {
    "text": "## MiniMax H3\n\n[MiniMax H3](https://www.minimax.io/blog/minimax-h3) is MiniMax's general-purpose, omni-modal generation model. It jointly understands text, image, video, and audio, and generates video with **native stereo audio**: voice, sound effects, and music are modeled jointly in a single forward pass, not layered on afterward. Output is up to 2K resolution, 24fps, and up to about 15 seconds.\n\n## ComfyUI links\n- [ComfyUI#15224](https://github.com/Comfy-Org/ComfyUI/pull/15224)\n- [🤗 Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n\n## About this workflow\n\nThis template runs the **reference-to-video (ref2va)** task using the `MiniMaxH3ReferenceToVideo` node. It takes any mix of reference images, videos, and standalone audio, and weaves them into the generation to lock in a character's identity, a style, a motion, a camera move, or a voice.\n\n**Key inputs**\n\n- **ref_images / ref_videos / ref_video_audios / ref_audios**: up to 9 reference images, 3 reference videos (each may carry its own paired soundtrack), and 3 standalone reference audio clips\n- **prompt**: reference the inputs by tag, in the exact order they were connected, for example `<Picture 1>`, `<Video 1>`, `<Audio 1>`, then describe the target scene, motion, and audio\n- **ref_image_size**: `match` scales references down to the generation's resolution (faster); `max` keeps up to a 2048px short edge for stronger identity fidelity, at the cost of speed since reference tokens ride along every sampling step\n- **width / height**: set via Resolution Selector.\n- **duration (seconds)**: converted to a valid frame `length` by the Math Expression node\n\n**Sampling and decode**\n\n- Sampler: `res_multistep`. `beta` or `normal` scheduler tends to outperform `simple` for reference-heavy prompts like this one\n- The sampler's joint audio+video `LATENT` output feeds directly into both `VAEDecode` (video, `minimax_h3_video_vae_int8_convrot`) and `VAEDecodeAudio` (audio, `minimax_h3_audio_vae_fp32`); each decode node automatically pulls its own half out of the packed latent. `CreateVideo` then muxes the two into a single MP4 with synced sound\n- The diffusion model here is `minimax_h3_ref2va_pruned_int8_convrot.safetensors`, a different set of weights from the `fl2va` model used by the t2v/i2v templates\n\nRef2va's output is very sensitive to prompt wording; matching the reference tags precisely and being explicit about which reference drives which part of the shot tends to work best."
   },
   "color": "#222",
   "bgcolor": "#000"
  },
  {
   "id": 117,
   "type": "MarkdownNote",
   "pos": [
    -2500,
    4850
   ],
   "size": [
    440,
    740
   ],
   "flags": {},
   "order": 2,
   "mode": 0,
   "inputs": [],
   "outputs": [],
   "title": "Note: Model Links",
   "properties": {},
   "widgets_values": [
    "## Model Links\n[🤗 Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n\n**vae**\n\n- [minimax_h3_video_vae_fp16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_fp16.safetensors) (4.85 GB). These shots ran with the fp16 VAE; the template's int8 one is smaller and decodes almost the same\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors) (577.2 MB)\n\n**diffusion_models**\n\n- [minimax_h3_ref2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors) (19.53 GB)\n\n**text_encoders**\n\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors) (14.61 GB)\n\n**loras**\n\n- 4 steps: [minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors) (1.82 GB)\n\n**embeddings**\n\n- [10 style embeddings](https://huggingface.co/Comfy-Org/MiniMax-H3/tree/main/embeddings) (`minimaxh3_*.safetensors`), for example `minimaxh3_art_is_explosion`\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│   ├── 📂 vae/\n│   │   ├── minimax_h3_video_vae_int8_convrot.safetensors\n│   │   └── minimax_h3_audio_vae_fp32.safetensors\n│   ├── 📂 diffusion_models/\n│   │   └── minimax_h3_ref2va_pruned_int8_convrot.safetensors\n│   ├── 📂 text_encoders/\n│   │   └── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│   ├── 📂 loras/\n│   │   └── minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors\n│   └── 📂 embeddings/\n│       └── minimaxh3_art_is_explosion.safetensors\n```\n\n## Using Prompt Embeddings\n\nPrompt embeddings (supported since [ComfyUI#15697](https://github.com/Comfy-Org/ComfyUI/pull/15697)) add reusable style tokens to your prompt. Download one or more embeddings from the folder above into `ComfyUI/models/embeddings/`, then reference one in the prompt text with the `embedding:` prefix and the filename without its extension, for example:\n\n`embedding:minimaxh3_art_is_explosion`\n\nUsing an embedding is optional and the template runs fine without one.\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
   ],
   "widgets_values_named": {
    "text": "## Model Links\n[🤗 Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n\n**vae**\n\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors) (2.62 GB)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors) (577.2 MB)\n\n**diffusion_models**\n\n- [minimax_h3_ref2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors) (19.53 GB)\n\n**text_encoders**\n\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors) (14.61 GB)\n\n**loras**\n\n- 4 steps: [minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors) (1.82 GB)\n\n**embeddings**\n\n- [10 style embeddings](https://huggingface.co/Comfy-Org/MiniMax-H3/tree/main/embeddings) (`minimaxh3_*.safetensors`), for example `minimaxh3_art_is_explosion`\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│   ├── 📂 vae/\n│   │   ├── minimax_h3_video_vae_int8_convrot.safetensors\n│   │   └── minimax_h3_audio_vae_fp32.safetensors\n│   ├── 📂 diffusion_models/\n│   │   └── minimax_h3_ref2va_pruned_int8_convrot.safetensors\n│   ├── 📂 text_encoders/\n│   │   └── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│   ├── 📂 loras/\n│   │   └── minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors\n│   └── 📂 embeddings/\n│       └── minimaxh3_art_is_explosion.safetensors\n```\n\n## Using Prompt Embeddings\n\nPrompt embeddings (supported since [ComfyUI#15697](https://github.com/Comfy-Org/ComfyUI/pull/15697)) add reusable style tokens to your prompt. Download one or more embeddings from the folder above into `ComfyUI/models/embeddings/`, then reference one in the prompt text with the `embedding:` prefix and the filename without its extension, for example:\n\n`embedding:minimaxh3_art_is_explosion`\n\nUsing an embedding is optional and the template runs fine without one.\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
   },
   "color": "#222",
   "bgcolor": "#000"
  },
  {
   "id": 119,
   "type": "VAELoader",
   "pos": [
    -1490,
    5490
   ],
   "size": [
    640,
    70
   ],
   "flags": {},
   "order": 3,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "VAE",
     "type": "VAE",
     "links": [
      251,
      273
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "VAELoader",
    "models": [
     {
      "name": "minimax_h3_video_vae_int8_convrot.safetensors",
      "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors",
      "directory": "vae"
     }
    ]
   },
   "widgets_values": [
    "minimax_h3_video_vae_fp16.safetensors"
   ],
   "widgets_values_named": {
    "vae_name": "minimax_h3_video_vae_int8_convrot.safetensors"
   }
  },
  {
   "id": 120,
   "type": "VAELoader",
   "pos": [
    -1490,
    5630
   ],
   "size": [
    650,
    70
   ],
   "flags": {},
   "order": 4,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "VAE",
     "type": "VAE",
     "links": [
      250,
      274
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "VAELoader",
    "models": [
     {
      "name": "minimax_h3_audio_vae_fp32.safetensors",
      "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors",
      "directory": "vae"
     }
    ]
   },
   "widgets_values": [
    "minimax_h3_audio_vae_fp32.safetensors"
   ],
   "widgets_values_named": {
    "vae_name": "minimax_h3_audio_vae_fp32.safetensors"
   }
  },
  {
   "id": 121,
   "type": "VAEDecodeAudio",
   "pos": [
    20,
    5750
   ],
   "size": [
    230,
    60
   ],
   "flags": {
    "collapsed": false
   },
   "order": 26,
   "mode": 0,
   "inputs": [
    {
     "name": "samples",
     "type": "LATENT",
     "link": 281
    },
    {
     "name": "vae",
     "type": "VAE",
     "link": 250
    }
   ],
   "outputs": [
    {
     "name": "AUDIO",
     "type": "AUDIO",
     "links": [
      259
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "VAEDecodeAudio"
   }
  },
  {
   "id": 122,
   "type": "VAEDecode",
   "pos": [
    20,
    5650
   ],
   "size": [
    230,
    60
   ],
   "flags": {
    "collapsed": false
   },
   "order": 25,
   "mode": 0,
   "inputs": [
    {
     "name": "samples",
     "type": "LATENT",
     "link": 280
    },
    {
     "name": "vae",
     "type": "VAE",
     "link": 251
    }
   ],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      258
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "VAEDecode"
   }
  },
  {
   "id": 123,
   "type": "KSamplerSelect",
   "pos": [
    0,
    5200
   ],
   "size": [
    370,
    70
   ],
   "flags": {},
   "order": 5,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "SAMPLER",
     "type": "SAMPLER",
     "links": [
      255
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "KSamplerSelect"
   },
   "widgets_values": [
    "res_multistep"
   ],
   "widgets_values_named": {
    "sampler_name": "res_multistep"
   }
  },
  {
   "id": 124,
   "type": "BasicScheduler",
   "pos": [
    0,
    5320
   ],
   "size": [
    370,
    130
   ],
   "flags": {},
   "order": 22,
   "mode": 0,
   "inputs": [
    {
     "name": "model",
     "type": "MODEL",
     "link": 252
    },
    {
     "name": "steps",
     "type": "INT",
     "widget": {
      "name": "steps"
     },
     "link": 289
    }
   ],
   "outputs": [
    {
     "name": "SIGMAS",
     "type": "SIGMAS",
     "links": [
      256
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "BasicScheduler"
   },
   "widgets_values": [
    "simple",
    20,
    1
   ],
   "widgets_values_named": {
    "scheduler": "simple",
    "steps": 20,
    "denoise": 1
   }
  },
  {
   "id": 125,
   "type": "SamplerCustomAdvanced",
   "pos": [
    410,
    5120
   ],
   "size": [
    230,
    140
   ],
   "flags": {},
   "order": 24,
   "mode": 0,
   "inputs": [
    {
     "name": "noise",
     "type": "NOISE",
     "link": 253
    },
    {
     "name": "guider",
     "type": "GUIDER",
     "link": 254
    },
    {
     "name": "sampler",
     "type": "SAMPLER",
     "link": 255
    },
    {
     "name": "sigmas",
     "type": "SIGMAS",
     "link": 256
    },
    {
     "name": "latent_image",
     "type": "LATENT",
     "link": 271
    }
   ],
   "outputs": [
    {
     "name": "output",
     "type": "LATENT",
     "links": [
      280,
      281
     ]
    },
    {
     "name": "denoised_output",
     "type": "LATENT",
     "links": []
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "SamplerCustomAdvanced"
   }
  },
  {
   "id": 126,
   "type": "BasicGuider",
   "pos": [
    0,
    5090
   ],
   "size": [
    360,
    60
   ],
   "flags": {},
   "order": 23,
   "mode": 0,
   "inputs": [
    {
     "name": "model",
     "type": "MODEL",
     "link": 288
    },
    {
     "name": "conditioning",
     "type": "CONDITIONING",
     "link": 270
    }
   ],
   "outputs": [
    {
     "name": "GUIDER",
     "type": "GUIDER",
     "links": [
      254
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "BasicGuider"
   }
  },
  {
   "id": 127,
   "type": "UNETLoader",
   "pos": [
    -1490,
    4980
   ],
   "size": [
    640,
    90
   ],
   "flags": {},
   "order": 6,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "MODEL",
     "type": "MODEL",
     "links": [
      252,
      285,
      287
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "UNETLoader",
    "models": [
     {
      "name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors",
      "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_ref2va_pruned_int8_convrot.safetensors",
      "directory": "diffusion_models"
     }
    ]
   },
   "widgets_values": [
    "minimax_h3_ref2va_pruned_int8_convrot.safetensors",
    "default"
   ],
   "widgets_values_named": {
    "unet_name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors",
    "weight_dtype": "default"
   }
  },
  {
   "id": 128,
   "type": "CLIPLoader",
   "pos": [
    -1490,
    5300
   ],
   "size": [
    640,
    120
   ],
   "flags": {},
   "order": 7,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "CLIP",
     "type": "CLIP",
     "links": [
      272
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "CLIPLoader",
    "models": [
     {
      "name": "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
      "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
      "directory": "text_encoders"
     }
    ]
   },
   "widgets_values": [
    "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
    "minimax",
    "default"
   ],
   "widgets_values_named": {
    "clip_name": "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
    "type": "minimax",
    "device": "default"
   }
  },
  {
   "id": 129,
   "type": "RandomNoise",
   "pos": [
    0,
    4950
   ],
   "size": [
    360,
    90
   ],
   "flags": {},
   "order": 8,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "NOISE",
     "type": "NOISE",
     "links": [
      253
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "RandomNoise"
   },
   "widgets_values": [
    7,
    "fixed"
   ],
   "widgets_values_named": {
    "noise_seed": 261662374822964,
    "control_after_generate": "randomize"
   }
  },
  {
   "id": 130,
   "type": "CreateVideo",
   "pos": [
    330,
    5650
   ],
   "size": [
    270,
    110
   ],
   "flags": {},
   "order": 27,
   "mode": 0,
   "inputs": [
    {
     "name": "images",
     "type": "IMAGE",
     "link": 258
    },
    {
     "name": "audio",
     "shape": 7,
     "type": "AUDIO",
     "link": 259
    }
   ],
   "outputs": [
    {
     "name": "VIDEO",
     "type": "VIDEO",
     "links": [
      260
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "CreateVideo"
   },
   "widgets_values": [
    24,
    8
   ],
   "widgets_values_named": {
    "fps": 24,
    "bit_depth": 8
   }
  },
  {
   "id": 131,
   "type": "ComfyMathExpression",
   "pos": [
    -1490,
    6440
   ],
   "size": [
    225,
    0
   ],
   "flags": {
    "collapsed": true
   },
   "order": 18,
   "mode": 0,
   "inputs": [
    {
     "label": "a",
     "name": "values.a",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 261
    },
    {
     "label": "b",
     "name": "values.b",
     "shape": 7,
     "type": "FLOAT,INT,BOOLEAN",
     "link": null
    }
   ],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": []
    },
    {
     "name": "INT",
     "type": "INT",
     "links": [
      275
     ]
    },
    {
     "name": "BOOL",
     "type": "BOOLEAN",
     "links": []
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "ComfyMathExpression"
   },
   "widgets_values": [
    "max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"
   ],
   "widgets_values_named": {
    "expression": "max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17"
   }
  },
  {
   "id": 132,
   "type": "PrimitiveFloat",
   "pos": [
    -1490,
    6300
   ],
   "size": [
    270,
    70
   ],
   "flags": {},
   "order": 9,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": [
      261
     ]
    }
   ],
   "title": "Float (Duration)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "PrimitiveFloat"
   },
   "widgets_values": [
    5
   ],
   "widgets_values_named": {
    "value": 5
   },
   "color": "#322",
   "bgcolor": "#533"
  },
  {
   "id": 136,
   "type": "MiniMaxH3ReferenceToVideo",
   "pos": [
    -620,
    5420
   ],
   "size": [
    400,
    380
   ],
   "flags": {},
   "order": 21,
   "mode": 0,
   "inputs": [
    {
     "name": "clip",
     "type": "CLIP",
     "link": 272
    },
    {
     "name": "vae",
     "type": "VAE",
     "link": 273
    },
    {
     "name": "audio_vae",
     "type": "VAE",
     "link": 274
    },
    {
     "label": "ref_image_0",
     "name": "ref_images.ref_image_0",
     "shape": 7,
     "type": "IMAGE",
     "link": 278
    },
    {
     "label": "ref_image_1",
     "name": "ref_images.ref_image_1",
     "shape": 7,
     "type": "IMAGE",
     "link": null
    },
    {
     "label": "ref_image_2",
     "name": "ref_images.ref_image_2",
     "shape": 7,
     "type": "IMAGE",
     "link": null
    },
    {
     "label": "ref_video_0",
     "name": "ref_videos.ref_video_0",
     "shape": 7,
     "type": "IMAGE",
     "link": null
    },
    {
     "label": "ref_video_audio_0",
     "name": "ref_video_audios.ref_video_audio_0",
     "shape": 7,
     "type": "AUDIO",
     "link": null
    },
    {
     "label": "ref_audio_0",
     "name": "ref_audios.ref_audio_0",
     "shape": 7,
     "type": "AUDIO",
     "link": null
    },
    {
     "name": "prompt",
     "type": "STRING",
     "widget": {
      "name": "prompt"
     },
     "link": 279
    },
    {
     "name": "width",
     "type": "INT",
     "widget": {
      "name": "width"
     },
     "link": 276
    },
    {
     "name": "height",
     "type": "INT",
     "widget": {
      "name": "height"
     },
     "link": 277
    },
    {
     "name": "length",
     "type": "INT",
     "widget": {
      "name": "length"
     },
     "link": 275
    }
   ],
   "outputs": [
    {
     "name": "positive",
     "type": "CONDITIONING",
     "links": [
      270
     ]
    },
    {
     "name": "LATENT",
     "type": "LATENT",
     "links": [
      271
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "MiniMaxH3ReferenceToVideo"
   },
   "widgets_values": [
    "subject_definitions:\n<Subject 1> is the person in <Picture 1>.\n\nsummary:\n[reference generation] The target video shows <Subject 1> on a cyberpunk megacity street at night, leaping from a rooftop and swinging on a line in a huge arc across the gap between two tall buildings.\n\nretention_analysis:\n<Subject 1> (appears in [Shot 1]): fully_preserved - her face, identity and clothing are held identical to <Picture 1> in every frame with zero drift.\n\ndetailed_description:\nThe target video is live-action and cinematic.\n[Shot 1] A wide shot frames <Subject 1> crouched on the edge of a high rooftop on the rain-slicked street, with towers covered in holographic adverts, an elevated train track, flying cars and neon stalls far below and around her, gripping a thin silver line that runs up to the top of a taller building across the street. She leaps off the edge and swings down on the line in one huge arc across the gap between the buildings, the street rushing past far below her, her hair and clothes streaming with the speed. The camera performs a tracking shot behind and slightly to one side of her through the air with large amplitude at fast speed, following the whole swing, so through the swing she faces away from the camera toward the next building, her back to the lens. At the bottom of the arc she sweeps up toward the next building, lets go at the top of the swing, sails through the air and lands crouched on its rooftop ledge, still facing away from the camera. Then she stands up and turns around on the spot, stepping and pivoting her whole body through a half turn so that she ends facing the camera, and looks back across the gap with a breathless grin. As the shot plays out, <Subject 1> grins with breathless exhilaration as she lands.\n\noverall_soundscape: A dense city hum, an overhead train rattling past and distant electronic announcements, then wind roaring past as she swings, the creak of the taut line, and a solid thud as she lands\n\nnon_diegetic_music: A driving, heroic orchestral theme with pounding drums\n",
    1344,
    768,
    124,
    "max"
   ],
   "widgets_values_named": {
    "prompt": "",
    "width": 1344,
    "height": 768,
    "length": 124,
    "ref_image_size": "match"
   }
  },
  {
   "id": 137,
   "type": "LoadImage",
   "pos": [
    -1050,
    5960
   ],
   "size": [
    290,
    330
   ],
   "flags": {},
   "order": 10,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      278
     ]
    },
    {
     "name": "MASK",
     "type": "MASK",
     "links": null
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "LoadImage"
   },
   "widgets_values": [
    "lena.png",
    "image"
   ],
   "widgets_values_named": {
    "image": "red_superboy_on_city_roof.png",
    "upload": "image"
   }
  },
  {
   "id": 138,
   "type": "PrimitiveStringMultiline",
   "pos": [
    -1490,
    6520
   ],
   "size": [
    370,
    390
   ],
   "flags": {},
   "order": 11,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "STRING",
     "type": "STRING",
     "links": [
      279
     ]
    }
   ],
   "title": "Input Text (Prompt)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "PrimitiveStringMultiline"
   },
   "widgets_values": [
    "subject_definitions:\n<Subject 1> is the person in <Picture 1>.\n\nsummary:\n[reference generation] The target video shows <Subject 1> on a cyberpunk megacity street at night, leaping from a rooftop and swinging on a line in a huge arc across the gap between two tall buildings.\n\nretention_analysis:\n<Subject 1> (appears in [Shot 1]): fully_preserved - her face, identity and clothing are held identical to <Picture 1> in every frame with zero drift.\n\ndetailed_description:\nThe target video is live-action and cinematic.\n[Shot 1] A wide shot frames <Subject 1> crouched on the edge of a high rooftop on the rain-slicked street, with towers covered in holographic adverts, an elevated train track, flying cars and neon stalls far below and around her, gripping a thin silver line that runs up to the top of a taller building across the street. She leaps off the edge and swings down on the line in one huge arc across the gap between the buildings, the street rushing past far below her, her hair and clothes streaming with the speed. The camera performs a tracking shot behind and slightly to one side of her through the air with large amplitude at fast speed, following the whole swing, so through the swing she faces away from the camera toward the next building, her back to the lens. At the bottom of the arc she sweeps up toward the next building, lets go at the top of the swing, sails through the air and lands crouched on its rooftop ledge, still facing away from the camera. Then she stands up and turns around on the spot, stepping and pivoting her whole body through a half turn so that she ends facing the camera, and looks back across the gap with a breathless grin. As the shot plays out, <Subject 1> grins with breathless exhilaration as she lands.\n\noverall_soundscape: A dense city hum, an overhead train rattling past and distant electronic announcements, then wind roaring past as she swings, the creak of the taut line, and a solid thud as she lands\n\nnon_diegetic_music: A driving, heroic orchestral theme with pounding drums\n"
   ],
   "widgets_values_named": {
    "value": "Bold comic-book ink style, heavy linework, red and blue-black palette, night city. Use <Picture 2> and <Picture 1> as reference frames and <Audio 1> exactly as it is.\nCUT 1: top-down view of the little boy superhero on the rooftop — red cape fluttering in the wind, hands planted on his hips, freckles and a cocky grin as he looks straight up into the camera. The camera slowly descends toward him as he delivers his line — as he speaks, comic-book graphic overlay text word by word in sync with his voice: \"GET READY TO\" - \"MEET\" — \"YOUR\" — \"MAKER\" — huge jagged comic lettering, white with heavy black outlines and red drop shadows, tilted at scrappy angles, until the three words hang stacked in the air above him between his face and the lens.\nTRANSITION: a violent WHIP PAN off the rooftop that SMEARS the floating words away with it, motion-streaked —\nCUT 2: low hero angle on the colossal black mech-kaiju towering over the skyline as it rears back and unleashes a GIANT terrifying ROAR — jaws wide with fangs, red eyes and chest-core flaring blinding bright, blue lightning arcing off its head, the roar's shockwave rippling dust and rattling windows down the buildings, comic-style speed-lines and ink splatter bursting from the impact of the sound. It leans INTO the camera as the roar peaks. Hold on the roar."
   },
   "color": "#322",
   "bgcolor": "#533"
  },
  {
   "id": 140,
   "type": "MarkdownNote",
   "pos": [
    -1880,
    6070
   ],
   "size": [
    300,
    520
   ],
   "flags": {},
   "order": 13,
   "mode": 0,
   "inputs": [],
   "outputs": [],
   "title": "Note: Size Settings Reference",
   "properties": {},
   "widgets_values": [
    "| megapixels | Aspect | Output (multiple=32) |\n|---|---|---|\n| 0.2 | 16:9 | 608 x 352 |\n| 0.3 | 16:9 | 736 x 416 |\n| 0.4 | 16:9 | 864 x 480 |\n| 0.5 | 16:9 | 960 x 544 |\n| 0.6 | 16:9 | 1056 x 608 |\n| 0.7 | 16:9 | 1152 x 640 |\n| 0.8 | 16:9 | 1216 x 672 |\n| 0.9 | 16:9 | 1280 x 736 |\n| 0.98 | 16:9 | 1344 x 768 (official 768p) |"
   ],
   "widgets_values_named": {
    "text": "| megapixels | Aspect | Output (multiple=32) |\n|---|---|---|\n| 0.2 | 16:9 | 608 x 352 |\n| 0.3 | 16:9 | 736 x 416 |\n| 0.4 | 16:9 | 864 x 480 |\n| 0.5 | 16:9 | 960 x 544 |\n| 0.6 | 16:9 | 1056 x 608 |\n| 0.7 | 16:9 | 1152 x 640 |\n| 0.8 | 16:9 | 1216 x 672 |\n| 0.9 | 16:9 | 1280 x 736 |\n| 0.98 | 16:9 | 1344 x 768 (official 768p) |"
   },
   "color": "#222",
   "bgcolor": "#000"
  },
  {
   "id": 141,
   "type": "ComfySwitchNode",
   "pos": [
    -730,
    4940
   ],
   "size": [
    270,
    110
   ],
   "flags": {},
   "order": 20,
   "mode": 0,
   "inputs": [
    {
     "name": "on_false",
     "type": "MODEL",
     "link": 287
    },
    {
     "name": "on_true",
     "type": "MODEL",
     "link": 286
    },
    {
     "name": "switch",
     "type": "BOOLEAN",
     "widget": {
      "name": "switch"
     },
     "link": 290
    }
   ],
   "outputs": [
    {
     "name": "output",
     "type": "MODEL",
     "links": [
      288
     ]
    }
   ],
   "title": "If/Else Switch (model)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "ComfySwitchNode"
   },
   "widgets_values": [
    false
   ],
   "widgets_values_named": {
    "switch": false
   }
  },
  {
   "id": 142,
   "type": "ComfySwitchNode",
   "pos": [
    -390,
    5110
   ],
   "size": [
    270,
    110
   ],
   "flags": {},
   "order": 19,
   "mode": 0,
   "inputs": [
    {
     "name": "on_false",
     "type": "INT",
     "link": 284
    },
    {
     "name": "on_true",
     "type": "INT",
     "link": 283
    },
    {
     "name": "switch",
     "type": "BOOLEAN",
     "widget": {
      "name": "switch"
     },
     "link": 291
    }
   ],
   "outputs": [
    {
     "name": "output",
     "type": "INT",
     "links": [
      289
     ]
    }
   ],
   "title": "If/Else Switch (Steps)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "ComfySwitchNode"
   },
   "widgets_values": [
    false
   ],
   "widgets_values_named": {
    "switch": false
   }
  },
  {
   "id": 143,
   "type": "PrimitiveInt",
   "pos": [
    -730,
    5090
   ],
   "size": [
    270,
    90
   ],
   "flags": {},
   "order": 14,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "INT",
     "type": "INT",
     "links": [
      284
     ]
    }
   ],
   "title": "Int (Full)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "PrimitiveInt"
   },
   "widgets_values": [
    20,
    "fixed"
   ],
   "widgets_values_named": {
    "value": 20,
    "fixed": "fixed"
   }
  },
  {
   "id": 144,
   "type": "PrimitiveInt",
   "pos": [
    -730,
    5220
   ],
   "size": [
    270,
    90
   ],
   "flags": {},
   "order": 15,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "INT",
     "type": "INT",
     "links": [
      283
     ]
    }
   ],
   "title": "Int (Lightning LoRA)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "PrimitiveInt"
   },
   "widgets_values": [
    4,
    "fixed"
   ],
   "widgets_values_named": {
    "value": 4,
    "fixed": "fixed"
   }
  },
  {
   "id": 145,
   "type": "LoraLoaderModelOnly",
   "pos": [
    -1490,
    5140
   ],
   "size": [
    640,
    90
   ],
   "flags": {},
   "order": 17,
   "mode": 0,
   "inputs": [
    {
     "name": "model",
     "type": "MODEL",
     "link": 285
    }
   ],
   "outputs": [
    {
     "name": "MODEL",
     "type": "MODEL",
     "links": [
      286
     ]
    }
   ],
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "LoraLoaderModelOnly",
    "models": [
     {
      "name": "minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors",
      "url": "https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors",
      "directory": "loras"
     }
    ]
   },
   "widgets_values": [
    "minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors",
    1
   ],
   "widgets_values_named": {
    "lora_name": "minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors",
    "strength_model": 1
   }
  },
  {
   "id": 146,
   "type": "PrimitiveBoolean",
   "pos": [
    -1490,
    5940
   ],
   "size": [
    270,
    70
   ],
   "flags": {},
   "order": 16,
   "mode": 0,
   "inputs": [],
   "outputs": [
    {
     "name": "BOOLEAN",
     "type": "BOOLEAN",
     "links": [
      290,
      291
     ]
    }
   ],
   "title": "Boolean (Enable Lightning LoRA)",
   "properties": {
    "cnr_id": "comfy-core",
    "ver": "0.33.0",
    "Node name for S&R": "PrimitiveBoolean"
   },
   "widgets_values": [
    false
   ],
   "widgets_values_named": {
    "value": false
   },
   "color": "#322",
   "bgcolor": "#533"
  }
 ],
 "links": [
  [
   250,
   120,
   0,
   121,
   1,
   "VAE"
  ],
  [
   251,
   119,
   0,
   122,
   1,
   "VAE"
  ],
  [
   252,
   127,
   0,
   124,
   0,
   "MODEL"
  ],
  [
   253,
   129,
   0,
   125,
   0,
   "NOISE"
  ],
  [
   254,
   126,
   0,
   125,
   1,
   "GUIDER"
  ],
  [
   255,
   123,
   0,
   125,
   2,
   "SAMPLER"
  ],
  [
   256,
   124,
   0,
   125,
   3,
   "SIGMAS"
  ],
  [
   258,
   122,
   0,
   130,
   0,
   "IMAGE"
  ],
  [
   259,
   121,
   0,
   130,
   1,
   "AUDIO"
  ],
  [
   260,
   130,
   0,
   92,
   0,
   "VIDEO"
  ],
  [
   261,
   132,
   0,
   131,
   0,
   "FLOAT"
  ],
  [
   270,
   136,
   0,
   126,
   1,
   "CONDITIONING"
  ],
  [
   271,
   136,
   1,
   125,
   4,
   "LATENT"
  ],
  [
   272,
   128,
   0,
   136,
   0,
   "CLIP"
  ],
  [
   273,
   119,
   0,
   136,
   1,
   "VAE"
  ],
  [
   274,
   120,
   0,
   136,
   2,
   "VAE"
  ],
  [
   275,
   131,
   1,
   136,
   12,
   "INT"
  ],
  [
   276,
   115,
   0,
   136,
   10,
   "INT"
  ],
  [
   277,
   115,
   1,
   136,
   11,
   "INT"
  ],
  [
   278,
   137,
   0,
   136,
   3,
   "IMAGE"
  ],
  [
   279,
   138,
   0,
   136,
   9,
   "STRING"
  ],
  [
   280,
   125,
   0,
   122,
   0,
   "LATENT"
  ],
  [
   281,
   125,
   0,
   121,
   0,
   "LATENT"
  ],
  [
   283,
   144,
   0,
   142,
   1,
   "INT"
  ],
  [
   284,
   143,
   0,
   142,
   0,
   "INT"
  ],
  [
   285,
   127,
   0,
   145,
   0,
   "MODEL"
  ],
  [
   286,
   145,
   0,
   141,
   1,
   "MODEL"
  ],
  [
   287,
   127,
   0,
   141,
   0,
   "MODEL"
  ],
  [
   288,
   141,
   0,
   126,
   0,
   "MODEL"
  ],
  [
   289,
   142,
   0,
   124,
   1,
   "INT"
  ],
  [
   290,
   146,
   0,
   141,
   2,
   "BOOLEAN"
  ],
  [
   291,
   146,
   0,
   142,
   2,
   "BOOLEAN"
  ]
 ],
 "groups": [
  {
   "id": 1,
   "title": "Models",
   "bounding": [
    -1520,
    4840,
    700,
    990
   ],
   "color": "#3f789e",
   "flags": {}
  },
  {
   "id": 2,
   "title": "Sampling",
   "bounding": [
    -30,
    4840,
    690,
    700
   ],
   "color": "#3f789e",
   "flags": {}
  },
  {
   "id": 3,
   "title": "Switch Model and Settings",
   "bounding": [
    -790,
    4840,
    730,
    490
   ],
   "color": "#3f789e",
   "flags": {}
  },
  {
   "id": 4,
   "title": "Decoding and create video",
   "bounding": [
    -30,
    5570,
    690,
    260
   ],
   "color": "#3f789e",
   "flags": {}
  },
  {
   "id": 5,
   "title": "User Inputs",
   "bounding": [
    -1520,
    5860,
    2190,
    1090
   ],
   "color": "#3f789e",
   "flags": {}
  },
  {
   "id": 6,
   "title": "Conditioning",
   "bounding": [
    -790,
    5350,
    730,
    480
   ],
   "color": "#3f789e",
   "flags": {}
  }
 ],
 "config": {},
 "extra": {
  "ds": {
   "scale": 0.2755772017967752,
   "offset": [
    3701.5850496349885,
    -3450.8097799322713
   ]
  },
  "frontendVersion": "1.49.6",
  "VHS_latentpreview": false,
  "VHS_latentpreviewrate": 0,
  "VHS_MetadataImage": true,
  "VHS_KeepIntermediate": true
 },
 "version": 0.4
}
