CivArchive
    Preview 138837906

    Support

    Everything here is free and stays free — the format spec, the nodes, the workflows, the cartridges, the LoRAs. If it saved you a night of debugging (it contains several hundred of mine), tips keep the 5090 warm:

    Type a story. Get one continuous video, with sound. Multi-shot scenes render as a single take - no last-frame chaining, no quality loss from shot to shot. That's the whole pitch.

    Both workflows now read left to right: numbered lanes, and you only ever touch lanes 2-4. Everything below the main row is optional.

    What you need

    • ComfyUI + this node pack (Manager: MiniMax-H3 Multishot, or the zip on this version).

    • A MiniMax-H3 checkpoint (links on this page). 24 GB card? Take a GGUF.

    SEAMLESS CHAIN - multi-shot scenes as one take

    Lane by lane:

    • README - the quick start lives on the canvas itself.

    • 1 - MODELS - pick your H3 checkpoint and text encoder. VAEs are preset; LoRA slots are empty until you fill one.

    • 2 - ANCHORS (optional) - a photo to open shot 1 on (enable its gate), and a short voice clip to lock the speaker's voice.

    • 3 - YOUR PROMPTS - type your idea in the box, or point the switch at a prompt file. The writer expands it into shot prompts. Writing your own? Set the writer to passthrough (raw JSON, skip LLM) and paste shots separated by --- lines.

    • 4 - CONTROLS - size, frames per shot, steps, and take_seconds (total length; 30 is a good first run). The switches stay off unless you installed the pack a switch names.

    • 5 - ENGINE - nothing to change. The remote encoder lives here if you want the text encoder on a second PC: enter its address, flip the encoder switch, free ~15 GB.

    • 6 - OUTPUT - your video and its audio save here.

    Optional panels below the main row: reference images (your character, ref2va checkpoints - folder per character + AUTO REFS on), V2V reference (a clip whose look guides the render), FFLF plates (flf_chain mode only), audio spine (a soundtrack the take follows).

    EXTEND TAKE - one person talking, as long as you want

    Same lanes, different job: one premise becomes ONE continuous speech cut across windows.

    • 1 - MODELS - same as above.

    • 2 - ANCHORS - a photo of your speaker (shot 1 opens on them) and a voice clip. More useful here than anywhere: one person carries the whole take.

    • 3 - YOUR PROMPT - ONE premise, one speaker. The writer writes the whole speech. num_shots 0 = it decides. Passthrough works here too.

    • 4 - CONTROLS - take_seconds is the star: 30 ships, 60 clears TikTok's minute. window stays on auto - it sizes itself to your card.

    • 5 - ENGINE / 6 - OUTPUT - same as above.

    Keep takes to about 4 windows for now - very long takes slowly sharpen.

    Rules of thumb (both workflows)

    • Spoken lines: 8-12 words per shot. Short lines sync; long lines garble.

    • Say the sounds you want ("rain on the roof, a fridge hum") or it invents its own.

    • Keep your character's face in frame - faces carry identity between shots.

    If something breaks

    • Red node? Update the pack in Manager, restart, reload the workflow from disk.

    • Render crawls at low wattage? Lower resolution or frames per shot, or use the remote encoder.

    • Only one of the two workflows shows in your sidebar? Fixed in 2.6.5 - re-download both.

    • Still stuck: comment with your console log. I answer.

    Deep dives: the two articles linked on this page. Every lane also has a short note on the canvas.


    Detailed guide for people that can read good:

    Every setting explained: the Seamless Chain deep manual | Civitai

    Description

    Keyframe positions get percentages and ranges, keyframes take an image batch, and the model loaders stop hiding your GGUFs.

    Keyframes: image batches, percentages and ranges

    Two contributions from @poltergeisha360, who asked for the first one here on Civitai and then wrote both himself and sent pull requests (as @viralesveras on GitHub).

    An images_batch input. Six individual slots runs out quickly if you want several frames clustered at each end to pin complex motion, or a set of frames kept from a source video. The batch takes any number of anchors. Merged with one change: it adds to the six individual slots rather than replacing them — as originally written, wiring image_1 and then adding a batch dropped image_1 silently.

    Percentages and inclusive ranges in positions. This fixes a genuine trap of mine: a bare 1 meant the last frame, not frame 1, so addressing an early frame absolutely meant writing 1.0001. That is how the ambiguity got found — in real use.

    0%, 50%, 100%     percentages
    0, 121, 242       absolute frame indices
    0-9, 352-361      inclusive ranges
    30%-20%           descending: reverses that section of the batch

    Your existing workflows keep working. A bare non-integer at or below 1.0 is unambiguous — nobody means "frame index 0.5" — so a saved 0, 0.5, 1 is still read the old way, and logs the percentage spelling to switch to. An all-integer 0, 1 is genuinely ambiguous, so it takes the new absolute meaning and warns, rather than silently anchoring a different frame than it used to.

    Loaders find GGUFs in subfolders

    Both model loaders scanned only the top level of diffusion_models and text_encoders, so anything kept in a gguf/ subfolder was invisible in the dropdown — while ComfyUI-GGUF's own loader listed the same files fine. They walk the tree now.

    If your models showed up on one machine and "disappeared" on another, this was why: the scan exists because .gguf is not in ComfyUI's supported_pt_extensions, so the normal file list never returns it. It just was not recursive.

    New models: curve-form GGUFs, ~40% smaller

    Not part of this zip, but worth knowing about — there is now a second DiT repo carrying -curve- files built from MiniMax's pruned checkpoints. About 40% of this model was never unique data: each block carried a 96768×2688 modulation matrix, and those turn out to be a smooth function of the timestep rather than 51 independent tensors.

    TierCurve formOriginalQ8_021.5 GBnever built — too large to be worth itQ5_115.2 GB25.9 GBQ4_011.5 GB19.9 GB

    That Q8_0 is smaller than the Q5_1 that has been shipping since day one, and it fits a 24 GB card. Verified by rendering, same graph and same seed, changing only the model file: swapping to curve form moved the output about a third as far as dropping one quant tier does, with per-frame motion in family. Files and the full comparison table are on Hugging Face — a separate repo, so the original-form quants stay where they are for anyone on an older ComfyUI or who prefers the larger files.

    Curve files need ComfyUI 0.30.0+. On older builds they will not load at all, because the shape of the modulation weights changed. The original-form files remain up for anyone pinned to an older version.

    Full contents

    • H3_Multishot_AIO.json — easy mode: one script to many chained shots

    • H3_Multishot_MEMORY.json — 2–5 minute pieces with an identity anchor

    • H3_Keyframes.json — anchors at any position, single pass, unbroken audio

    Every one of those three has a render on disk that its own node produced, verified from the render's embedded graph rather than from the file existing.

    FAQ

    Comments (12)

    sdktertiaire2Aug 5, 2026· 2 reactions
    CivitAI

    hello and thanks for your work. You wrote " RTX 5090: ~60 min → ~15 min ". For wich width/ height and laps of time/frames ?

    joeygambino
    Author
    Aug 5, 2026

    Good catch - that line's missing its conditions, and now that I've gone back to the logs it's also just not a good pair of numbers.

    The real run, pulled from the render's own embedded workflow:

    960 x 544, 124 frames (5.2 s at 24 fps), 20 steps

    ref2va-Q5_1, one reference image, RTX 5090, --reserve-vram 7

    -> 12.3 minutes with the encoder evicted

    The un-evicted version I killed somewhere past 90 minutes, so it never finished. That means "~60 min" is a number I don't actually have, and "~15 min" was 12.3 rounded up. I'll fix the model page - thanks for asking instead of trusting it. A properly controlled pair, where both sides ran to completion or a deliberate cut-off (480x864, 124 frames, one reference VIDEO):

    no eviction: killed at 46 min, 98% "utilization" at ~172 W

    eviction on: 6.5 and 7.7 min on two clean runs, 355-390 W

    The thing that matters more than any ratio: this is a cliff, not a curve. The Qwen3-VL encoder is ~16.5 GB even at Q4 and the DiT is ~25 GB, so on a 32 GB card they just don't co-fit. Either the DiT is resident and you get normal speed, or it streams ~19 GB from system RAM every sampling step. How bad it gets depends on how far over your card you are - which is why quoting one speed-up ratio was misleading of me regardless of the numbers.

    Two tells. In your log:

    loaded partially; 6423 MB usable, 5847 MB loaded, 19363 MB offloaded

    and on the card, watch POWER DRAW, not utilization. A GPU thrashing weights between RAM and VRAM still reports ~98% while pulling a fraction of its rated watts. 146-172 W on a 5090 is thrashing; 400 W+ is real work. I chased the utilization number for hours before the wattage told me what was going on. If you're on 24 GB, the curve-form Q8_0 is worth a look - 20 GiB resident on a 3090 with room to spare, 6.8 min for 123 frames, and it's smaller and faster than the original-form Q4_0.

    ugurdoyduk341Aug 5, 2026· 1 reaction
    CivitAI

    Is it just me that face, eye and lip artifacts have decreased with 1.3? Anyway, great update.

    joeygambino
    Author
    Aug 5, 2026

    Thank you!

    JustTrying2026Aug 5, 2026· 2 reactions
    CivitAI

    Seen someone mention in discord that heunpp works really well for better audio. But I don't see a way to change it in this node. Have you tried this heunpp?

    joeygambino
    Author
    Aug 5, 2026

    I will work on exposing the sampler and scheduler in the AIO node for the next version, likely have it up tomorrow.

    aikoyamaAug 6, 2026· 1 reaction

    My experience with heunpp2 has been very positive for audio but it is slow. Very slow. Maybe twice as slow as res_multistep.

    joeygambino
    Author
    Aug 6, 2026

    @JustTrying2026 v1.4 uploaded with sampler and scheduler exposed

    UndeckedAug 7, 2026

    @aikoyama heunpp2 is indeed a bit more than twice as slow as res_multistep, but it definitely results in higher quality generations, at least when it comes to motion artifacts.

    joeygambino
    Author
    Aug 7, 2026

    @Undecked I am about to tell this myself, along with res_2s. beta57 and/or bong_tangent.

    shiftycheshireAug 6, 2026· 2 reactions
    CivitAI

    Have you done any testing for taking an existing video and extending it? MiniMax H3 has the capabilities to do so but from my own testing is oftne has issues with audio or color grading. I was wondering if a similar method coould be applied there as well (as in, take an existing video + prompt as as the first 'shot' instead of just an image + prompt)

    joeygambino
    Author
    Aug 6, 2026

    I have not yet, but I will put it on the list for next workflows!

    Workflows
    MiniMax H3

    Details

    Downloads
    260
    Platform
    CivitAI
    Platform Status
    Available
    Created
    8/5/2026
    Updated
    9/22/2026
    Deleted
    -