curl --request POST \
--url https://api.powertokens.ai/minimax/v2/video_generation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1"
},
{
"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"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "adaptive"
}
'import requests
url = "https://api.powertokens.ai/minimax/v2/video_generation"
payload = {
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1"
},
{
"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"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "adaptive"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: 'Bearer <token>'},
body: JSON.stringify({
model: 'MiniMax-H3',
content: [
{
type: 'text',
text: 'Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1'
},
{
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'
}
],
resolution: '2K',
duration: 5,
ratio: 'adaptive'
})
};
fetch('https://api.powertokens.ai/minimax/v2/video_generation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.powertokens.ai/minimax/v2/video_generation",
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([
'model' => 'MiniMax-H3',
'content' => [
[
'type' => 'text',
'text' => 'Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1'
],
[
'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'
]
],
'resolution' => '2K',
'duration' => 5,
'ratio' => 'adaptive'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.powertokens.ai/minimax/v2/video_generation"
payload := strings.NewReader("{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1\"\n },\n {\n \"type\": \"video_url\",\n \"video_url\": {\n \"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\"\n },\n \"role\": \"reference_video\"\n },\n {\n \"type\": \"audio_url\",\n \"audio_url\": {\n \"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\"\n },\n \"role\": \"reference_audio\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "Bearer <token>")
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.powertokens.ai/minimax/v2/video_generation")
.header("Content-Type", "<content-type>")
.header("Authorization", "Bearer <token>")
.body("{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1\"\n },\n {\n \"type\": \"video_url\",\n \"video_url\": {\n \"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\"\n },\n \"role\": \"reference_video\"\n },\n {\n \"type\": \"audio_url\",\n \"audio_url\": {\n \"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\"\n },\n \"role\": \"reference_audio\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.powertokens.ai/minimax/v2/video_generation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = 'Bearer <token>'
request.body = "{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1\"\n },\n {\n \"type\": \"video_url\",\n \"video_url\": {\n \"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\"\n },\n \"role\": \"reference_video\"\n },\n {\n \"type\": \"audio_url\",\n \"audio_url\": {\n \"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\"\n },\n \"role\": \"reference_audio\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}"
response = http.request(request)
puts response.read_body{
"output": {
"task_id": "424010985738629"
}
}Reference to Video Generation
Video generation V2 API. Input via multimodal content array (text / image / video / audio). Supports text-to-video, image-to-video (first/last frame), and multimodal reference-to-video with 2K output.
curl --request POST \
--url https://api.powertokens.ai/minimax/v2/video_generation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1"
},
{
"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"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "adaptive"
}
'import requests
url = "https://api.powertokens.ai/minimax/v2/video_generation"
payload = {
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1"
},
{
"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"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "adaptive"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: 'Bearer <token>'},
body: JSON.stringify({
model: 'MiniMax-H3',
content: [
{
type: 'text',
text: 'Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1'
},
{
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'
}
],
resolution: '2K',
duration: 5,
ratio: 'adaptive'
})
};
fetch('https://api.powertokens.ai/minimax/v2/video_generation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.powertokens.ai/minimax/v2/video_generation",
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([
'model' => 'MiniMax-H3',
'content' => [
[
'type' => 'text',
'text' => 'Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1'
],
[
'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'
]
],
'resolution' => '2K',
'duration' => 5,
'ratio' => 'adaptive'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.powertokens.ai/minimax/v2/video_generation"
payload := strings.NewReader("{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1\"\n },\n {\n \"type\": \"video_url\",\n \"video_url\": {\n \"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\"\n },\n \"role\": \"reference_video\"\n },\n {\n \"type\": \"audio_url\",\n \"audio_url\": {\n \"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\"\n },\n \"role\": \"reference_audio\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "Bearer <token>")
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.powertokens.ai/minimax/v2/video_generation")
.header("Content-Type", "<content-type>")
.header("Authorization", "Bearer <token>")
.body("{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1\"\n },\n {\n \"type\": \"video_url\",\n \"video_url\": {\n \"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\"\n },\n \"role\": \"reference_video\"\n },\n {\n \"type\": \"audio_url\",\n \"audio_url\": {\n \"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\"\n },\n \"role\": \"reference_audio\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.powertokens.ai/minimax/v2/video_generation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = 'Bearer <token>'
request.body = "{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Character speaks: Follow the wind, live free. Leave worries behind, enjoy the moment, voice tone references audio 1\"\n },\n {\n \"type\": \"video_url\",\n \"video_url\": {\n \"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\"\n },\n \"role\": \"reference_video\"\n },\n {\n \"type\": \"audio_url\",\n \"audio_url\": {\n \"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\"\n },\n \"role\": \"reference_audio\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}"
response = http.request(request)
puts response.read_body{
"output": {
"task_id": "424010985738629"
}
}Authorizations
Pass Authorization: Bearer <token> in the request header.
Headers
Media type of the request body. Set to application/json.
application/json Body
Model name. Currently available: MiniMax-H3.
MiniMax-H3 Multimodal input content array describing the information used to generate the video. Each element is distinguished by type (text / image_url / video_url / audio_url) and can be annotated with a role.
Each request must contain a non-empty text item (prompt is required); omission will return a parameter error.
Supported input combinations (corresponding to different generation scenarios):
- Multimodal reference-to-video: text + reference images (role=reference_image) + reference videos (role=reference_video) + reference audio (role=reference_audio) in combination. Image-to-video and multimodal reference-to-video are mutually exclusive: if any of reference_image / reference_video / reference_audio roles appear in content, first_frame / last_frame must not appear (and vice versa); they cannot be mixed.
Input media limits (total request body size ≤ 64 MB; use public URLs for large files, do not use Base64)
Image image_url:
| Item | Limit |
|---|---|
| Format | JPG, JPEG, PNG, WEBP, HEIC, HEIF |
| Single file size | ≤ 30 MB |
| Width/height range | [256, 5760] px |
| Aspect ratio (width/height) | [0.4, 2.5] |
| Count | First frame ≤ 1, last frame ≤ 1, reference images ≤ 9 |
Video video_url (multimodal reference scenario only):
| Item | Limit |
|---|---|
| Container / Format | MP4 (.mp4), MOV (.mov) |
| Encoding | Video H.264/AVC, H.265/HEVC; Audio AAC, MP3 |
| Single file size | ≤ 50 MB |
| Count | ≤ 3 |
| Single segment duration | [2, 15] s; total duration ≤ 15 s |
| Width/height range | [256, 5760] px |
| Aspect ratio (width/height) | [0.4, 2.5] |
| Frame rate | [23.976, 60] |
Audio audio_url (multimodal reference scenario only):
| Item | Limit |
|---|---|
| Format | WAV, MP3 |
| Single file size | ≤ 15 MB |
| Count | ≤ 3 |
| Single segment duration | [2, 15] s; total duration ≤ 15 s |
Show child attributes
Show child attributes
Video resolution. Currently available: 768P, 2K.
768P, 2K Video duration in seconds. Required, integer. Available: 4~15.
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Output video aspect ratio, default adaptive (automatically selects the most suitable aspect ratio based on input; the actual ratio can be retrieved from the ratio field in the query API).
Multimodal reference video for R2VA (content can include reference_image / reference_video / reference_audio): ratio is optional, default is adaptive; you can also explicitly specify any specific ratio mentioned above.
adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 Callback notification URL for task status changes. After configuration, the MiniMax server will first send a verification request containing a challenge field (must return the challenge value unchanged within 3 seconds to complete verification). Once verified, whenever the task status changes, a POST push will be sent to this URL, with the push body structure matching the query task API response.
Callback status values: queued, running, succeeded, failed, cancelled.
Response
Returns task_id upon successful creation. Use this task_id to call the query task API to retrieve task status and results.
Query task success response example
{
"task": {
"id": "424010985738629",
"model": "MiniMax-H3",
"status": "succeeded",
"created_at": 1785125529,
"updated_at": 1785125946,
"content": {
"url": "https://your-cdn.example.com/h3-generated-2k-output.mp4"
},
"resolution": "2K",
"duration": 5,
"usage": {
"total_seconds": 5,
"input_seconds": 0,
"output_seconds": 5,
"input_image_count": 0
},
"ratio": "16:9",
"task_type": "generation",
"modality": "video"
}
}
Task ID, used to query task status and results.