{
 "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-out",
    "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 in a narrow Tokyo alley at night, in a tight close-up, as the camera performs a crash zoom out.\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 tight close-up fills the frame with <Subject 1>'s face. <Subject 1> is standing in place in the middle of the lantern-lit alley, breathing softly, hair and clothing stirring in the air, blinking and shifting her weight a little as people naturally do, with red paper lanterns, izakaya fronts, lit vending machines, parked bicycles and wet paving stones behind her. The camera is locked off on a tripod and holds the tight close-up 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 out to a wide shot with <Subject 1> small and complete in frame in the middle of the lantern-lit alley: 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 shrinks flat together with her. After it lands the wide framing is locked and does not change. As the shot plays out, <Subject 1> holds a calm, neutral expression through the close-up, then her eyes flick wide in alarm as the zoom snaps out, lips closed.\n\noverall_soundscape: Muffled chatter and clinking glasses from the bars, the hum of the vending machines and a light drizzle\n\nnon_diegetic_music: N/A\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": [
    "mei.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 in a narrow Tokyo alley at night, in a tight close-up, as the camera performs a crash zoom out.\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 tight close-up fills the frame with <Subject 1>'s face. <Subject 1> is standing in place in the middle of the lantern-lit alley, breathing softly, hair and clothing stirring in the air, blinking and shifting her weight a little as people naturally do, with red paper lanterns, izakaya fronts, lit vending machines, parked bicycles and wet paving stones behind her. The camera is locked off on a tripod and holds the tight close-up 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 out to a wide shot with <Subject 1> small and complete in frame in the middle of the lantern-lit alley: 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 shrinks flat together with her. After it lands the wide framing is locked and does not change. As the shot plays out, <Subject 1> holds a calm, neutral expression through the close-up, then her eyes flick wide in alarm as the zoom snaps out, lips closed.\n\noverall_soundscape: Muffled chatter and clinking glasses from the bars, the hum of the vending machines and a light drizzle\n\nnon_diegetic_music: N/A\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
}
