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") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
| { | |
| "119": { | |
| "class_type": "VAELoader", | |
| "inputs": { | |
| "vae_name": "minimax_h3/minimax_h3_video_vae_fp16.safetensors" | |
| }, | |
| "_meta": { | |
| "title": "VAELoader" | |
| } | |
| }, | |
| "120": { | |
| "class_type": "VAELoader", | |
| "inputs": { | |
| "vae_name": "minimax_h3/minimax_h3_audio_vae_fp32.safetensors" | |
| }, | |
| "_meta": { | |
| "title": "VAELoader" | |
| } | |
| }, | |
| "121": { | |
| "class_type": "VAEDecodeAudio", | |
| "inputs": { | |
| "samples": [ | |
| "125", | |
| 0 | |
| ], | |
| "vae": [ | |
| "120", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "VAEDecodeAudio" | |
| } | |
| }, | |
| "122": { | |
| "class_type": "VAEDecode", | |
| "inputs": { | |
| "samples": [ | |
| "125", | |
| 0 | |
| ], | |
| "vae": [ | |
| "119", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "VAEDecode" | |
| } | |
| }, | |
| "125": { | |
| "class_type": "SamplerCustomAdvanced", | |
| "inputs": { | |
| "noise": [ | |
| "129", | |
| 0 | |
| ], | |
| "guider": [ | |
| "126", | |
| 0 | |
| ], | |
| "sampler": [ | |
| "135", | |
| 0 | |
| ], | |
| "sigmas": [ | |
| "124", | |
| 0 | |
| ], | |
| "latent_image": [ | |
| "131", | |
| 1 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "SamplerCustomAdvanced" | |
| } | |
| }, | |
| "126": { | |
| "class_type": "BasicGuider", | |
| "inputs": { | |
| "model": [ | |
| "127", | |
| 0 | |
| ], | |
| "conditioning": [ | |
| "131", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "BasicGuider" | |
| } | |
| }, | |
| "129": { | |
| "class_type": "RandomNoise", | |
| "inputs": { | |
| "noise_seed": 20260813 | |
| }, | |
| "_meta": { | |
| "title": "RandomNoise" | |
| } | |
| }, | |
| "128": { | |
| "class_type": "CLIPLoader", | |
| "inputs": { | |
| "clip_name": "minimax_h3/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", | |
| "type": "minimax", | |
| "device": "default" | |
| }, | |
| "_meta": { | |
| "title": "CLIPLoader" | |
| } | |
| }, | |
| "127": { | |
| "class_type": "UNETLoader", | |
| "inputs": { | |
| "unet_name": "minimax_h3/minimax_h3_fl2va_pruned_int8_convrot.safetensors", | |
| "weight_dtype": "default" | |
| }, | |
| "_meta": { | |
| "title": "UNETLoader" | |
| } | |
| }, | |
| "130": { | |
| "class_type": "CreateVideo", | |
| "inputs": { | |
| "fps": 24, | |
| "bit_depth": 8, | |
| "images": [ | |
| "122", | |
| 0 | |
| ], | |
| "audio": [ | |
| "121", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "CreateVideo" | |
| } | |
| }, | |
| "92": { | |
| "class_type": "SaveVideo", | |
| "inputs": { | |
| "filename_prefix": "video/mainodes_adapter_baseline", | |
| "format": "auto", | |
| "codec": "auto", | |
| "video": [ | |
| "130", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "SaveVideo" | |
| } | |
| }, | |
| "131": { | |
| "class_type": "MiniMaxH3ImageToVideo", | |
| "inputs": { | |
| "prompt": "integrated_multimodal_description: [Shot 1] 2D anime, cel-shaded, cinematic, a medium-wide shot frames a young battle-mage swordswoman alone on a stone platform before a great vermilion torii gate at a cliff edge above a rolling sea of dawn clouds, warm gold light breaking across the platform, small white seabirds far below. She has raven-black hair in two long twin-tails tied with white ribbons that hang to her waist. She wears a sleeveless crimson and white shrine-battle outfit with a bare back and shoulders, a short pleated white skirt with a long open crimson half-skirt trailing behind her knees, white ribbon tassels at both hips, fingerless long black gloves, and lace-topped white thigh-high stockings with red cord ties; she carries a curved crimson-lacquered blade trailing two long white streamers from its hilt. She snaps her free hand up and four translucent spectral swords of pale golden light materialize around her, orbiting her body in a fast level ring at waist height, each trailing thin light. As the ring spins she launches sideways into a one-handed cartwheel directly through the orbit, her legs sweeping overhead in turn, twin-tails, ribbons, half-skirt and streamers whipping through the gaps between the circling spectral blades, and lands back on both feet without breaking the ring's spin. She then drops low and whirls her real blade in a rising diagonal cut; the four spectral swords break from their orbit, streak outward away from her in four directions, and shatter against the stone floor of the platform into brief showers of golden petals of light that fade where they fall. She finishes upright with the blade raised before the torii gate, streamers and twin-tails swinging once and settling. The camera holds a Static Shot at chest height for the whole clip; the platform and gate stay fixed while only the swordswoman, her blade, the spectral swords, her hair, ribbons, skirts and streamers, and the golden petals move. Every frame is crisp and sharp as if shot at a very high shutter speed, her limbs, each ribbon, streamer and skirt pleat held in fine clean detail through every instant of the motion, deep depth of field front to back.\n\noverall_soundscape: A bright ringing shimmer as the four spectral swords materialize and orbit with a low circling hum, the sharp rustle and snap of ribbons, pleats and streamers through the cartwheel, both soles landing on stone with a clean double tap, a hard whoosh with the rising cut, four quick glassy bursts as the spectral blades shatter into petals, and a soft high wind over the sea of clouds with distant seabird cries.\n\nnon_diegetic_music: N/A", | |
| "width": [ | |
| "115", | |
| 0 | |
| ], | |
| "height": [ | |
| "115", | |
| 1 | |
| ], | |
| "length": [ | |
| "132", | |
| 1 | |
| ], | |
| "clip": [ | |
| "128", | |
| 0 | |
| ], | |
| "vae": [ | |
| "119", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "MiniMaxH3ImageToVideo" | |
| } | |
| }, | |
| "124": { | |
| "class_type": "BasicScheduler", | |
| "inputs": { | |
| "scheduler": "simple", | |
| "steps": 25, | |
| "denoise": 1, | |
| "model": [ | |
| "127", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "BasicScheduler" | |
| } | |
| }, | |
| "133": { | |
| "class_type": "PrimitiveFloat", | |
| "inputs": { | |
| "value": 5.0 | |
| }, | |
| "_meta": { | |
| "title": "Float (duration)" | |
| } | |
| }, | |
| "132": { | |
| "class_type": "ComfyMathExpression", | |
| "inputs": { | |
| "expression": "max(5, round(a * 24)) + (5 - (max(5, round(a * 24)) % 17)) % 17", | |
| "values.a": [ | |
| "133", | |
| 0 | |
| ] | |
| }, | |
| "_meta": { | |
| "title": "ComfyMathExpression" | |
| } | |
| }, | |
| "115": { | |
| "class_type": "ResolutionSelector", | |
| "inputs": { | |
| "aspect_ratio": "1:1 (Square)", | |
| "megapixels": 1.0, | |
| "multiple": 32 | |
| }, | |
| "_meta": { | |
| "title": "ResolutionSelector" | |
| } | |
| }, | |
| "135": { | |
| "class_type": "KSamplerSelect", | |
| "inputs": { | |
| "sampler_name": "res_multistep" | |
| }, | |
| "_meta": { | |
| "title": "KSamplerSelect" | |
| } | |
| }, | |
| "200": { | |
| "class_type": "H3JerkOracle", | |
| "inputs": { | |
| "samples": [ | |
| "125", | |
| 0 | |
| ], | |
| "length": [ | |
| "132", | |
| 1 | |
| ], | |
| "q": 0.75, | |
| "d_max": 4, | |
| "ramp": true | |
| } | |
| }, | |
| "201": { | |
| "class_type": "H3TimeSmear", | |
| "inputs": { | |
| "images": [ | |
| "122", | |
| 0 | |
| ], | |
| "dilation": 4, | |
| "hold_map": [ | |
| "200", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "202": { | |
| "class_type": "VAEEncode", | |
| "inputs": { | |
| "pixels": [ | |
| "201", | |
| 0 | |
| ], | |
| "vae": [ | |
| "119", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "203": { | |
| "class_type": "H3V2VInit", | |
| "inputs": { | |
| "samples": [ | |
| "202", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "204": { | |
| "class_type": "H3InjectSchedule", | |
| "inputs": { | |
| "model": [ | |
| "600", | |
| 0 | |
| ], | |
| "scheduler": "simple", | |
| "total_steps": 25, | |
| "inject": 0.45 | |
| } | |
| }, | |
| "205": { | |
| "class_type": "RandomNoise", | |
| "inputs": { | |
| "noise_seed": 20260899 | |
| } | |
| }, | |
| "206": { | |
| "class_type": "MiniMaxH3ImageToVideo", | |
| "inputs": { | |
| "prompt": "integrated_multimodal_description: [Shot 1] 2D anime, cel-shaded, cinematic, a medium-wide shot frames a young battle-mage swordswoman alone on a stone platform before a great vermilion torii gate at a cliff edge above a rolling sea of dawn clouds, warm gold light breaking across the platform, small white seabirds far below. She has raven-black hair in two long twin-tails tied with white ribbons that hang to her waist. She wears a sleeveless crimson and white shrine-battle outfit with a bare back and shoulders, a short pleated white skirt with a long open crimson half-skirt trailing behind her knees, white ribbon tassels at both hips, fingerless long black gloves, and lace-topped white thigh-high stockings with red cord ties; she carries a curved crimson-lacquered blade trailing two long white streamers from its hilt. She snaps her free hand up and four translucent spectral swords of pale golden light materialize around her, orbiting her body in a fast level ring at waist height, each trailing thin light. As the ring spins she launches sideways into a one-handed cartwheel directly through the orbit, her legs sweeping overhead in turn, twin-tails, ribbons, half-skirt and streamers whipping through the gaps between the circling spectral blades, and lands back on both feet without breaking the ring's spin. She then drops low and whirls her real blade in a rising diagonal cut; the four spectral swords break from their orbit, streak outward away from her in four directions, and shatter against the stone floor of the platform into brief showers of golden petals of light that fade where they fall. She finishes upright with the blade raised before the torii gate, streamers and twin-tails swinging once and settling. The camera holds a Static Shot at chest height for the whole clip; the platform and gate stay fixed while only the swordswoman, her blade, the spectral swords, her hair, ribbons, skirts and streamers, and the golden petals move. Every frame is crisp and sharp as if shot at a very high shutter speed, her limbs, each ribbon, streamer and skirt pleat held in fine clean detail through every instant of the motion, deep depth of field front to back.\n\noverall_soundscape: A bright ringing shimmer as the four spectral swords materialize and orbit with a low circling hum, the sharp rustle and snap of ribbons, pleats and streamers through the cartwheel, both soles landing on stone with a clean double tap, a hard whoosh with the rising cut, four quick glassy bursts as the spectral blades shatter into petals, and a soft high wind over the sea of clouds with distant seabird cries.\n\nnon_diegetic_music: N/A", | |
| "width": [ | |
| "115", | |
| 0 | |
| ], | |
| "height": [ | |
| "115", | |
| 1 | |
| ], | |
| "length": [ | |
| "201", | |
| 2 | |
| ], | |
| "clip": [ | |
| "128", | |
| 0 | |
| ], | |
| "vae": [ | |
| "119", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "207": { | |
| "class_type": "BasicGuider", | |
| "inputs": { | |
| "model": [ | |
| "600", | |
| 0 | |
| ], | |
| "conditioning": [ | |
| "206", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "208": { | |
| "class_type": "SamplerCustomAdvanced", | |
| "inputs": { | |
| "noise": [ | |
| "205", | |
| 0 | |
| ], | |
| "guider": [ | |
| "207", | |
| 0 | |
| ], | |
| "sampler": [ | |
| "135", | |
| 0 | |
| ], | |
| "sigmas": [ | |
| "204", | |
| 0 | |
| ], | |
| "latent_image": [ | |
| "203", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "209": { | |
| "class_type": "VAEDecode", | |
| "inputs": { | |
| "samples": [ | |
| "208", | |
| 0 | |
| ], | |
| "vae": [ | |
| "119", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "210": { | |
| "class_type": "VAEDecodeAudio", | |
| "inputs": { | |
| "samples": [ | |
| "208", | |
| 0 | |
| ], | |
| "vae": [ | |
| "120", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "211": { | |
| "class_type": "CreateVideo", | |
| "inputs": { | |
| "images": [ | |
| "209", | |
| 0 | |
| ], | |
| "audio": [ | |
| "210", | |
| 0 | |
| ], | |
| "fps": 24, | |
| "bit_depth": 8 | |
| } | |
| }, | |
| "212": { | |
| "class_type": "SaveVideo", | |
| "inputs": { | |
| "video": [ | |
| "211", | |
| 0 | |
| ], | |
| "filename_prefix": "video/mainodes_adapter_dilated", | |
| "format": "auto", | |
| "codec": "auto" | |
| } | |
| }, | |
| "213": { | |
| "class_type": "H3ExactRecover", | |
| "inputs": { | |
| "images": [ | |
| "209", | |
| 0 | |
| ], | |
| "hold_map": [ | |
| "201", | |
| 1 | |
| ] | |
| } | |
| }, | |
| "214": { | |
| "class_type": "CreateVideo", | |
| "inputs": { | |
| "images": [ | |
| "213", | |
| 0 | |
| ], | |
| "fps": 24, | |
| "bit_depth": 8, | |
| "audio": [ | |
| "219", | |
| 0 | |
| ] | |
| } | |
| }, | |
| "215": { | |
| "class_type": "SaveVideo", | |
| "inputs": { | |
| "video": [ | |
| "214", | |
| 0 | |
| ], | |
| "filename_prefix": "video/mainodes_adapter_recovered", | |
| "format": "auto", | |
| "codec": "auto" | |
| } | |
| }, | |
| "216": { | |
| "class_type": "H3JerkHeatmap", | |
| "inputs": { | |
| "images": [ | |
| "122", | |
| 0 | |
| ], | |
| "samples": [ | |
| "125", | |
| 0 | |
| ], | |
| "alpha": 0.55, | |
| "strip_height": 96 | |
| } | |
| }, | |
| "217": { | |
| "class_type": "CreateVideo", | |
| "inputs": { | |
| "images": [ | |
| "216", | |
| 0 | |
| ], | |
| "fps": 24, | |
| "bit_depth": 8 | |
| } | |
| }, | |
| "218": { | |
| "class_type": "SaveVideo", | |
| "inputs": { | |
| "video": [ | |
| "217", | |
| 0 | |
| ], | |
| "filename_prefix": "video/mainodes_adapter_oraclemap", | |
| "format": "auto", | |
| "codec": "auto" | |
| } | |
| }, | |
| "219": { | |
| "class_type": "H3AudioRecover", | |
| "inputs": { | |
| "audio": [ | |
| "210", | |
| 0 | |
| ], | |
| "hold_map": [ | |
| "201", | |
| 1 | |
| ], | |
| "fps": 24, | |
| "reference": [ | |
| "121", | |
| 0 | |
| ], | |
| "reference_mix": 0.0 | |
| } | |
| }, | |
| "600": { | |
| "class_type": "LoraLoaderModelOnly", | |
| "inputs": { | |
| "model": [ | |
| "127", | |
| 0 | |
| ], | |
| "lora_name": "minimax_h3/minimax_h3_motion_adapter_pilot_r16.safetensors", | |
| "strength_model": 1.0 | |
| }, | |
| "_meta": { | |
| "title": "Motion adapter (de-rope pass only)" | |
| } | |
| } | |
| } |