Minimax H3 Video Restyling
Using the open-weights version of Minimax H3, restyle a video's background and lighting using a guided key art image. You can also do a full character swap and voice/language replacement as well. A super powerful workflow for your VFX toolbox!
About
This workflow restyles an existing video using the open-weights MiniMax H3 model, guided by a reference “key art” image or a character image. In key art mode, it transfers background, palette, and lighting while preserving the performance; in character swap mode, it targets the subject’s appearance for a full identity change. The core is the MiniMaxH3ReferenceToVideo node, driven by UNETLoader (MiniMax H3), CLIPLoader (text conditioning), RandomNoise, and a sampler chain built from KSamplerSelect, BasicScheduler, SamplerCustomAdvanced, and BasicGuider.
VAELoader and VAEDecode convert generated latents back to frames, and ImageFromBatch lets you QC results mid-run.
ResolutionSelector and VHS_VideoInfo handle the practicalities—frame size, fps, and clip duration (the clip length parameter expects whole seconds). SetNode/GetNode are used as convenient toggles and parameter routers, including the mode switch between key art swap and character swap. LoadImage supplies your guiding key art or character reference, while OpenRouterLLMNode (in the GENERATE PROMPT group) can help draft a shot-specific prompt that CLIPLoader uses for text conditioning. A VOICE OPTIONS branch can keep your original audio or pass it to a voice-replacement path; VAEDecodeAudio decodes the final audio stream for muxing with the new visuals.
The result is a VFX-friendly process for look development and restyling: keep the motion and timing of your source while re-lighting the scene, shifting color mood, replacing backgrounds, or swapping a character—useful for previz, mood boards, and quick creative iterations.
What you provide
- Reading the workflow
Runs in ComfyUI. This workflow can't run on this page. Open it in Comfy Cloud with everything loaded, or download it for your own ComfyUI.
Try in CloudTry an example
Inside the workflow
A read-only preview of the node graph. Open it in Comfy Cloud or download it to edit the nodes.
Loading the graph
Open full-size workflow preview- Author
- ComfyUI
Requires custom nodes
- Reading the workflow
Use this workflow from code
Generated from the workflow graph and inputs when possible; stored examples are shown otherwise. Review credentials and endpoints before running code, which may incur charges.
What you need
- Runs on
- Comfy Cloud
- Key
- COMFY_API_KEY
Needs a paid Cloud plan and credits.
# Python 3.10+: pip install comfy-sdk==0.4.0
import os
from comfy_sdk import Comfy
api_key = os.environ.get("COMFY_API_KEY", "").strip()
if not api_key: raise RuntimeError("Set COMFY_API_KEY")
os.environ.setdefault("COMFY_BASE_URL", "https://cloud.comfy.org")
client = Comfy(api_key=api_key)
workflow = client.workflows.from_json({
"2115": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 0.9,
"multiple": 32
},
"_meta": {
"title": "Resolution Selector (Size)"
}
},
"2119": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "minimax_h3_video_vae_fp16.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"2120": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "minimax_h3_audio_vae_fp32.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"2121": {
"class_type": "VAEDecodeAudio",
"inputs": {
"samples": [
"2125",
0
],
"vae": [
"2120",
0
]
},
"_meta": {
"title": "VAE Decode Audio"
}
},
"2122": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"2125",
0
],
"vae": [
"2119",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"2123": {
"class_type": "KSamplerSelect",
"inputs": {
"sampler_name": "res_multistep"
},
"_meta": {
"title": "KSamplerSelect"
}
},
"2124": {
"class_type": "BasicScheduler",
"inputs": {
"denoise": 1,
"model": [
"2127",
0
],
"scheduler": "simple",
"steps": 20
},
"_meta": {
"title": "BasicScheduler"
}
},
"2125": {
"class_type": "SamplerCustomAdvanced",
"inputs": {
"guider": [
"2126",
0
],
"latent_image": [
"2136",
1
],
"noise": [
"2129",
0
],
"sampler": [
"2123",
0
],
"sigmas": [
"2124",
0
]
},
"_meta": {
"title": "SamplerCustomAdvanced"
}
},
"2126": {
"class_type": "BasicGuider",
"inputs": {
"conditioning": [
"2136",
0
],
"model": [
"2127",
0
]
},
"_meta": {
"title": "Basic Guider"
}
},
"2127": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "minimax_h3_ref2va_pruned_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"2128": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
"device": "default",
"type": "minimax"
},
"_meta": {
"title": "Load CLIP"
}
},
"2129": {
"class_type": "RandomNoise",
"inputs": {
"noise_seed": 304792529092339
},
"_meta": {
"title": "RandomNoise"
}
},
"2131": {
"class_type": "ComfyMathExpression",
"inputs": {
"expression": "max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17",
"values.a": [
"2132",
0
]
},
"_meta": {
"title": "Math Expression"
}
},
"2132": {
"class_type": "PrimitiveFloat",
"inputs": {
"value": 5
},
"_meta": {
"title": "Float (Duration)"
}
},
"2136": {
"class_type": "MiniMaxH3ReferenceToVideo",
"inputs": {
"audio_vae": [
"2120",
0
],
"clip": [
"2128",
0
],
"height": [
"2115",
1
],
"length": [
"2131",
1
],
"prompt": [
"1000087",
0
],
"ref_image_size": "match",
"ref_images.ref_image_0": [
"1000089",
0
],
"ref_images.ref_image_1": [
"2139",
0
],
"ref_images.ref_image_2": [
"1000106",
0
],
"ref_video_audios.ref_video_audio_0": [
"1000079",
2
],
"ref_videos.ref_video_0": [
"1000079",
0
],
"vae": [
"2119",
0
],
"width": [
"2115",
0
]
},
"_meta": {
"title": "MiniMax H3 Reference to Video"
}
},
"2139": {
"class_type": "LoadImage",
"inputs": {
"image": "7d9f5682bf0b8c652b9ad319a02a71db7617f11c2eae514c2dde357f880838d0.png"
},
"_meta": {
"title": "(OPTIONAL) CHARACTER REFERENCE"
}
},
"2143": {
"class_type": "OpenRouterLLMNode",
"inputs": {
"model": "anthropic/claude-opus-5",
"model.images.image_1": [
"1000089",
0
],
"model.images.image_2": [
"2139",
0
],
"model.images.image_3": [
"1000106",
0
],
"model.reasoning_effort": "off",
"prompt": "Task: reference generation.\n\nVideo 1 = the source clip — preserve its motion, timing, and framing.\nImage_1 = the look reference — palette, lighting, texture, rendering style only.\nImage_2 = the hero character (identity anchor → Picture 1). Image 2 = key-art that establishes the environment (cite inside the environment Subject).\nImage_3 = location reference sheet — visual details about the surrounding environment. \n\nSource content: A woman stands in the middle of a redwood forest as the camera moves around her.\nTarget look: beautiful outdoor forest.\nTarget: ~5s, 16:9.\nAudio: keep the original audio and match lip sync.\n\nWrite the full MiniMax H3 prompt.",
"seed": 1997407132,
"system_prompt": "You are an expert prompt engineer for MiniMax H3, a reference-to-video model with a strict full-reference format. You take a source VIDEO plus a new CHARACTER reference (and optional look/location references) and write ONE MiniMax H3 prompt that replaces the person in the video with the new character while keeping EVERYTHING else -- camera, motion, timing, framing, and the original audio -- exactly as in the source.\n\nOUTPUT RULES\n- Output ONLY the prompt: six sections, each label on its own line, in this exact order: subject_definitions, summary, retention_analysis, detailed_description, overall_soundscape, non_diegetic_music.\n- No preamble, no explanation, no markdown fences, no extra headings.\n- English only, except literal dialogue/lyrics/on-screen text.\n- Use N/A only for a section that truly does not apply; never omit a section.\n- Every label (<Subject N>, <Picture N>, <Video N>, <Audio N>) is introduced in subject_definitions only; never invent a new label later.\n\nLABELS\n- <Video 1> = the source clip being edited.\n- <Audio 1> = the complete original audio track of <Video 1> (all dialogue, voices, words, timing, ambience).\n- <Subject 1> = the new character identity (from the character reference) that replaces the person in <Video 1>; keep identity-critical details explicit (build, hair, face, wardrobe, distinguishing marks).\n- <Subject 2> = the motion, camera and timing of <Video 1> that must be preserved (its definition cites <Video 1>).\n- <Subject 3> = (optional) target look/environment from a look/location reference -- appearance only.\n- <Picture N> only if an image is a literal first/last/keyframe anchor; otherwise cite the image inside a <Subject>.\n\nCAMERA / MOTION (critical)\n- <Video 1>'s camera movement, trajectory, framing, focal length, blocking and shot timing are LOCKED and reproduced frame-for-frame. Never reinterpret, simplify, invent, add, or drift the camera. Only the character's identity changes; their position, motion and the camera are unchanged.\n\nAUDIO (critical)\n- <Audio 1> is ALWAYS reused, never regenerated. The summary task type MUST include [audio reuse].\n- Never invent, translate, dub, resynthesize, add, or describe new speech, dialogue, voices, singing, chanting, or narration anywhere. Any moving mouth is lip-syncing to <Audio 1>, nothing else.\n\nSECTIONS\n1) subject_definitions -- one line per label: what it denotes, its role, exact features to follow.\n2) summary -- one short paragraph beginning with the task type [video editing] + [audio reuse] (character replacement in place). Include duration/aspect if given.\n3) retention_analysis -- one line per label:\n - <Video 1> and <Subject 2> (motion/camera/timing/framing): fully_preserved -- reproduced frame-for-frame.\n - <Audio 1>: fully_preserved -- the original audio track is reused verbatim and the character's mouth stays lip-synced to it; no words, language, voice or timing change.\n - <Subject 1> (new identity): attribute_transfer -- the new character replaces the original person; ONLY identity changes.\n - <Subject 3> look (if used): attribute_transfer -- ONLY colour/lighting/texture/style transfer; its own people/props/location are NOT used.\n4) detailed_description -- main body in playback order, ~300-450 words. Open with 1-2 sentences of overall look BEFORE [Shot 1]. [Shot 1] has no timestamp; later shots take one like \"[Shot 2] At 00:09.000\". Follow the source's exact beats and camera; insert labels at first appearance. Cover composition, appearance, position, environment, lighting, action, and the camera move exactly as it happens in the source. Assert limbs and anatomy stay whole and attached and the face stays consistent. The mouth lip-syncs to <Audio 1>. No plot synopsis.\n5) overall_soundscape -- \"Reuse <Audio 1> unchanged: the original dialogue, voices and ambience. Generate no new speech or sound.\"\n6) non_diegetic_music -- N/A, or \"as present in <Audio 1>, reused unchanged.\"\n\nFaithfully reproducing the source's camera, timing and audio always beats new spectacle."
},
"_meta": {
"title": "CHARACTER SWAP PROMPT GENERATOR"
}
},
"2185": {
"class_type": "VHS_VideoInfo",
"inputs": {
"video_info": [
"1000079",
3
]
},
"_meta": {
"title": "Video Info 🎥🅥🅗🅢"
}
},
"2190": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 0,
"image": [
"1000079",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"2192": {
"class_type": "GeminiNanoBanana2V2",
"inputs": {
"model": "Nano Banana 2 (Gemini 3.1 Flash Image)",
"model.aspect_ratio": "auto",
"model.images.image_1": [
"2190",
0
],
"model.resolution": "2K",
"model.thinking_level": "MINIMAL",
"prompt": "Transform this into a beautiful, cinematic outdoor film still. Keep the man EXACTLY as he is — identical face, stubble, hairstyle, expression, head turn, body pose, and his dark jacket over a black tee. Completely replace the grey motion-capture studio: place him standing on the soft floor of a majestic coastal redwood forest on a bright sunny day — enormous ancient redwood trunks with deep reddish-brown bark rising all around and towering out of frame, a lush understory of green ferns and sorrel, a carpet of fallen needles, distant trees fading into soft green depth behind him. No dabbled lighting on the person.\n\nLight it with warm, glorious natural sunlight: strong golden sunbeams and god-rays slanting down through the high canopy from camera-left, casting light and gentle shadows across his face and shoulder, a soft warm rim highlight on his hair, luminous atmospheric haze and floating dust motes catching the shafts of light, cool green ambient bounce filling the shadows. Warm, sun-drenched color grade with rich greens and reddish bark tones, natural contrast, shallow depth of field with soft bokeh in the background foliage, 35mm cinematic look, fine film grain, razor-sharp detailed eyes, photorealistic skin. Serene, awe-struck, epic nature-documentary-meets-cinema mood.",
"response_modalities": "IMAGE",
"seed": 661475353532047,
"system_prompt": "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests.",
"temperature": 1,
"top_p": 0.95
},
"_meta": {
"title": "Nano Banana 2.1"
}
},
"2194": {
"class_type": "OpenRouterLLMNode",
"inputs": {
"model": "anthropic/claude-opus-5",
"model.images.image_1": [
"1000089",
0
],
"model.images.image_2": [
"1000106",
0
],
"model.reasoning_effort": "off",
"prompt": "Task: restyle.\n\nVideo_1 = the source clip — preserve its motion, timing, framing and subjects.\nImage_1 = the look reference — palette, lighting, texture, rendering style only.\nImage_2 = location reference sheet — visual details about the surrounding environment. \n\nSource content: A man stands in the middle of a redwood forest as the camera moves around him.\nTarget look: beautiful outdoor forest.\nDuration / aspect: 5s 16:9\nAudio: keep the original audio and match lip sync.\n\nWrite the full MiniMax H3 prompt.",
"seed": 178396087,
"system_prompt": "You are a prompt engineer for MiniMax H3, a reference-to-video model with a strict full-reference format. You convert a brief plus a source VIDEO (video_1) and a KEYART/look image into ONE MiniMax H3 prompt that restyles the video to match the keyart while keeping the source's camera, motion, timing, subjects AND original audio unchanged.\n\nSCOPE\n- The video supplies structure: motion, timing, framing, blocking, camera move, and the identity of whoever/whatever is in it.\n- The keyart supplies look ONLY: palette, lighting, contrast, texture, grade, rendering style.\n- Never swap, replace or re-cast the people or objects in the video. There is no character reference in this task. If the brief asks for a character swap, ignore that and restyle only.\n\nOUTPUT RULES\n- Output ONLY the prompt: six sections, each label on its own line, in this exact order: subject_definitions, summary, retention_analysis, detailed_description, overall_soundscape, non_diegetic_music.\n- No preamble, no explanation, no markdown fences, no extra headings.\n- English only, except literal dialogue/lyrics/on-screen text.\n- Use N/A only for a section that truly does not apply; never omit a section.\n- Every label is introduced in subject_definitions only; never invent a label later.\n\nLABELS -- exactly these four\n- <Video 1> = the source clip being restyled.\n- <Audio 1> = the complete original audio track of <Video 1> (dialogue, voices, words, timing, ambience).\n- <Subject 1> = the content of <Video 1> that must survive: its subjects, their appearance/identity, their motion, the camera move, and the shot timing.\n- <Subject 2> = the target look, defined by citing the keyart image (appearance only).\n- Do not use <Picture N>. The keyart is a style source, not a frame anchor.\n\nCAMERA / MOTION (critical)\n- <Video 1>'s camera movement, trajectory, framing, focal length and shot timing are LOCKED and reproduced frame-for-frame. Never reinterpret, simplify, invent, add or drift the camera. Describe the camera exactly as it moves in the source and never add a move the source lacks.\n\nAUDIO (critical)\n- <Audio 1> is ALWAYS reused, never regenerated. The summary task type MUST include [audio reuse].\n- Never invent, translate, dub, resynthesize, add or describe new speech, dialogue, voices, singing or narration. Any moving mouth is lip-syncing to <Audio 1>, nothing else.\n\nSECTIONS\n1) subject_definitions -- one line per label. For <Subject 1>, name identity-critical details to preserve (build, hair, face, wardrobe, marks) and state its camera move and timing are preserved. For <Subject 2>, describe the look in concrete photographic terms (palette, key/fill, contrast ratio, texture, grain/finish, rendering style) and state only the look transfers. For <Audio 1>, \"the original audio track, reused unchanged.\"\n2) summary -- one short paragraph beginning [video editing] + [audio reuse]. State the restyle in one sentence; include duration and aspect if given.\n3) retention_analysis --\n - <Video 1> and <Subject 1>: fully_preserved -- motion, camera, timing, framing and subject identity reproduced unchanged, frame-for-frame.\n - <Audio 1>: fully_preserved -- original audio reused verbatim; lip-sync locked to it.\n - <Subject 2>: attribute_transfer -- ONLY colour, lighting, texture and rendering style transfer; the keyart's own characters, props and location are NOT used.\n4) detailed_description -- main body in playback order, ~250-400 words. Open with 1-2 sentences establishing the restyled look BEFORE [Shot 1]. [Shot 1] takes no timestamp; later shots take one like \"[Shot 2] At 00:09.000\". Follow the source clip's actual beats and camera wearing the new look. Cover composition, appearance, position, environment, lighting, action and the camera move exactly as in the source. Assert limbs and anatomy stay whole and faces stay consistent. The mouth lip-syncs to <Audio 1>. No plot synopsis.\n5) overall_soundscape -- \"Reuse <Audio 1> unchanged: the original dialogue, voices and ambience. Generate no new speech or sound.\"\n6) non_diegetic_music -- N/A, or \"as present in <Audio 1>, reused unchanged.\"\n\nCONFLICTS\n- Look conflicts (colour, lighting, grade, texture): the keyart wins.\n- Structure conflicts (what happens, when, camera path, who is on screen): the video wins.\n- The restyle never changes the action, shot count, timing, camera, or audio."
},
"_meta": {
"title": "VIDEO RESTYLE PROMPT GENERATOR"
}
},
"1000041": {
"class_type": "GeminiNanoBanana2V2",
"inputs": {
"model": "Nano Banana 2 (Gemini 3.1 Flash Image)",
"model.aspect_ratio": "auto",
"model.images.image_1": [
"1000047",
0
],
"model.resolution": "2K",
"model.thinking_level": "MINIMAL",
"prompt": "Change the actor in image_1 to look like the person in image_2.",
"response_modalities": "IMAGE",
"seed": 211695258704993,
"system_prompt": "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests.",
"temperature": 1,
"top_p": 0.95
},
"_meta": {
"title": "Nano Banana 2.1"
}
},
"1000046": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"1000041",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"1000047": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"2192",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"1000079": {
"class_type": "VHS_LoadVideo",
"inputs": {
"custom_height": 0,
"custom_width": 0,
"force_rate": 0,
"format": "AnimateDiff",
"frame_load_cap": 0,
"select_every_nth": 1,
"skip_first_frames": 0,
"video": "3384c7940ee158a7cfb65c558b4a7ab24e379f41ccfcf8aaa99d30c128dc4a75.mp4"
},
"_meta": {
"title": "SOURCE VIDEO"
}
},
"1000087": {
"class_type": "Basic data handling: IfElse",
"inputs": {
"condition": [
"1000091",
0
],
"if_false": [
"2143",
0
],
"if_true": [
"2194",
0
]
},
"_meta": {
"title": "if/else"
}
},
"1000089": {
"class_type": "Basic data handling: IfElse",
"inputs": {
"condition": [
"1000091",
0
],
"if_false": [
"1000046",
0
],
"if_true": [
"1000047",
0
]
},
"_meta": {
"title": "if/else"
}
},
"1000091": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Key Art Only?"
}
},
"1000106": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"1000104:10",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"1000110": {
"class_type": "LoadAudio",
"inputs": {
"audio": "69452d5a3032482b6a664ee80be5b6530077568353d2b861ec2c43e0e929b302.mp3"
},
"_meta": {
"title": "Load Audio"
}
},
"1000111": {
"class_type": "VHS_VideoCombine",
"inputs": {
"audio": [
"2121",
0
],
"crf": 19,
"filename_prefix": "video/Minimax_H3_VidRestyle",
"format": "video/h264-mp4",
"frame_rate": [
"2185",
0
],
"images": [
"2122",
0
],
"loop_count": 0,
"pingpong": False,
"pix_fmt": "yuv420p",
"save_metadata": True,
"save_output": True,
"trim_to_audio": False
},
"_meta": {
"title": "Video Combine 🎥🅥🅗🅢"
}
},
"1000112": {
"class_type": "ElevenLabsVoiceSelector",
"inputs": {
"voice": "Sarah (female, american)"
},
"_meta": {
"title": "ElevenLabs Voice Selector"
}
},
"1000113": {
"class_type": "ElevenLabsSpeechToSpeech",
"inputs": {
"audio": [
"1000079",
2
],
"model": "eleven_multilingual_sts_v2",
"model.similarity_boost": 0.75,
"model.speed": 1,
"model.style": 0,
"model.use_speaker_boost": False,
"output_format": "mp3_44100_192",
"remove_background_noise": False,
"seed": 3280698246,
"stability": 0.5,
"voice": [
"1000112",
0
]
},
"_meta": {
"title": "ElevenLabs Speech to Speech"
}
},
"1000104:10": {
"class_type": "OpenAIGPTImageNodeV2",
"inputs": {
"model": "gpt-image-2",
"model.background": "auto",
"model.custom_height": 1024,
"model.custom_width": 1024,
"model.images.image_1": [
"1000047",
0
],
"model.quality": "low",
"model.size": "auto",
"n": 1,
"prompt": "make a photorealistic location reference sheet out the environment you see in image_1. The purpose is to use this for location consistency in generated storyboards and videos.",
"seed": 345395493
},
"_meta": {
"title": "OpenAI GPT Image 2.5"
}
}
})
# run() also passes api_key to the partner nodes in this workflow.
job = client.run(workflow, api_key=api_key)Questions & answers
Key art swap emphasizes scene-level changes (background, lighting, color palette) using your key art as guidance while preserving the subject. Character swap targets the subject’s identity and attire to match a character reference. The mode toggle is handled via SetNode/GetNode, which routes the reference conditioning into MiniMaxH3ReferenceToVideo differently.
Keep your source clip well-lit and steady, use a high-quality guide image, and tune the MODIFY parameters. Lowering denoise/style strength preserves more original structure; increasing temporal/consistency weights (fed by PrimitiveFloat/ComfyMathExpression into MiniMaxH3ReferenceToVideo and the sampler) reduces flicker. Preview a short segment and adjust before rendering the full clip.
Load the open-weights MiniMax H3 in UNETLoader, a compatible text encoder in CLIPLoader, and a matching VAE in VAELoader. The sampler path uses KSamplerSelect, BasicScheduler, SamplerCustomAdvanced, and BasicGuider to drive diffusion steps for MiniMaxH3ReferenceToVideo.
No. In VOICE OPTIONS you can keep the original audio or use the replacement path if configured. VAEDecodeAudio handles the final audio decoding. If you choose replacement, set the language/voice options provided in that group; otherwise, pass through the source audio.