curl --request POST \
--url https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'A boy playing basketball by the sea',
ratio: '16:9',
duration: 5,
resolution: '768P'
})
};
fetch('https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v"
payload = {
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v"
payload := strings.NewReader("{\n \"prompt\": \"A boy playing basketball by the sea\",\n \"ratio\": \"16:9\",\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"A boy playing basketball by the sea\",\n \"ratio\": \"16:9\",\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'A boy playing basketball by the sea',
ratio: '16:9',
duration: 5,
resolution: '768P'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'A boy playing basketball by the sea',
'ratio' => '16:9',
'duration' => 5,
'resolution' => '768P'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"A boy playing basketball by the sea\",\n \"ratio\": \"16:9\",\n \"duration\": 5,\n \"resolution\": \"768P\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-abc123",
"model_id": "model-123",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-abc123"
}
}
}MiniMax H3 Max T2V
[Core Function] MiniMax H3 Max T2V creates video from a text prompt only. [Strengths] It supports 5-15 second clips, 480P or 768P output, concrete aspect ratios from cinematic ultrawide to vertical, and optional prompt_expansion_mode (disabled, balanced, or quality). [Best For] Highly recommended for: prompt-only storyboards, character-driven shorts, cinematic B-roll from text, and drafts without image inputs. [Limitations] Do NOT use this model if you need to condition on images, first or last frames, or reference videos, or if you need 2K or a 4 second clip. prompt, duration, resolution, and ratio are required; ratio must be one of the documented aspect ratios. [Routing] Choose MiniMax H3 Max T2V for text-only MiniMax H3 Max video. If the user provides a start or end frame, use MiniMax H3 Max FL2V. If they provide reference images, use MiniMax H3 Max I2V. If they provide reference videos, use MiniMax H3 Max V2V. For 2K or 4 second clips, use MiniMax H3 T2V.
curl --request POST \
--url https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'A boy playing basketball by the sea',
ratio: '16:9',
duration: 5,
resolution: '768P'
})
};
fetch('https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v"
payload = {
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v"
payload := strings.NewReader("{\n \"prompt\": \"A boy playing basketball by the sea\",\n \"ratio\": \"16:9\",\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"A boy playing basketball by the sea\",\n \"ratio\": \"16:9\",\n \"duration\": 5,\n \"resolution\": \"768P\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'A boy playing basketball by the sea',
ratio: '16:9',
duration: 5,
resolution: '768P'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'A boy playing basketball by the sea',
'ratio' => '16:9',
'duration' => 5,
'resolution' => '768P'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"A boy playing basketball by the sea\",\n \"ratio\": \"16:9\",\n \"duration\": 5,\n \"resolution\": \"768P\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/minimax/minimax-h3-max-t2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "A boy playing basketball by the sea",
"ratio": "16:9",
"duration": 5,
"resolution": "768P"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-abc123",
"model_id": "model-123",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-abc123"
}
}
}Authorizations
API Key authentication. Format: Bearer YOUR_API_KEY.
Body
Video content description.
1 - 7000Required video duration in seconds. 4 seconds is not supported.
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Required output resolution. 2K is not supported.
480P, 768P Required video aspect ratio. One of the listed values.
21:9, 16:9, 4:3, 1:1, 3:4, 9:16 Optional prompt expansion. disabled turns expansion off; balanced is the default; quality prioritizes expansion quality.
disabled, balanced, quality