Home Creators Posts Import Register Favorites Logout

Downloads

Content

Video - https://youtu.be/fjWeg8so8y0

Overview

I'm still having loads of fun with MiniMax H3, and so I've been beavering away making my Epic MiniMax H3 Workflow EVEN MORE EPIC!

The SLA Node from PlagueKind has been getting even better, as now you can also do some dense steps if you like. These help to improve video quality whilst still getting most of the speed benefit. It also features other options now such as tail correction and int8 qk if you're feeling super experimental.

Lightx2v have been busy too, releasing v1.2 of their Turbo LoRA, so always great to see more updates from them. Links in the workflow have been updated.

A few people have been confused by prompting, so I've also added a second prompt guide from MiniMix directly into the workflow. It is a long read, but well worth it if you need more information.

There are 2 NEW LATENT UPSCALE groups - one using the MiniMax H3 version of the amazing Ultimate Upscale, and another one using a "3D" latent upscale model, similar in concept to the LTX video upscale path.

Keeping with upscaling, a THIRD OPTION is available via the SeedVR2 Video Upscale group. This uses just a single step to create high resolution videos.

And if that isn't enough, I've also added a helper group for those using EXTENDED VIDEOS. This way you can easily interpolate (or upscale) extended videos without having to re-load via reference video 0 any more. Now you can simply click "RUN" once and go all the way through.

Upscaled / high-resolution videos do take a bit longer to render (especially on a 3090), but at least now they don't take quite as long with the initial preview -> upscale path!

Workflow Information

To open the workflow, either drag the .json file into ComfyUI, or use File -> Open (ctrl-o).

Update ComfyUI

As always, an up-to-date version of ComfyUI is required to use the current features of ComfyUI. As with all software, older versions will not have support for newer features - and the same goes for any custom nodes too.

Personally, I update both ComfyUI and all my custom nodes each and every time I start because updating is part of my startup script.

Model Downloads

There are a wide variety of model sizes available, but I've been using the INT8 / NVFP4 versions because they are smaller (and faster)!

Links are provided in-workflow:

Note the NEW Turbo LoRA (V1.2) and the latent upscaler model. Do check out the full range available from Lightx2v as there are far too many to link directly.

The new SeedVR2 group also has some models to download:

If you don't want to use SeedVR2 you can simply delete the group and you won't need to download those models to use the workflow.

Custom Nodes

A few custom nodes are required:

Do note that whilst the H3 3D upscale MODEL has an Apache 2 license, the LICENSE file is currently absent from the code for the nodes. If you're a commercial entity running / changing the code then you'll probably want to wait until the code license is confirmed. There is also a 2D upscale node if you'd prefer.

Model Loaders

There are 2 MiniMax H3 model loaders - one for References (REF) and one for First/Last frame (FL):

Be sure to select the correct unet_name for each group! The fl2va model should be the one selected in the "Load Model - FL" group:

The ref2va model should be selected in the "Load Model - Ref" group:

Note: I'm using the pruned_int8 versions, but you can use whichever model is best for you!

I've also added an extra note with details about which models you should select in each group:

For the LoRA loader groups, I've switched to the PlagueKind nodes:

There are LOADS of LoRAs available, so pick the one(s) you prefer.

Model Options

There are various model options, the first of which is a Fast Group Bypass switch to let you switch been the First/Last model and the Reference model:

The model loader group you aren't using will have the nodes in that group turn purple, which means they are bypassed.

I've included two Sage Attention options - the original Patch Sage Attention KJ & MiniMax H3 Mem Eff Sage Attention Patch. Either options give a nice speed boost, but the original seems to change outputs less. If you haven't installed sage attention, simply flip the switch to bypass the Mem Eff one, or set the original one to disabled.

If you don't have sage attention installed (or even if you do!) then the Comfy Kitchen Attention is another alternative to do much the same thing.

ModelSamplingMiniMaxH3 gives shift values like we're used to with image generations. The defaults are just fine, but if you like experimenting, that node is for you!

MiniMax H3 Low VRAM Attention also does what the name suggests, and combined with the MiniMax H3 Chunk FeedForward node can offer considerable VRAM savings!

