跳到主要内容

视频生成概览

UniAll 视频模型默认共用一套异步任务生命周期。模型 ID、输入字段和能力限制以各模型页面为准;任务轮询、状态处理、错误和结果获取统一以本页为准。

模型

默认接口

{BASE_URL}https://api.uniall.ai

操作方法接口
创建任务POST/v1/videos
查询状态与结果GET/v1/videos/{task_id}
下载已完成的视频GET/v1/videos/{task_id}/content

每次请求都要携带 Authorization: Bearer sk-***。部分模型页面会注明兼容创建路径或特定协议例外;模型 ID 和请求体仍以对应模型页面为准。

视频任务生命周期

1. 保存任务 ID

创建成功后会返回公开 id。部分响应还会在 task_id 中返回同一个值用于兼容。离开创建流程前应保存其中任意一个。

{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"object": "video.generation.job",
"model": "model-name",
"status": "queued",
"progress": 0,
"created_at": 1785801600
}

2. 轮询任务

每 3 到 10 秒查询一次任务:

curl "{BASE_URL}/v1/videos/task_xxxxxxxxxxxxx" \
-H "Authorization: Bearer sk-***"

仅当 status 变为 completedfailed 时停止轮询。任务仍为 queuedin_progress 时,不要重复创建同一任务。

状态终态含义
queued任务已受理,正在等待处理。
in_progress正在生成视频或处理结果。
completed最终结果已就绪。
failed任务未生成结果;检查 error

3. 读取结果

任务完成后,可从 video_urlresult.video_urlresult.outputs[0] 读取公开结果。这几个字段可能指向同一个视频。

{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"object": "video.generation.job",
"model": "model-name",
"status": "completed",
"progress": 100,
"video_url": "https://example.com/generated-video.mp4",
"result": {
"video_url": "https://example.com/generated-video.mp4",
"outputs": [
"https://example.com/generated-video.mp4"
]
},
"error": null
}

需要最终文件时,使用带鉴权的内容接口:

curl -L "{BASE_URL}/v1/videos/task_xxxxxxxxxxxxx/content" \
-H "Authorization: Bearer sk-***" \
-o output.mp4

任务完成前不要调用内容接口。生成媒体应及时下载,不要把结果 URL 当作永久存储地址。

4. 处理失败

{
"id": "task_xxxxxxxxxxxxx",
"object": "video.generation.job",
"model": "model-name",
"status": "failed",
"progress": 100,
"result": null,
"error": {
"code": "task_failed",
"message": "Video generation failed"
}
}

参数错误应先修正输入再创建新任务。临时服务错误可使用退避策略重试,但原任务仍在运行时不要反复提交同一请求。

公共响应字段

字段类型说明
idstring用于轮询的公开任务 ID。
task_idstring存在时为 id 的兼容别名。
objectstring任务对象类型,通常为 video.generation.job
modelstring创建任务时使用的公开模型 ID。
statusstringqueuedin_progresscompletedfailed
progressinteger可用时为 0100;不能代替 status 判断终态。
video_urlstring 或 null任务完成后的公开结果 URL。
resultobject 或 null完成后的输出详情,包括 video_urloutputs
errorobject 或 null失败任务的公开 codemessage
created_atinteger可用时为 Unix 创建时间戳。
completed_atinteger可用时为 Unix 完成时间戳。

模型例外

Gemini Omni Flash Preview 通过 POST /v1beta/interactions 创建请求。需要后续查询时,使用返回的 interaction_id 调用 GET /v1/videos/generations/{interaction_id};终态、错误处理和结果字段仍遵循上面的公共规则。

Sora 2 原生 OpenAI 格式等特定协议页面可能直接流式返回自身格式,而不是标准视频任务。此类场景以对应页面的响应流程为准。