MiniMax H3 Omnichar: Portable Characters and Voice Guide

H3Vid Teamon 13 days ago

Omnichar packages a character's references, description and optional voice clip into a reusable .char file. Its ComfyUI nodes can unpack that file into MiniMax H3's reference inputs, making it easier to reuse the same character preparation across shots. The file is a portable input asset; the generated video still depends on H3, the selected checkpoint and the scene prompt.

This guide follows the ComfyUI-Omnichar README, its voice generation workflow, and the author's voice announcement, reviewed October 10, 2026. These are documentation-based instructions. We have not installed the nodes or reproduced voice consistency. H3Vid does not currently import .char files.

What the character file actually contains

The project describes a .char as reference images plus a fixed character description, sometimes with a trained LoRA. The updated encoder can also store reference speech. Loading the file therefore restores a prepared set of inputs rather than requiring you to locate each image and recording separately for every scene.

A stored description does not impose a hard identity lock on generated pixels. Reference selection, ordering and prompt interpretation still matter. Nor does the presence of a LoRA mean the same adapter weights work with every supported model. The package provides an explicit Apply Character LoRA node; check the intended architecture before using it. Portability of the container and compatibility of its contents are separate questions.

The README lists MiniMax H3, Krea 2 and several FLUX.2 variants. Its voice route is specifically described for H3 reference-to-video. Do not assume every image model can consume speech because it can read the character's pictures.

Prepare the local environment and assets

Start with a working MiniMax H3 ComfyUI setup. Omnichar requires ComfyUI, Python 3.10 or later and its SDK reader. The repository instructs users to clone the node into ComfyUI/custom_nodes, install requirements.txt, then restart ComfyUI. Use the Python environment that actually launches ComfyUI; installing dependencies into a different system interpreter will not make them available to the running app.

Store saved character files in ComfyUI/models/characters/. If you already use Omnichar Studio, the documented INLINE_CHARACTERS_DIR option lets both tools share a character directory. Keep a copy of the original file when experimenting with a new description or reference set.

Choose visual references with clear roles: face, body and clothing. Encode Character accepts three slots for each role and sorts references by role, with face first. Review the resulting numbered sheet before writing a prompt that mentions particular reference positions. A stale assumption about which image occupies a slot can send H3 contradictory instructions.

Build the voice character, then connect it to H3

The repository includes a voice encoding workflow. Its documented chain is:

  1. Load the visual references and a speech recording you are permitted to use.
  2. Connect Load Audio to Encode Character's voice input.
  3. Save the encoded character with Save Character.
  4. Load that file and pass its char output to Decode Character.
  5. Use Decode Character's token style for the documented H3 voice route.
  6. Connect refs to Character References Split, then connect the numbered image outputs to the H3 reference-image slots.
  7. Connect Decode Character's voice output to H3's ref_audio_0, and its prompt output to the prompt input.

The references output is a combined image batch. The refs output is the structured reference collection consumed by the split node. Confusing the two can leave a graph with the wrong input type or lost ordering. The current supplied voice workflow visibly connects the decoded audio to the H3 node; a successfully loaded .char alone does not establish that audio reached generation.

Choose a speech sample and an explicit dialogue policy

The current README recommends approximately 30 seconds of clean speech without music. The author's announcement discusses short samples, but that does not establish a universal five-second minimum or equivalent quality at every length. Prefer one speaker, clear pronunciation and a representative tone. Multiple voices make the desired identity less clear.

Decode Character offers auto, always and never voice behavior. In auto, dialogue-related words determine whether the clip is forwarded. This is a word match, so a negative instruction such as “no speaking” can still trigger it. Use never for a deliberately silent shot and always when you explicitly want the reference sent.

For a first experiment, use one visible speaker, a static camera and a short English line. For example: “The character faces the camera and says, ‘The next scene starts here.’” This is an editorial test prompt, not a demonstrated output. The author reports weaker behavior with non-English speech; test the actual language you need rather than extrapolating an English example.

Reference voice is different from an exact soundtrack

The README describes H3 producing new words with a voice resembling the recording. That differs from matching mouth motion to a fixed, approved audio track. If exact wording, timing or an unchanged performance is essential, evaluate a dedicated lip-sync workflow against that requirement.

The author says lip sync comes from H3 itself; Omnichar does not add a separate mouth-animation pass. Listen for pronunciation, speaker drift and unexpected voices, then inspect mouth timing independently. A convincing face is not proof of correct dialogue.

For a useful local comparison, keep the character, checkpoint, prompt and seed fixed. Save one speaking result with the reference voice, one without it, and a silent shot using never. Then change only the scene and repeat the speaking line. Record which references were selected and the node revision. This separates wiring mistakes from cross-shot consistency problems and gives you a concrete next step: retain the character asset only when both its visible identity and its audio meet your own production requirements.

The cover is an AI-generated concept illustration, not an Omnichar screenshot, MiniMax H3 output or project test result.