Imagifly 开发者文档
HTTP API

视频生成

通过 JSON 或 multipart 发起文生视频、参考图生视频以及首帧/尾帧任务。

提交任务

POST /api/v1/videos/generations

该接口接受 application/json 或 multipart/form-data。上传本地参考文件时用 multipart;所有输入都已经是 URL 或短字段时用 JSON。

请求字段

字段类型必填说明
modelstring是目录中的视频模型 ID。
promptstring是片段中发生的内容。
variantstring否模型变体,例如 fast、2.0、2.5。
workflowFormatstring否t2v(文本)、r2v(参考图)或 fl2v(首帧/尾帧)。
durationstring否片段时长(秒),例如 5、10;必须是 durationOptions 中的值。
fpsstring否帧率,例如 24;必须是 fpsOptions 中的值。
sizestring否输出分辨率,例如 1280x720。
ratiostring否画面比例,例如 16:9、9:16、1:1。
qualitystring否standard 或 high。
seednumber否可复现种子。
referenceImagesarray否参考图:JSON 中传 URL,multipart 中传文件。
referenceVideosarray否参考视频,输入规则相同。
referenceAudiosarray否参考音频,输入规则相同。
firstFrame / firstFrameUrlfile / string否首帧。
lastFrame / lastFrameUrlfile / 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 失败。
  • 失败任务会自动退款;成功的任务只扣费一次。没有重试接口——请提交新任务。

本页内容