标识与鉴权

所有本站请求使用基础地址 https://top.qingyuntop.ai。请求头为 Authorization: Bearer YOUR_API_KEY,将 YOUR_API_KEY 替换为青云TOP API 的 API Key,保留 Bearer 后的一个空格。无需额外登录接口,也不需要 Vidu 厂商 Token。

创建接口返回 id 和 metadata.task_id。将下面示例中的 RESPONSE_ID 替换为 id,将 TASK_ID 替换为 metadata.task_id。不要靠前缀猜测它们之间的转换关系。

用途方法与地址使用的标识
查询响应GET https://top.qingyuntop.ai/v1/responses/{response_id}创建返回的 id
列出产物GET https://top.qingyuntop.ai/v1/tasks/{task_id}/artifactsmetadata.task_id
下载视频产物GET https://top.qingyuntop.ai/v1/tasks/{task_id}/artifacts/video/contentmetadata.task_id,产物 key 为 video

查询示例

点击标签切换 cURL、Python 或 Node.js。cURL 为 Bash 写法;Python 需安装 requests;Node.js 使用 18 或更新版本(含导入语句时保存为 .mjs)。图片示例使用 Vidu 官方示例素材,也可换成你自己的公开可访问图片 URL。

curl --fail-with-body "https://top.qingyuntop.ai/v1/responses/RESPONSE_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

根据响应 status 决定下一步:queued/in_progress 继续等待;completed 检查结果并下载;failed 读取 error;incomplete 需结合 incomplete_details 和 metadata.task_status 继续查询同一响应。

建议每 5–10 秒查询一次,遇限流退避并设置业务等待上限。响应等待结束、连接断开或客户端超时均不能直接视为视频任务失败。

成功输出

完成后在 output[] 中找到 message,再在其 content[] 中读取 type: "output_text" 的 text。返回的是包含视频预览的文本;成功元数据含 vendor: "vidu"。不要期待它返回统一视频格式中的 object=video,也不要对 JSON 响应直接保存为 MP4。

列出产物

curl --fail-with-body "https://top.qingyuntop.ai/v1/tasks/TASK_ID/artifacts" \
  -H "Authorization: Bearer YOUR_API_KEY"

只有任务成功且首条生成结果有有效 URL 时,接口才返回 key: "video"、type: "video" 的产物。上游返回多条 creations 时,本接口只使用第一条;此入口不提供图片或独立音频产物。

下载视频

确认产物存在后调用以下接口,响应按二进制写入 result.mp4。

curl --fail-with-body "https://top.qingyuntop.ai/v1/tasks/TASK_ID/artifacts/video/content" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --output result.mp4

官方生成文件 URL 有效期为 24 小时,应及时保存。本站产物入口依赖上游文件,不代表永久存储。不要将 API Key 交给外部 CDN,也不要把带短期访问凭据的播放地址长期公开。

下载失败时保留两个 ID、HTTP 状态和错误正文,参考错误处理。