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": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "16:9"
}
'import requests
url = "https://baze-api.powerbuyin.top/minimax/v2/video_generation"
payload = {
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "16:9"
}
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: '史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。'
}
],
resolution: '2K',
duration: 5,
ratio: '16:9'
})
};
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' => '史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。'
]
],
'resolution' => '2K',
'duration' => 5,
'ratio' => '16:9'
]),
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\": \"史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"16:9\"\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\": \"史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"16:9\"\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\": \"史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"16:9\"\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": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "16:9"
}
'import requests
url = "https://baze-api.powerbuyin.top/minimax/v2/video_generation"
payload = {
"model": "MiniMax-H3",
"content": [
{
"type": "text",
"text": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
}
],
"resolution": "2K",
"duration": 5,
"ratio": "16:9"
}
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: '史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。'
}
],
resolution: '2K',
duration: 5,
ratio: '16:9'
})
};
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' => '史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。'
]
],
'resolution' => '2K',
'duration' => 5,
'ratio' => '16:9'
]),
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\": \"史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"16:9\"\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\": \"史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"16:9\"\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\": \"史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。\"\n }\n ],\n \"resolution\": \"2K\",\n \"duration\": 5,\n \"ratio\": \"16:9\"\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 元素。
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 字段获取)。
文生视频(t2va,content 仅含 text):ratio 必填,且不能为 adaptive;可用值 21:9、16:9、4:3、1:1、3:4、9:16。
21:9, 16:9, 4:3, 1:1, 3:4, 9:16 任务状态变更的回调通知地址。配置后 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,用于后续查询任务状态与结果。