5.0 KiB
Provider Reference — MiniMax
All asset generation uses MiniMax API. Env: MINIMAX_API_KEY (required).
Audio (Sync TTS)
Script: scripts/minimax_tts.py
python scripts/minimax_tts.py "Hello world" -o output.mp3
python scripts/minimax_tts.py "你好" -o hi.mp3 -v female-shaonv
python scripts/minimax_tts.py "Welcome" -o out.wav -v male-qn-jingying --speed 0.8 --format wav
Model: speech-2.8-hd (default).
| Flag | Default | Range / Options |
|---|---|---|
-o |
(required) | Output file path |
-v |
male-qn-qingse |
Voice ID |
--model |
speech-2.8-hd |
speech-2.8-hd / speech-2.8-turbo / speech-2.6-hd / speech-2.6-turbo |
--speed |
1.0 | 0.5–2.0 |
--volume |
1.0 | 0.1–10 |
--pitch |
0 | -12 to 12 |
--emotion |
(auto) | happy / sad / angry / fearful / disgusted / surprised / calm / fluent / whisper |
--format |
mp3 | mp3 / wav / flac |
--lang |
auto | Language boost |
Programmatic:
from minimax_tts import tts
audio_bytes = tts("Hello", voice_id="female-shaonv")
Video (Text-to-Video)
Script: scripts/minimax_video.py
python scripts/minimax_video.py "A cat playing piano" -o cat.mp4
python scripts/minimax_video.py "Ocean waves [Truck left]" -o waves.mp4 --duration 10
python scripts/minimax_video.py "City skyline [Push in]" -o city.mp4 --resolution 1080P
Model: MiniMax-Hailuo-2.3 (default). Async: script handles create → poll → download automatically.
| Flag | Default | Options |
|---|---|---|
-o |
(required) | Output file path (.mp4) |
--model |
MiniMax-Hailuo-2.3 |
MiniMax-Hailuo-2.3 / MiniMax-Hailuo-02 / T2V-01-Director / T2V-01 |
--duration |
6 | 6 / 10 (10s only at 768P with Hailuo models) |
--resolution |
768P | 720P / 768P / 1080P (1080P only 6s) |
--no-optimize |
false | Disable prompt auto-optimization |
--poll-interval |
10 | Seconds between status checks |
--max-wait |
600 | Max wait time in seconds |
Camera commands — insert [Command] in prompt: [Push in], [Truck left], [Pan right], [Zoom out], [Static shot], [Tracking shot], etc.
Programmatic:
from minimax_video import generate
generate("A cat playing piano", "cat.mp4", model="MiniMax-Hailuo-2.3", duration=6)
See minimax-video-guide.md for full camera command list and model compatibility.
Image (Text-to-Image)
Script: scripts/minimax_image.py
python scripts/minimax_image.py "A cat astronaut in space" -o cat.png
python scripts/minimax_image.py "Mountain landscape" -o hero.png --ratio 16:9
python scripts/minimax_image.py "Product icons, flat style" -o icons.png -n 4 --seed 42
Model: image-01. Sync: returns image URL (or base64) immediately.
| Flag | Default | Options |
|---|---|---|
-o |
(required) | Output file path (.png/.jpg) |
--ratio |
1:1 | 1:1 / 16:9 / 4:3 / 3:2 / 2:3 / 3:4 / 9:16 / 21:9 |
-n |
1 | Number of images (1–9) |
--seed |
(random) | Seed for reproducibility |
--optimize |
false | Enable prompt auto-optimization |
--base64 |
false | Return base64 instead of URL |
Batch output: with -n > 1, files are named out-0.png, out-1.png, etc.
Programmatic:
from minimax_image import generate_image, download_and_save
result = generate_image("A cat in space", aspect_ratio="16:9")
download_and_save(result["data"]["image_urls"][0], "cat.png")
See minimax-image-guide.md for ratio dimensions and details.
Music (Text-to-Music)
Script: scripts/minimax_music.py
python scripts/minimax_music.py --prompt "Indie folk, melancholic" --lyrics "[verse]\nStreetlights flicker" -o song.mp3
python scripts/minimax_music.py --prompt "Upbeat pop, energetic" --auto-lyrics -o pop.mp3
python scripts/minimax_music.py --prompt "Jazz piano, smooth, relaxing" --instrumental -o jazz.mp3
Model: music-2.5+ (default). Sync: returns audio hex or URL.
| Flag | Default | Options |
|---|---|---|
-o |
(required) | Output file path (.mp3/.wav) |
--prompt |
(empty) | Music description: style, mood, scenario (max 2000 chars) |
--lyrics |
(empty) | Song lyrics with structure tags (max 3500 chars) |
--lyrics-file |
(empty) | Read lyrics from file |
--model |
music-2.5+ |
music-2.5+ / music-2.5 |
--instrumental |
false | Generate instrumental only (no vocals, music-2.5+ only) |
--auto-lyrics |
false | Auto-generate lyrics from prompt |
--format |
mp3 | mp3 / wav / pcm |
--sample-rate |
44100 | 16000 / 24000 / 32000 / 44100 |
--bitrate |
256000 | 32000 / 64000 / 128000 / 256000 |
Lyrics structure tags: [Intro], [Verse], [Pre Chorus], [Chorus], [Interlude], [Bridge], [Outro], [Post Chorus], [Transition], [Break], [Hook], [Build Up], [Inst], [Solo]
Programmatic:
from minimax_music import generate_music
result = generate_music(prompt="Jazz piano", is_instrumental=True)
with open("jazz.mp3", "wb") as f:
f.write(result["audio_bytes"])