MiniMax API
Use the MiniMax API via direct curl calls for AI chat completion, text-to-speech, and video generation.
Official docs: https://platform.minimax.io/docs
When to Use
Use this skill when you need to:
- Chat completion with Chinese-optimized LLM (MiniMax-M1/M2)
- Text-to-speech with natural voices and emotion control
- Video generation from text prompts (T2V)
- Image-to-video conversion (I2V)
Prerequisites
- Sign up at MiniMax Platform
- Go to Account Management > API Keys to create an API key
- Note: Global users should use
api.minimaxi.chat (with extra "i")
export MINIMAX_API_KEY="your-api-key"
API Hosts
| Region |
Base URL |
| China |
https://api.minimax.io |
| Global |
https://api.minimaxi.chat |
How to Use
All examples below assume you have MINIMAX_API_KEY set.
Authentication uses Bearer token in the Authorization header.
1. Basic Chat Completion
Send a chat message:
Write to /tmp/minimax_request.json:
{
"model": "MiniMax-Text-01",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello, who are you?"}
]
}
Then run:
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.choices[0].message.content'
Available models:
MiniMax-M2: Reasoning model (best quality)
MiniMax-M1: Reasoning model (balanced)
MiniMax-Text-01: Standard model (fastest)
2. Chat with Temperature Control
Adjust creativity:
Write to /tmp/minimax_request.json:
{
"model": "MiniMax-Text-01",
"messages": [
{"role": "user", "content": "Write a short poem about AI."}
],
"temperature": 0.7,
"max_tokens": 200
}
Then run:
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.choices[0].message.content'
Parameters:
temperature (0-1): Higher = more creative
top_p (0-1, default 0.95): Sampling diversity
max_tokens: Maximum output tokens
3. Streaming Response
Get real-time output:
Write to /tmp/minimax_request.json:
{
"model": "MiniMax-M1",
"messages": [
{"role": "user", "content": "Explain quantum computing."}
],
"stream": true
}
Then run:
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json
Streaming is recommended for reasoning models (M1/M2).
4. Reasoning Model (M1/M2)
Use reasoning models for complex tasks:
Write to /tmp/minimax_request.json:
{
"model": "MiniMax-M1",
"messages": [
{"role": "user", "content": "Solve step by step: A train travels 120km in 2 hours. What is its average speed in m/s?"}
],
"stream": true
}
Then run:
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json
Response includes reasoning_content field with thought process.
5. Text-to-Speech (Basic)
Convert text to speech:
Write to /tmp/minimax_request.json:
{
"model": "speech-02-hd",
"text": "Hello, this is a test of MiniMax text to speech.",
"voice_id": "male-qn-qingse",
"speed": 1.0,
"format": "mp3"
}
Then run:
curl -s "https://api.minimax.io/v1/t2a_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json --output speech.mp3
6. TTS with Emotion
Add emotion to speech (speech-02 models):
Write to /tmp/minimax_request.json:
{
"model": "speech-02-hd",
"text": "I am so happy to meet you today!",
"voice_id": "female-shaonv",
"emotion": "happy",
"speed": 1.0,
"format": "mp3"
}
Then run:
curl -s "https://api.minimax.io/v1/t2a_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json --output happy_speech.mp3
Emotion options: happy, sad, angry, fearful, disgusted, surprised, neutral
7. TTS with Audio Settings
Fine-tune audio output:
Write to /tmp/minimax_request.json:
{
"model": "speech-02-hd",
"text": "High quality audio test.",
"voice_id": "male-qn-qingse",
"speed": 1.0,
"vol": 1.0,
"pitch": 0,
"audio_sample_rate": 32000,
"bitrate": 128000,
"format": "mp3"
}
Then run:
curl -s "https://api.minimax.io/v1/t2a_v2" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json --output hq_speech.mp3
TTS models:
speech-02-hd: High definition (best quality)
speech-02-turbo: Fast generation
speech-01-hd: Previous gen HD
speech-01-turbo: Previous gen fast
8. Text-to-Video (T2V)
Generate video from text prompt:
Write to /tmp/minimax_request.json:
{
"model": "T2V-01-Director",
"prompt": "A cat playing with a ball of yarn [Static shot].",
"duration": 6,
"resolution": "1080P"
}
Then run:
curl -s "https://api.minimax.io/v1/video_generation" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.task_id'
Video generation is async - returns a task ID to poll for completion.
9. T2V with Camera Control
Control camera movement in videos:
Write to /tmp/minimax_request.json:
{
"model": "MiniMax-Hailuo-2.3",
"prompt": "A person walking through a forest [Tracking shot], then stops to look at a bird [Push in].",
"duration": 6,
"resolution": "1080P"
}
Then run:
curl -s "https://api.minimax.io/v1/video_generation" -X POST -H "Authorization: Bearer $MINIMAX_API_KEY" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.task_id'
Camera commands (in brackets):
- Movement:
Truck left/right, Pan left/right, Push in/Pull out
- Vertical:
Pedestal up/down, Tilt up/down
- Zoom:
Zoom in/out
- Special:
Shake, Tracking shot, Static shot
Combine with [Pan left, Pedestal up] (max 3 simultaneous).
10. Image-to-Video (I2V)
Generate video from an image:
Note: For I2V, use MiniMax-H