Instructions to use MATLOWAI/MiniMax-H3-Motion-Adapter with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use MATLOWAI/MiniMax-H3-Motion-Adapter with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("MiniMaxAI/MiniMax-H3", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("MATLOWAI/MiniMax-H3-Motion-Adapter") prompt = "A man with short gray hair plays a red electric guitar." input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png") image = pipe(image=input_image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
model card: the temporal-expansion ladder section (measured curve, the eye-vs-meter honesty, usage, provenance)
Browse files
README.md
CHANGED
|
@@ -183,6 +183,72 @@ turbo LoRAs does not apply here.
|
|
| 183 |
- Trainer: our ai-toolkit extension for H3 (span-aware packing verified
|
| 184 |
bit-exact against ComfyUI)
|
| 185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
## Base model and licence
|
| 187 |
|
| 188 |
This is a LoRA for [MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3)
|
|
|
|
| 183 |
- Trainer: our ai-toolkit extension for H3 (span-aware packing verified
|
| 184 |
bit-exact against ComfyUI)
|
| 185 |
|
| 186 |
+
## The temporal-expansion ladder (new, 2026-08-24)
|
| 187 |
+
|
| 188 |
+
The "considerably more ambitious" follow-up mentioned above has produced its
|
| 189 |
+
first shippable piece. The pilot learned its task from targets the model
|
| 190 |
+
generated itself; these checkpoints retrain the same recipe against real
|
| 191 |
+
intermediate frames, and every training step is published so you can pick
|
| 192 |
+
your own point on the curve.
|
| 193 |
+
|
| 194 |
+
**What changed.** Same rank-16, attention-only construction, warm-started
|
| 195 |
+
from the pilot. The training targets are now real: windows cut from the
|
| 196 |
+
public GOPRO_Large deblurring dataset (240 fps source), decimated to the
|
| 197 |
+
working frame rate and re-expanded, so the held tokens are scored against
|
| 198 |
+
frames a real camera actually captured rather than an interpolation. The
|
| 199 |
+
world clock in training is truthful (each token labelled with the real time
|
| 200 |
+
it spans).
|
| 201 |
+
|
| 202 |
+
**Measured, on scenes the adapter never saw** (four camera shoots fully
|
| 203 |
+
disjoint from training, held-token error in latent space, lower is better;
|
| 204 |
+
the no-adapter baseline is 1.23 and the plain interpolation the pass starts
|
| 205 |
+
from scores 0.26):
|
| 206 |
+
|
| 207 |
+
| step | 25 | 100 | 175 | 250 | 375 |
|
| 208 |
+
|---|---|---|---|---|---|
|
| 209 |
+
| error | 0.158 | 0.133 | 0.116 | 0.105 | 0.086 |
|
| 210 |
+
|
| 211 |
+
The curve never turns: more steps keep measuring better, through the last
|
| 212 |
+
checkpoint. And here is the honest part: **the numbers and the eye disagree
|
| 213 |
+
about where to stop.** Step 100 was the pick in playback: fast motion comes
|
| 214 |
+
out smooth and the clip still feels like itself. Step 375 measures best by
|
| 215 |
+
a wide margin, but in side-by-side viewing it can read over-smooth, as if
|
| 216 |
+
the motion had been graded. On a static-content probe the family does not
|
| 217 |
+
invent motion (it lands below the interpolation floor rather than above
|
| 218 |
+
it), so the disagreement is about feel, not correctness. We publish every
|
| 219 |
+
25th step so you can find your own point; if you only take one file, take
|
| 220 |
+
`warm100`.
|
| 221 |
+
|
| 222 |
+
**Watch instead of reading.** Six arms of one clip, every panel with its
|
| 223 |
+
settings and wall time burned in; the bottom-right panel is the full
|
| 224 |
+
de-rope end to end for cost comparison:
|
| 225 |
+
|
| 226 |
+
<video controls muted playsinline preload="metadata" width="100%"
|
| 227 |
+
poster="https://huggingface.co/MATLOWAI/MiniMax-H3-Motion-Adapter/resolve/main/assets/temporal_expansion_2x3_tile_poster.jpg">
|
| 228 |
+
<source src="https://huggingface.co/MATLOWAI/MiniMax-H3-Motion-Adapter/resolve/main/assets/temporal_expansion_2x3_tile.mp4" type="video/mp4">
|
| 229 |
+
<a href="https://huggingface.co/MATLOWAI/MiniMax-H3-Motion-Adapter/resolve/main/assets/temporal_expansion_2x3_tile.mp4">Download the comparison tile (mp4, 11 MB)</a>
|
| 230 |
+
</video>
|
| 231 |
+
|
| 232 |
+
**Use.** Exactly like the pilot: drop a file from `temporal_expansion/`
|
| 233 |
+
into `models/loras/minimax_h3/`, load with a stock `LoraLoaderModelOnly`
|
| 234 |
+
at strength 1.0 on the model that feeds the de-rope or windowed-insertion
|
| 235 |
+
pass. Not for the first text-to-video pass.
|
| 236 |
+
|
| 237 |
+
**Files.** `temporal_expansion/minimax_h3_temporal_expansion_warm100_r16.safetensors`
|
| 238 |
+
(the playback pick, sha256 cbb23ad4...) and
|
| 239 |
+
`minimax_h3_temporal_expansion_step025_r16.safetensors` through
|
| 240 |
+
`step375_r16.safetensors`, every 25 steps of the same run (step375 sha256
|
| 241 |
+
28f3d41d...). 63 MB each.
|
| 242 |
+
|
| 243 |
+
**Training facts.** Warm-started from the pilot above; 375 steps, lr 1e-4,
|
| 244 |
+
adamw8bit, bf16; 48 samples derived from GOPRO_Large (Nah et al., the
|
| 245 |
+
public deblurring benchmark) plus the pilot's self-generated set for the
|
| 246 |
+
difficulty gate; the trainer's span-aware packing verified bit-exact
|
| 247 |
+
against ComfyUI. Unlike the pilot, this data includes real footage; the
|
| 248 |
+
source dataset is public and widely used for research, and the derivation
|
| 249 |
+
(decimate, re-expand, score held tokens) is described so it can be
|
| 250 |
+
reproduced or swapped for your own footage.
|
| 251 |
+
|
| 252 |
## Base model and licence
|
| 253 |
|
| 254 |
This is a LoRA for [MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3)
|