Nodes/AUN ComfyUI Nodes/AUN Inputs MiniMaxH3 Basic
ComfyUI Node

AUN Inputs MiniMaxH3 Basic

One node to load all of MiniMax-H3 (and it does the 17n+5 frame math for you)

By loz2754·Created 9 months ago·Updated 18 days ago· 7
AUN Inputs MiniMaxH3 Basic
    • MODEL
    • CLIP
    • VAE video
    • VAE audio
    • unet name
    • sampler
    • scheduler
    • cfg
    • steps
    • seed
    • width
    • height
    • frames
    • fps
    • frame_rate
    • seconds
    • rife multiplier
    • rife
    ◄unet_name<no diffusion models found>►
    ◄weight_dtypedefault►
    ◄clip_name<no clip files found>►
    ◄clip_typeMinimax►
    ◄video_vae_name<no vae files found>►
    ◄audio_vae_name<no vae files found>►
    ◄turbotrue►
    ◄turbo_lora_nameNone►
    ◄turbo_lora_strength1.00►
    ◄samplereuler►
    ◄schedulerbeta►
    ◄cfg1.0►
    ◄steps8►
    ◄seed0►
    ◄width1344►
    ◄height768►
    ◄aspect_ratio▾►
    ◄aspect_modeOriginal►
    ◄megapixels1.0►
    ◄multiple32►
    ◄seconds5.0►
    ◄fps24.0►
    ◄rifefalse►
    ◄rife_multiplier2►
    ◄unet_input—►
    ◄clip_input—►
    ◄video_vae_input—►
    ◄audio_vae_input—►
    ◄turbo_lora_input—►
    ◄sampler_input—►
    ◄scheduler_input—►
    ◄cfg_input—►
    ◄steps_input—►
    ◄seed_input—►
    ◄seconds_input—►
    ◄length_input—►
    ◄fps_input—►
    ◄rife_multiplier_input—►

    MiniMax-H3 is a lot of model to wire up: a 33B omni-modal generator that makes its own synced stereo audio - the first credible open answer to Veo's native-audio trick - with a diffusion model, a Qwen3-VL-class text encoder, a video VAE and a separate audio VAE, plus an optional turbo LoRA and frame arithmetic before anything accepts your clip length.

    AUNInputsMiniMaxH3Basic is that whole preamble in one node. Pick your files, set sampler and resolution, get MODEL, CLIP, both VAEs and every number the sampler and the reference-to-video node want.

    How it works

    Nothing exotic underneath: it instantiates ComfyUI's own UNETLoader, CLIPLoader and VAELoader and calls them, so you get the objects those nodes would hand you. clip_type defaults to Minimax - the architecture H3 needs, so a generic SDXL-era CLIP won't do. The turbo LoRA patches the model only, via load_lora_for_models with CLIP strength pinned at 0.0.

    The interesting bit is the frame math. H3's video VAE only accepts lengths where length % 17 == 5, so the node multiplies seconds by fps and pads up to the next legal number: five seconds at 24fps is 120 raw frames, so you get 124. Otherwise you find that out as a cryptic error three-quarters of the way through a queue.

    The widgets you'll actually set

    • unet_name, clip_name, video_vae_name, audio_vae_name - the four files. If any dropdown reads <no diffusion models found>, it fails with a plain "A UNET (diffusion-model) file is required" instead of quietly outputting nothing.
    • weight_dtype - mirrors core's UNET loader (default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2) and only matters for unquantized weights. On the pruned INT8-ConvRot build most H3 workflows use, leave it on default - also the quant for 20/30-series cards, which have no fp8 path.
    • turbo / turbo_lora_name / turbo_lora_strength - on by default, and this is the turbo preset that makes H3 usable: 8 steps, CFG 1.0, beta scheduler. Setting turbo_lora_name to None disables the LoRA even with the toggle on - mildly annoying, thoroughly documented.
    • aspect_ratio + megapixels + multiple - presets and ratios up to 21:9, with width/height used when it's custom. multiple defaults to 32; aspect_mode swaps the dimensions if you never remember which of 1344×768 means "wide".

    Outputs and where they go

    MODEL goes to the sampler, CLIP to your text encode, VAE video and VAE audio to two separate VAEDecode nodes. sampler, scheduler, cfg, steps and seed wire into KSampler; the first two are wildcards so a string can drive a dropdown. frames is the sampling count for the reference-to-video node, fps/frame_rate are for VHS Video Combine, and unet name, width, height and seconds are there for filenames.

    The tidy trick is RIFE. Flip rife on and fps/frame_rate report fps × multiplier - the post-interpolation rate the combine node needs - while frames keeps reporting the real sampling count, so you never lie to the sampler about what it's making. Wire rife multiplier into AUN's RIFE node so the number lives in one place, and send the rife boolean to an AUN Node Controller switch so RIFE bypasses itself when interpolation is off.

    Every *_input socket overrides its matching widget when connected, and filename overrides are forgiving of missing extensions and subfolders.

    Install

    Manager → search "AUN ComfyUI Nodes", or clone and restart - the dropdowns populate at import:

    cd ComfyUI/custom_nodes
    git clone https://github.com/loz2754/AUN-ComfyUI-Nodes
    

    The pack installs piexif, opencv-python-headless, imageio-ffmpeg and requests; none of that is for this node, so don't be alarmed when it takes a while.

    No weights ship with the pack. The reference set the dropdowns prefer when they find it:

    | File | Folder | | --- | --- | | minimax_h3_ref2va_pruned_int8_convrot.safetensors | models/diffusion_models | | qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors | models/text_encoders | | minimax_h3_video_vae_fp16.safetensors | models/vae | | minimax_h3_audio_vae_fp32.safetensors | models/vae | | minimax_h3_turbo_v4_step600_ema.safetensors | models/loras |

    That CLIP is an NVFP4 build, and NVFP4 is Blackwell-only silicon, so on a 30- or 40-series card you want a different quant of the Qwen3-VL encoder. Budget disk for the whole set: on these 2026 giants the encoder is often what decides whether a model fits. H3's weights also carry a territory carve-out excluding the US, EU, UK and South Korea.

    Where people get burned

    • length_input skips the magic. An override is used verbatim - only the seconds-derived number gets the % 17 == 5 treatment. Feed it 120 and the VAE gets a say.
    • Your negative prompt is decorative. At CFG 1.0 there's no unconditional pass to steer, so ComfyUI never computes it. State constraints positively.
    • You OOM at decode, not at sampling. Both VAEs resident next to a loaded U-Net is the tight spot - if decode is where it dies, drop an AUNCleanVRAM between the sampler and the first VAEDecode, at the cost of a reload.
    CategoryAUN Nodes/Loaders+Inputs

    Inputs (38)

    NameTypeDefaultDescription
    unet_nameCOMBO<no diffusion models found>MiniMax-H3 UNET (diffusion model) file.
    weight_dtypeCOMBOdefaultWeight dtype used when loading the UNET.
    clip_nameCOMBO<no clip files found>MiniMax-H3 text encoder file (qwen3vl minimax CLIP).
    clip_typeCOMBOMinimaxCLIP architecture. MiniMax-H3 requires the minimax type.
    video_vae_nameCOMBO<no vae files found>Video VAE for MiniMax-H3 latents. Also feeds the video VAEDecode node.
    audio_vae_nameCOMBO<no vae files found>Audio VAE for MiniMax-H3 latents. Also feeds the audio VAEDecode node.
    turboBOOLEANtrueApply the turbo LoRA to the UNET (replaces the Switch Turbo true/false wiring).
    turbo_lora_nameCOMBONoneTurbo LoRA file. 'None' disables even when turbo is on.
    turbo_lora_strengthFLOAT1.000–4Strength applied to the turbo LoRA weights.
    samplerCOMBOeulerSampling algorithm for KSampler.
    schedulerCOMBObetaNoise schedule for KSampler (turbo preset uses beta).
    cfgFLOAT1.00–100Classifier-Free Guidance scale. MiniMax-H3 reference uses 1.0.
    stepsINT81–10000Sampling steps (turbo preset uses 8).
    seedINT00–18446744073709550000Random seed shared by conditioning and sampling.
    widthINT134464–8192Video width. Used when 'aspect_ratio' is 'custom'.
    heightINT76864–8192Video height. Used when 'aspect_ratio' is 'custom'.
    aspect_ratioCOMBOSelect a predefined aspect ratio or preset to automatically set width and height.
    aspect_modeCOMBOOriginalRandom swaps dimensions 50% of the time, Swap forces a swap, Original keeps the original order.
    megapixelsFLOAT1.00.1–16Target total megapixels used when a ratio is selected.
    multipleINT328–128Nearest multiple to round computed resolution to. Video VAEs prefer 32.
    secondsFLOAT5.01–30Clip duration in seconds. Converted to frame count via max(5, round(seconds * fps)) aligned to length % 17 == 5.
    fpsFLOAT24.01–120Frames per second. FLOAT output wires into VHS Video Combine.
    rifeBOOLEANfalseSwitch the 'fps' and 'frame_rate' outputs to the post-interpolation rate (fps * multiplier) for VHS Video Combine. 'frames' always stays the base sampling count.
    rife_multiplierINT22–10RIFE interpolation multiplier. Must match the 'multiplier' on the downstream AUNRIFE node.
    unet_inputoptSTRINGUNET (diffusion model) filename override. When connected, replaces 'unet_name'.
    clip_inputoptSTRINGCLIP filename override. When connected, replaces 'clip_name'.
    video_vae_inputoptSTRINGVideo VAE filename override. When connected, replaces 'video_vae_name'.
    audio_vae_inputoptSTRINGAudio VAE filename override. When connected, replaces 'audio_vae_name'.
    turbo_lora_inputoptSTRINGTurbo LoRA filename override. When connected, replaces 'turbo_lora_name'.
    sampler_inputoptSTRINGSampler name override. When connected and non-empty, replaces the 'sampler' widget value.
    scheduler_inputoptSTRINGScheduler name override. When connected and non-empty, replaces the 'scheduler' widget value.
    cfg_inputoptFLOATCFG override. When connected, replaces the 'cfg' widget value.
    steps_inputoptINTSteps override. When connected, replaces the 'steps' widget value.
    seed_inputoptINTSeed override. When connected, replaces the 'seed' widget value.
    seconds_inputoptFLOATDuration override in seconds. When connected, replaces the 'seconds' widget value before frame-length conversion.
    length_inputoptINTFrame-length override. When connected, replaces the seconds-derived frame count.
    fps_inputoptFLOATFPS override. When connected, replaces the 'fps' widget value.
    rife_multiplier_inputoptINTRIFE multiplier override. When connected, replaces the 'rife_multiplier' widget value. Only applies when 'rife' is on.

    Outputs (18)

    NameTypeDescription
    MODELMODEL—
    CLIPCLIP—
    VAE videoVAE—
    VAE audioVAE—
    unet nameSTRING—
    sampler*—
    scheduler*—
    cfgFLOAT—
    stepsINT—
    seedINT—
    widthINT—
    heightINT—
    framesINT—
    fpsFLOAT—
    frame_rateINT—
    secondsFLOAT—
    rife multiplierINT—
    rifeBOOLEAN—