






license: other license_name: minimax license_link: https://huggingface.co/MiniMaxAI/MiniMax-H3 base_model: MiniMaxAI/MiniMax-H3 tags:
The first release of Contact-Sheet diffusion: a video model's timeline repurposed as a slot axis for coordinated image sets.
One reference image + one instruction → five coherent, progressively rotated views of the same subject, jointly denoised in a single pass, each view an independently-decoded crisp still. A character turnaround from one photo in ~10 s (512²) to ~57 s (1024²) on one GPU.
A real photograph (DIV2K) the model never saw, → five views. The LoRA
trained only on H3-generated subjects — real-photo identity transfer is
out-of-distribution and works.
H3 is a video+audio model. Its VAE stores video as one keyframe plus bundles of four frames, and the transformer's superpower is "keep everything consistent along the timeline." This LoRA hijacks that: five standalone image latents are packed where a 5-position video latent would go, with timeline positions stretched so the model believes they span one continuous shot. The model thinks it is making a tiny video — but every "frame" is a full independent image at a different camera angle, so its temporal-consistency machinery gets repurposed into cross-view identity. The timeline becomes a slot axis.
Proof it really is "video brain, image body": apply this LoRA to a normal video generation and motion breaks — spinning windmill blades render as superimposed discrete positions, because the LoRA has learned that time = poses.
| file | step | character |
|---|---|---|
minimax_h3_five_view_512_s1500.safetensors | 1500 | default — best rotation geometry |
minimax_h3_five_view_512_s400_instruct.safetensors | 400 | better instruction following (e.g. "neutral studio background" override honored), shallower rotation |
minimax_h3_five_view_1024cont_s600.safetensors | 600 | 1024-finetuned variant — see methodology |
All: rank 16, attention-only (qkv/out on 50 blocks, 100 modules), 63 MB,
ref2va_pruned partition. Strength 1.0 for rotation; ~0.7 trades rotation
for scene fidelity.
One dataset (90 self-generated orbit clips, 30 subjects × 3 seeds; 75 train / 15 val split by subject), one LoRA config (rank 16 α 16, attention-only), one de-distillation training adapter (ostris alpha, train-time only). The files differ only in training resolution and schedule:
512_s400_instruct / 512_s1500 — the same single run at 512²,
lr 5e-5, adamw8bit, bs 1 × grad-accum 4, flowmatch/shift, saved at
steps 400 and 1500. Early = instruction-following era; late = rotation
era. (~6.8 s/step; the whole 1500-step run is ~2.8 h on one card.)1024cont_s600 — took the step-400 weights above and continued
200 steps at 1024², lr 1e-5 (a short calibration tail, PixArt-style).
Measured against the 512 checkpoints on held-out subjects at matched
seeds: image quality at 1024/2048 is comparable (512-trained weights
transfer to high-res inference surprisingly well — that's the headline
finding), the studio-override instruction response is weaker than
s400, and the 2048 early-arc back-loading is not fixed by 1024
training (it's a resolution-dependent sampling effect, not a weights
gap). Published for completeness and for users generating primarily at
1024+.Trained at 512 — inference transfers to 1024 and 2048:
512-trained weights, five fresh 2048² views (shown downscaled). No
upscaling anywhere in the pipeline — all views generated from noise.

| per sheet | 512²/slot | 1024²/slot | 2048²/slot |
|---|---|---|---|
| time (RTX PRO 6000 @ 450 W cap, 28 steps) | ~10 s | ~57 s | ~227 s |
| peak VRAM | 41 GiB | 42 GiB | 47 GiB |
See the full description on the original page
No creation yet
