Image-Text-to-Video
Diffusers
Safetensors
MiniMaxH3ModularPipeline
text-to-video
image-to-video
video-to-video
text-to-audio-video
image-to-audio-video
image-text-to-audio-video
video-to-audio-video
audio-to-audio-video
audio-video-generation
multimodal
synchronized-audio-video
reference-to-audio-video
Instructions to use MiniMaxAI/MiniMax-H3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use MiniMaxAI/MiniMax-H3 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("MiniMaxAI/MiniMax-H3", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
File size: 1,923 Bytes
5d9b308 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #!/usr/bin/env bash
set -euo pipefail
H3_BASE_VIDEO='./r2va.mp4'
# Encode the local H3-Base video as a Data URL and create the regeneration task.
task_id=$(
jq -n \
--arg prompt "$EXPANDED_PROMPT" \
--rawfile base_video <(
printf 'data:video/mp4;base64,'
base64 -w0 "$H3_BASE_VIDEO"
) \
'{
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": $prompt
},
{
"type": "video_url",
"video_url": {
"url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/297573323635_00_%E8%A7%86%E9%A2%911_YnyRbxEwio_video_20260525_163755_1927e9d3.mp4"
},
"role": "reference_video"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/f463d523c5ce_01_%E9%9F%B3%E9%A2%911_RSLcbpzJPo_6%E6%9C%885%E6%97%A5(1).mp3"
},
"role": "reference_audio"
},
{
"type": "video_url",
"video_url": {
"url": $base_video
},
"role": "base_video"
}
],
"resolution": "2K"
}' |
curl --silent --show-error \
--request POST \
--url "$MINIMAX_API_BASE/v2/video_regeneration" \
--header "Authorization: Bearer $TOKEN" \
--header 'Content-Type: application/json' \
--data-binary @- |
jq -er '.task_id'
)
# Query again while the task is queued or running.
regeneration_result=$(
curl --silent --show-error \
--request GET \
--url "$MINIMAX_API_BASE/v2/query/video_generation/$task_id" \
--header "Authorization: Bearer $TOKEN"
)
echo "$regeneration_result" | jq '{status: .task.status}'
# Download the 2K MP4 after the task succeeds.
video_url=$(echo "$regeneration_result" | jq -er '.task.content.url')
curl --location "$video_url" --output r2va_2k.mp4
|