curl -sS \
-H "Authorization: Bearer YOUR_API_KEY" \
https://magic666.top/v1/videos/video_abc123
import requests
task_id = "video_abc123"
response = requests.get(
f"https://magic666.top/v1/videos/{task_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
response.raise_for_status()
print(response.json())
const taskId = "video_abc123";
const response = await fetch(`https://magic666.top/v1/videos/${taskId}`, {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
console.log(await response.json());
{
"task.id": "<string>",
"task.status": "<string>",
"task.progress": 123,
"task.content.url": "<string>",
"task.usage": {},
"task.error": {}
}MiniMax H3
MiniMax H3 查询视频任务
使用 GET /v1/videos/ 查询 MiniMax H3 任务状态、结果地址和异步错误。
GET
https://magic666.top
/
v1
/
videos
/
{task_id}
curl -sS \
-H "Authorization: Bearer YOUR_API_KEY" \
https://magic666.top/v1/videos/video_abc123
import requests
task_id = "video_abc123"
response = requests.get(
f"https://magic666.top/v1/videos/{task_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
response.raise_for_status()
print(response.json())
const taskId = "video_abc123";
const response = await fetch(`https://magic666.top/v1/videos/${taskId}`, {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
console.log(await response.json());
{
"task.id": "<string>",
"task.status": "<string>",
"task.progress": 123,
"task.content.url": "<string>",
"task.usage": {},
"task.error": {}
}MiniMax H3 查询视频任务
创建接口返回id 或 task_id 后,使用 GET /v1/videos/{task_id} 轮询。查询只读取任务状态,不会重复提交生成请求。
方法与路径
GET /v1/videos/{task_id}
请求示例
curl -sS \
-H "Authorization: Bearer YOUR_API_KEY" \
https://magic666.top/v1/videos/video_abc123
import requests
task_id = "video_abc123"
response = requests.get(
f"https://magic666.top/v1/videos/{task_id}",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
response.raise_for_status()
print(response.json())
const taskId = "video_abc123";
const response = await fetch(`https://magic666.top/v1/videos/${taskId}`, {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
console.log(await response.json());
响应结构
网关兼容不同渠道的响应格式。MiniMax H3 上游通常将任务放在task 对象中,兼容层也可能把字段放在响应顶层。客户端应优先读取 task,没有时再读取顶层字段。
生成中
{
"task": {
"id": "video_abc123",
"model": "MiniMax-H3",
"status": "running",
"created_at": 1786500000,
"updated_at": 1786500120,
"resolution": "768P",
"duration": 8,
"ratio": "16:9",
"progress": 0.36
}
}
生成成功
{
"task": {
"id": "video_abc123",
"model": "MiniMax-H3",
"status": "succeeded",
"created_at": 1786500000,
"updated_at": 1786500720,
"resolution": "768P",
"duration": 8,
"ratio": "16:9",
"progress": 1,
"content": {
"url": "https://media.example.com/video_abc123.mp4"
},
"usage": {
"total_seconds": 8,
"input_seconds": 0,
"output_seconds": 8,
"input_image_count": 0
}
}
}
video_url、url 或 content.url。不要根据任务 ID 自行拼接下载地址,直接使用响应返回的完整 URL。
生成失败
{
"task": {
"id": "video_abc123",
"status": "failed",
"error": {
"code": "input_format_unsupported",
"message": "decoded container is not MP4/MOV"
}
}
}
200 返回,是否成功应由 task.status 或顶层 status 判断,而不是只看 HTTP 状态码。
响应字段
string
required
创建任务响应中的
id 或 task_id。不要使用 request_id 查询;它只标识一次 HTTP 调用。string
任务 ID。兼容响应也可能在顶层返回
id 或 task_id。string
任务状态。常见值为
queued、running、succeeded、failed 和 cancelled。兼容层还可能返回 pending、processing、in_progress、completed 或 success。number
可选进度。部分响应使用
0 到 1 的小数,兼容响应也可能使用 0 到 100 的整数百分比。客户端不要只依赖该字段判断任务是否卡住。string
成功任务的视频直链。它可能位于嵌套
task 中,也可能以顶层 video_url、url 或 content.url 返回。保存完整原值,不要改写或拼接。object
可选用量信息。
input_seconds 是参考视频和独立参考音频时长之和,input_image_count 是全部输入图片数,output_seconds 是请求的输出秒数,total_seconds 当前与 output_seconds 相同。object
异步失败原因,通常包含
code 和 message。常见错误码包括 input_download_failed、input_security_violation、input_too_large、input_probe_failed、input_format_unsupported、input_duration_out_of_range、input_transcode_failed、content_policy_violation 和 fail_to_fetch_task。状态处理建议
| 客户端处理 | 状态值 |
|---|---|
| 继续轮询 | queued、pending、running、processing、in_progress、generating |
| 视为成功 | succeeded、success、completed、finish、finished、done |
| 视为失败 | failed、fail、error、cancelled、canceled、expired、deleted |
queued 持续更久;不要因为 progress 暂时不变就重新创建任务。
下载视频
直接下载结果 URL
成功响应中的 URL 可能是公开 HTTPS 直链。下载时使用返回的完整原值,不要附带查询接口的 Bearer 鉴权头:RESULT_URL='替换为 task.content.url、video_url 或 url 的完整值'
curl -sS -L --output result.mp4 "${RESULT_URL}"
使用内容代理
如果响应没有可用的直链,或直链下载失败,可以通过网关代理下载:GET /v1/videos/{task_id}/content
curl -sS -L \
-H "Authorization: Bearer YOUR_API_KEY" \
--output result.mp4 \
https://magic666.top/v1/videos/video_abc123/content
404 或 403;这不表示生成任务变成了失败。
查询错误
| HTTP 状态 | 处理建议 |
|---|---|
401 | 检查 Bearer API Key |
404 | 检查 task_id,确认任务属于当前账户 |
429 | 按 Retry-After 退避后重试查询 |
500 | 短暂退避后重试,保留原始响应和 request_id |