HTTP API
视频生成
通过 JSON 或 multipart 发起文生视频、参考图生视频以及首帧/尾帧任务。
提交任务
POST /api/v1/videos/generations该接口接受 application/json 或 multipart/form-data。上传本地参考文件时用 multipart;所有输入都已经是 URL 或短字段时用 JSON。
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 目录中的视频模型 ID。 |
prompt | string | 是 | 片段中发生的内容。 |
variant | string | 否 | 模型变体,例如 fast、2.0、2.5。 |
workflowFormat | string | 否 | t2v(文本)、r2v(参考图)或 fl2v(首帧/尾帧)。 |
duration | string | 否 | 片段时长(秒),例如 5、10;必须是 durationOptions 中的值。 |
fps | string | 否 | 帧率,例如 24;必须是 fpsOptions 中的值。 |
size | string | 否 | 输出分辨率,例如 1280x720。 |
ratio | string | 否 | 画面比例,例如 16:9、9:16、1:1。 |
quality | string | 否 | standard 或 high。 |
seed | number | 否 | 可复现种子。 |
referenceImages | array | 否 | 参考图:JSON 中传 URL,multipart 中传文件。 |
referenceVideos | array | 否 | 参考视频,输入规则相同。 |
referenceAudios | array | 否 | 参考音频,输入规则相同。 |
firstFrame / firstFrameUrl | file / string | 否 | 首帧。 |
lastFrame / lastFrameUrl | file / string | 否 | 尾帧。 |
可用的模型、尺寸、时长和工作流格式因模型而异——请从目录读取,不要写死。
示例(JSON)
curl -X POST https://imagifly.net/api/v1/videos/generations \
-H "Authorization: Bearer $IMAGIFLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "A paper boat drifting down a rain-soaked street, neon reflections",
"duration": "6",
"ratio": "16:9"
}'示例(multipart)
curl -X POST https://imagifly.net/api/v1/videos/generations \
-H "Authorization: Bearer $IMAGIFLY_API_KEY" \
-F "model=MiniMax-H3" \
-F "prompt=Slow push-in on the character, wind in the hair" \
-F "workflowFormat=fl2v" \
-F "duration=5" \
-F "firstFrame=@./first.png" \
-F "lastFrame=@./last.png"响应 202 Accepted
{
"ok": true,
"generation": {
"id": "vid_9c31be...",
"status": "generating",
"cost": 120,
"size": "1280x720",
"duration": 6,
"aspectRatio": "16:9",
"fps": 24
}
}| 字段 | 说明 |
|---|---|
generation.cost | 本任务扣除的积分。 |
generation.size | 输出分辨率。 |
generation.duration | 片段时长(秒)。 |
generation.aspectRatio | 归一化后的画面比例。 |
generation.fps | 帧率。 |
轮询任务
GET /api/v1/videos/generations/{id}{
"ok": true,
"generation": {
"id": "vid_9c31be...",
"status": "success",
"error": null,
"durationMs": 184000,
"videoUrls": ["https://imagedelivery.net/.../public"]
}
}视频任务通常需要几分钟。每 5 秒轮询一次,状态变成 success 或 failed 时停止。
模型目录
GET /api/v1/videos/models该接口是公开的,只返回平台当前可用的模型。
{
"ok": true,
"models": [
{
"id": "MiniMax-H3",
"label": "MiniMax H3",
"credits": 120,
"aspectRatios": ["16:9", "9:16", "1:1"],
"resolutions": [{ "resolution": "720p", "size": "1280x720", "credits": 120 }],
"defaultSize": "1280x720",
"defaultDurationSeconds": 6,
"minDurationSeconds": 4,
"maxDurationSeconds": 10,
"durationOptions": [4, 5, 6, 8, 10],
"fpsOptions": [24],
"billingUnit": "second",
"mode": "text-to-video",
"referenceImageLimit": 0,
"referenceVideoLimit": 0,
"referenceAudioLimit": 0,
"workflowFormats": [{ "id": "t2v", "requiresFirstFrame": false }],
"variants": [{ "id": "fast", "label": "Fast", "credits": 90, "size": "1280x720" }]
}
]
}时长、尺寸、变体和参考图上限一律从这个响应里读取:在某个模型上可用的值,换到另一个模型常常会被以 400 INVALID_VIDEO_REQUEST 拒绝。
说明
- 暂时被禁用的视频模型在提交时返回
503 MODEL_UNAVAILABLE,同时不会出现在目录中。 quality会做校验,但并非每个模型都使用它;不支持的组合会直接以400失败。- 失败任务会自动退款;成功的任务只扣费一次。没有重试接口——请提交新任务。