CivArchive
    ← All articles
    Published September 21, 2026by MisterMR

    Wool World on MiniMax H3: style LoRA settings

    221 views1 reactions0 comments on CivitAI2 collected
    comfyuiai-toolkittrainingstyletutorialminimax h3loramusing

    MiniMax-H3 is a 33B joint video and audio DiT. This job does not train a clip. It trains a rank-32 style LoRA on still images, on the first-frame partition, with the text encoder frozen and a de-distillation adapter left live beside the pre-quantized weights. The published file is Wool World for MiniMax H3, trigger WoolWorld, 296 MB.

    What the job is

    The trainer is ai-toolkit, arch minimax_h3, base Comfy-Org/MiniMax-H3. The partition is fl2va_pruned: the pruned first-frame checkpoint, not ref2va. Reference-to-video is a different model class. A still dataset with num_frames: 1 is the single-latent-frame path, so the first-frame weights are the right base.

    Quantization stays on. The transformer is convrot8, the Qwen3-VL text encoder is nvfp4, and both low_vram and layer_offloading are on. I am not quoting a VRAM figure here; those three flags are what make the 33B fit a consumer card, and the numbers you see will follow your own GPU.

    Assistant LoRA

    H3 is guidance-distilled. The job loads ostris/minimax_h3_training_adapter_v1.safetensors as an assistant LoRA. It stays a live module during training and the sampler turns it off for previews. It is not merged. The transformer is already quantized, and a merge would resample every int8 scale.

    The trained network itself skips any key containing adaln_proj. Those projections ship unquantized in the pruned checkpoint (small fp16 linears on an 8-dim time table). Leaving them out of the LoRA keeps the modulation path at the checkpoint's own precision.

    Network and schedule

    • LoRA rank 32, alpha 32, transformer only
    • 2000 steps, batch size 1, gradient accumulation 1, gradient checkpointing on
    • AdamW 8-bit, learning rate 0.0001, weight decay 0.0001
    • Flow-match noise, timestep type shift, loss mse, content/style balanced
    • Text encoder not trained. It is unloaded, and text embeddings are cached
    • EMA off. In-training sampling off (disable_sampling: true), including the first sample
    • Save bf16 Diffusers checkpoints every 250 steps, keep the last 4. No hub push

    The sample block is still in the config, unused while sampling is disabled: 768×768, flow-match, 28 steps, guidance scale 1, one frame, seed 42. Guidance scale 1 matches a distilled model. There is no CFG to turn up.

    Dataset

    Stills only. Sidecar .txt captions, caption dropout 0.05, buckets 512 and 768, one repeat, no flips, no audio, no image-to-video flag. shrink_video_to_frames is on, so a stray clip would collapse to frames instead of training motion. trigger_word is null in the job: the token is not injected by the trainer. It has to already be in the captions. The published version uses WoolWorld.

    The set is generic style stills (wool texture, knit, felt), not a character identity set. I am not posting the training images.

    File on the model page

    The trainer writes Diffusers folders. The file attached to the MiniMax H3 version is the single safetensors, MisterMR_WoolWorld_MiniMaxH3.safetensors, 302,899 KB, bf16, trigger WoolWorld. Same style LoRA already exists on other bases under the same model; this note is only the H3 job.

    Samples

    Two clips from the published version, 576×736. Same LoRA, image-trained, used on short video.

    Checklist

    1. Base Comfy-Org/MiniMax-H3, partition fl2va_pruned, arch minimax_h3.
    2. Quantize the transformer convrot8 and the text encoder nvfp4. Leave low VRAM and layer offloading on.
    3. Load the v1 training adapter. Do not merge it.
    4. Rank 32 / alpha 32. Ignore adaln_proj. Train the transformer only.
    5. Stills, caption files, 512 and 768, dropout 0.05, one frame. Put WoolWorld in the captions.
    6. 2000 steps, AdamW 8-bit, 1e-4, flow-match, shift, save every 250 in bf16.

    For a style that has to read as a material, this is the setup I would run again: stills, first-frame partition, adapter unmerged, modulation layers left alone.

    Archived from CivitAI · Updated September 21, 2026View source