CivArchive

    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

    2.6.3 — the prompt the model was trained to read

    This version rolls up 2.6.2 and 2.6.3. Update by replacing the node pack folder (or update in ComfyUI Manager) and reloading the workflows from the zip. Your saved canvases keep working - nothing about the node layout changed.

    Prompts now match MiniMax's own spec

    MiniMax published the exact prompt format H3 was trained on. This release closes every gap we found between that spec and what the pack actually sent:

    • Reference prompts go out in the documented section order. The section that defines who <Subject 1> is now comes BEFORE the description that uses it - it used to be appended after. Two sections that were never sent at all are now included, and one of them finally tells the model "no background music" outright.

    • Both samplers explain the reference images. Attached photos arrive labelled <Picture 1>, <Picture 2>... and only one of the two samplers ever told the model what those labels meant. Now both do - and a frame carried between chained shots is declared as the shot's starting frame instead of being mistaken for a face reference.

    • Keyframe modes send the documented alignment line. First frames, last frames and boundary plates now announce themselves the way the model was trained to read them. Three paths sent nothing before.

    • Removed a self-defeating negation. The reference block used to say a second character is "never blended with" the first. There is no negative prompt at cfg 1.0, so that sentence only put the idea of blending INTO the render. It now states what each person keeps instead.

    Auto Refs: five characters no longer cast three

    The automatic scan stopped at the first three characters it found. With five, two of them got no photos while the writer still pointed them at "the reference photographs" - and a character pointed at photos that do not exist renders as a random person. The scan now takes up to nine characters and splits the model's nine photo slots across everyone it matched (2 characters keep 3 photos each, 4 get 2, five or more get 1), and prints the split. Fewer characters per run still holds a face more firmly - but every named character now casts somebody.

    One number for window length

    In extend-take mode the frames_per_shot box was silently ignored - a window sized for your card took over. Now window = auto follows the frames_per_shot you typed (snapped to the legal grid, and the console says so), picking an explicit window still wins, and the old card-aware sizing is still there as fit this card (VRAM auto) - choose it when you want the fewest joins that will not thrash rather than an exact length. The shipped workflow is set to 243, which is exactly what it rendered before.

    Remote encoding: fails fast, starts fast

    • A wrong or unedited address on the remote text encoder used to surface at the first encode - AFTER the LLM writer had spent minutes on a script that then went in the bin. The node now checks the address the moment it runs: empty box, untouched placeholder, or unreachable host each fail in about a second, with the fix named in the message.

    • First shot no longer crawls. With the encoder on another box, models left over from your PREVIOUS run were never cleared, the memory planner saw a full card, and shot 1 ran 2-3x slower than shot 2 (measured 65 s/it against 27). Both samplers now sweep leftovers once before the first model load and print what they cleared.

    New in the pack

    • H3 Retake - redo one stretch of a finished clip and keep the rest. Load the clip, set a time window, write a prompt for that moment. Picture and sound are independent: redo both, keep the performance and change the picture, or keep the picture and change the line.

    • The prompt picker now lists EVERY registered prompt folder - a corpus added through extra_model_paths.yaml used to sit invisible.

    • Writer rules: recurring characters keep a readable face in frame and every shot ends on the face (identity re-locks from a shot's closing frames - a shot that ends on the back of a head hands the next shot a stranger); anything uncanny never turns to the lens and the world never reacts on cue; the camera is directed in the model's own trained vocabulary, with "holds a static shot" as the way to hold still - never "does not move", which freezes the frame.

    • Writer node: local Ollama endpoints get a proper context size - the 4096 default silently truncated long system prompts.

    FAQ

    Comments (61)

    egin1992654Aug 21, 2026
    CivitAI

    You saw that new latent upscaler similar that ltx have? https://huggingface.co/LBH-123-AI/Minimax_h3_latent_Upscaler
    can you ad it to wf?

    joeygambino
    Author
    Aug 21, 2026

    I did not see that, actually, I will check it out, thanks!

    mrmagAug 21, 2026· 3 reactions
    CivitAI

    I'd appreciate if someone could translate this stupid AI generated 'explanation'? text into normal English. Or Chinese or Japanese or ANY language google translate can turn into understandable English for a normal human being. Thank you!

    joeygambino
    Author
    Aug 21, 2026· 1 reaction

    Which explanation? This isn't an easy-mode workflow. But you'll have to be far more specific about what you don't understand to get an explanation for you translated into smaller words.

    mrmagAug 22, 2026· 1 reaction

    @joeygambino It is not that I cannot understand OTHER explanations that are written in English. Yours read like they either come from some obscure ancient language auto-translated with 2015 version of google translate or maybe you just want to sound 'cool' (or asked the AI to sound that way?) and not to convey what the workflow actually does. In case you don't speak English yourself and wrote this yourself in your native language I would HIGHLY! recommend using a better LLM method to turn this into English because even though the words are correct, it is very poorly written if you want other users to UNDERSTAND how to use the workflow. I really appreciate the effort you put into this and I wanted to give your workflow a try, because my own workflows currently only chain shots by using the last frame which makes the output degrade noticeably with each shot.

    A major critique I have for the workflow itself is the alignment of nodes. People read from left to right (in most parts of the world) and from top to bottom. So your graph should flow from left to right as well. All things to read for the general workflow on the left, then inputs and switches on the left of the actual graph, then the logic/sampler in the middle and the output on the right side. This makes the whole workflow fit a bit worse on a 16:9 30" monitor for sure and you will need to scroll a bit, but you can at least follow what is going on and know where to look.

    People can re-align the elements if required if they don't want to scroll, but to UNDERSTAND what is going on, having this rectangular alignment is a major hurdle (I know that YOU might be able to work with it as you know your way around it, but as you don't release this for you but for others, this prevents them from understanding what is going on).

    As an aside: an 'one workflow does it all' is nice IFF you fully understand everything. But people want specific things. I personally want to use a ref2va workflow with one start image and one or more reference images for the global scene as reference and maybe 1/2 images for specific characters and then chain say four 15s shots together for a 1 minute. That is MY use case. And I assume your WF would be able to do that. I DON'T want the prompts to be LLM rewritten in the workflow as I do that in my LLM externally and can then easily re-use the prompts multiple times without the need to load the LLM again.

    What you could/should do is to have a table with one row for each use-case and then for each use case which settings are required to make the workflow perform this specific act.

    snake88Aug 22, 2026
    CivitAI

    I was on 2.6.1 now going to check out 2.6.3 but I have a question, I was doing fully manual prompting - I was trying to manually stick to the H3 official spec for ref2va (6 sections etc) - with the prompt enhance node bypassed and not selecting folder prompt, is there anything in the workflow that is "altering" the prompt I manually send in?

    Related to that, if I use a start_image ref_images, I assume start_image is always <Picture 1> in the prompt? Or any guidance on which input slots take precedence would be helpful. I assume the other keyframe images other than start_image (anchor) one cannot be used in ref2va move though.

    edit: One interesting thing, with 2 ref image and 1 start_image, I refer to the start_image as <Picture 1> and the refs as 2 & 3, stating that <Picture 1> is the fully preserved start frame, and that seems to work. The console reads as 2 ref images carried in everyshot.

    McClippyAug 22, 2026· 4 reactions
    CivitAI

    Thanks for the free workflow, but consider consolidating the documentations and instructions and switches in one place somewhere in the workflow instead of going where's Waldo with all the notes.

    Also I can't tell if any of the switches are working because the nodes aren't coloured in/faded when the switch is set to 'off'.

    I get what the workflow is trying to do but after an hour its still throwing errors and untangling everything is a headache.

    joeygambino
    Author
    Aug 22, 2026

    If you have error, post them, and I'm happy to help. The switches work when they're on, and they don't work when they're off. Visual design isn't my forte, but I'm not going to add pretty colors just to define how a switch works. Obvious things are obvious. I've been more than willing to offer help - as can be seen from my responses to everyone else - if asked politely.

    It's not an easy-mode workflow and it requires effort - both to build, and to use. ComfyUI provides several templates for people who want things to work out of the box.

    jzaamirAug 22, 2026· 3 reactions
    CivitAI

    Hey thanks for the Easy Mode WF, and double thanks for keeping it neat and organized, the previous WF that I downloaded was messy and all over the place. Thank you,

    keraloAug 22, 2026

    I totally agree. It was working but oh boy it was a hassle to set up kinda...

    Sanchez3Aug 22, 2026
    CivitAI

    I appreciate your work with this workflow, I really do. But I have to say that I have honestly never seen such a weirdly structured workflow.

    There seems to be no hierarchy. Things that should be clustered together are all over the place. Things are missing or at least I can find them.

    There are two reference images but why can't I add audio along the two reference images (1 audio file per ref image)

    The comments speak of toggles that are not there. E.g. in the prompt are there seems to be a toggle missing to switch between free mode and llm mode. I might not be able to find it again though.

    Usually I have no problems following a workflow even though it's quite complicated because I can orient myself on the structure and follow along. No chance with this workflow.

    I also don't see any visual feedback when I toggle something on or off.

    joeygambino
    Author
    Aug 22, 2026

    I uploaded Easy Mode a little while ago. I'm not sure how to make it any more user friendly. Anybody is welcome to change things at will. If you want visual feedback for toggles, you can add it, my brain just knows on = on and off = off. I am just sharing things I use for myself, what people do with them is up to them. Unfortunately, I can't tailor the workflows for every single person, and the great majority of the ~7,000 people that have downloaded them seem to be doing alright. If you need specific help with something that isn't working, just ask, I am always happy to explain things to the best of my ability.

    sebboraketti22295Aug 23, 2026
    CivitAI

    What settings would you recommend so I can get the audio working properly? I'm not sure if the issue is in the sampler settings or somewhere else. I've tried both with and without the Turbo LoRA. I usually use minimax_h3_ref2va_pruned_int8_convrot and 20 steps (I also tested MiniMax-H3-ref2va-curve-Q5_1.gguf). The audio usually has strange mumbling, artifacts, or other weird noise. I haven't really tested anything other than this workflow of yours, so I can't say yet if my settings are somehow wrong in this specific workflow. There are no issues with the reference audio / spine, but when MiniMax generates the audio itself, it sounds absolutely terrible :D

    joeygambino
    Author
    Aug 23, 2026

    This is almost usually prompt-side, not sampler-side. In order of likelihood:

    Put dialogue in straight double quotes. H3 only speaks clean words that are quoted in the prompt: He says, "The lights came back on around three." If there's no quoted line, the model fills the speech space with exactly the muttering you're describing. One quoted line per shot works best.

    Size the line to the shot. Roughly 2 words per second — a 10-second shot wants a 15–20 word line. A 3-word line in a long shot gets padded with mumble.

    Name your sounds. Whatever the scene should sound like, say it outright: "rain ticking on the window, a refrigerator hum, distant traffic." If the prompt says nothing about audio, H3 invents it, and it invents weird.

    Check the audio VAE is minimax_h3_audio_vae_fp32.safetensors — a half-precision or third-party audio VAE produces static-y, smeared audio no matter what the sampler does.

    Steps: leave them at the workflow default (14, euler/beta57). 20 doesn't help and can hurt with the Turbo LoRA stacked.

    About that ref2va_pruned_int8_convrot file — that's not one of ours, and pruned cuts can gut the audio layers specifically while video still looks fine. Our Q5_1 GGUF that you tested is audio-safe, so do your comparing on that one. (And if you use voice reference clips: they must be stereo — mono refs break the audio path.)

    If it still mumbles after 1–3, post your prompt text and I'll take a look.

    sebboraketti22295Aug 23, 2026· 1 reaction

    @joeygambino Thank you so much for all the help and effort! I’ll still try to get the audio working. I assume my H3 prompting is probably pretty weak :D

    By the way, there’s one really useful addition I would make to your workflow. I do this manually every time because it saves a lot of time and is really convenient: I add a Model Preview Override node between the model and Loras, so I can preview the video and stop the generation if it starts producing something completely random :D

    But if you think it uses an unreasonable amount of VRAM/RAM, then I totally understand why you haven’t included it in the workflow.

    joeygambino
    Author
    Aug 23, 2026

    @sebboraketti22295 The way I've tried to get around live previews is the "Save every shot" option. That way you can review your shots as they're rendered and then stop the workflow if you don't like one - and then restart the workflow at the last shot you did like.

    sebboraketti22295Aug 24, 2026

    @joeygambino I got the audio working by far the best with the minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16 LoRA, and with 8 steps the results come out really fast! I’ve also learned how to use the “AUTO REFS” folder function in my videos, and I was wondering if there’s any way to link a specific voice to a specific person in that workflow — meaning that different characters would have different voices.

    As I understand it now, I can only use one voice for one character because there’s only one Voice Anchor node in the workflow. Or is it actually possible to have multiple different voices for different characters with Minimax H3?

    snake88Aug 24, 2026

    @joeygambino fyi soon (already merged but not yet in a stable release as of 0.33.1) they are fixing how <d></d> work it is intended for speaking that those tags are used instead of " "

    joeygambino
    Author
    Aug 24, 2026

    @sebboraketti22295 Great to hear the 8-step turbo is working well for you. Right now the pack pins ONE voice: the Voice Anchor input (or self_anchor_voice) becomes <Audio 1>, and the workflow writes the reference text that ties it to your first subject's voice. There is no second voice slot in the current release.

    The pattern that works today for multiple characters:

    Pin your MAIN speaker with the Voice Anchor (clean solo line, or let self_anchor_voice capture shot 1).

    Give every OTHER character a short voice description right beside their quoted line in the prompt — "MARCUS, in a low gravelly American voice, says: '...'". Distinct descriptions keep the voices apart shot to shot.

    Proper per-character voice references (Audio 2 tied to Subject 2, and so on) is a clean extension of how the reference text is built — it's on our list.

    joeygambino
    Author
    Aug 24, 2026

    @snake88 Thanks for the heads-up — we're tracking that merge. The pack's templates use straight double quotes because that's what the current stable path expects. Once the tag handling lands in a stable ComfyUI release we'll A/B the two dialogue forms and update the templates if the tags win.

    sebboraketti22295Aug 25, 2026

    @joeygambino Okay, good to know. Do you think it might be possible in the future to combine voice and identity in a way where, for example, there’s a folder called “Marcus” inside the “h3_refs” folder containing images of his identity and an audio file of his voice, so that H3 could use them together? I’m mainly wondering whether something like this would even be practically possible with this model.

    sebboraketti22295Aug 26, 2026

    @joeygambino I’m also asking this while I’m at it: I was thinking of making a video with, say, 4 shots and 4 images, where each image is supposed to be the starting frame of each shot in sequence. Is there any way to do this?

    I tried using FFLF Plates, but the results were extremely weird :D

    So basically: Shot 1 starts with Image 1, Shot 2 starts with Image 2, and so on

    joeygambino
    Author
    Aug 26, 2026

    Multiple voice references already work today, just not from the folder yet.

    On the sampler there are three inputs that do exactly this together:

    reference_images — a batch of your character photos (Batch Images to combine several people)

    reference_subjects — declares how those photos group into PEOPLE, in order voice_ref, voice_ref_2, voice_ref_3 — one voice anchor per subject group, in that same order

    So Marcus's stills and a clean solo line of Marcus's voice do travel together as one character. I tested it blind on a two-hander and the voices stayed separate — no blending between them.

    There's also self_anchor_voice: switch it on and shot 1's own audio automatically becomes the voice reference for every later shot, so a chained take keeps one voice without you supplying a file at all.

    What you're describing — an audio file sitting inside h3_refs/Marcus/ next to the images and getting picked up automatically — is the packaging, and that part doesn't exist. The auto-refs node only scans image subfolders. It's a good idea and I've noted it; the plumbing underneath is already there, it just needs the node to look for a voice clip in each folder and hand it to the matching voice_ref slot.




    One image per shot:

    Yes, and I think I know why it went weird: N shots need N+1 images, not N.

    Set continuity to flf_chain and feed keyframe_images a batch of boundary stills in order. Shot i is generated between image i and image i+1. So for 4 shots you need 5 images: shot 1 runs image 1 → image 2, shot 2 runs image 2 → image 3, and so on, with image 5 closing shot 4.

    With only 4 images for 4 shots the boundaries land one short and every join is fighting the wrong target — which is what "extremely weird" usually looks like.

    One more thing that matters more than it sounds: where the stills come from. Separate, individually generated images tend to read as hard cuts, because each one has its own color, its own framing and a slightly different face. The best source is a single long low-res pass of the whole scene, with frames pulled at the boundary times — those are already color-matched, identity-matched and correctly posed, so each join inherits one consistent look. Cropping several plates out of one wide image works well too.

    sebboraketti22295Aug 26, 2026

    @joeygambino Now I understand, but I have a problem. I fill all 4 BOUNDARY PLATE images so that the intention is to create a three-shot video where Shot 1 animates the PLATE0 image into PLATE1, Shot 2 animates PLATE1 into PLATE2, and finally Shot 3 animates PLATE2 into PLATE3.

    However, only PLATE0 transitions completely correctly into PLATE1. After that, when PLATE1 transitions into PLATE2, it somehow picks up the image from PLATE0 again and mixes it into the video, which messes up the continuity.

    Is this caused by poor prompting, or is there some setting I need to change? Continuity is set to flf_chain.

    snake88Aug 26, 2026

    @sebboraketti22295 some comfyui core changes may help you with audio now.

    joeygambino
    Author
    Aug 27, 2026

    @sebboraketti22295 

    Not your prompting — you wired it exactly right, and your description pinpointed a real bug in the pack. Here's what's happening: with continuity=flf_chain, the seamless-chain memory bank still runs, and its default (bank_pinned=1) pins a reference clip of shot 1 into every later shot. Shot 1 opens on your PLATE0, so PLATE0 keeps coming back from shot 2 onward. Shot 1→2 looks perfect because the bank is empty for shot 1.

    Fix on your current build: set bank_pinned = 0 on the sampler (and memory_frames = 0 if you raised it). In flf_chain the boundary plates carry all the continuity, so the bank isn't needed there at all.

    The next update makes this automatic — flf_chain will ignore the bank and print a note saying so. Thanks for the precise report; "it picks up PLATE0 again in shot 2" is what made this findable.

    sebboraketti22295Aug 27, 2026

    @joeygambino Great that I was finally able to be of some help! :D I struggled with that for nearly seven hours, and then I had to give up because I just couldn't figure out what could be causing the problem anymore... I'll test the latest version today, as soon as I have enough time. I also meant to ask, can I add more of these PLATEs than the four that are included by default, as long as I connect them together correctly? So, if I need one or two additional images / a longer video.

    sebboraketti22295Aug 28, 2026

    @joeygambino By the way, is it normal that when I try to create a video using the Auto Refs mode with your latest workflow, I always get this error: "## Error Details

    Node ID: 30

    Node Type: H3MultishotMemorySampler

    Exception Type: RuntimeError

    Exception Message: RuntimeError: shape mismatch: value tensor of shape [1272, 32] cannot be broadcast to indexing result of shape [1346, 32]"

    I have to change the continuity setting to Seamless, which allowed me to get it working, but do you know why context_pin no longer works? The full error message seems to suggest that it has something to do with a conflict between the audio and video, according to the AI, but I don't have any external audio sources enabled.

    sebboraketti22295Aug 28, 2026

    @joeygambino Claude thought that the latest ComfyUI-H3-Motion-Context update might be messing up the use of context_pin? Mine seems to be version 0.4.0, so I downgraded it back to 0.3.1, and now it seems to be working again.

    anubi13Aug 23, 2026· 1 reaction
    CivitAI

    I am new at this. I love this workflow. Works amazing and it is so easy to use. it works better than other workflows I used before with Ref images. I do have one question: I put the prompt with the scenes divided by --- and it does a great job. Amazing actually. But I thought this was a multi shot as in stitching the shots together to create longer videos. I can only do 20 seconds (481) frames. I am happy with 20 seconds but I was wondering if I am missing something. If I increase the shot count to 2 it basically reruns the whole thing. I am doing it wrong, right?

    joeygambino
    Author
    Aug 23, 2026

    You're doing it right — one detail is hiding from you. The stitched long video is saved to a separate folder, not the preview you see in the workflow:

    Keep your scenes split by --- exactly like you're doing. One block = one shot.

    Set shot_count to your number of scenes (or 0 to count them automatically). Each scene renders as its own segment and they're joined with the character, voice, and look carried across.

    The finished long video is written to ComfyUI\output\video\H3CHAIN_STREAM\master_00001.mp4 (number goes up each run). The video node inside the workflow only shows a short placeholder when the low-RAM master option is on — that's why it looked like it just re-ran the same 20 seconds. The console also prints the exact path on a "master written:" line.

    Length = scenes × your frames setting. So 481 frames with 3 scenes ≈ a 60-second master (each segment replays about 1 second of the previous one to stay seamless, so it's a touch under).

    Tip: write each --- block as the next beat of the same story, and repeat your character's description words in every block — the joins hold better. If shot_count is higher than your number of blocks, the last block just continues — that's intentional.

    Glad it's working for you — this is exactly what multishot is for.

    anubi13Aug 23, 2026

    @joeygambino Thank you for the response. I don’t see a chain_stream folder but I did just make a 30 sec video. I was using more than 3 —- maybe thats why.

    I think it’s working now, thank you.

    Couple of questions. The seamless chain and the extend take json files are the same right?

    I am a noob do I do not know, but is there a way to do a vram purge after each shot if the multi shot sequence?

    Hey, thank you for the workflow. I appreciate it!

    denolim465778Aug 23, 2026
    CivitAI

    HI, i tried another WF before i saw yours. you both use H3 Continuum Assemble + Seam V3.4.

    My 5090 with 96GB RAM OOMs in both workflows.

    (But someone who has the same hardware as me has no problems at all)

    I have send him some Error Logs. This was his response. Maybe it's some kind of interest to you.

    The generation itself is completing, but the failure happens later in H3 Continuum Assemble + Seam V3.4, when it tries to allocate another very large block of system RAM for the final decoded video. Seeing the same type of failure with Spectrum both ON and OFF also helps narrow this down considerably.

    joeygambino
    Author
    Aug 23, 2026

    Can you send me the error logs as well? Feel free to open a discussion on HF:

    joeygambino/MiniMax-H3-Multishot-Workflow · Hugging Face

    I run and test my workflows on two machines - one is also a 5090 with 96GB and the other is a 3090 with 64GB.

    denolim465778Aug 23, 2026

    Thank you. Im not much on HF.

    i copied what i thought is important for you

    COMFY ERROR LOG

    SPECTRUM ON

    # ComfyUI Error Report ## Error Details - Node ID: 275 - Node Type: H3ContinuumAssembleSeamV34 - Exception Type: RuntimeError - Exception Message: RuntimeError: [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes. ## Stack Trace ``` File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 344, in get_output_data return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 312, in asyncmap_node_over_list await process_inputs(input_data_all, 0, input_is_list=input_is_list) File "C:\ComfyUI\ComfyUI\execution.py", line 306, in process_inputs result = f(**inputs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\driving_nodes.py", line 206, in assemble images, audio, report = super().assemble(*args, **kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 388, in assemble result_images, result_audio, report = assemble_decoded_chunks( ~~~~~~~~~~~~~~~~~~~~~~~^ images=image_chunks, ^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... diagnostics=str(_singleton(diagnostics, "diagnostics")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 307, in assemble_decoded_chunks return assemblewith_hardening(_assemble_decoded_chunks_v300, args, kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\hardening.py", line 531, in assemble_with_hardening result = base(*args, **kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 132, in assemble_decoded_chunks image_buffer = torch.empty( (total_retained_frames, segment_images.shape[1:]), dtype=segment_images.dtype, device="cpu", ) ``` ## System Information - ComfyUI Version:* 0.33.0 - Arguments: ComfyUI\main.py --windows-standalone-build --fast fp16_accumulation - OS: win32 - Python Version: 3.13.12 (tags/v3.13.12:1cbe481, Feb 3 2026, 18:22:25) [MSC v.1944 64 bit (AMD64)] - Embedded Python: true - PyTorch Version: 2.13.0+cu130 ## Devices - Name: cuda:0 NVIDIA GeForce RTX 5090 : cudaMallocAsync - Type: cuda - VRAM Total: 34190458880 - VRAM Free: 32437698560 - Torch VRAM Total: 67108864 - Torch VRAM Free: 33554432


    2026-08-22T16:34:53.268859 - [1m[33m[WARNING][0m [DEPRECATION WARNING] Detected import of deprecated legacy API: /scripts/ui.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version. 2026-08-22T16:34:53.269162 - [1m[33m[WARNING][0m [DEPRECATION WARNING] Detected import of deprecated legacy API: /scripts/ui/components/buttonGroup.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version. 2026-08-22T16:34:53.272604 - [1m[33m[WARNING][0m [DEPRECATION WARNING] Detected import of deprecated legacy API: /extensions/core/clipspace.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version. 2026-08-22T16:34:53.273133 - [1m[33m[WARNING][0m [DEPRECATION WARNING] Detected import of deprecated legacy API: /extensions/core/groupNode.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version. 2026-08-22T16:34:53.273780 - [1m[33m[WARNING][0m [DEPRECATION WARNING] Detected import of deprecated legacy API: /extensions/core/widgetInputs.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version. 2026-08-22T16:34:53.559113 - [Glide Video] ffmpeg: .\ffmpeg.EXE (224 encoders; libx264, libx265, av1_nvenc, hevc_nvenc, h264_nvenc, prores_ks, ffv1)2026-08-22T16:34:53.559291 - 2026-08-22T16:34:54.015297 - [1m[33m[WARNING][0m Ref2VA requires ffmpeg/ffprobe on the system PATH; currently ffmpeg='.\\ffmpeg.EXE' ffprobe=None 2026-08-22T16:34:55.298900 - [1m[33m[WARNING][0m [DEPRECATION WARNING] Detected import of deprecated legacy API: /scripts/ui/components/button.js. This is likely caused by a custom node extension using outdated APIs. Please update your extensions or contact the extension author for an updated version. 2026-08-22T16:34:55.299843 - [32m[INFO][0m [Workflow-Models-Downloader] Settings saved 2026-08-22T16:34:55.300706 - [32m[INFO][0m [Workflow-Models-Downloader] Settings saved 2026-08-22T16:34:56.097857 - 🔧 Settings endpoint called2026-08-22T16:34:56.098257 - 2026-08-22T16:34:56.098477 - 🔧 Received settings: precision=auto, device=auto, vc_engine=chatterbox_23lang, cosyvoice_variant=RL2026-08-22T16:34:56.098531 - 2026-08-22T16:34:56.098747 - 🎨 Step Audio EditX inline tags: precision=auto, device=auto2026-08-22T16:34:56.098842 - 2026-08-22T16:34:56.098922 - 🔄 Voice restoration engine: chatterbox_23lang2026-08-22T16:34:56.098969 -

    2026-08-22T16:40:18.805590 - #[32m[INFO]#[0m Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    2026-08-22T16:40:23.735758 - #[1m#[33m[WARNING]#[0m Spectrum H3: accepted H3 Continuum API v1, actual prefix=2

    2026-08-22T16:40:23.736241 - #[32m[INFO]#[0m Requested to load MiniMaxH3

    2026-08-22T16:47:23.312880 - #[32m[INFO]#[0m Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    2026-08-22T16:47:28.326961 - #[1m#[33m[WARNING]#[0m Spectrum H3: accepted H3 Continuum API v1, actual prefix=2

    2026-08-22T16:47:28.327626 - #[32m[INFO]#[0m Requested to load MiniMaxH3

    2026-08-22T16:47:28.408244 - #[32m[INFO]#[0m Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    2026-08-22T16:49:09.749932 -

    100%|


    2026-08-22T16:51:53.392073 - #[32m[INFO]#[0m Model MiniMaxH3VideoVAE prepared for dynamic VRAM loading. 4965MB Staged. 0 patches attached. Force pre-loaded 128 weights: 348 KB.

    2026-08-22T16:52:11.567933 - #[1m#[31m[ERROR]#[0m !!! Exception during processing !!! [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes.

    2026-08-22T16:52:11.570434 - #[1m#[31m[ERROR]#[0m Traceback (most recent call last):

    File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute

    output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\ComfyUI\ComfyUI\execution.py", line 344, in get_output_data

    return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\ComfyUI\ComfyUI\execution.py", line 312, in asyncmap_node_over_list

    await process_inputs(input_data_all, 0, input_is_list=input_is_list)

    File "C:\ComfyUI\ComfyUI\execution.py", line 306, in process_inputs

    result = f(**inputs)

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\driving_nodes.py", line 206, in assemble

    images, audio, report = super().assemble(*args, **kwargs)

    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 388, in assemble

    result_images, result_audio, report = assemble_decoded_chunks(

    ~~~~~~~~~~~~~~~~~~~~~~~^

    images=image_chunks,

    ^^^^^^^^^^^^^^^^^^^^

    ...<6 lines>...

    diagnostics=str(_singleton(diagnostics, "diagnostics")),

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    )

    ^

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 307, in assemble_decoded_chunks__pf4u1vbibgkl****__

    return assemblewith_hardening(_assemble_decoded_chunks_v300, args, kwargs)

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\hardening.py", line 531, in assemble_with_hardening

    result = base(*args, **kwargs)

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 132, in assemble_decoded_chunks

    image_buffer = torch.empty(

    (total_retained_frames, *segment_images.shape[1:]),

    dtype=segment_images.dtype,

    device="cpu",

    )

    RuntimeError: [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes.


    2026-08-22T16:52:11.572492 - #[32m[INFO]#[0m #[32mPrompt executed in 483.45 seconds#[0m

    denolim465778Aug 23, 2026

    @joeygambino COMFY ERROR LOG

    SPECTRUM OFF

    # ComfyUI Error Report ## Error Details - Node ID: 275 - Node Type: H3ContinuumAssembleSeamV34 - Exception Type: RuntimeError - Exception Message: RuntimeError: [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 11040657408 bytes. ## Stack Trace ``` File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 344, in get_output_data return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 312, in asyncmap_node_over_list await process_inputs(input_data_all, 0, input_is_list=input_is_list) File "C:\ComfyUI\ComfyUI\execution.py", line 306, in process_inputs result = f(**inputs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\driving_nodes.py", line 206, in assemble images, audio, report = super().assemble(*args, **kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 388, in assemble result_images, result_audio, report = assemble_decoded_chunks( ~~~~~~~~~~~~~~~~~~~~~~~^ images=image_chunks, ^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... diagnostics=str(_singleton(diagnostics, "diagnostics")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 307, in assemble_decoded_chunks return assemblewith_hardening(_assemble_decoded_chunks_v300, args, kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\hardening.py", line 531, in assemble_with_hardening result = base(*args, **kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 132, in assemble_decoded_chunks image_buffer = torch.empty( (total_retained_frames, segment_images.shape[1:]), dtype=segment_images.dtype, device="cpu", ) ``` ## System Information - ComfyUI Version:* 0.33.0 - Arguments: ComfyUI\main.py --windows-standalone-build --fast fp16_accumulation - OS: win32 - Python Version: 3.13.12 (tags/v3.13.12:1cbe481, Feb 3 2026, 18:22:25) [MSC v.1944 64 bit (AMD64)] - Embedded Python: true - PyTorch Version: 2.13.0+cu130 ## Devices - Name: cuda:0 NVIDIA GeForce RTX 5090 : cudaMallocAsync - Type: cuda - VRAM Total: 34190458880 - VRAM Free: 32437698560 - Torch VRAM Total: 67108864 - Torch VRAM Free: 33554432


    2026-08-22T16:34:52.163472 - [1m[33m[WARNING][0m Traceback (most recent call last): File "C:\ComfyUI\ComfyUI\nodes.py", line 2263, in load_custom_node module_spec.loader.exec_module(module) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "<frozen importlib._bootstrap_external>", line 1023, in exec_module File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed File "C:\ComfyUI\ComfyUI\custom_nodes\was-node-suite-comfyui\__init__.py", line 1, in <module> from .WAS_Node_Suite import NODE_CLASS_MAPPINGS File "C:\ComfyUI\ComfyUI\custom_nodes\was-node-suite-comfyui\WAS_Node_Suite.py", line 44, in <module> from numba import jit File "C:\ComfyUI\python_embeded\Lib\site-packages\numba\__init__.py", line 59, in <module> ensurecritical_deps() ~~~~~~~~~~~~~~~~~~~~~^^ File "C:\ComfyUI\python_embeded\Lib\site-packages\numba\__init__.py", line 45, in ensurecritical_deps raise ImportError(msg) ImportError: Numba needs NumPy 2.4 or less. Got NumPy 2.5. 2026-08-22T16:34:52.163707 - [1m[33m[WARNING][0m Cannot import C:\ComfyUI\ComfyUI\custom_nodes\was-node-suite-comfyui module for custom nodes: Numba needs NumPy 2.4 or less. Got NumPy 2.5.




    TERMINAL

    [INFO] CLIP/text encoder model load device: cuda:0, offload device: cpu, current: cpu, dtype: torch.float16

    [WARNING] Warning, This is not a checkpoint file, trying to load it as a diffusion model only.

    [INFO] Found quantization metadata version 1

    [INFO] Detected mixed precision quantization

    [INFO] Using mixed precision operations

    [INFO] Native ops: nvfp4, mxfp8, float8_e5m2, convrot_w4a4, float8_e4m3fn, asym_w4a8_int8, int8_tensorwise

    [INFO] model weight dtype torch.bfloat16, manual cast: torch.bfloat16

    [INFO] model_type FLOW_AV

    [WARNING] WARNING: No VAE weights detected, VAE not initalized.


    [INFO] got prompt [INFO] VAE load device: cuda:0, offload device: cpu, dtype: torch.float32 [INFO] VAE load device: cuda:0, offload device: cpu, dtype: torch.float16 [INFO] Found quantization metadata version 1 [INFO] Using MixedPrecisionOps for text encoder [INFO] CLIP/text encoder model load device: cuda:0, offload device: cpu, current: cpu, dtype: torch.float16 [WARNING] Warning, This is not a checkpoint file, trying to load it as a diffusion model only. [INFO] Found quantization metadata version 1 [INFO] Detected mixed precision quantization [INFO] Using mixed precision operations [INFO] Native ops: float8_e4m3fn, convrot_w4a4, asym_w4a8_int8, float8_e5m2, nvfp4, int8_tensorwise, mxfp8 [INFO] model weight dtype torch.bfloat16, manual cast: torch.bfloat16 [INFO] model_type FLOW_AV [WARNING] WARNING: No VAE weights detected, VAE not initalized. [INFO] Applying MiniMax H3 Memory Efficient Sage Attention Patch to all transformer blocks [INFO] Requested to load MiniMaxH3VideoVAE [INFO] Model MiniMaxH3VideoVAE prepared for dynamic VRAM loading. 4965MB Staged. 0 patches attached. Force pre-loaded 128 weights: 348 KB. [INFO] Requested to load MiniMaxH3TEModel_ [INFO] Model MiniMaxH3TEModel_ prepared for dynamic VRAM loading. 14956MB Staged. 0 patches attached. Force pre-loaded 410 weights: 4572 KB. [INFO] Model MiniMaxH3TEModel_ prepared for dynamic VRAM loading. 14956MB Staged. 0 patches attached. Force pre-loaded 410 weights: 4572 KB. [INFO] Model MiniMaxH3TEModel_ prepared for dynamic VRAM loading. 14956MB Staged. 0 patches attached. Force pre-loaded 410 weights: 4572 KB. [INFO] Model MiniMaxH3TEModel_ prepared for dynamic VRAM loading. 14956MB Staged. 0 patches attached. Force pre-loaded 410 weights: 4572 KB. [INFO] Requested to load MiniMaxH3 [INFO] 0 models unloaded. [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB. 100%|████████████████████████████████████████████████████████████████| 8/8 [02:17<00:00, 17.18s/it] [INFO] Requested to load MiniMaxH3


    -------------------------------------------------------------------------------------------------------------------------


    [INFO] Model MiniMaxH3VideoVAE prepared for dynamic VRAM loading. 4965MB Staged. 0 patches attached. Force pre-loaded 128 weights: 348 KB. [ERROR] !!! Exception during processing !!! [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 11040657408 bytes. [ERROR] Traceback (most recent call last): File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 344, in get_output_data return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 312, in asyncmap_node_over_list await process_inputs(input_data_all, 0, input_is_list=input_is_list) File "C:\ComfyUI\ComfyUI\execution.py", line 306, in process_inputs result = f(**inputs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\driving_nodes.py", line 206, in assemble images, audio, report = super().assemble(*args, **kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 388, in assemble result_images, result_audio, report = assemble_decoded_chunks( ~~~~~~~~~~~~~~~~~~~~~~~^ images=image_chunks, ^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... diagnostics=str(_singleton(diagnostics, "diagnostics")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 307, in assemble_decoded_chunks return assemblewith_hardening(_assemble_decoded_chunks_v300, args, kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\hardening.py", line 531, in assemble_with_hardening result = base(*args, **kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 132, in assemble_decoded_chunks image_buffer = torch.empty( (total_retained_frames, *segment_images.shape[1:]), dtype=segment_images.dtype, device="cpu", ) RuntimeError: [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 11040657408 bytes.

    [INFO] Prompt executed in 581.07 seconds


    [INFO] Model MiniMaxH3VideoVAE prepared for dynamic VRAM loading. 4965MB Staged. 0 patches attached. Force pre-loaded 128 weights: 348 KB.

    [ERROR] !!! Exception during processing !!! [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes.

    [ERROR] Traceback (most recent call last):

    File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute

    output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)__pfawzrqb9ivo****__

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\ComfyUI\ComfyUI\execution.py", line 344, in get_output_data

    return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\ComfyUI\ComfyUI\execution.py", line 312, in asyncmap_node_over_list

    await process_inputs(input_data_all, 0, input_is_list=input_is_list)

    File "C:\ComfyUI\ComfyUI\execution.py", line 306, in process_inputs

    result = f(**inputs)

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\driving_nodes.py", line 206, in assemble

    images, audio, report = super().assemble(*args, **kwargs)

    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 388, in assemble

    result_images, result_audio, report = assemble_decoded_chunks(

    ~~~~~~~~~~~~~~~~~~~~~~~^

    images=image_chunks,

    ^^^^^^^^^^^^^^^^^^^^

    ...<6 lines>...

    diagnostics=str(_singleton(diagnostics, "diagnostics")),

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    )

    ^

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 307, in assemble_decoded_chunks

    return assemblewith_hardening(_assemble_decoded_chunks_v300, args, kwargs)

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\hardening.py", line 531, in assemble_with_hardening

    result = base(*args, **kwargs)

    File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 132, in assemble_decoded_chunks

    image_buffer = torch.empty(

    (total_retained_frames, *segment_images.shape[1:]),

    dtype=segment_images.dtype,

    device="cpu",

    )

    RuntimeError: [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes.


    [INFO] Prompt executed in 483.45 seconds


    TERMINAL

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    100%|████████████████████████████████████████████████████████████████| 8/8 [01:02<00:00, 7.82s/it]

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    [WARNING] Spectrum H3: accepted H3 Continuum API v1, actual prefix=2

    [INFO] Requested to load MiniMaxH3

    [INFO] 0 models unloaded.

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    100%|████████████████████████████████████████████████████████████████| 8/8 [01:40<00:00, 12.54s/it]

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    [WARNING] Spectrum H3: accepted H3 Continuum API v1, actual prefix=2

    [INFO] Requested to load MiniMaxH3

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    100%|████████████████████████████████████████████████████████████████| 8/8 [01:41<00:00, 12.65s/it]

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    [WARNING] Spectrum H3: accepted H3 Continuum API v1, actual prefix=2

    [INFO] Requested to load MiniMaxH3

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.

    100%|████████████████████████████████████████████████████████████████| 8/8 [01:41<00:00, 12.63s/it]

    [INFO] Model MiniMaxH3 prepared for dynamic VRAM loading. 32427MB Staged. 208 patches attached. Force pre-loaded 210 weights: 1142 KB.



    Force pre-loaded 128 weights: 348 KB. [ERROR] !!! Exception during processing !!! [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes. [ERROR] Traceback (most recent call last): File "C:\ComfyUI\ComfyUI\execution.py", line 545, in execute output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 344, in get_output_data return_values = await asyncmap_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\execution.py", line 312, in asyncmap_node_over_list await process_inputs(input_data_all, 0, input_is_list=input_is_list) File "C:\ComfyUI\ComfyUI\execution.py", line 306, in process_inputs result = f(**inputs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\driving_nodes.py", line 206, in assemble images, audio, report = super().assemble(*args, **kwargs) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 388, in assemble result_images, result_audio, report = assemble_decoded_chunks( ~~~~~~~~~~~~~~~~~~~~~~~^ images=image_chunks, ^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... diagnostics=str(_singleton(diagnostics, "diagnostics")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 307, in assemble_decoded_chunks return assemblewith_hardening(_assemble_decoded_chunks_v300, args, kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\hardening.py", line 531, in assemble_with_hardening result = base(*args, **kwargs) File "C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-H3-Continuum\v3\assembly.py", line 132, in assemble_decoded_chunks image_buffer = torch.empty( (total_retained_frames, *segment_images.shape[1:]), dtype=segment_images.dtype, device="cpu", ) RuntimeError: [enforce fail at alloc_cpu.cpp:117] data. DefaultCPUAllocator: not enough memory: you tried to allocate 8980439040 bytes.

    denolim465778Aug 23, 2026

    @joeygambino regarding the logs:  

    tested T2VA and ref2va with

    - xueluo checkpoint + minimax_h3_fl2va_pruned_int8_convrot.safetensors

    - 4 x 15s

    - 8 steps

    - 0.4 megapixel

    Lora: minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors

    denolim465778Aug 23, 2026

    Thank you for your interest. Send you the Logs and infos regarding this issue.

    while getting desperate testing for 2 days, I had an Idea.

    I shared it with him so i wanna share with you as well. Maybe you like the ideas and know how its done. :-)

    from our conversation:

    I've lost so many scenes I loved in the preview, since i test your workflow. Since they get "lost" when OOM happens because they're saved as safetensors made me think:

    I was like, Why stitching the clips together. Why not finishing each chunk and saving as a video on it's own? It's easy to glue them in a Video Editor.

    The most important part is to have continuous and consistent clips, right?

    So, my question:

    Is it possible to generate each chunk as separate video, without stitching them together in ComfyUI?

    Imagine this:

    1. Your script is 10 x 15s.

    2. Chunk 1 finished, saved as a video in a custom folder (so you can organize your projects),

    3. clearing memory on autopilot

    4. starting next chunk on autopilot.

    and this for all 10 scenes. i can go grab a beer and maybe dont need to worry about a OOM.

    Because it generates 1 video every time.

    I don't know if it's possible because I have no clue about technical stuff, but in my mind it's like this way you can generate infinite videos. instead of trying to press everything into memory in one go.

    Maybe it helps to keep the last few seconds as a safetensor file after the video has been finished.

    In the end, All i need is generated scenes. They don't have to be ONE video immediately.

    What do you think.

    oh, btw.

    i did so many test runs yesterday. After many many hours when I got tired and wanted to generate a specific chunk again, I had no idea if it was Chunk 3 or 7 in the preview.

    Is it possible to ad a live indicator that tells me which chunk it is that it is previewing? :-)

    joeygambino
    Author
    Aug 23, 2026· 2 reactions

    @denolim465778 Just for a quick answer for your last message - there is a save_first_shot_early and a save_every_shot toggle in the sampler already. It will automatically save all of them into a folder for you to review. Then you can use that video as a starting point in the V2V reference group.

    joeygambino
    Author
    Aug 23, 2026· 1 reaction

    Your other issues were fixed in my other workflows that don't use Continuum.

    The crash isn't VRAM and isn't Spectrum: it's the H3-Continuum assembler (a different pack from this one) trying to allocate one 9–11 GB block of system RAM to hold your entire 4×15s chain at once (assembly.py line 132). On a loaded Windows box that single contiguous allocation fails even with plenty of total RAM.

    Ways forward, pick one:

    Use this pack's chain instead: the H3_Seamless_Chain / Extend_Take workflows here assemble the master by streaming each shot to disk — peak system RAM is one shot, not the whole take (low_ram_master, on by default). Your 4×15s runs in a few GB of RAM.

    Stay on Continuum: shorten the chain per assembly, or raise your Windows page file so the big allocation can land — but that's working around a design that holds everything in memory.

    Two side notes from your logs, both worth fixing regardless:

    Ref2VA requires ffmpeg/ffprobe on PATH; ffprobe=None — your audio path is missing ffprobe. Install a full ffmpeg build and add its folder to PATH, or audio features will misbehave silently.

    The minimax_h3_..._pruned_int8_convrot checkpoint is a third-party pruned cut — we've had a report in another thread of degraded audio from pruned files. If you hear mumbling or artifacts, test against the Q5_1 GGUF from this listing before blaming settings.

    The numba/NumPy warning is unrelated (WAS suite) and harmless here.

    denolim465778Aug 24, 2026

    @joeygambino i didn't notice. will look for it. thanks for the hint. appreciate it.

    denolim465778Aug 24, 2026

    @joeygambino thanks a lot for taking time and caring about your followers. well, in the beginning of my AI jorney, I asked a lot the LLMs. they orchastrated me, what to do, what to install, where to install what, etc.

    i have ffmepg installed, but right in my comfyui folder. is this the wrong place? that's what LLM told me to do.  

    joeygambino
    Author
    Aug 24, 2026

    @denolim465778 No problem! Easiest way to do it is to run this command in Powershell so it configures PATH automatically:

    winget install Gyan.FFmpeg


    And it should spit out something like this:

    Found FFmpeg [Gyan.FFmpeg] Version 9.0

    This application is licensed to you by its owner.

    Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.

    Downloading https://github.com/GyanD/codexffmpeg/releases/download/9.0/ffmpeg-9.0-full_build.zip

    ██████████████████████████████ 239 MB / 239 MB

    Successfully verified installer hash

    Extracting archive...

    Successfully extracted archive

    Starting package install...

    Command line alias added: "ffmpeg"

    Command line alias added: "ffplay"

    Command line alias added: "ffprobe"

    Path environment variable modified; restart your shell to use the new value.

    Successfully installed




    From there, you may need to restart ComfyUI so it knows.

    denolim465778Aug 24, 2026· 1 reaction

    @joeygambino thanks a lot my friend.

    snake88Aug 24, 2026
    CivitAI

    Question, for the extended take option, what is the intended behavior when multi prompt is used? So if for example I have two prompts (so one newline --- separator between them) and I intend for the 2nd prompt to just repeat over and over, would extending do that or does it try and also repeat the 1st prompt's actions? If it just repeats the 2nd prompt's shots then I can see that being very useful.

    joeygambino
    Author
    Aug 24, 2026

    Yes, sounds like you got it right - it would only repeat the second prompt.


    first prompt
    ---
    second prompt
    ---

    second prompt
    ---

    second prompt
    ---

    second prompt
    ---

    second prompt

    snake88Aug 24, 2026· 1 reaction

    @joeygambino very cool ty!!!

    joeygambino
    Author
    Aug 24, 2026

    Good question — the three audio inputs are three different injection paths, not three interchangeable slots, so the node does force the roles:

    voice_ref is a true reference row. It becomes <Audio 1>, and the node auto-writes the description the model reads: it's declared as a recording of Subject 1's speaking voice, referenced for timbre.

    guide_audio is not a reference at all — it's the audio spine. Each shot's soundtrack is LOCKED to its time-slice of that track at every sampling step. It forces the audio; it never gets an <Audio n> label you can point at.

    The memory bank's audio rides as the synchronized soundtrack of its <Video n> clip — a scene-continuity row, described that way to the model.

    So if your prompt re-declares one of them as a different person's voice, it fights the description text the node already injected — the model reads both and results get unpredictable. For different voices per subject, today's route is: anchor one voice, describe the others in text next to their lines. Real multi-voice reference slots are on our list.

    snake88Aug 24, 2026
    CivitAI

    Question, if I wanted to use all 3 available audio references that h3 allows, but I wanted to use them differently than how they are labelled in on the memory node, would that work OK? I assume it uses guide, voice ref, and video_audio as <Audio 1 .. 2..3> in that order if all 3 were filled? Does the node itself do anything that would force the audio inputs to be used a certain way despite the prompt? For example if I wanted each to be a different subjects voice instead.

    joeygambino
    Author
    Aug 24, 2026· 1 reaction

    Good question — the three audio inputs are three different injection paths, not three interchangeable slots, so the node does force the roles:

    voice_ref is a true reference row. It becomes <Audio 1>, and the node auto-writes the description the model reads: it's declared as a recording of Subject 1's speaking voice, referenced for timbre.

    guide_audio is not a reference at all — it's the audio spine. Each shot's soundtrack is LOCKED to its time-slice of that track at every sampling step. It forces the audio; it never gets an <Audio n> label you can point at.

    The memory bank's audio rides as the synchronized soundtrack of its <Video n> clip — a scene-continuity row, described that way to the model.

    So if your prompt re-declares one of them as a different person's voice, it fights the description text the node already injected — the model reads both and results get unpredictable. For different voices per subject, today's route is: anchor one voice, describe the others in text next to their lines. Real multi-voice reference slots are on our list.

    sebboraketti22295Aug 28, 2026

    @joeygambino Soo what is currently the best way to get, for example, two Voice_refs to work with different people? If I make an 8-second shot with a frog and a duck,using manual refs images, how do I assign the Voice_ref voice to the frog and the Voice_ref_2 voice to the duck? I believe I have connected those correctly.

    KambaiAug 26, 2026· 1 reaction
    CivitAI

    Question: have you looked at including SLA node from plaguekind node pack as an option in the workflow? from what i hear it's pretty good at reducing generation time while minimizing quality loss. But i'm just an idiot, you're the pro.

    Anyway thanks for sharing this, it's awesome, I have been messing around with this workflow and it works well so far.

    joeygambino
    Author
    Aug 26, 2026· 2 reactions

    Thanks! I have not actually heard of it until now, but I will definitely check it out!

    joeygambino
    Author
    Aug 26, 2026

    There's a SolAttentionPatch node in the model path (from the sol-attn pack). Same family of idea: sparse attention routing to cut the cost of the expensive blocks. On this canvas it's switched on by default and the console reports it patching all 50 attention blocks. It's a big part of why a 10-second 1088×1920 shot fits on a 32 GB card at all.

    I haven't tried PlagueKind's SLA specifically. Worth a look — if it gets the same saving with less quality cost, that's a straight win, and they're not mutually exclusive since they hook different parts. The thing I'd want before recommending it to anyone is an A/B on identical seed and prompt with only that node changing, checking whether fine texture survives rather than just timing it. Speed levers on this model tend to cost detail in the shadows first, which doesn't show up in a stopwatch.

    KambaiAug 26, 2026· 1 reaction

    @joeygambino Cool man. Could just use it as an option that people can experiment with. It can work better for some purposes compared to others. Anyway your workflow is really great. I'm still mind blown that i can generate all these videos on my measly 12 gb card. My laptop has been going non-stop for the last 2 days lol.

    snake88Aug 26, 2026· 2 reactions
    CivitAI

    looks like comfyui core 0.33.1 -> 0.34 has a lot of H3 stuff in it, some fixes, and even something to insert fixed frames at any point in time. Edit: Also I am still on 2.6.1, and I updated 0.33.1->0.34 and happy to report nothing broke, and also now after some testing I no longer get one quick gibberish or unprompted speaking right at start of video due to the comfyui core update. I think the fix to using <d> tags for speech worked. I suspect using "" maybe only suitable for indicating text written on something.

    joeygambino
    Author
    Aug 26, 2026

    I will check it out, I haven't updated in a few revisions, thanks!

    joeygambino
    Author
    Aug 26, 2026

    You're right, and this is the most useful thing anyone's told me about this model in a while.

    I went and checked the official H3 prompt guide after reading your comment, and it's explicit: double quotation marks mean text that is visibly printed on screen — a sign, a banner, a label. Spoken words go inside <d>[English] … </d>, with the speaker's ID, action and delivery outside the tag and only the language tag plus the words inside it:

    Speakers keep a stable ID across shots (S1, S2, and (S1,S2) when two talk together); anyone who never speaks gets no ID. There's also says in an off-screen voiceover for VO, with a note afterwards that the on-screen character's lips stay closed.

    So your suspicion is exactly right — quoting a line was asking the model to paint it on a wall, and leaving the audio unscripted, which is precisely the condition where it invents a syllable at the top of the clip. I'd had my own prompt writer putting speech in double quotes this whole time and have been blaming the model for inventing dialogue. That's on me, and it's fixed now.

    Good to know 0.33.1 → 0.34 is clean on 2.6.1 too, and that the mid-timeline frame insertion landed — that's directly relevant to the question further up this thread about one image per shot.

    snake88Aug 26, 2026

    @joeygambino yeah and also not sure if you meant it this way but S1 and S2 actually refers to the speaker order. So it would be something like <Subject 1> (S1)... <Subject 2> (S2).... <Subject 1> (S3)... the <> before indicates who, the S1 S2 S3 just ensures ordering is my understanding, and I think just say "offscreen" or something if the subject is saying it offscreen.

    snake88Aug 26, 2026
    CivitAI

    Looks like upgrading the below to from 0.3.1 to 0.4.0 and I see thats the dependency for context_pin, caused context_pin to break... looks like MultiShot needs an update for Motion Context 0.4.0 compatibility? (0.4.0 just came out hours ago so)

    https://github.com/NikoDemon80/ComfyUI-H3-Motion-Context/tags

    https://github.com/NikoDemon80/ComfyUI-H3-Motion-Context/compare/v0.3.1...v0.4.0

    *Joy-AI-Echo was also updated by the way, this wasnt the cause of the error but thought I would mention incase there is something that needs updating despite no error from it.
    ---

    Also unreleated but I notice in this terminal print out it is missing the soundscape section, is this intended or? Just want to make sure its not something that has real impact/implications.


    "
    [H3Memory] Ref2VA sections in guide order: subject_definitions, summary, retention_analysis, detailed_description, non_diegetic_music: N/A (H3_LEGACY_SECTION_ORDER=1 to revert)
    "

    snake88Aug 30, 2026

    Update: Test 2.7,2 and yeah for context_pin still currently needs to be on 0.3.1 due to audio latent alignment issue so think needs to be updated to work with latest motion context code.

    Workflows
    MiniMax H3

    Details

    Downloads
    388
    Platform
    CivitAI
    Platform Status
    Available
    Created
    8/21/2026
    Updated
    10/6/2026
    Deleted
    -

    Files

    minimaxH3MultishotSeamlessChain_v263.zip