Home Creators Posts Import Register Favorites Logout

Videos

  • 2026-10-03 23-35-35.mp4
  • 757190099.mp4

Downloads

Content

Hey everyone.

If you watched the Character Swap video https://www.patreon.com/aifuturetech/posts/minimax-h3-swap-171306927/ , you saw the basic pipeline — one LoRA, one sentence prompt, no masking. This post is the advanced version I actually use for my final renders: the Singularity fusion model instead of the base H3 model, plus a multi-stage sampling chain that gets noticeably better motion and graphics out of the same swap.

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

WHAT'S INCLUDED

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

One file attached:

MiniMax-H3 Singularity + Character Swap (Advance) -20261003 — 99 nodes, the full advanced pipeline

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

WHY SINGULARITY INSTEAD OF THE BASE MODEL

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

The base MiniMax H3 diffusion model is great, but Singularity (Minimax-h3_Singularity_ref2va_v1.3, by WarmBloodAban) is a comprehensive fusion fine-tune built on top of H3. In my tests it gives:

- Better motion — the swapped character follows the source movement more naturally, especially in action clips like the backflip and the kick from the video. Less jitter, less "floaty" limbs.

- Better graphics — cleaner textures and detail in the final frames, which matters even more after upscaling. The base model can go soft on fabric and hair; Singularity holds them.

- Full multimodal support — T2V, I2V, Ref2V, V2V all work the same way, so this workflow swaps characters while keeping H3's audio generation alive (the audio VAE is still wired in).

On top of Singularity, this workflow stacks three LoRAs, all at strength 1.0:

1. minimax_h3_lms_v1.0_r64 — the sharpness LoRA. It keeps a natural photorealistic look while sharpening detail. This is the LoRA that gives the "better graphics" edge over the base setup.

2. minimax_h3_ref2v_turbo_4step — the turbo distill LoRA, so 8 steps is enough. (There is also an 8-step RunningHub turbo variant, but I prefer the Comfy-Org 4-step one, and it is what the workflow ships with.)

3. h3_character_swap_pro4500_1000 — the character swap LoRA from the video.

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

THE SINGULARITY WAY OF MULTI SAMPLING

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

This is the heart of the advanced workflow. Instead of one sampling pass, the chain splits the sigma schedule into stages and runs three SamplerCustomAdvanced passes:

Stage 1 — Base generation. BasicScheduler (beta, 8 steps, full denoise) runs through ExtendIntermediateSigmas, then SplitSigmas takes the high segment. Euler sampler, fixed noise. This is where the actual character swap happens.

Stage 2 — Intermediate refine. The second sampler runs with DisableNoise on the low sigmas segment, over the combined audio+video latent. It cleans up structure without adding new noise, so motion stays coherent instead of getting re-rolled.

Stage 3 — Upscale detail pass. The latent goes through MinimaxH3LatentUpscaler3D at 1.5x, then a third sampler pass on the split sigmas adds real detail at the higher resolution. This is not a dumb pixel stretch — the model re-samples detail into the upscaled latent, which is why faces and outfits stay sharp.

After that: optional DLSS enhance at 1.5x Quality, and optional FILM frame interpolation at 2x for smoother motion. The workflow saves a video at each stage, so you can compare base / refined / final side by side, exactly like the before-and-after in the video.

Why this beats one pass: a single 8-step sample has to do everything at once — swap, structure, texture. Splitting the sigmas lets each pass do one job. The result is the motion improvement you see in the action scene examples.

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

WHAT TO DOWNLOAD (MODEL FILES)

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

Diffusion model (models/diffusion_models/minimax-h3/):

Minimax-h3_Singularity_ref2va_v1.3_int8.safetensors — 34 GB

https://huggingface.co/WarmBloodAban/Minimax-h3_Singularity

Text encoder (models/text_encoders/minimax-h3/):

qwen3vl_32b_h3_ultra_uncensored_heretic_int8_convrot.safetensors

