Views
No views yet
ref2va counterpart to the
multishot workflows.
Where those chain shots from a start frame, this one carries a person, a place or
a voice from reference material you supply.H3_HardMode_Chained.json takes one script — one prompt per shot, ---
between them. Shot 1 renders in Hard Mode from your reference images (and
optional voice clip); every later shot continues image-to-video from the
previous shot's last frame, so the identity cast in shot 1 carries down the
chain in pixels; the segments join in-graph into one master with audio.
Your <Picture N> binding lines go in their own box and attach to shot 1
automatically. Needs the
node pack at
v1.5+. At least 2 prompts; for a single shot use H3_HardMode_R2V.json.| file | |
|---|---|
H3_HardMode_R2V.json | the reference-to-video graph, every node labelled |
workflows/ | the multishot AIO, long-form memory and keyframes graphs — also in the multishot pack, relabelled here so nothing shows a raw class name |
reference_images/ | three views of one synthetic subject, so the graph works on first load |
HARD_MODE_GUIDE.html | the full guide |
INSTALL.txt | setup, and the traps |
H3ModelLoaderAny, H3ClipLoaderAny, H3ConditionStrength,
H3FreeTextEncoder, H3ReferenceAudio. No other custom packs.python apply_gguf_arch_patch.py from its folder and
restart. Without that patch, loading an H3 GGUF fails with
ValueError: Unexpected architecture type in GGUF file: 'minimax_h3' —
ComfyUI-GGUF keeps a hardcoded architecture list and this one is not on it.mmproj sidecar, and the VAEs.
fl2va files will not work in this mode.H3ClipLoaderAny at type = minimax, not with
"CLIPLoader (GGUF)" — that node has no minimax type, falls back silently, and
dies inside a tokenizer with an unrelated-looking JSON error.ref_image_0 is <Picture 1>:<Picture 1> is the woman. <Picture 2> is the room she is standing in.
She walks to the window in the style of <Video 1>.<Audio> ordinal before your standalone clips — one ref video with sound
plus one ref_audio_0 makes your voice clip <Audio 2>, not <Audio 1>. Get
that wrong and the wrong voice binds, with no error.model_base.py writes
cond_video_latents for keyframes, then assigns it again for references, so
keyframe latents are discarded while the keyframe layout rows survive. The packed
sequence desyncs and the sampler dies on a shape mismatch. Use the keyframes graph
when you need a specific opening or closing frame.ref_image_size = match, not max. Same subject and seed: max cost 24%
more time and rendered a facial scar as a vague smudge on the wrong eyebrow,
with less fine detail.[B, 2, L]; a mono
clip produces half the rows it reserved and dies deep in the model with no
useful error. The stereo-guard node handles it. Audio costs ~14% wall clock and
trims motion ~14–27%.n % 17 == 5, shown to the encoder at 2 fps.