{
 "id": "aa5e5a5b-f868-443e-b679-af774b4a3a63",
 "revision": 0,
 "last_node_id": 209,
 "last_link_id": 77,
 "nodes": [
  {
   "id": 92,
   "type": "SaveVideo",
   "pos": [
    2933.6101562500003,
    130
   ],
   "size": [
    270,
    130
   ],
   "flags": {},
   "order": 20,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "video",
     "name": "video",
     "type": "VIDEO",
     "link": 30
    },
    {
     "localized_name": "filename_prefix",
     "name": "filename_prefix",
     "type": "STRING",
     "widget": {
      "name": "filename_prefix"
     },
     "link": null
    },
    {
     "localized_name": "format",
     "name": "format",
     "type": "COMFY_DYNAMICCOMBO_V3",
     "widget": {
      "name": "format"
     },
     "link": null
    },
    {
     "localized_name": "codec",
     "name": "format.codec",
     "type": "COMFY_DYNAMICCOMBO_V3",
     "widget": {
      "name": "format.codec"
     },
     "link": null
    },
    {
     "localized_name": "encoding",
     "name": "format.codec.encoding",
     "shape": 7,
     "type": "COMFY_DYNAMICCOMBO_V3",
     "widget": {
      "name": "format.codec.encoding"
     },
     "link": null
    },
    {
     "localized_name": "codec",
     "name": "codec",
     "shape": 7,
     "type": "COMFY_DYNAMICCOMBO_V3",
     "widget": {
      "name": "codec"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "video",
     "name": "video",
     "type": "VIDEO",
     "links": null
    }
   ],
   "properties": {},
   "widgets_values": [
    "h3/ref2va-swap",
    "mp4",
    "h264",
    "auto",
    "auto"
   ],
   "widgets_values_named": {
    "filename_prefix": "h3/ref2va-swap",
    "format": "mp4",
    "format.codec": "h264",
    "format.codec.encoding": "auto",
    "codec": "auto"
   }
  },
  {
   "id": 119,
   "type": "VAELoader",
   "pos": [
    100,
    130
   ],
   "size": [
    270,
    58
   ],
   "flags": {},
   "order": 0,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "vae_name",
     "name": "vae_name",
     "type": "COMBO",
     "widget": {
      "name": "vae_name"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "VAE",
     "name": "VAE",
     "type": "VAE",
     "links": [
      34,
      46
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "VAELoader"
   },
   "widgets_values": [
    "minimax_h3_video_vae_fp16.safetensors"
   ],
   "widgets_values_named": {
    "vae_name": "minimax_h3_video_vae_fp16.safetensors"
   }
  },
  {
   "id": 120,
   "type": "VAELoader",
   "pos": [
    100,
    318
   ],
   "size": [
    270,
    58
   ],
   "flags": {},
   "order": 1,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "vae_name",
     "name": "vae_name",
     "type": "COMBO",
     "widget": {
      "name": "vae_name"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "VAE",
     "name": "VAE",
     "type": "VAE",
     "links": [
      47,
      57
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "VAELoader"
   },
   "widgets_values": [
    "minimax_h3_audio_vae_fp32.safetensors"
   ],
   "widgets_values_named": {
    "vae_name": "minimax_h3_audio_vae_fp32.safetensors"
   }
  },
  {
   "id": 122,
   "type": "VAEDecode",
   "pos": [
    2299.3712890625,
    306
   ],
   "size": [
    140,
    46
   ],
   "flags": {},
   "order": 18,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "samples",
     "name": "samples",
     "type": "LATENT",
     "link": 33
    },
    {
     "localized_name": "vae",
     "name": "vae",
     "type": "VAE",
     "link": 34
    }
   ],
   "outputs": [
    {
     "localized_name": "IMAGE",
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      43
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "VAEDecode"
   }
  },
  {
   "id": 123,
   "type": "KSamplerSelect",
   "pos": [
    100,
    506
   ],
   "size": [
    270,
    58
   ],
   "flags": {},
   "order": 2,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "sampler_name",
     "name": "sampler_name",
     "type": "COMBO",
     "widget": {
      "name": "sampler_name"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "SAMPLER",
     "name": "SAMPLER",
     "type": "SAMPLER",
     "links": [
      38
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "KSamplerSelect"
   },
   "widgets_values": [
    "res_multistep"
   ],
   "widgets_values_named": {
    "sampler_name": "res_multistep"
   }
  },
  {
   "id": 124,
   "type": "BasicScheduler",
   "pos": [
    852.798828125,
    130
   ],
   "size": [
    270,
    106
   ],
   "flags": {},
   "order": 12,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "model",
     "name": "model",
     "type": "MODEL",
     "link": 35
    },
    {
     "localized_name": "scheduler",
     "name": "scheduler",
     "type": "COMBO",
     "widget": {
      "name": "scheduler"
     },
     "link": null
    },
    {
     "localized_name": "steps",
     "name": "steps",
     "type": "INT",
     "widget": {
      "name": "steps"
     },
     "link": null
    },
    {
     "localized_name": "denoise",
     "name": "denoise",
     "type": "FLOAT",
     "widget": {
      "name": "denoise"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "SIGMAS",
     "name": "SIGMAS",
     "type": "SIGMAS",
     "links": [
      39
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "BasicScheduler"
   },
   "widgets_values": [
    "simple",
    4,
    1
   ],
   "widgets_values_named": {
    "scheduler": "simple",
    "steps": 4,
    "denoise": 1
   }
  },
  {
   "id": 125,
   "type": "SamplerCustomAdvanced",
   "pos": [
    1987.007421875,
    130
   ],
   "size": [
    212.3638671875,
    106
   ],
   "flags": {},
   "order": 16,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "noise",
     "name": "noise",
     "type": "NOISE",
     "link": 36
    },
    {
     "localized_name": "guider",
     "name": "guider",
     "type": "GUIDER",
     "link": 37
    },
    {
     "localized_name": "sampler",
     "name": "sampler",
     "type": "SAMPLER",
     "link": 38
    },
    {
     "localized_name": "sigmas",
     "name": "sigmas",
     "type": "SIGMAS",
     "link": 39
    },
    {
     "localized_name": "latent_image",
     "name": "latent_image",
     "type": "LATENT",
     "link": 40
    }
   ],
   "outputs": [
    {
     "localized_name": "output",
     "name": "output",
     "type": "LATENT",
     "links": [
      33
     ]
    },
    {
     "localized_name": "denoised_output",
     "name": "denoised_output",
     "type": "LATENT",
     "links": null
    }
   ],
   "properties": {
    "Node name for S&R": "SamplerCustomAdvanced"
   }
  },
  {
   "id": 126,
   "type": "BasicGuider",
   "pos": [
    1727.4390625,
    130
   ],
   "size": [
    159.568359375,
    46
   ],
   "flags": {},
   "order": 15,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "model",
     "name": "model",
     "type": "MODEL",
     "link": 41
    },
    {
     "localized_name": "conditioning",
     "name": "conditioning",
     "type": "CONDITIONING",
     "link": 42
    }
   ],
   "outputs": [
    {
     "localized_name": "GUIDER",
     "name": "GUIDER",
     "type": "GUIDER",
     "links": [
      37
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "BasicGuider"
   }
  },
  {
   "id": 127,
   "type": "UNETLoader",
   "pos": [
    100,
    694
   ],
   "size": [
    270,
    82
   ],
   "flags": {},
   "order": 3,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "unet_name",
     "name": "unet_name",
     "type": "COMBO",
     "widget": {
      "name": "unet_name"
     },
     "link": null
    },
    {
     "localized_name": "weight_dtype",
     "name": "weight_dtype",
     "type": "COMBO",
     "widget": {
      "name": "weight_dtype"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "MODEL",
     "name": "MODEL",
     "type": "MODEL",
     "links": [
      54
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "UNETLoader"
   },
   "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": [
    100,
    906
   ],
   "size": [
    270,
    106
   ],
   "flags": {},
   "order": 4,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "clip_name",
     "name": "clip_name",
     "type": "COMBO",
     "widget": {
      "name": "clip_name"
     },
     "link": null
    },
    {
     "localized_name": "type",
     "name": "type",
     "type": "COMBO",
     "widget": {
      "name": "type"
     },
     "link": null
    },
    {
     "localized_name": "device",
     "name": "device",
     "shape": 7,
     "type": "COMBO",
     "widget": {
      "name": "device"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "CLIP",
     "name": "CLIP",
     "type": "CLIP",
     "links": [
      45
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "CLIPLoader"
   },
   "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": [
    100,
    1142
   ],
   "size": [
    270,
    82
   ],
   "flags": {},
   "order": 5,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "noise_seed",
     "name": "noise_seed",
     "type": "INT",
     "widget": {
      "name": "noise_seed"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "NOISE",
     "name": "NOISE",
     "type": "NOISE",
     "links": [
      36
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "RandomNoise"
   },
   "widgets_values": [
    926301,
    "randomize"
   ],
   "widgets_values_named": {
    "noise_seed": 926301,
    "control_after_generate": "randomize"
   }
  },
  {
   "id": 130,
   "type": "CreateVideo",
   "pos": [
    2563.6101562500003,
    130
   ],
   "size": [
    270,
    150
   ],
   "flags": {},
   "order": 19,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "images",
     "name": "images",
     "type": "IMAGE",
     "link": 43
    },
    {
     "localized_name": "audio",
     "name": "audio",
     "shape": 7,
     "type": "AUDIO",
     "link": 76
    },
    {
     "localized_name": "fps",
     "name": "fps",
     "type": "FLOAT",
     "widget": {
      "name": "fps"
     },
     "link": 77
    },
    {
     "localized_name": "bit_depth",
     "name": "bit_depth",
     "shape": 7,
     "type": "COMBO",
     "widget": {
      "name": "bit_depth"
     },
     "link": null
    },
    {
     "localized_name": "color_space",
     "name": "color_space",
     "shape": 7,
     "type": "COMBO",
     "widget": {
      "name": "color_space"
     },
     "link": null
    },
    {
     "localized_name": "codec",
     "name": "codec",
     "shape": 7,
     "type": "COMBO",
     "widget": {
      "name": "codec"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "VIDEO",
     "name": "VIDEO",
     "type": "VIDEO",
     "links": [
      30
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "CreateVideo"
   },
   "widgets_values": [
    23.976,
    8,
    "sRGB",
    "none"
   ],
   "widgets_values_named": {
    "fps": 23.976,
    "bit_depth": 8,
    "color_space": "sRGB",
    "codec": "none"
   }
  },
  {
   "id": 136,
   "type": "MiniMaxH3ReferenceToVideo",
   "pos": [
    852.798828125,
    366
   ],
   "size": [
    400,
    404
   ],
   "flags": {},
   "order": 13,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "clip",
     "name": "clip",
     "type": "CLIP",
     "link": 45
    },
    {
     "localized_name": "vae",
     "name": "vae",
     "shape": 7,
     "type": "VAE",
     "link": 46
    },
    {
     "localized_name": "audio_vae",
     "name": "audio_vae",
     "shape": 7,
     "type": "VAE",
     "link": 47
    },
    {
     "localized_name": "ref_image_0",
     "name": "ref_images.ref_image_0",
     "shape": 7,
     "type": "IMAGE",
     "link": 48
    },
    {
     "localized_name": "ref_image_1",
     "name": "ref_images.ref_image_1",
     "shape": 7,
     "type": "IMAGE",
     "link": 49
    },
    {
     "localized_name": "ref_image_2",
     "name": "ref_images.ref_image_2",
     "shape": 7,
     "type": "IMAGE",
     "link": 52
    },
    {
     "localized_name": "ref_image_3",
     "name": "ref_images.ref_image_3",
     "shape": 7,
     "type": "IMAGE",
     "link": null
    },
    {
     "localized_name": "ref_video_0",
     "name": "ref_videos.ref_video_0",
     "shape": 7,
     "type": "IMAGE",
     "link": 74
    },
    {
     "localized_name": "ref_video_1",
     "name": "ref_videos.ref_video_1",
     "shape": 7,
     "type": "IMAGE",
     "link": null
    },
    {
     "localized_name": "ref_video_audio_0",
     "name": "ref_video_audios.ref_video_audio_0",
     "shape": 7,
     "type": "AUDIO",
     "link": 51
    },
    {
     "localized_name": "ref_video_audio_1",
     "name": "ref_video_audios.ref_video_audio_1",
     "shape": 7,
     "type": "AUDIO",
     "link": null
    },
    {
     "localized_name": "ref_audio_0",
     "name": "ref_audios.ref_audio_0",
     "shape": 7,
     "type": "AUDIO",
     "link": null
    },
    {
     "localized_name": "prompt",
     "name": "prompt",
     "type": "STRING",
     "widget": {
      "name": "prompt"
     },
     "link": null
    },
    {
     "localized_name": "width",
     "name": "width",
     "type": "INT",
     "widget": {
      "name": "width"
     },
     "link": null
    },
    {
     "localized_name": "height",
     "name": "height",
     "type": "INT",
     "widget": {
      "name": "height"
     },
     "link": null
    },
    {
     "localized_name": "length",
     "name": "length",
     "type": "INT",
     "widget": {
      "name": "length"
     },
     "link": 75
    },
    {
     "localized_name": "ref_image_size",
     "name": "ref_image_size",
     "type": "COMBO",
     "widget": {
      "name": "ref_image_size"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "positive",
     "name": "positive",
     "type": "CONDITIONING",
     "links": [
      55
     ]
    },
    {
     "localized_name": "LATENT",
     "name": "LATENT",
     "type": "LATENT",
     "links": [
      40,
      56
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "MiniMaxH3ReferenceToVideo"
   },
   "widgets_values": [
    "subject_definitions:\n<Subject 1> is the {CHARACTER NOUN} shown in <Picture 1> and <Picture 2>: {DESIGN: skin/material, head, eyes, mouth or mouth-substitute, distinctive marks, costume}. Picture 1 shows it in this same {LOCATION} and lighting; Picture 2 is a studio view of the same design.\n<Subject 2> is the {LOCATION} from <Video 1>: {3–5 concrete set details and practical lights}.\n<Video 1> is the source shot to edit: {camera: fixed / handheld / slow push-in}. Recast only {WHO, e.g. \"the man speaking to the camera\"} as <Subject 1>. {If others are visible: \"Keep {OTHER PEOPLE} exactly as they are.\"}\n<Audio 1> is the synchronized original soundtrack of <Video 1>, including the exact spoken words, pauses, breaths and room tone.\n\nsummary:\n[video editing + reference generation + audio reuse] The target video is an edited version of <Video 1>. Replace only {WHO}'s visible identity with <Subject 1>, retaining the original framing, lighting, camera movement, performance and the precise timing of every word.\n\nretention_analysis:\n<Subject 1>: fully_preserved {CHARACTER NOUN} design from the pictures - no human skin, hair or human face anywhere - adapted to the source's {LIGHTING}.\n<Subject 2>: fully_preserved scene geometry, practical lights, exposure and camera.\n<Video 1>: partially_preserved; retain the {head and shoulder movement, glances, gestures} and timing; replace only {WHO}'s appearance. {MOUTH RULE: \"Its lips and jaw follow the original waveform.\" or \"Its {grille/visor/light} glows in time with the words instead of lip movement.\"}\n<Audio 1>: fully_copy the complete original soundtrack one-to-one with identical word timing, pauses and ambience.\n\ndetailed_description:\nRealistic {YEAR} live-action television footage, with {grain level} and {lighting}, matching the source exposure throughout.\n[Shot 1] <Subject 1> {framing, pose, mood}; {SPEAKING OR SILENT; EXPRESSION; WHAT COVERS THE FACE, IF ANYTHING}. From {T1} to {T2} seconds <Subject 1> (S1), in the source speaker's {voice description}, says <d>[English]{EXACT LINE 1}</d> {mouth rule}. At about {T3} seconds it says <d>[English]{EXACT LINE 2}</d>\nThe source has {N} frames. After them, hold the last pose until the end of the clip; those frames are discarded.\n\noverall_soundscape:\nCopy the original room tone, breathing and words exactly from <Audio 1>.\n\nnon_diegetic_music:\n{N/A if the shot has no music; otherwise: Copy the music already in <Audio 1>.}\n",
    1024,
    576,
    124,
    "match"
   ],
   "widgets_values_named": {
    "prompt": "subject_definitions:\n<Subject 1> is the {CHARACTER NOUN} shown in <Picture 1> and <Picture 2>: {DESIGN: skin/material, head, eyes, mouth or mouth-substitute, distinctive marks, costume}. Picture 1 shows it in this same {LOCATION} and lighting; Picture 2 is a studio view of the same design.\n<Subject 2> is the {LOCATION} from <Video 1>: {3–5 concrete set details and practical lights}.\n<Video 1> is the source shot to edit: {camera: fixed / handheld / slow push-in}. Recast only {WHO, e.g. \"the man speaking to the camera\"} as <Subject 1>. {If others are visible: \"Keep {OTHER PEOPLE} exactly as they are.\"}\n<Audio 1> is the synchronized original soundtrack of <Video 1>, including the exact spoken words, pauses, breaths and room tone.\n\nsummary:\n[video editing + reference generation + audio reuse] The target video is an edited version of <Video 1>. Replace only {WHO}'s visible identity with <Subject 1>, retaining the original framing, lighting, camera movement, performance and the precise timing of every word.\n\nretention_analysis:\n<Subject 1>: fully_preserved {CHARACTER NOUN} design from the pictures - no human skin, hair or human face anywhere - adapted to the source's {LIGHTING}.\n<Subject 2>: fully_preserved scene geometry, practical lights, exposure and camera.\n<Video 1>: partially_preserved; retain the {head and shoulder movement, glances, gestures} and timing; replace only {WHO}'s appearance. {MOUTH RULE: \"Its lips and jaw follow the original waveform.\" or \"Its {grille/visor/light} glows in time with the words instead of lip movement.\"}\n<Audio 1>: fully_copy the complete original soundtrack one-to-one with identical word timing, pauses and ambience.\n\ndetailed_description:\nRealistic {YEAR} live-action television footage, with {grain level} and {lighting}, matching the source exposure throughout.\n[Shot 1] <Subject 1> {framing, pose, mood}; {SPEAKING OR SILENT; EXPRESSION; WHAT COVERS THE FACE, IF ANYTHING}. From {T1} to {T2} seconds <Subject 1> (S1), in the source speaker's {voice description}, says <d>[English]{EXACT LINE 1}</d> {mouth rule}. At about {T3} seconds it says <d>[English]{EXACT LINE 2}</d>\nThe source has {N} frames. After them, hold the last pose until the end of the clip; those frames are discarded.\n\noverall_soundscape:\nCopy the original room tone, breathing and words exactly from <Audio 1>.\n\nnon_diegetic_music:\n{N/A if the shot has no music; otherwise: Copy the music already in <Audio 1>.}\n",
    "width": 1024,
    "height": 576,
    "length": 124,
    "ref_image_size": "match"
   }
  },
  {
   "id": 137,
   "type": "LoadImage",
   "pos": [
    100,
    1354
   ],
   "size": [
    282.798828125,
    102
   ],
   "flags": {},
   "order": 6,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "image",
     "name": "image",
     "type": "COMBO",
     "widget": {
      "name": "image"
     },
     "link": null
    },
    {
     "localized_name": "choose file to upload",
     "name": "upload",
     "type": "IMAGEUPLOAD",
     "widget": {
      "name": "upload"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "IMAGE",
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      48
     ]
    },
    {
     "localized_name": "MASK",
     "name": "MASK",
     "type": "MASK",
     "links": null
    }
   ],
   "properties": {
    "Node name for S&R": "LoadImage"
   },
   "widgets_values": [
    "character_reference_1.png",
    "image"
   ],
   "widgets_values_named": {
    "image": "character_reference_1.png",
    "upload": "image"
   }
  },
  {
   "id": 139,
   "type": "LoadImage",
   "pos": [
    100,
    1586
   ],
   "size": [
    282.798828125,
    102
   ],
   "flags": {},
   "order": 7,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "image",
     "name": "image",
     "type": "COMBO",
     "widget": {
      "name": "image"
     },
     "link": null
    },
    {
     "localized_name": "choose file to upload",
     "name": "upload",
     "type": "IMAGEUPLOAD",
     "widget": {
      "name": "upload"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "IMAGE",
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      49
     ]
    },
    {
     "localized_name": "MASK",
     "name": "MASK",
     "type": "MASK",
     "links": null
    }
   ],
   "properties": {
    "Node name for S&R": "LoadImage"
   },
   "widgets_values": [
    "character_reference_2.png",
    "image"
   ],
   "widgets_values_named": {
    "image": "character_reference_2.png",
    "upload": "image"
   }
  },
  {
   "id": 150,
   "type": "LoadVideo",
   "pos": [
    100,
    1818
   ],
   "size": [
    282.798828125,
    82
   ],
   "flags": {},
   "order": 8,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "file",
     "name": "file",
     "type": "COMBO",
     "widget": {
      "name": "file"
     },
     "link": null
    },
    {
     "localized_name": "choose file to upload",
     "name": "upload",
     "type": "IMAGEUPLOAD",
     "widget": {
      "name": "upload"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "VIDEO",
     "name": "VIDEO",
     "type": "VIDEO",
     "links": [
      53
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "LoadVideo"
   },
   "widgets_values": [
    "source_shot.mp4",
    "image"
   ],
   "widgets_values_named": {
    "file": "source_shot.mp4",
    "upload": "image"
   }
  },
  {
   "id": 151,
   "type": "GetVideoComponents",
   "pos": [
    482.798828125,
    342
   ],
   "size": [
    193.530859375,
    106
   ],
   "flags": {},
   "order": 11,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "video",
     "name": "video",
     "type": "VIDEO",
     "link": 53
    }
   ],
   "outputs": [
    {
     "localized_name": "images",
     "name": "images",
     "type": "IMAGE",
     "links": [
      59,
      61,
      66
     ]
    },
    {
     "localized_name": "audio",
     "name": "audio",
     "type": "AUDIO",
     "links": [
      51,
      58,
      76
     ]
    },
    {
     "localized_name": "fps",
     "name": "fps",
     "type": "FLOAT",
     "links": [
      77
     ]
    },
    {
     "localized_name": "bit_depth",
     "name": "bit_depth",
     "type": "COMBO",
     "links": null
    },
    {
     "localized_name": "color_space",
     "name": "color_space",
     "type": "COMBO",
     "links": null
    }
   ],
   "properties": {
    "Node name for S&R": "GetVideoComponents"
   }
  },
  {
   "id": 160,
   "type": "LoraLoaderModelOnly",
   "pos": [
    482.798828125,
    130
   ],
   "size": [
    270,
    82
   ],
   "flags": {},
   "order": 10,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "model",
     "name": "model",
     "type": "MODEL",
     "link": 54
    },
    {
     "localized_name": "lora_name",
     "name": "lora_name",
     "type": "COMBO",
     "widget": {
      "name": "lora_name"
     },
     "link": null
    },
    {
     "localized_name": "strength_model",
     "name": "strength_model",
     "type": "FLOAT",
     "widget": {
      "name": "strength_model"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "MODEL",
     "name": "MODEL",
     "type": "MODEL",
     "links": [
      35,
      41
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "LoraLoaderModelOnly"
   },
   "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": 161,
   "type": "MiniMaxH3AddGuide",
   "pos": [
    1352.798828125,
    130
   ],
   "size": [
    274.640234375,
    158
   ],
   "flags": {},
   "order": 14,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "positive",
     "name": "positive",
     "type": "CONDITIONING",
     "link": 55
    },
    {
     "localized_name": "latent",
     "name": "latent",
     "type": "LATENT",
     "link": 56
    },
    {
     "localized_name": "vae",
     "name": "vae",
     "shape": 7,
     "type": "VAE",
     "link": null
    },
    {
     "localized_name": "audio_vae",
     "name": "audio_vae",
     "shape": 7,
     "type": "VAE",
     "link": 57
    },
    {
     "localized_name": "image",
     "name": "image",
     "shape": 7,
     "type": "IMAGE",
     "link": null
    },
    {
     "localized_name": "audio",
     "name": "audio",
     "shape": 7,
     "type": "AUDIO",
     "link": 58
    },
    {
     "localized_name": "frame_idx",
     "name": "frame_idx",
     "type": "INT",
     "widget": {
      "name": "frame_idx"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "positive",
     "name": "positive",
     "type": "CONDITIONING",
     "links": [
      42
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "MiniMaxH3AddGuide"
   },
   "widgets_values": [
    0
   ],
   "widgets_values_named": {
    "frame_idx": 0
   }
  },
  {
   "id": 162,
   "type": "LoadImage",
   "pos": [
    100,
    2030
   ],
   "size": [
    282.798828125,
    102
   ],
   "flags": {},
   "order": 9,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "image",
     "name": "image",
     "type": "COMBO",
     "widget": {
      "name": "image"
     },
     "link": null
    },
    {
     "localized_name": "choose file to upload",
     "name": "upload",
     "type": "IMAGEUPLOAD",
     "widget": {
      "name": "upload"
     },
     "link": null
    }
   ],
   "outputs": [
    {
     "localized_name": "IMAGE",
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      52
     ]
    },
    {
     "localized_name": "MASK",
     "name": "MASK",
     "type": "MASK",
     "links": null
    }
   ],
   "title": "Extra reference: a crop of a person who stays (or Picture 1 again)",
   "properties": {
    "Node name for S&R": "LoadImage"
   },
   "widgets_values": [
    "extra_reference.png",
    "image"
   ],
   "widgets_values_named": {
    "image": "extra_reference.png",
    "upload": "image"
   }
  },
  {
   "id": 200,
   "type": "GetImageSize",
   "pos": [
    852.8,
    560
   ],
   "size": [
    140,
    66
   ],
   "flags": {},
   "order": 0,
   "mode": 0,
   "inputs": [
    {
     "localized_name": "image",
     "name": "image",
     "type": "IMAGE",
     "link": 59
    }
   ],
   "outputs": [
    {
     "localized_name": "width",
     "name": "width",
     "type": "INT",
     "links": []
    },
    {
     "localized_name": "height",
     "name": "height",
     "type": "INT",
     "links": []
    },
    {
     "localized_name": "batch_size",
     "name": "batch_size",
     "type": "INT",
     "links": [
      60,
      63,
      70
     ]
    }
   ],
   "title": "Source shot frame count",
   "properties": {
    "Node name for S&R": "GetImageSize"
   }
  },
  {
   "id": 201,
   "type": "ComfyMathExpression",
   "pos": [
    1550,
    900
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 27,
   "mode": 0,
   "inputs": [
    {
     "name": "expression",
     "type": "STRING",
     "link": null,
     "widget": {
      "name": "expression"
     }
    },
    {
     "name": "values.a",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 60
    }
   ],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": []
    },
    {
     "name": "INT",
     "type": "INT",
     "links": [
      62
     ]
    },
    {
     "name": "BOOL",
     "type": "BOOLEAN",
     "links": []
    }
   ],
   "properties": {
    "Node name for S&R": "ComfyMathExpression"
   },
   "widgets_values": [
    "a - 1"
   ],
   "title": "Last actual frame index"
  },
  {
   "id": 202,
   "type": "ImageFromBatch",
   "pos": [
    1940,
    900
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 28,
   "mode": 0,
   "inputs": [
    {
     "name": "image",
     "type": "IMAGE",
     "link": 61
    },
    {
     "name": "batch_index",
     "type": "INT",
     "link": 62
    },
    {
     "name": "length",
     "type": "INT",
     "link": null,
     "widget": {
      "name": "length"
     }
    }
   ],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      64
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "ImageFromBatch"
   },
   "widgets_values": [
    1
   ],
   "title": "Extract the last actual reference frame"
  },
  {
   "id": 203,
   "type": "ComfyMathExpression",
   "pos": [
    2330,
    900
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 29,
   "mode": 0,
   "inputs": [
    {
     "name": "expression",
     "type": "STRING",
     "link": null,
     "widget": {
      "name": "expression"
     }
    },
    {
     "name": "values.a",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 63
    }
   ],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": []
    },
    {
     "name": "INT",
     "type": "INT",
     "links": [
      69,
      71
     ]
    },
    {
     "name": "BOOL",
     "type": "BOOLEAN",
     "links": []
    }
   ],
   "properties": {
    "Node name for S&R": "ComfyMathExpression"
   },
   "widgets_values": [
    "(17 - ((a - 5) % 17)) % 17"
   ],
   "title": "Padding needed for 5 + 17k"
  },
  {
   "id": 204,
   "type": "RepeatImageBatch",
   "pos": [
    1550,
    1120
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 30,
   "mode": 0,
   "inputs": [
    {
     "name": "image",
     "type": "IMAGE",
     "link": 64
    },
    {
     "name": "amount",
     "type": "INT",
     "link": 65
    }
   ],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      67
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "RepeatImageBatch"
   },
   "widgets_values": [],
   "title": "Repeat last frame"
  },
  {
   "id": 205,
   "type": "BatchImagesNode",
   "pos": [
    1940,
    1120
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 31,
   "mode": 0,
   "inputs": [
    {
     "name": "images.image0",
     "type": "IMAGE",
     "link": 66
    },
    {
     "name": "images.image1",
     "type": "IMAGE",
     "link": 67
    }
   ],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      72
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "BatchImagesNode"
   },
   "widgets_values": [],
   "title": "Append repeated tail"
  },
  {
   "id": 206,
   "type": "ComfyMathExpression",
   "pos": [
    2330,
    1120
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 32,
   "mode": 0,
   "inputs": [
    {
     "name": "expression",
     "type": "STRING",
     "link": null,
     "widget": {
      "name": "expression"
     }
    },
    {
     "name": "values.a",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 68
    }
   ],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": []
    },
    {
     "name": "INT",
     "type": "INT",
     "links": [
      75
     ]
    },
    {
     "name": "BOOL",
     "type": "BOOLEAN",
     "links": []
    }
   ],
   "properties": {
    "Node name for S&R": "ComfyMathExpression"
   },
   "widgets_values": [
    "max(124,a)"
   ],
   "title": "Generation length, at least 124"
  },
  {
   "id": 207,
   "type": "ComfyMathExpression",
   "pos": [
    1550,
    1340
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 33,
   "mode": 0,
   "inputs": [
    {
     "name": "expression",
     "type": "STRING",
     "link": null,
     "widget": {
      "name": "expression"
     }
    },
    {
     "name": "values.a",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 69
    }
   ],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": []
    },
    {
     "name": "INT",
     "type": "INT",
     "links": [
      65
     ]
    },
    {
     "name": "BOOL",
     "type": "BOOLEAN",
     "links": []
    }
   ],
   "properties": {
    "Node name for S&R": "ComfyMathExpression"
   },
   "widgets_values": [
    "max(1,a)"
   ],
   "title": "Repeat node requires at least one image"
  },
  {
   "id": 208,
   "type": "ComfyMathExpression",
   "pos": [
    1940,
    1340
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 34,
   "mode": 0,
   "inputs": [
    {
     "name": "expression",
     "type": "STRING",
     "link": null,
     "widget": {
      "name": "expression"
     }
    },
    {
     "name": "values.a",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 70
    },
    {
     "name": "values.b",
     "type": "FLOAT,INT,BOOLEAN",
     "link": 71
    }
   ],
   "outputs": [
    {
     "name": "FLOAT",
     "type": "FLOAT",
     "links": []
    },
    {
     "name": "INT",
     "type": "INT",
     "links": [
      68,
      73
     ]
    },
    {
     "name": "BOOL",
     "type": "BOOLEAN",
     "links": []
    }
   ],
   "properties": {
    "Node name for S&R": "ComfyMathExpression"
   },
   "widgets_values": [
    "a + b"
   ],
   "title": "Padded reference length"
  },
  {
   "id": 209,
   "type": "ImageFromBatch",
   "pos": [
    2330,
    1340
   ],
   "size": [
    350,
    180
   ],
   "flags": {},
   "order": 35,
   "mode": 0,
   "inputs": [
    {
     "name": "image",
     "type": "IMAGE",
     "link": 72
    },
    {
     "name": "batch_index",
     "type": "INT",
     "link": null,
     "widget": {
      "name": "batch_index"
     }
    },
    {
     "name": "length",
     "type": "INT",
     "link": 73
    }
   ],
   "outputs": [
    {
     "name": "IMAGE",
     "type": "IMAGE",
     "links": [
      74
     ]
    }
   ],
   "properties": {
    "Node name for S&R": "ImageFromBatch"
   },
   "widgets_values": [
    0
   ],
   "title": "Trim extra repeat on already aligned clips"
  }
 ],
 "links": [
  [
   30,
   130,
   0,
   92,
   0,
   "VIDEO"
  ],
  [
   33,
   125,
   0,
   122,
   0,
   "LATENT"
  ],
  [
   34,
   119,
   0,
   122,
   1,
   "VAE"
  ],
  [
   35,
   160,
   0,
   124,
   0,
   "MODEL"
  ],
  [
   36,
   129,
   0,
   125,
   0,
   "NOISE"
  ],
  [
   37,
   126,
   0,
   125,
   1,
   "GUIDER"
  ],
  [
   38,
   123,
   0,
   125,
   2,
   "SAMPLER"
  ],
  [
   39,
   124,
   0,
   125,
   3,
   "SIGMAS"
  ],
  [
   40,
   136,
   1,
   125,
   4,
   "LATENT"
  ],
  [
   41,
   160,
   0,
   126,
   0,
   "MODEL"
  ],
  [
   42,
   161,
   0,
   126,
   1,
   "CONDITIONING"
  ],
  [
   43,
   122,
   0,
   130,
   0,
   "IMAGE"
  ],
  [
   45,
   128,
   0,
   136,
   0,
   "CLIP"
  ],
  [
   46,
   119,
   0,
   136,
   1,
   "VAE"
  ],
  [
   47,
   120,
   0,
   136,
   2,
   "VAE"
  ],
  [
   48,
   137,
   0,
   136,
   3,
   "IMAGE"
  ],
  [
   49,
   139,
   0,
   136,
   4,
   "IMAGE"
  ],
  [
   51,
   151,
   1,
   136,
   9,
   "AUDIO"
  ],
  [
   52,
   162,
   0,
   136,
   5,
   "IMAGE"
  ],
  [
   53,
   150,
   0,
   151,
   0,
   "VIDEO"
  ],
  [
   54,
   127,
   0,
   160,
   0,
   "MODEL"
  ],
  [
   55,
   136,
   0,
   161,
   0,
   "CONDITIONING"
  ],
  [
   56,
   136,
   1,
   161,
   1,
   "LATENT"
  ],
  [
   57,
   120,
   0,
   161,
   3,
   "VAE"
  ],
  [
   58,
   151,
   1,
   161,
   5,
   "AUDIO"
  ],
  [
   59,
   151,
   0,
   200,
   0,
   "IMAGE"
  ],
  [
   60,
   200,
   2,
   201,
   1,
   "INT"
  ],
  [
   61,
   151,
   0,
   202,
   0,
   "IMAGE"
  ],
  [
   62,
   201,
   1,
   202,
   1,
   "INT"
  ],
  [
   63,
   200,
   2,
   203,
   1,
   "INT"
  ],
  [
   64,
   202,
   0,
   204,
   0,
   "IMAGE"
  ],
  [
   65,
   207,
   1,
   204,
   1,
   "INT"
  ],
  [
   66,
   151,
   0,
   205,
   0,
   "IMAGE"
  ],
  [
   67,
   204,
   0,
   205,
   1,
   "IMAGE"
  ],
  [
   68,
   208,
   1,
   206,
   1,
   "INT"
  ],
  [
   69,
   203,
   1,
   207,
   1,
   "INT"
  ],
  [
   70,
   200,
   2,
   208,
   1,
   "INT"
  ],
  [
   71,
   203,
   1,
   208,
   2,
   "INT"
  ],
  [
   72,
   205,
   0,
   209,
   0,
   "IMAGE"
  ],
  [
   73,
   208,
   1,
   209,
   2,
   "INT"
  ],
  [
   74,
   209,
   0,
   136,
   7,
   "IMAGE"
  ],
  [
   75,
   206,
   1,
   136,
   15,
   "INT"
  ],
  [
   76,
   151,
   1,
   130,
   1,
   "AUDIO"
  ],
  [
   77,
   151,
   2,
   130,
   2,
   "FLOAT"
  ]
 ],
 "groups": [],
 "config": {},
 "extra": {
  "ds": {
   "scale": 0.9,
   "offset": [
    416,
    110
   ]
  },
  "seamless_scene_channel": "Production v4"
 },
 "version": 0.4
}
