功能介绍

SSE 用于接收生成进度和完成通知,不会持续输出 MP4 分片。需要稳定后台任务时,优先使用 background=true 并查询。

鉴权与操作步骤

所有请求发送到 https://top.qingyuntop.ai。在请求头填写 Authorization: Bearer YOUR_API_KEY,将 YOUR_API_KEY 替换为青云TOP API 控制台创建的 API Key;Bearer 与密钥之间保留一个空格。

  1. 携带鉴权请求头,按本页参数创建任务。
  2. 保存返回的任务标识,查询至成功后下载视频。创建成功仅表示任务已受理。

JSON 请求使用 Content-Type: application/json。示例中的占位密钥需替换为你的 API Key。实际业务请在服务端保存密钥,不要放进公开网页。

参数与事件处理

POST /v1/responses,设置 stream=true。示例使用前页相同的 model、input、seconds 和 metadata,关闭 background 以展示一次持续观察连接。

按 SSE 的 event: 与 data: 解析完整事件,多个网络 chunk 可能组成同一个事件,不能把每个 chunk 直接当 JSON。保存 response.created 等事件中返回的响应 ID;完成时读取 response.completed 中的最终 response。

response.output_text.delta 中的视频预览文本不是二进制视频;不要直接把 HTML 片段插入你的页面,建议使用本站产物下载接口。任务失败时处理 response.failed / error;response.incomplete 或断线、观察超时并不一定意味着底层任务失败,应使用原 ID 查询。

以下示例用于原样观察 SSE,业务应用应按事件边界解析并持久化 ID。

运行示例前

cURL 示例使用 Bash 换行语法;Python 需要安装 requests;Node.js 使用 20 或更高版本,将代码保存为 .mjs。带素材的示例必须把 https://example.com/... 替换为上游能直接读取的真实 HTTPS 文件地址,不是网页地址或本机文件路径。

代码示例

curl --fail-with-body -N --max-time 1800 "https://top.qingyuntop.ai/v1/responses" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "kling-v1-6",
  "input": "一只小猫在窗边缓慢转头,阳光柔和,镜头平稳。",
  "seconds": 5,
  "background": false,
  "metadata": {
    "mode": "std",
    "aspect_ratio": "16:9"
  },
  "stream": true
}'

后续查询

打开Responses 查询与下载,使用已保存的 response ID。不要因为客户端超时就自动再次 POST,重复提交可能创建第二个收费任务。