Options can be enabled or disabled using the switches:

The SLA node has lots of new features, and I've updated the defaults to be more like the new defaults. If you like, you can flip the enabled switch rather then use any of the bypass options:

You'll certainly want to take a look at dense_steps and dense_last_steps. I use 1 and 1 but you may wish to skip the dense_last_steps for more speed. I have protect_audio on by default, and things like tail_correction are still experimental. Hover over the various options for more information.

Token Counter

Note that you will get issues if you go over the 160K token budget. This can happen with extreme settings such as 2mp, 16s videos with audio and image inputs. The H3 Token Counter group will give you an idea of token usage:

Video Settings

I've moved the Video Settings group (shortcut key 4) next to the Ksampler for ease. Now you can see the steps, length, sampler, scheduler, etc all together.

You may wish to start off with a 0.2 megapixel resolution alongside a Turbo LoRA (I do) to see how things go, as this is very fast and a great way to test prompts. The float node for megapixels means you can now use more floating point accuracy, such as 0.98 (rather than just 0.9). This gives you finer control over the available video resolutions.

Do note that video rendering can take a while depending on the length & resolution you use, as well as your own computer hardware.

The KSamplerSelect and Steps settings will apply to most Ksamplers - apart from the upscalers.

Prompting

Only a positive prompt is required (no negative prompting):

The Qwen3-VL model has decent understanding, so prompts can be quite complex! The prompt guide is also included if you like a long read, but you don't have to follow that at all (and in some cases it may be better not to).

Input Options

There are a lot of input options!

As usual, the switches will toggle between "yes" and "no". If a group is set to "yes" then it will be used. In the example screenshot above, the group for IMG_0 has been enabled ("yes").

Various notes also provide additional information on switches:

Say, for example, you instead wanted only a Last Frame image (assuming you're using the FL model), then you could say "yes" to the Last Frame group only:

You'll see the nodes in the group(s) you said "yes" to will no longer be coloured purple (aka bypassed) - note how Load IMG_0 is bypassed! Don't forget to pick the image you want to use as well.

You can change the image size using a number of methods:

The default resize_type is scale total pixels, but there are other options.

Note that the Ref model will scale images anyway, but with First/Last you may wish to change images to match your video resolution. It is a good idea to have image aspect ratios which match the resolution you select for First/Last images. A square image, for example, will get stretched out if you use a non-square aspect ratio for the video.

Custom First/Last Frames

When using the First/Last model, it is now possible to pick a keyframe index for your images. Maybe you want a particular image part-way in, or perhaps a mid-position? Pick your own custom First/Last images and positions, then enable the option to use them:

As you can see it is wired up for 3 images, but you could have 1, 2, 3, 4 or whatever!

Inputs

You can use more images if you like, but I've wired up 4 to start with:

There are also 2 x custom video inputs, and 2 x custom audio options. I found on occasion that certain videos without sound could confuse the VHS nodes - but the addition of the Any Switch seemed to prevent such errors. If you do get an error saying that you video doesn't have sound (and so the Video node doesn't want to play ball), simply disconnect the audio output noodle.

The voice cloning works great with 5 second audio clips, but may also work fine with shorter durations. Personally I think it seems to work slightly better when you use a video with audio over just a plain audio clip, but plain audio does the job too.

Input Image Masking

Input Images now have options manual/auto-masking:

I found that sometimes it was a bit tricky and cumbersome to write prompts telling the model to change certain features - like if the image is wearing a hat or a particular costume and you don't want that part. Masks get rid of this by allowing you to send in only the data you're interest in, such as only the face, hat, a particular bunch of flowers or whatever.

By default the whole image will be sent in as usual, but you can opt to use your own manual mask or an automatic one if using a mask at all. Flip the switches to match your requirements.

KSampler

The initial sampler group is where you can change the scheduler if you'd like, as well as the random noise seed:

Base Output

The output selection uses the Video Combine node, so you can adjust the various options there, such as for generating PNG or GIF outputs:

