curl --request POST \
--url https://baze-api.powerbuyin.top/minimax/v2/video_generation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Pull focus to the people in the background and add more steam to the ramen bowl."
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png"
},
"role": "first_frame"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "adaptive"
}
'import requests
url = "https://baze-api.powerbuyin.top/minimax/v2/video_generation"
payload = {
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Pull focus to the people in the background and add more steam to the ramen bowl."
},
{
"type": "image_url",
"image_url": { "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png" },
"role": "first_frame"
}
],
"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: 'Pull focus to the people in the background and add more steam to the ramen bowl.'
},
{
type: 'image_url',
image_url: {
url: 'https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png'
},
role: 'first_frame'
}
],
resolution: '2K',
duration: 5,
ratio: 'adaptive'
})
};
fetch('https://baze-api.powerbuyin.top/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://baze-api.powerbuyin.top/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' => 'Pull focus to the people in the background and add more steam to the ramen bowl.'
],
[
'type' => 'image_url',
'image_url' => [
'url' => 'https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png'
],
'role' => 'first_frame'
]
],
'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://baze-api.powerbuyin.top/minimax/v2/video_generation"
payload := strings.NewReader("{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Pull focus to the people in the background and add more steam to the ramen bowl.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png\"\n },\n \"role\": \"first_frame\"\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://baze-api.powerbuyin.top/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\": \"Pull focus to the people in the background and add more steam to the ramen bowl.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png\"\n },\n \"role\": \"first_frame\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://baze-api.powerbuyin.top/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\": \"Pull focus to the people in the background and add more steam to the ramen bowl.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png\"\n },\n \"role\": \"first_frame\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}"
response = http.request(request)
puts response.read_body{
"output": {
"task_id": "424010985738629"
}
}首帧生视频
视频生成 V2 接口,通过多模态 content 数组输入(文本 / 图片 / 视频 / 音频),支持文生视频、图生视频(首尾帧)、多模态参考生视频,2K 直出。
curl --request POST \
--url https://baze-api.powerbuyin.top/minimax/v2/video_generation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: <content-type>' \
--data '
{
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Pull focus to the people in the background and add more steam to the ramen bowl."
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png"
},
"role": "first_frame"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "adaptive"
}
'import requests
url = "https://baze-api.powerbuyin.top/minimax/v2/video_generation"
payload = {
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "Pull focus to the people in the background and add more steam to the ramen bowl."
},
{
"type": "image_url",
"image_url": { "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png" },
"role": "first_frame"
}
],
"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: 'Pull focus to the people in the background and add more steam to the ramen bowl.'
},
{
type: 'image_url',
image_url: {
url: 'https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png'
},
role: 'first_frame'
}
],
resolution: '2K',
duration: 5,
ratio: 'adaptive'
})
};
fetch('https://baze-api.powerbuyin.top/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://baze-api.powerbuyin.top/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' => 'Pull focus to the people in the background and add more steam to the ramen bowl.'
],
[
'type' => 'image_url',
'image_url' => [
'url' => 'https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png'
],
'role' => 'first_frame'
]
],
'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://baze-api.powerbuyin.top/minimax/v2/video_generation"
payload := strings.NewReader("{\n \"model\": \"MiniMax-H3\",\n \"content\": [\n {\n \"type\": \"text\",\n \"text\": \"Pull focus to the people in the background and add more steam to the ramen bowl.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png\"\n },\n \"role\": \"first_frame\"\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://baze-api.powerbuyin.top/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\": \"Pull focus to the people in the background and add more steam to the ramen bowl.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png\"\n },\n \"role\": \"first_frame\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://baze-api.powerbuyin.top/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\": \"Pull focus to the people in the background and add more steam to the ramen bowl.\"\n },\n {\n \"type\": \"image_url\",\n \"image_url\": {\n \"url\": \"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png\"\n },\n \"role\": \"first_frame\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"adaptive\"\n}"
response = http.request(request)
puts response.read_body{
"output": {
"task_id": "424010985738629"
}
}授权
在请求头中传入 Authorization: Bearer <token>。
请求头
请求体的媒介类型,请设置为 application/json。
application/json 请求体
模型名称。当前可用值:MiniMax-H3。
MiniMax-H3 多模态输入内容数组,描述用于生成视频的信息。每个元素通过 type 区分类型(text / image_url / video_url / audio_url),并可通过 role 标注用途。
每次请求必须包含一个非空 text 项(prompt 必填);缺失会返回参数错误。 支持的输入组合(对应不同生成场景):
- 图生视频-首帧:text + 1 张 image_url(role=first_frame 或不填)。
- 图生视频-尾帧:text + 1 张 image_url(role=last_frame)。
- 图生视频-首尾帧:text + 2 张 image_url(role 分别为 first_frame、last_frame)。
- 图生视频与多模态参考生视频互斥:content 中出现 reference_image / reference_video / reference_audio 任一 role,就不能再出现 first_frame / last_frame(反之亦然),二者不可混用。
输入媒体限制(请求体总大小 ≤ 64 MB,大文件请用公网 URL,勿用 Base64)
图片 image_url:
| 项 | 限制 |
|---|---|
| 格式 | JPG、JPEG、PNG、WEBP、HEIC、HEIF |
| 单文件大小 | ≤ 30 MB |
| 宽高范围 | 256 ~ 5760 px |
| 长宽比(宽/高) | 0.4 ~ 2.5 |
| 数量 | 首帧 ≤ 1、尾帧 ≤ 1、参考图 ≤ 9 |
Show child attributes
Show child attributes
视频分辨率。当前可用值:768P、2K。
768P, 2K 生成视频时长(秒),必选,整数。可用值:4~15。
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 生成视频的宽高比,默认 adaptive(自动,由输入自适应选择最合适的宽高比,实际比例可在查询接口的 ratio 字段获取)。
图生视频(i2va,content 含 first_frame / last_frame 图片):宽高比由输入图片决定,ratio 恒为 adaptive;传入其他合理值不会报错,但会被忽略并按 adaptive 处理。
adaptive 任务状态变更的回调通知地址。配置后 MiniMax 服务器会先发送含 challenge 字段的验证请求(需 3 秒内原样返回 challenge 完成验证),验证成功后每当任务状态变更即向该地址 POST 推送,推送体结构与查询任务接口的响应一致。
回调 status 取值:queued(排队中)、running(运行中)、succeeded(成功)、failed(失败)、cancelled(已取消)。
是否在生成视频中添加 AIGC 标识水印,默认 false。
响应
创建成功后返回 task_id。使用该 task_id 调用查询任务接口获取任务状态与结果。
查询任务成功响应示例
{
"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"
}
}
任务 ID,用于后续查询任务状态与结果。