CivArchive
    Preview 138776115

    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:

    2.6.0 adds the extend take

    One prompt, one continuous speech, as long as you want. Set take_seconds on MASTER CONTROLS - or open H3_Extend_Take, now the main workflow - and give the writer one premise. The panel sizes a window for your card and the count that fills the time; the writer writes ONE speech and cuts it across the windows at sentence boundaries; the chain continues it in H3's own voice, no TTS, no per-shot budgeting. Verified: seven renders including a 65-second seven-window take, every join continued the speech. Details in this version's notes.

    Known limit in 2.6.0: the chain's texture ratchet is not fully solved for long takes - we measure about +13% fine texture per join at 736x1280 with every anti-drift setting on. Under about 4 windows (30-40 seconds) it is slight; at 7 windows it is visible sharpening. Keep extend takes to about 4 windows for now; a fix is in progress.

    2.5 is the memory release

    Four new memory systems, all measured, two of them fully automatic:

    • The random-slowdown fix (automatic). High-resolution renders used to take anywhere from 27 minutes to 3 hours for identical work - a lottery caused by the Windows driver quietly demoting GPU memory when the card fills past roughly 95%. The pack now detects that zone and streams a few GB of weights instead of riding the ceiling. The lottery render became 15 minutes, every time. Nothing to configure.

    • low_ram_master. Long chains used to hold every finished shot in system RAM until the final join - tens of GB at the very last step, after all the sampling was already paid for. Switch it on and shots stream to lossless disk staging as they finish; peak RAM stays near two shots no matter how long the chain, with verified-identical output.

    • Remote text encoder. The text encoder runs for seconds per shot and holds 15+ GB the rest of the time. Point the new node at any second PC running ComfyUI with this pack and that memory leaves your render card - identical results, verified across machines, with a local cache so repeated text never touches the network. One flag on the switches panel turns it on; it ships off.

    • H3 TAE Decode. 2-second full-resolution draft previews from a 9 MB tiny decoder, versus about a minute per shot through the real VAE. For seed hunts and batch triage, never finals.

    Plus a Speed Boosters panel - Spectrum, TeaCache, block cache and ComfyUI's own EasyCache, each measured (-11% to -29%) and eye-tested. All ship OFF: the three real ones are faster but can visibly distort people, and block cache turned out to do nothing at 14 steps (0 hits measured on every run) - honest notes on each. Defaults across the workflows are retuned for 16-24 GB cards. Full details in this version's notes.

    Guides

    What this is

    A ComfyUI node pack and three workflows that render a multi-shot MiniMax-H3 scene as one continuous take: no visible cut at the shot boundaries, no colour shift between shots, and continuous audio across the whole piece. H3 natively generates blocks of roughly 10-15 seconds; this pack chains those blocks into arbitrarily long scenes and hands back a single master video with a single master audio track.

    How identity holds with no reference images

    This is the part most people do not expect. A 40-second two-character scene held both faces across every shot with zero reference images supplied. Two mechanisms do it, and neither works alone.

    • The frame relay carries the instance. Every shot begins from an actual rendered picture of the character - the previous shot's last frame - so the specific face, the wardrobe weathering, the exact hair propagate as pixels rather than being re-imagined from text. Drift can only accumulate per join, not per frame.

    • Verbatim text carries the category. Repeating each character's appearance description word-for-word in every shot re-asserts everything a picture cannot pin down, and authors anyone who walks into frame partway through. Once they are in a handed-over frame, they join the relay too.

    Reference images and the identity bank are still there for long chains, characters who leave frame for a long stretch, or when you need a specific pre-existing face - they are just no longer the price of entry.

    Voice identity across the chain

    Chained shots used to re-perform the voice from text each time, and it drifted. Two controls end that, and the shipped default turns one of them on:

    • voice_ref - feed a clean solo speech clip and it anchors every shot as <Audio 1>. Mono clips, sample rate and length are all guarded internally.

    • self_anchor_voice - no file at all. Shot 1's own rendered voice becomes the reference for every later shot. Write shot 1 so the character speaks a clean solo line.

    Both ride the checkpoint's reference rows, so they need ref2va. On fl2va they do nothing except cost tokens - see the checkpoint note below.

    Which workflow

    Three, each with one clear reason to exist.

    • H3_Seamless_Chain_v2 - everything. Master controls, the LLM writer, the speed boosters, the remote encoder lane, identity and voice anchors, an episode/batch prompt source, FFLF boundary plates and an audio spine. The optional lanes ship gated off, so the default path stays simple.

    • H3_Seamless_Chain_CORE - the same job with zero third-party packs. Type your shots into the script box and queue. Start here if you want a render before installing anything else.

    • H3_Keyframes - a different job: a hand-built sampling graph for anchoring a single clip at chosen frame positions with per-anchor condition strength. Not multishot, does not chain.

    Master controls, and the dials that matter

    One panel drives resolution, frames per shot and steps for the sampler, and also feeds the writer so it paces dialogue to the real shot length. Shipped defaults: H3_Extend_Take 1280x736 landscape, take_seconds 30; H3_Seamless_Chain_v2 736x1280, 192 frames x 4 shots; 14 steps, euler/beta57, the curve-Q5_1 checkpoint. The resolution floor is deliberate - the base model distorts faces below roughly 1 megapixel, so shrinking the canvas to save VRAM costs you faces first. The dials worth knowing:

    • continuity - context_pin (raw-latent join, needs the Motion Context pack), first_frame (the model's own trained hand-off, no extra pack), cut for episodic work, or flf_chain for boundary plates.

    • seed_per_shot - leave it on. Measured: varying the seed per shot holds the face; one seed for every shot drifted both face and voice. Identity lives in the conditioning, not the seed.

    • chain_gain_control - ships at flatten. Each shot's tail anchors the next and the model returns roughly 1.3x the anchor's texture energy, so sharpness ratchets across a chain without it.

    • Speed boosters - all ship OFF. Spectrum, TeaCache and EasyCache are real speed but can visibly distort people; block cache does nothing at the shipped 14 steps (0 hits measured on every run - only worth it at 30+ steps). The three real ones - fine for empty rooms and landscapes, compare for yourself before using them on faces. Never stack Spectrum with TeaCache: no extra speed, badly damaged output.

    • low_ram_master - turn ON for long chains or under 32 GB of system RAM. Shots stream to lossless disk staging instead of accumulating in RAM; identical output, verified.

    • remote_encoder (VRAM / SPEED SWITCHES panel) - OFF by default. With a second ComfyUI PC on your network, turn it ON and the text encoder's 15+ GB moves over there. The how-to note sits next to the encoder node.

    • output_scale / upscale_model - upscaling happens after decode, per shot, so it works with every continuity mode including context_pin. output_scale is a lanczos resize (measured 1.78x faster than rendering the same output size natively, and visibly softer - resolution, not detail); upscale_model takes ComfyUI's own Load Upscale Model (ESRGAN and friends) for synthesized detail.

    • master_normalize - leave it at luma+contrast. It levels both the brightness AND the contrast of the finished chain against one global target taken from shot 1. Measured: texture growth per hop 1.126 -> 1.047 at 960x544, with contrast spread across shots falling from ~11% to under 0.5%.

    • memory_frames - leave it at 0. The bank's RECENT slots hand each shot's accreted output forward on top of the pin, so invented detail compounds. Measured over ten shots: at the old default the drift accelerated; at 0 it holds flat, and motion continuity did not suffer.

    • pin_frames - leave it at 22. Longer pins also cut the sharpening, but the head trim scales with them, so speech planned under the replay gets clipped.

    • Audio drifts the other way: chained audio gets duller per hop where chained video used to get sharper. There is no per-shot dial for it. For cut-grammar content it can be avoided outright: continuity=cut with bank_pinned=1, memory_frames=0 conditions every shot's audio on shot 1 alone - measured flat.

    • preview_first_shot - writes shot 1 the moment it decodes, so a bad take can be cancelled before the whole chain renders.

    Which checkpoint

    ref2va ships as the default, as the curve-Q5_1 GGUF (~14 GB): it carries the reference rows that voice anchoring and the identity bank need. fl2va has no reference rows and chains just as well - the voice rides the frame relay instead of being pinned - and it lands on a supplied frame where ref2va only nudges toward one. The two are the same file size at every quant level.

    Writing a script

    One prompt per shot, --- on its own line between them. The mechanics of a join are handled for you; whether the join reads as invisible is decided by the writing. These rules were each written after a specific failure:

    • The airlock. Every shot after the first opens holding the previous shot's exact closing arrangement, with about two quiet seconds before anyone speaks. The head of a chained shot is discarded on decode - anything you put there is thrown away.

    • Give the hold something to do. A held framing with nothing happening renders as a literal freeze. Write in a breath, a weight shift, an eyeline change.

    • Land settled. End each shot back in a stable arrangement, dialogue finished, about two seconds spare.

    • A line never straddles two shots. The LLM writer budgets this automatically now. Hand-writing? A chained shot at 192 or 243 frames fits roughly 6-10 spoken words; 362 frames fits 12-20. Over budget renders as crammed, garbled speech; far under budget renders slow and robotic.

    • Repeat the descriptions word-for-word. Each character's appearance and the room and lighting, identical in every shot. Rewording between shots is the single most common cause of a face changing mid-scene.

    • Silent shots with visible people: say what mouths are doing ("lips pressed closed") or the model invents mumbling. A thing revealed mid-shot is written as already present, or it pops in.

    Camera cuts inside a shot are free and share one audio bed - so put cuts inside shots, and continuity between them. A worked four-shot two-hander ships as example_script.txt.

    Quick fixes

    • A word clips at a join - the script put dialogue too close to a boundary. Move the whole line, do not split it.

    • Sharpening increases every shot - the texture ratchet. chain_gain_control=flatten ships on; check it was not turned off.

    • A render randomly crawls - as of 2.5.0 the pack detects and fixes the main cause automatically (watch for the "driver headroom" line). If it still happens: drop frames or resolution, or load a smaller quant of the DiT.

    • The machine dies at the final join on a long chain - turn low_ram_master ON.

    • People look subtly wrong - if you enabled Spectrum, TeaCache or EasyCache, that is the trade. Turn them off; keep block cache.

    • LLM API error 404, model not found - the writer's model_name is not pulled on the endpoint it is pointed at. See the prompt-writer section below.

    • Red or missing nodes - an optional pack is not installed. The optional nodes ship bypassed, so this only bites if you un-bypassed one: re-bypass it with Ctrl+B, delete it, or use the CORE workflow.

    • GGUF architecture error - the pack teaches ComfyUI-GGUF the minimax_h3 architecture at startup, so installing it is normally the whole fix. If the error persists, run python apply_gguf_arch_patch.py from the pack folder once and restart.

    • Audio dulls on a very long chain - expected; restart the chain on a scene cut, where a fresh start costs nothing.

    The prompt writer needs a model you actually have

    The full workflow ships pointed at a local Ollama with model_name = qwen3:14b. Pull it before the first queue or the run stops immediately with LLM API error 404: model 'qwen3:14b' not found:

    ollama pull qwen3:14b

    Any OpenAI-compatible endpoint works - put its URL in base_url and the exact tag in model_name; ollama list prints the tags you have and it must match character for character. A remote or hosted endpoint is often the better choice, because a local writer large enough to be good competes with H3 for the same card.

    Running the writer locally? Turn on unload_model_after on the writer node. It frees that model from Ollama the moment the script is written, so the video model gets the card - otherwise it sits for the server default of five minutes, which is your whole first shot.

    Want no LLM at all? Set the master panel's use_file_prompts to manual entry, delete the writer, and feed your own shot script straight into the sampler's script input - one prompt per shot, separated by --- lines. The CORE workflow already works this way.

    Requirements

    Always: ComfyUI v0.30.0 through v0.33.1 - tested at three points and supported across the range (native MiniMax-H3 support), this node pack, a MiniMax-H3 checkpoint, the H3 text encoder, and the video and audio VAEs. The CORE workflow needs nothing else - it is built from this pack plus stock ComfyUI nodes.

    For the FULL workflow. ComfyUI validates every node class in a graph before it will queue, so a missing pack stops the whole workflow - not just its own feature. Each can be removed instead; INSTALL.md gives the one-widget change or node deletion for every entry.

    • ComfyUI_JoyAI_Echo_GGUF_Nodes - the LLM prompt writer (JoyEcho_LLMEnhance). It is inside the release zip - copy it into custom_nodes/ with the main pack. It is RealRebelAI's pack, modified with attribution (the NOTICE inside lists every change); use that copy, not upstream - the workflow drives inputs the upstream release does not have, and with upstream those values are dropped silently. Hand-written scripts can delete the writer instead.

    • ComfyUI-H3-Motion-Context - continuity = context_pin, the shipped default, plus interior keyframe anchors. Removal: continuity = first_frame.

    • RES4LYF - the beta57 scheduler the full workflow ships with. Removal: scheduler = beta (measured cost: lip-sync 8/10 vs 10/10, everything else equal; CORE ships beta already).

    • Booster packs (Spectrum, TeaCache, block cache) - each switch names its pack and prints an install link if it is missing; the graph queues either way. EasyCache is built into ComfyUI, nothing to install.

    • ComfyUI-Custom-Scripts - the in-canvas script preview, a leaf node; removal: delete it.

    • ComfyUI-GGUF - quantised checkpoints and encoders.

    Install in one click: search H3 Multishot in ComfyUI-Manager - the pack is on the Comfy Registry as comfyui-h3-multishot. The zip on this page stays the complete bundle - both node packs, the workflows and the docs.

    Models

    GGUF quants of the H3 checkpoint are at huggingface.co/joeygambino/MiniMax-H3-GGUF - Q8_0 for 32 GB, Q5_1 for 24-32 GB, Q4_0 for 16 GB. The shipped default is curve-Q5_1 (~14 GB), which the new automatic headroom rule keeps comfortable on 16 GB cards as well. The text encoder and both VAEs are at huggingface.co/Comfy-Org/MiniMax-H3. GGUF encoder quants are at huggingface.co/joeygambino/MiniMax-H3-encoder-GGUF; keep the -mmproj vision sidecar, and load it with this pack's H3 CLIP Loader (safetensors + GGUF) rather than the stock GGUF loader - the vision path is what carries frames between shots.

    What is verified, and what is not

    Stated plainly, because a release note is a claim.

    • Verified: chained renders reviewed blind by two independent models and reported as one continuous take with consistent colour and unbroken audio; a 40-second two-character scene holding both faces with no reference images; the streaming master at 42.8 dB against the in-RAM path; the remote encoder identical across two machines; the driver-headroom rule on both its branches; every booster measured on the same seed and eye-tested on finished video.

    • Not verified: very long chains still dull the audio slightly per hop. flf_chain has not been rendered against a fully colour-matched plate set.

    Credits

    The context_pin join and interior keyframe anchoring build on ComfyUI-H3-Motion-Context by NikoDemon80. The script preview uses ComfyUI-Custom-Scripts by pythongosssss. GGUF loading builds on ComfyUI-GGUF by city96. Speed boosters integrate ComfyUI-Spectrum-MiniMax-H3 by xmarre, ComfyUI-MiniMaxH3-TeaCache by Icyoung and comfyui-minimax-h3-blockcache-T8 by T8mars. Thanks to @viralesveras for contributions to earlier versions.

    Free, and it stays free. If it saved you time: Ko-fi · GitHub Sponsors · Liberapay.

    Description

    v1.2 adds keyframes anywhere in the clip, not just the first and last frame — plus a hard mode for reference-to-video, and two controls ComfyUI reads but no stock node ever sets.

    Keyframes at any position

    Stock ComfyUI pins H3 keyframes to frame 0 and frame N−1, and raises only first/last keyframe anchors are supported for anything else. That turns out to be a positional-maths limit, not a model limit. Both stock cases are the same expression, because sum(_video_t_spans(latent_t)) == FRAME_RESCALE * frame_count:

    cond_t = text_len + FRAME_RESCALE * pixel_index

    which is defined for every frame. The new H3 Keyframes (any position) node takes up to six anchors, positioned as fractions (0, 0.5, 1) or absolute frame indices.

    Measured on an RTX 5090, 243 frames, one anchor at pixel frame 121: the rendered frame most resembling the anchor image was frame 122 — the requested position, off by one — reached by continuous motion with no cut (peak frame-to-frame change 2.3× the median), and the audio ran unbroken straight through it.

    The patch is applied in memory. It does not edit any ComfyUI file. It self-tests against the stock formula before committing and rolls itself back if first/last positions do not reproduce exactly — so a future ComfyUI change degrades to “interior anchors unavailable” rather than to broken renders.

    It moves, or it cuts — and your images decide which

    Anchor images with a plausible camera path between them (same place, different angle or framing) make H3 interpolate: a real move that arrives on time. Images with no possible path — a kitchen and a diner — make it cut, then hold.

    That is not a limitation of this node. Stock first/last does exactly the same thing with such a pair; it is the model doing the only sensible thing. And the cut case has its own use: a timed shot change inside a single generation, which means the audio runs continuously across it, with no per-shot voice re-derivation and no seam.

    Reference-to-video groundwork

    The two nodes below are what reference workflows need. The hard-mode graph itself is built but has not been rendered yet, so it is not in this release — it ships when it has a render behind it.

    References and keyframes are mutually exclusive, in ComfyUI core rather than by choice here. model_base.py assigns cond_video_latents for refs, discarding any keyframe latents while the keyframe layout rows survive — the packed sequence then desyncs into a shape-mismatch crash. There is no “reference images plus start frame” mode. Pick one per shot.

    Two things that are easy to get wrong and are documented on the canvas: reference tags are 1-based in the prompt (<Picture 1>) while the input slots are 0-based (ref_image_0); and a reference video with a soundtrack consumes an <Audio j> ordinal before your standalone clips.

    Two more nodes

    • H3 Reference Audio (stereo guard) — the audio VAE encodes [B, 2, L] and the layout reserves exactly two channels, so a mono reference produces half the rows it reserved and dies deep inside the model with no useful error. Nothing in stock converts it. This forces stereo 32 kHz and trims length.

    • H3 Condition Strength — exposes minimax_visual_cond_noise_aug and minimax_audio_cond_noise_aug, which core reads but no stock node writes, so they sat at 0.999 / 1.0 permanently. They blend noise into the conditioning latents and set the timestep the condition rows occupy: an anchor-strength dial.

    Still in the box from v1.1

    • Image-to-video via an optional start_image.

    • ~4× faster on 32 GB cards. The text encoder is evicted before sampling — encoder (~16.5 GB) and DiT (~25 GB) do not co-fit, so the DiT was loading partially and streaming ~19 GB from system RAM every step. RTX 5090: ~60 min to ~15 min, same render. The keyframes node does this too.

    • Long-form memory sampler for 2–5 minute pieces.

    • Audio seams crossfaded; seed_per_shot on by default.

    Links

    Support

    Everything I publish is free and stays free. If it saved you a night of debugging, tips keep the 5090 warm: Ko-fi · GitHub Sponsors · Liberapay.

    FAQ

    Comments (35)

    stzAug 4, 2026· 5 reactions
    CivitAI

    Could we have first frame I2V support? 🙏

    joeygambino
    Author
    Aug 4, 2026· 3 reactions

    I will put it on the list for today's work. ;)

    brnfd24434343dAug 4, 2026

    I'd like to see keyframes not just first/last

    joeygambino
    Author
    Aug 4, 2026· 4 reactions

    v1.1 added with I2V

    PrettyAIGirlsAug 4, 2026· 1 reaction

    @joeygambino ty for the quick update

    joeygambino
    Author
    Aug 4, 2026

    @brnfd24434343d I'm definitely experimenting.

    ThimonAug 4, 2026· 1 reaction

    what about reference mode?

    joeygambino
    Author
    Aug 4, 2026· 3 reactions

    @Thimon That is the next workflow on its way soon.

    joeygambino
    Author
    Aug 4, 2026· 1 reaction

    @brnfd24434343d v1.2 uploaded with keyframes

    JustTrying2026Aug 5, 2026

    Awesome work. I know the seed keeps audio consistency. Is it possible to use the other minimax ref model and include audio samples or include audio from video (so you can pipe in a video file you like) and keep the same voice?

    joeygambino
    Author
    Aug 5, 2026· 2 reactions

    @JustTrying2026 I am working on another workflow that uses the R2V models that should fix this issue. The audio consistency seems to be model-related. You will see a widget in the Generate node in the current workflow to keep the same seed or vary it, which was my attempt to get it to be consistent - and sometimes it works, if you also describe the voice word for word in every shot, but it's still not great. New workflow should be up today though.

    Psi_CloneAug 5, 2026· 1 reaction

    @joeygambino Waiting for the ref to video update! just tested a 1 minute video with text to video and its awesome, cant imagine the increased consistency with ref to video!

    joeygambino
    Author
    Aug 5, 2026· 2 reactions

    @Psi_Clone Working on it as we speak!

    PrettyAIGirlsAug 5, 2026· 1 reaction

    @joeygambino i got some stuff going if you wanna take a look https://github.com/Shrek3OnVH5/MiniMax-H3-NativeAudio-MusicVideo-Workflow/commit/11a95f6 , optimizations letting me do 1.0mp at 20 steps within <15 minutes per 10 seconds (5070ti 32gb) , ref2vid, audio lock, combinations, gguf support

    joeygambino
    Author
    Aug 5, 2026

    @PrettyAIGirls I will check it out!

    Psi_CloneAug 6, 2026

    @joeygambino Unfortunately, the new hard mode doesn't chain prompts similar to how this one does. I was hoping it would chain prompts and also follow the reference properly in the new chains, but none the less, really amazing extending the input image capaibility.

    ugurdoyduk341Aug 4, 2026· 3 reactions
    CivitAI

    A great WF and Node

    joeygambino
    Author
    Aug 4, 2026

    Thank you!

    simonishereAug 5, 2026· 3 reactions
    CivitAI

    Thanks! i was making my own nodes (with zero knowledge of what i was doing) but these ones are already enough for me, thanks again, i'll be publishing videos attaching this workflow :)

    joeygambino
    Author
    Aug 5, 2026

    Awesome, thanks!

    modelosiadiamon2026340Aug 5, 2026· 1 reaction

    aquí tu alumno maestro voy a probar este wf, gracias a creador

    poltergeisha360Aug 5, 2026· 3 reactions
    CivitAI

    Amazing work! Any chance of maybe an alternate version of the node or an alternate input that accepts a batch of images?

    EDIT: I made a pull request adding this as an option, take a look on your repo if you're interested :)

    For complex motion it's nice to have a few frames at the start and end for consistency in motion, but then the number of frames starts adding up quickly and it's easy to pass 6. Also it's handy if you have a video source and want to specify a set of frames to keep from the original.

    joeygambino
    Author
    Aug 5, 2026· 2 reactions

    On it, and thank you for the tip! I'll be working on this today as well.

    poltergeisha360Aug 5, 2026

    @joeygambino Excellent! I appreciate your work. I also made a pull request to make working with the index ranges a little easier and to change the fractions to percentages (I got caught by frame 1 being the end of the video when I was working with absolute indices haha). Now if I could just figure out how to get MiniMax to exactly inpaint audio into the edited regions I'd have all the tools I need XD

    taniasandersAug 5, 2026· 2 reactions
    CivitAI

    Interesting, but I don't see the point of using quantized models; my workflow already has a 15GB text encoder and the int8 convrot that is 20GB.

    joeygambino
    Author
    Aug 5, 2026

    Without knowing which workflow, models and hardware you're running, it's difficult to respond to this.

    blhllAug 5, 2026

    @joeygambino quote: "The text encoder is evicted before sampling. The Qwen3-VL encoder (~16.5 GB even at Q4) and the H3 DiT (~25 GB) do not co-fit on a 32 GB card, so the DiT was loading partially and streaming ~19 GB from system RAM on every sampling step. " Question- Only gguf text encoders can be evicted per this WF logic?

    joeygambino
    Author
    Aug 5, 2026

    @blhll No, it's not GGUF-specific - the eviction has nothing to do with the file format. It matches on the CLIP object's ModelPatcher and calls model_unload() on it. Every ComfyUI CLIP carries one no matter how it was loaded, so a safetensors encoder is freed by exactly the same call. The reason it comes up mostly with GGUF is just that GGUF is what people are running at these sizes; the loader node in the pack takes both formats and neither is treated differently.

    One thing worth knowing, since it's the failure mode that actually bites: if the node cannot match your CLIP against the loaded models, it falls back to unloading everything. That's still safe where it sits - conditioning is fully computed by then, and the VAE reloads on demand after sampling - but it's blunter than intended. It tells you which path it took in the console:

    [H3FreeTE] unloaded 1 model(s); 4.2 -> 21.8 GB free <- targeted, ideal

    [H3FreeTE] unloaded all models; 4.2 -> 22.1 GB free <- fallback fired

    So, if the encoder does not seem to be getting freed, that line is the thing to check rather than the file format. Worth adding, because the quoted numbers are from a 32 GB card: whether you need the node at all depends on whether the encoder happens to already be unloaded when sampling starts. In a long session where earlier nodes have freed it, you may

    never notice the problem. Fresh start, encoder resident, big DiT - that's when the streaming shows up. The tell is power draw rather than utilization: a card shuffling weights sits near 100% "utilization" while pulling a fraction of its rated watts.

    blhllAug 5, 2026· 1 reaction

    @joeygambino yeah , I am using 24GB VRAM, plus 128 GB RAM, so using MiniMAx puts shared memory constantly at ~80% plus ofc main VRAM at 100%, thats why I am asking, if offloading text encoder will help with this :)

    joeygambino
    Author
    Aug 5, 2026· 1 reaction

    @blhll Oh, absolutely. I have some new fl2va and ref2va GGUFs going up later today that should help with headroom there as well. 11GB Q4_0, 14GB Q5_1, and a Q8_0 at only 20GB - so even the Q8 should leave you with a little space for VAEs and activations.

    UnderbashAug 5, 2026· 1 reaction
    CivitAI

    Super helpful workflow. One issue I'm having is that in my experience it seems to forget what the audio was doing in the previous segments. If I prompt for "energetic pop-rock music" it still generates that in each segment, but it's like a completely different song in each one. Also the voices have no consistency between segments. Is there a way to mitigate this?

    joeygambino
    Author
    Aug 5, 2026

    I have a workflow in the works right now that will use the H3 rev2v models, that hopefully should help with audio consistency. I expect to have it up sometime today after a whole lot of testing.

    UnderbashAug 5, 2026

    @joeygambino Awesome, I'll be excited to try it. Your workflow works great otherwise. The only other issue I had is that there's a little bit of a "hitch" where the segments are joined but it's not a huge deal. Is there a way to avoid that? I'm using the AIO version.

    joeygambino
    Author
    Aug 5, 2026

    @Underbash I will look at the hitch, I honestly thought I got it as smooth as possible, but the last few days I've only been working on models and demos and workflows and haven't had much time to actually generate any real renders for myself yet - but I'll check it out and see if I can get it even smoother!

    UnderbashAug 5, 2026· 1 reaction

    @joeygambino Nice, thanks. It's not too bad, but I did notice it when there was a lot of motion going on between the transitions. Maybe that made it more noticeable, idk. Good work though!

    Workflows
    MiniMax H3

    Details

    Downloads
    251
    Platform
    CivitAI
    Platform Status
    Available
    Created
    8/5/2026
    Updated
    8/21/2026
    Deleted
    -

    Files

    minimaxH3MultishotSeamlessChain_v12.zip

    Mirrors