{
 "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/crash-zoom-in-part-2",
    "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> standing still on a snow-covered arctic coastline, in a wide shot, as the camera performs a crash zoom in.\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 places <Subject 1> small and complete in frame on the snowy rocky shore, standing in place on the snowy rocky shore, breathing softly, hair and clothing stirring in the air, blinking and shifting her weight a little as people naturally do, with dark rocky cliffs, patches of green aurora borealis in the sky, still water, and an old wooden sailing ship with tall masts behind her. The camera is locked off on a tripod and holds the wide shot completely still for the first two seconds; only the zoom lens changes and the camera body never moves. Between one frame and the next the lens crash zooms in to a tight close-up of her face: the whole change takes only two or three frames, as abrupt as a cut, with a streak of zoom blur on those few frames only, and nothing shifts against anything else, the background simply magnifies flat together with her. After it lands the close-up is locked and does not change. As the shot plays out, <Subject 1>'s expression shifts from blank and neutral into dawning realization and slight shock.\n\noverall_soundscape: A faint cold wind continues throughout, with distant creaking from the ship's rigging\n\nnon_diegetic_music: A single sustained low string note swells partway through the shot, then fades toward the end\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": [
    "amber-main.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> standing still on a snow-covered arctic coastline, in a wide shot, as the camera performs a crash zoom in.\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 places <Subject 1> small and complete in frame on the snowy rocky shore, standing in place on the snowy rocky shore, breathing softly, hair and clothing stirring in the air, blinking and shifting her weight a little as people naturally do, with dark rocky cliffs, patches of green aurora borealis in the sky, still water, and an old wooden sailing ship with tall masts behind her. The camera is locked off on a tripod and holds the wide shot completely still for the first two seconds; only the zoom lens changes and the camera body never moves. Between one frame and the next the lens crash zooms in to a tight close-up of her face: the whole change takes only two or three frames, as abrupt as a cut, with a streak of zoom blur on those few frames only, and nothing shifts against anything else, the background simply magnifies flat together with her. After it lands the close-up is locked and does not change. As the shot plays out, <Subject 1>'s expression shifts from blank and neutral into dawning realization and slight shock.\n\noverall_soundscape: A faint cold wind continues throughout, with distant creaking from the ship's rigging\n\nnon_diegetic_music: A single sustained low string note swells partway through the shot, then fades toward the end\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
}
