Nodes/ComfyUI-H3-Cast/H3 Cast Member (Save/Load)
ComfyUI Node

H3 Cast Member (Save/Load)

Save Your Cast Once, Stop Re-Numbering <Picture> Tags

By kat3ri·Created about a month ago·Updated 16 days ago· 4
H3 Cast Member (Save/Load)
  • image_1
  • image_2
  • image_3
  • image_4
  • voice
  • cast_member
  • views
  • report
operationLoad
saved_member
name
description
voice_start_seconds0.0
voice_duration_seconds10.0
confirm_updatefalse

MiniMax H3 is a multi-reference model: you feed it up to nine <Picture> reference images and three <Audio> clips, and it holds those people - and voices - through the whole clip. That's genuinely great, until you're retyping <Picture 1>, <Picture 2>: Maya - red jacket, nervous energy by hand in every single workflow you build. H3CastMember is the save-file node for that. Create a character once, and it becomes a named asset you load into any project from then on, by name.

The key design choice: nothing is hidden inside your workflow JSON. Each character lives on disk as a plain folder under <comfy user dir>/default/minimax_h3/reference_sheets/<name>--<id>/, holding a manifest.json, images/*.png and audio/*.wav. Set the MINIMAX_H3_REFERENCE_SHEETS_DIR env var to relocate the whole library. Because assets live on disk rather than in the graph, they survive restarts, reinstallations, and any graph edit you make. The on-disk format is also deliberately manifest-compatible with ethanfel's ComfyUI-MiniMax-H3-Guide reference sheets - assets saved by either pack load in both.

Three operations, one dropdown

  • Create - connect 1–4 view images (image_1..image_4), optionally a voice clip, give it a name and description, and it's saved permanently.
  • Load (default) - pick any saved character from the saved_member dropdown.
  • Update - append more views or a voice to an existing member.

The voice handling is the sleeper feature. H3 budgets audio references at 15 seconds max, and the node trims your clip to that window non-destructively - voice_start_seconds and voice_duration_seconds (default 10) do the cutting, so you never have to pre-edit audio in another app. The description field matters more than it looks: it's used verbatim in the auto-written prompt intro later, so write it like it's going into the prompt - appearance, wardrobe, personality.

Inputs and outputs that matter

You'll actually touch a handful of these:

  • operation, name, description - the core of Create.
  • image_1..image_4, voice - 4 input sockets, but you can build up to 9 views total via Update.
  • voice_start_seconds, voice_duration_seconds - the trim window.
  • confirm_update - a safety latch. Update refuses to write anything unless this is on, so a stray graph run can't clobber a saved character.

Outputs are three: cast_member (the H3_CAST_MEMBER bundle you feed into H3CastToVideo), views (a preview batch of every saved view, resized to the first view's canvas so you can eyeball what you're loading), and report (a string saying exactly what was created, loaded, or updated).

Gotchas

  • Create throws if there's no name or no connected image - you can't save a nameless, empty character.
  • Update is write-protected by design: it raises unless confirm_update is toggled on. That's the feature, not a bug.
  • Caps are 9 views and 3 audio clips per member; going past them raises rather than silently truncating.

Install

Same as the rest of the pack - it appears under MiniMax H3/cast:

cd ComfyUI/custom_nodes
git clone https://github.com/kat3ri/ComfyUI-H3-Cast
# restart ComfyUI

Or grab "ComfyUI-H3-Cast" from ComfyUI Manager. No Python dependencies - audio I/O is stdlib WAV - and the only real requirement is a ComfyUI build with the native MiniMax H3 nodes (comfy_extras/nodes_minimax_h3.py). You still need the H3 weights themselves, which are a separate download and, note, sit under a community license that excludes the US, EU, UK and South Korea.

CategoryMiniMax H3/cast

Inputs (12)

NameTypeDefaultDescription
operationCOMBOLoad3 options: Load, Create, Update
saved_memberCOMBO1 options: (none -- unused in Create mode)
nameSTRING
descriptionSTRINGCharacter description used verbatim in the auto-written prompt intro -- appearance, wardrobe, personality.
image_1optIMAGE
image_2optIMAGE
image_3optIMAGE
image_4optIMAGE
voiceoptAUDIOVoice sample saved with the character (used as an <Audio j> reference at compose time)
voice_start_secondsoptFLOAT0.00–3600
voice_duration_secondsoptFLOAT10.02–15H3 audio references are budgeted at 15s max
confirm_updateoptBOOLEANfalseSafety latch: Update appends connected media to the saved member only when this is on

Outputs (3)

NameTypeDescription
cast_memberH3_CAST_MEMBER
viewsIMAGE
reportSTRING