(the uncensored heretic build the workflow ships with; the stock Comfy-Org encoder

qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors also works if you prefer it:

https://huggingface.co/Comfy-Org/MiniMax-H3)

VAEs (models/vae/minimax-h3/):

minimax_h3_video_vae_fp16.safetensors

minimax_h3_audio_vae_fp32.safetensors

https://huggingface.co/Comfy-Org/MiniMax-H3

LoRAs (models/loras/minimax-h3/):

h3_character_swap_pro4500_1000.safetensors

https://huggingface.co/akatz-ai/MiniMax-H3-Character-Swap-LoRA

minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors

https://huggingface.co/Comfy-Org/MiniMax-H3/blob/main/loras/minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors

minimax_h3_lms_v1.0_r64.safetensors

https://huggingface.co/Alissonerdx/Minimax-H3-ComfyUI

Latent upscaler:

h3_upscaler_lms_v0.1_fp32.safetensors — 1.38 GB

https://huggingface.co/Alissonerdx/Minimax-H3-ComfyUI/tree/main/latent_upscaler

Frame interpolation (optional):

film_net_fp16.safetensors (standard FILM model folder)

Custom node packs used: ComfyUI-Continuity (the MiniMaxH3 nodes), VideoHelperSuite, KJNodes, ComfyUI-Easy-Use, pysssss MathExpression, comfyui_essentials (Set/Get nodes, SplitSigmas), an RMBG-2.0 node pack, a DLSS5 node pack, and ComfyUI Frame Interpolation. If a node comes up red, search its name in ComfyUI Manager.

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

QUICK START

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

1. Load the workflow JSON in ComfyUI.

2. Check the loader paths — everything sits in a minimax-h3 subfolder (diffusion model, text encoder, VAEs, LoRAs).

3. Load your character sheet image into the image loader (VHS_LoadImagePath). The workflow runs RMBG-2.0 on it automatically, so a white-background character sheet gets cleanly cut out for you.

4. Load your reference video (VHS_LoadVideoPath). force_rate is 24, skip_first_frames is 124 in the shipped file — reset that to 0 or wherever your clip starts.

5. Edit the text prompt: change only the swap target sentence (see next section).

6. Set duration (shipped at 7 seconds) and the ResolutionSelector megapixels (shipped at 0.7, which is 1152x640 for 16:9).

7. Seed is fixed at 42 for testing — switch it to random for real runs.

8. Queue. You get the stage outputs saved side by side.

That is the whole loop.

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

WHAT TO INPUT (PROMPT FORMAT)

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

The swap prompt is the exact LoRA template. This is what ships in the workflow:

Swap the man with brown vest in <Video 1> with the character in <Picture 1>.

Keep the replacement character's identity, outfit, and art style from <Picture 1>.

Preserve the source <video1> video's camera, background, lighting, objects, and all

other people. Match the target person's position, scale, pose, and movement.

Do not show the reference sheet or its background.

Rules that matter:

- Only change the first sentence — the description of WHO you are swapping (e.g. "the man with black ninja suite with a hat"). The rest of the template stays untouched.

- <Picture 1> is your character sheet, <Video 1> is your reference video. The tags are how the LoRA binds text to inputs; that is why you cannot skip describing the target even though H3 "sees" the video.

- One character per swap. The LoRA is trained single-character; two at once is hit and miss.

- The ReferenceToVideo node also carries a subject_definitions block in its widget. For pure character-swap runs the text prompt above is what drives it; the subject definitions format is there for full multi-subject H3 generations if you want to extend the workflow.

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

KEY SETTINGS (AND WHY)

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

Sampler: euler, beta scheduler, 8 steps — with the turbo LoRA at 1.0, 8 steps is the sweet spot. Euler tested fine here; if you get inconsistent motion, the video's res_multistep suggestion is the fallback.

Multi-sampling stages: leave as shipped. The sigma split (ExtendIntermediateSigmas at 2, linear) is what makes the three-stage chain work. Don't rewire it unless you know why.

Latent upscale: 1.5x shipped (adjustable via the Float node, 1.2 works too). Higher than 1.5 eats VRAM fast with the 34 GB int8 model.

Megapixels: 0.7 shipped = 1152x640 base, ~1664x928 after the 1.5x latent pass. The size table is in the MarkdownNote in the workflow.

Duration: 7 seconds shipped. The frame math node rounds it to H3's valid frame counts automatically.

RMBG-2.0: auto background removal on the character sheet. If your reference is already a clean cutout, this does nothing harmful; leave it.

DLSS5 enhance: 1.5x Quality, on. Bypass it if you want the raw model output.

FILM interpolation: 2x, with a math node doubling fps. Bypass if you want native 24fps motion.

Sage attention: shipped patched (auto). Leave it.

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

TIPS

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

1. Keep the character sheet simple — white background, full body, clear outfit. Complex costumes drag the background theme along in the swap. This is the single biggest quality lever, more than any setting here.

2. Match the outfit silhouette to the person in the source video when you can. Same build, same coat length — the swap stays consistent and the background never moves.

3. Objects in the swapped person's hands survive — the camera in the video's hallway example was preserved from the original footage. Don't mask them out, don't describe them away.

4. Fixed seed 42 while you iterate on the prompt, then randomize once the swap target reads correctly. You want prompt changes isolated from seed luck.

5. Watch the stage-1 output first, before the upscale passes finish judging quality. If the swap itself is wrong, no amount of multi-sampling will fix it — fix the prompt description.

6. Action scenes: the multi-stage chain is where this workflow earns its keep. Kicks and backflips hold together through stage 2 because it refines without adding noise.

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

COMMON ISSUES

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

Background theme shifts after the swap — the character outfit is too complex or too different from the source person. Simplify the sheet or pick a closer silhouette.

Two-character swaps failing — expected. The LoRA is single-character trained. Run it twice, one target per pass.

Blurry final output — check that stage 3 actually ran (the latent upscaler file path is correct) and DLSS is not bypassed.

Out of VRAM — drop megapixels to 0.5, latent upscale to 1.2, or bypass FILM. The Singularity int8 model is 34 GB on disk; it is heavy by design.

Euler giving inconsistent motion on your clip — swap KSamplerSelect to res_multistep. That is what the Hugging Face repo recommends and it is the safer default for fast motion.

Red nodes on load — install ComfyUI-Continuity first, that pack carries all the MiniMaxH3 nodes; the rest resolve via Manager.

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

Workflow file attached. Download the model files from the links above before you try to run it.

Questions? Drop a comment with your GPU, VRAM, and the exact error or the stage where the output goes wrong, and I will help you sort it out.

Thanks for supporting the channel. You guys make these deep dives possible.

— Benji

Files

Comments

Makari Oh

This is beautiful! Thanks for this one! 👊

Makari Oh

would the Minimax-h3_Singularity_ref2va_Pruned_v1.3_int8 diffusion model work properly with this workflow?

Jakob Hamm

How to make videos longer than 15sec?

T

Hi! I keep having this error on the 2ª sampling + refiner: [ERROR] ERROR lora diffusion_model.blocks.18.adaln_proj.linear.weight shape '[96768, 2688]' is invalid for input of size 774144 Any idea?

Innovate Futures @ Benji

you are using some diffusion model that have missed some shape , unable to support for the latent Upscale. use the H3 ref2va or Singularity H3 it have covered this. I saw this message before with some other fine tune H3 running latent upscale .

T

Well. I'm using Minimax-h3_Singularity_ref2va_v1.3_int8.safetensors. Is not the one that I have to use? Something is strange. I saw you vid and I'm using everything you have used. Have to try something more...

omarOFM

use the int8 pruned

Innovate Futures @ Benji

@T , yup that safetesor same as the one I use. So the possibility is not causing from that one. might have to inspect into other.

omarOFM

I was getting that error too, it stopped happening when I switched to the pruned version.

Innovate Futures @ Benji

But it's very weird, sometimes a same AI model file and it have problem is different Comfyui version

Makari Oh

I noticed you have the trigger word realism for the 'people' lora baked in the json . Did you test it and found it didnt survive so you removed it? Or?

Innovate Futures @ Benji

oh that was r3al1sm from fal.ai hugging face. Nope , don't need that Lora, the input group I use it like a modular style putting it like a template, just stay there didn't affect. Character swap Lora just don't need that LoRA and I able to get realism already.