You may find the generated audio isn't as good as the raw audio going in. If the audio is meant to be exactly the same as one particular input, then the "Use Raw Audio?" switch is for you! Make sure to select the audio you want to use (in the example screenshot above it is set to REF_AUDIO_0, but it could be any audio input you have enabled), and flip the switch. The generated video will then use the audio exactly as it has been input - no processing by MiniMax H3 at all.

Upscaling

There are 2 upscaling groups available - Ultimate Upscale and "3D" upscale, though personally I prefer the "3D" upscaling.

The Ultimate Upscale group uses PlagueKind nodes:

Things to change include the scheduler, steps, denoise, Latent Upscale Params, Temporal Split Params and Spatial Split Params:

Denoise values above 0.6 tend to change the video too much, so that is pretty much the "sweet spot" for me. This can be good with smaller upscales, but going to 2x or 3x tends to cause real issues. Longer videos may also warp badly.

The "3D" Latent Upscaler uses a model file to aid with upscaling, along use of lower denoise values:

It may not add as much detail, but the upscale is more faithful to the original.

I'm using the bf16 model, but there are also fp16 and fp32 options available:

Again, you may wish to change the mode, scale, random noise seed, scheduler, steps and denoise. 2 steps is typically enough in my experience, so once you're happy with your initial, lower resolution video, enable this group and upscale away!

There are 3 modes available, so pick the one you prefer:

The LBH-123 Nodes do also feature a Split Upscale node, similar to the PlagueKind one - it is simply I was playing with the PlagueKind one first. Experiment away!

Context Extend

If you want to make your MiniMax H3 videos longer than 15s, or extend existing videos, you can do so in various chunks:

If you chose to do either the Ultimate upscale or Latent Upscaler 3D then the upscaled version will be used as the initial video to extend. If you chose to use BOTH upscales, then Latent Upscaler 3D will take precedence.

Do note that if using an existing video, only up to 124 frames are allowed by the H3-Motion-Context-Multiref nodes, so set the frame loading cap as required.

Three extensions are included, but you can just copy & paste the various groups to add 4, 5 or 6 extensions.

Though it uses the Ref model conditioning nodes, you can actually use either model when extending - and the FL model can even handle references to some degree!

Each extension has a new prompt; Prompt 2, Prompt 3 and Prompt 4:

There is also a final video combine group which puts all the chunks together:

The input_count controls how many extensions will actually be used/combined. Click Update Inputs to add/remove connection points, and connect any relevant GET nodes:

If previews are not enabled, only the required extensions will be generated:

If you do enable previews, the extensions will be generated even if you aren't using them in the input_count.

Frame Interpolation

Should you wish to go up to 48fps (or more), then enable the Frame Interpolation group and download your choice of RIFE/FILM model. Change the value in the FPS Multiplier for even more FPS goodness:

By default, it is set to interpolate from EXT_IMGS and EXT_AUD, which is the final output from the extended video. Simply change the values in the GET nodes if you want to use something else:

To use EXT_IMGS/EXT_AUD, you'll need the Extract Extended Video From Path group enabled:

This group will re-load the final, extended video from wherever it has just been saved, making data available via the EXT_IMGS and EXT_AUD variables.

SeedVR2 Video Upscaling

The final group is for SeedVR2 Upscaling. This keeps the upscaled versional almost identical to the original video, but with a 1-pass sampler to sharpen things up a little:

This also defaults to using the extended video, but you can always pick other options in the GET nodes. The Resize Image/Mask node is where you select how much to upscale by:

And yes - you can upscale an upscale if you like. For example:

This can take a lot of resources, so don't upscale too much unless you have plenty of computing power!

The Engine

If you do want to play with the engine, it is up and outside of the usual map:

The MiniMax H3 Reference to Video node can take a few more inputs - so if you want more than 4 images, for example, then connect away!

Enjoy! :)

Files

Comments

Tyler Van Pelt

Hi, is there functionality in this workflow to upscale videos that we upload, rather than generating it first? I have some videos already generated that would be nice to upscale in this workflow if it's possible.

GrowthTrack

Dude, your guidance here in this post is outstanding! I subscribe to a couple other comfy-workflow creators, and this is just miles and miles beyond.