Nodes/ComfyUI-H3-Cast/MiniMax H3 Cast to Video (Extend)
ComfyUI Node

MiniMax H3 Cast to Video (Extend)

Continue a MiniMax H3 Clip With the Same Cast — You'll Need the Fork or the Backport

By kat3ri·Created about a month ago·Updated 16 days ago· 4
MiniMax H3 Cast to Video (Extend)
  • clip
  • vae
  • context_latent
  • audio_vae
  • cast_1
  • cast_2
  • cast_3
  • scene_asset
  • scene_images
  • first_frame
  • last_frame
  • world_latent
  • positive
  • latent
  • final_prompt
  • report
prompt
length124
max_views_per_member3
auto_introtrue
scene_description
include_voicestrue
context_frames2
context_strength1.00
context_static_timefalse
pin_last_frametrue
world_frames2
world_strength1.00
world_static_timefalse
ref_image_sizematch
ref_spacing1.0
ref_strength1.00
ref_decay0.00
ref_ramp0.0

H3CastToVideoExtend is the continuation sibling to H3CastToVideo. Everything the compose node does for a fresh generation - up to three cast members, scene references, auto-written <Picture i> / <Audio j> intros, prompting by name - but for extending a clip you already made instead of rolling a new one. It wraps MiniMaxH3VideoExtend rather than MiniMaxH3ReferenceToVideo, because a continuation runs off a context_latent plus raw references, not a fresh generation. Fresh-generation Cast to Video simply doesn't apply there; this node is the bridge.

And there's a catch you need to know before you build a workflow around it: MiniMaxH3VideoExtend is not part of stock ComfyUI's MiniMax H3 support. It exists natively only on kat3ri/ComfyUI's fork (feat/minimax-h3-video-extend branch), or through the companion ComfyUI-MiniMax-H3-Extend pack, which backports the continuation mechanism to any ComfyUI. On a plain install, the node fails with a clear error naming exactly what's missing - deliberately, so you don't get a bare AttributeError and an afternoon of guessing.

Feeding it a context

The other piece you need is context_latent - the AV latent of the prior clip to continue from. The node that produces it, MiniMax H3 Encode AV, used to be vendored inside this pack but moved to ComfyUI-MiniMax-H3-Extend (it's an extend/continuation concern, not a cast one). So the realistic setup is: install both packs, load your previous clip (say, with VHS_LoadVideo), VAE-encode it into context_latent, then continue.

Inputs that matter

  • context_latent - required; the prior generation's AV latent.
  • clip, vae, prompt, length - same shape as the sibling node; prompt refers to characters by name.
  • cast_1..cast_3, scene_images, scene_description - the same composition and slot budgeting (9 image slots, 3 audio slots, max_views_per_member split).
  • The continuation knobs: context_frames (how many trailing latent frames carry over as context, default 2), context_strength, pin_last_frame (default on - pins this segment's frame 0 to the prior clip's last frame), first_frame (hard-pin frame 0 to an exact image instead), and last_frame (pin this segment's final frame to a known next shot/keyframe). Watch this one: last_frame is supported by the backport pack but silently dropped by the fork's native node - the report tells you which happened.
  • world_latent / world_frames / world_strength - global scene anchors carried through the continuation.

Note there's no width, height, or temporal_stretch here. Resolution is inherited from the context latent - the native MiniMaxH3VideoExtend has no such knobs of its own, and neither does this node.

Outputs

Same four as Cast to Video: positive (CONDITIONING) and latent (LATENT) wire into your sampler exactly like the native MiniMaxH3VideoExtend, plus final_prompt (the exact text sent) and report (slot usage plus anything dropped).

Install

Same base as the rest of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/kat3ri/ComfyUI-H3-Cast
# restart ComfyUI - node appears under "MiniMax H3/cast"

Then either run the kat3ri ComfyUI fork's feat/minimax-h3-video-extend branch, or install ComfyUI-MiniMax-H3-Extend alongside. No extra Python dependencies otherwise. If you're still on stock ComfyUI and just want to try H3, start with the plain H3CastToVideo node instead - this one is specifically for when you're stitching a longer clip from segments, and it's worth the extra setup only once you actually need continuations.

CategoryMiniMax H3/cast

Inputs (30)

NameTypeDefaultDescription
clipCLIP
vaeVAE
context_latentLATENTAV latent output from a prior MiniMax H3 generation to continue from
promptSTRINGRefer to characters by NAME -- the <Picture i>/<Audio j> intro lines are written for you (see final_prompt output)
lengthINT1245–3600
max_views_per_memberINT31–9Views taken per cast member, in saved order. 9 total image slots are shared by all members + scene images.
auto_introBOOLEANtrueWrite the '<Picture 1>, <Picture 2>: Name -- description' intro lines automatically
audio_vaeoptVAE
cast_1optH3_CAST_MEMBER
cast_2optH3_CAST_MEMBER
cast_3optH3_CAST_MEMBER
scene_assetoptH3_SCENE_ASSETA saved location/background from H3 Scene Asset. Combines with scene_images if both are connected.
scene_imagesoptIMAGEExtra reference images of the location/scene (e.g. room renders); batch = one ref slot per frame. Combines with scene_asset if both are connected.
scene_descriptionoptSTRINGWhat's actually in the scene -- used verbatim in the intro line instead of scene_asset's saved description or the generic 'the location where this scene takes place.' placeholder. Leave blank to use scene_asset's saved description, if any.
include_voicesoptBOOLEANtrue
context_framesoptINT21–64Trailing latent frames of context_latent carried over as context
context_strengthoptFLOAT1.000–1
context_static_timeoptBOOLEANfalse
pin_last_frameoptBOOLEANtrue
first_frameoptIMAGEHard-pin this call's frame 0 (e.g. the prior clip's real last output frame) instead of pin_last_frame's decode
last_frameoptIMAGEPin this continuation segment's own final frame to an exact image, e.g. to land precisely on a known next shot/keyframe. Not supported by the fork's native MiniMaxH3VideoExtend -- silently dropped there (see report); supported when running against ComfyUI-MiniMax-H3-Extend's backport.
world_latentoptLATENT
world_framesoptINT21–64
world_strengthoptFLOAT1.000–1
world_static_timeoptBOOLEANfalse
ref_image_sizeoptCOMBOmatch2 options: match, max
ref_spacingoptFLOAT1.00–50
ref_strengthoptFLOAT1.000–1
ref_decayoptFLOAT0.000–1
ref_rampoptFLOAT0.00–50

Outputs (4)

NameTypeDescription
positiveCONDITIONING
latentLATENT
final_promptSTRING
reportSTRING