> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnichar.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Omnichar ComfyUI workflows

> Example ComfyUI workflows for Omnichar: build a .char from reference photos, render it with FLUX.2 Klein or MiniMax H3, and give a character a voice.

Each workflow is a JSON file in the [ComfyUI-Omnichar repository](https://github.com/omnichar/ComfyUI-Omnichar/tree/main/workflows). Drag one onto the ComfyUI canvas to open it.

## Build a character

A character is a few reference images plus a description. Load a face, a body shot and one or two wardrobe shots into Encode Character. It writes a `.char`, Save Character puts it in `ComfyUI/models/characters/`, and Load Character picks it up from there.

[Download character\_encode.json](https://github.com/omnichar/ComfyUI-Omnichar/blob/main/workflows/character_encode.json)

## Render with FLUX.2 Klein 9B

FLUX.2 reads references as latents. Decode Character's `refs` goes into a Character Reference Latent node on both the positive and the negative conditioning. The result is an image.

[Download flux\_klein\_9b\_image\_char.json](https://github.com/omnichar/ComfyUI-Omnichar/blob/main/workflows/flux_klein_9b_image_char.json)

## Render with MiniMax H3

MiniMax H3 takes references in numbered slots. `refs` goes into a Character References Split node, which fills the slots in order. The result is a video.

[Download minimax\_h3\_char\_video.json](https://github.com/omnichar/ComfyUI-Omnichar/blob/main/workflows/minimax_h3_char_video.json)

## Voice

A character can carry a voice for MiniMax H3 Reference to Video.

**1. Add the voice**

Wire Load Audio into Encode Character's `voice` input. Use about 30 seconds of clean speech with no music.

**2. Send it to H3**

On Decode Character, set `style` to `token` and wire `voice` into the H3 node's `ref_audio_0`.

With `voice` set to `auto`, the clip is sent only when the prompt has dialogue:

| Prompt | Voice |
| - | - |
| `sia faces the camera and says "I built this look one frame at a time."` | sent |
| `close-up of sia as she whispers to someone off camera` | sent |
| `sia walks along the lake at dusk` | not sent |

The match is on words, so "no speaking" still counts as dialogue. Set `voice` to `never` for a silent shot like that, or `always` to force the voice in.

* [Download encode\_char\_with\_voice.json](https://github.com/omnichar/ComfyUI-Omnichar/blob/main/workflows/voice/encode_char_with_voice.json)
* [Download generate\_with\_voice\_minimaxh3.json](https://github.com/omnichar/ComfyUI-Omnichar/blob/main/workflows/voice/generate_with_voice_minimaxh3.json)


## Related topics

- [Install the Omnichar ComfyUI node](/comfyui/install.md)
- [Omnichar ComfyUI nodes reference](/comfyui/nodes.md)
- [About Omnichar](/index.md)
- [Omnichar Studio command-line options](/app/command-line.md)
- [The .char character file](/characters.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.