Skip to guide

MiniMax H3 Talking Avatar in ComfyUI: Photo and Voice to Video

Build a MiniMax H3 talking avatar in ComfyUI from one photo and a short voice clip: the files, three custom node packs, the 24-step settings and consent rules.

In this guide

Short answer: this is our own MiniMax H3 build. You give it one photo and a short voice recording, and it makes a portrait video of that person speaking your script, using the reference-to-video (ref2va) model. A QwenVL node describes the photo and adds that text to your prompt. It samples 24 steps with res_multistep, at 9:16, 544 × 960, 24 fps, for 15 seconds. The MiniMax H3 files total about 42.5 GB, and you need three custom node packs. The licence is the MiniMax H3 Community License Agreement, which has conditions.

MiniMax H3 Talking Avatar in ComfyUI: Photo and Voice to Video workflow graph in ComfyUI
Workflow graph. Open the image to inspect the nodes.

Output example

This workflow was run on a PC with an RTX 3090, using a generated photoreal robot and a natural recorded voice reference. This six-second request produced a 6.583-second, 640 × 832 video at 24 fps with the saved 24-step recipe. It is one prompt and seed, not a general quality benchmark.

The metal and ceramic robot remains recognizable, with coherent face panels, exposed neck mechanisms and shoulder joints against the workshop background. Sixteen sampled frames show changing open and closed mouth shapes and a small head inclination. Some fine surface detail softens during synthesis. No human substitution, cartoon styling or subtitles were visible.

The soundtrack is generated by the workflow, conditioned on the recorded voice; it was not dubbed onto the clip. Automated transcription recovers the requested sentence, with minor spelling and tense differences.

Input references

Photoreal physical robot with brushed metal and ceramic face panels, articulated mouth, exposed neck pistons and shoulder joints
AI-generated robot reference, created with OpenAI imagegen for this demonstration and visually inspected before generation.

Natural recorded narration: Kevin Devine reading Beatrix Potter’s The Tale of Peter Rabbit for LibriVox. The recording is explicitly dedicated to the public domain on its source page. We trimmed source seconds 24.8–30.05 and converted to mono PCM WAV at 24 kHz. No synthetic input voice was used. Listen to the 5.25-second input recording · Input provenance.

Requested words: “They lived with their mother in a sandbank, underneath the root of a very big fir-tree.” The audio is a voice reference, not a guarantee of exact soundtrack reproduction.

Prompt used for this example
<image1> A photoreal physical humanoid robot faces the camera in its softly blurred robotics workshop. Preserve its brushed titanium and off-white ceramic face panels, small fasteners, optical eyes, dark flexible mouth surrounds, articulated mechanical jaw, exposed neck pistons and shoulder joints. The robot makes small believable mechanical mouth and jaw movements as it speaks clearly and warmly: "They lived with their mother in a sandbank, underneath the root of a very big fir-tree." Use <audio1> as the natural recorded speaking voice reference, retaining the relaxed human narration and cadence. A tiny head inclination, calm gaze, static camera, one continuous shot. No human skin, no elderly man, no cartoon, no toy, no subtitles, no music.

Example settings: 3:4 selector at 0.5 megapixels, six seconds requested, seed 719298899983537, res_multistep/simple, 24 steps, denoise 1. AudioCrop 0:00–0:06 includes the full 5.25-second recording. Models and sampler recipe were preserved.

Observed limits: This single example does not establish voice fidelity or precise lip synchronization. The complete saved file decodes without errors and its audio stream is present. Sampled frames show visible mouth movement. One fixture does not establish general reliability.

Only use a face and a voice when you have consent from the person they belong to, and follow the licence's use rules.

Download and load the workflow

Download workflow (JSON)

Drag the downloaded JSON file onto the ComfyUI canvas to load it.

Install the model files and any custom nodes listed below. If the workflow uses input images, video or audio, select your own files in the input nodes before running it.

Which files go where

PartFileSizeFolder
Diffusion modelminimax_h3_ref2va_pruned_int8_convrot.safetensors20.97 GBmodels/diffusion_models
Text encoderqwen3vl_32b_minimax_h3_nvfp4_awq.safetensors15.69 GBmodels/text_encoders
Video VAEminimax_h3_video_vae_fp16.safetensors5.21 GBmodels/vae
Audio VAEminimax_h3_audio_vae_fp32.safetensors0.61 GBmodels/vae

Total: about 42.5 GB from Comfy-Org/MiniMax-H3, which is not gated. The QwenVL node uses its own small vision model (Qwen3-VL-4B-Instruct), which the ComfyUI-QwenVL pack handles; it is not in this table.

Custom node packs: open ComfyUI Manager, choose Custom Nodes Manager, and install ComfyUI-QwenVL, audio-separation-nodes-comfyui and comfyui-kjnodes. Restart ComfyUI afterwards.

Settings in this workflow

SettingValue
Sampler / schedulerres_multistep / simple, 24 steps, denoise 1.00
GuiderBasic Guider (no CFG value)
Resolution9:16 at 0.5 megapixels, multiple of 32 (544 × 960)
Duration15 seconds (362 frames), 24 fps
Audio Trim0:00 to 0:10
ref_image_sizematch
QwenVLQwen3-VL-4B-Instruct, 4-bit, Detailed Description preset, "no more than 100 words", 512 tokens, model kept loaded
SeedRandomised after each run

How to use it

  1. In Upload Character Image, load the photo.
  2. In Upload Voice Mimic / Clone, load the voice recording.
  3. In Prompt, write what the person does and the exact words in quotes. The sample: <image1> The person looks into the camera and speaks slowly and warmly: "Hi, welcome back…"
  4. Set Video Duration (seconds) and the aspect ratio.
  5. Run. The video is saved with the generated speech.

Getting the voice and timing right

Licence

The Comfy-Org/MiniMax-H3 repository lists the MiniMax H3 Community License Agreement. It has conditions: read it before commercial use, and check its rules on people and likeness. See our licence tracker.

Troubleshooting

ProblemLikely causeFix
QwenVL, Audio Trim or Join Strings shows redA custom node pack is missingInstall ComfyUI-QwenVL, audio-separation-nodes-comfyui and comfyui-kjnodes, then restart.
Load Image shows "Image failed to load"The placeholder photo is not on your machineLoad your own photo.
Speech stops before the video endsThe voice clip is trimmed to 10 secondsRaise the Audio Trim end time or shorten the duration.
Out-of-memory errorQwenVL stays loaded next to MiniMax H3Turn off keep_model_loaded in QwenVL, or lower the megapixels.

Where to go next

FAQ

Is this an official ComfyUI template?

No. It is our build on MiniMax H3: Reference to Video, with a voice reference, an audio trim and a QwenVL photo description.

Can I use anyone's photo and voice?

No. You need consent from the person whose face and voice you use, and you must follow the licence's use rules.

What does the QwenVL node add?

It writes a short description of the photo, up to about 100 words, and joins it to your prompt, so the model gets more detail about the person and the setting.

Sources

Keep building

Get the cheat sheets and planners or browse all ComfyUI workflows.

Need help building a production workflow? Talk to Automate Digital.