Sora Tasks API 集成与使用指南

4 阅读4分钟

在现代应用场景中,视频生成技术正逐渐成为内容创作的重要工具。Ace Data Cloud 提供的 Sora Tasks API 允许开发者通过查询任务 ID,轻松获取视频生成任务的执行状态。这篇文章将详细介绍 Sora Tasks API 的集成方法和使用场景,帮助你充分利用这一强大的 API。

背景

Sora Tasks API 是 Ace Data Cloud 中一项重要功能,主要用于查询与 Sora 视频生成 API 相关的任务执行状态。在实际应用中,你可以使用该 API 来监控视频生成的进度,并获取最终生成的视频信息。无论是内容创作者、教育工作者,还是企业数字化转型,Sora Tasks API 都能为你提供便捷的服务。

申请流程

首先,你需要在 Sora 视频生成 API 申请页面 申请相关服务,并从 Sora 视频生成 API 中复制任务 ID,如下图所示:

接下来,访问 Sora Tasks API 页面 申请相应服务。进入页面后,点击“获取”按钮,如下图所示:

申请页面

如果你没有登录或注册,系统将自动重定向至 登录页面,邀请你注册并登录。登录后将自动返回到当前页面。

首次申请者可享受免费的使用配额,方便你进行测试。

请求示例

Sora Tasks API 主要用于查询 Sora 视频生成 API 的结果。有关如何使用 Sora 视频生成 API 的详细信息,请参考文档 Sora 视频生成 API

下面我们将使用一个示例任务 ID(例如:b8976e18-32dc-4718-9ed8-1ea090fcb6ea)来展示如何调用该 API。

设置请求头和请求体

请求头包括:

  • accept: 指定响应格式为 JSON,设置为 application/json
  • authorization: 调用 API 的密钥,可以在申请后直接获取。

请求体包括:

  • id: 上传的任务 ID。
  • action: 任务的操作方法。

设置如下所示:

代码示例

以下是使用 CURL 和 Python 的请求示例:

CURL

curl -X POST 'https://api.acedata.cloud/sora/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/sora/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

响应示例

请求成功后,API 将返回视频任务的详细信息,示例如下:

{
  "_id": "68e914aa550a4144a5788305",
  "id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
  "api_id": "54aed96c-0346-4227-8c99-9780247a7ffd",
  "request": {
    "size": "large",
    "duration": 15,
    "orientation": "landscape",
    "prompt": "cat running on the river",
    "model": "sora-2"
  },
  "response": {
    "success": true,
    "task_id": "b8976e18-32dc-4718-9ed8-1ea090fcb6ea",
    "data": [
      {
        "id": "sora-2:task_01k777hjrbfrgs2060q5zvf2a5",
        "video_url": "https://example.com/video.mp4",
        "state": "succeeded"
      }
    ]
  }
}

批量查询操作

如果需要查询多个任务 ID 的视频任务详情,需将操作方法设置为 retrieve_batch

请求体示例:

{
  "ids": ["b8976e18-32dc-4718-9ed8-1ea090fcb6ea", "其他任务 ID"],
  "action": "retrieve_batch"
}

批量查询代码示例

CURL

curl -X POST 'https://api.acedata.cloud/sora/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["b8976e18-32dc-4718-9ed8-1ea090fcb6ea"],
  "action": "retrieve_batch"
}'

Python

import requests

url = "https://api.acedata.cloud/sora/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["b8976e18-32dc-4718-9ed8-1ea090fcb6ea"],
    "action": "retrieve_batch"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

错误处理

调用 API 时,如果出现错误,API 将返回相应的错误代码和消息。例如:

  • 400 token_mismatched: 请求错误,可能是由于缺少或无效参数。
  • 401 invalid_token: 未授权,密钥无效或缺失。
  • 429 too_many_requests: 请求过多,已超过限制。

错误响应示例

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  }
}

总结

通过本文,你已经学习了如何使用 Sora Tasks API 查询单个或批量视频任务的详细信息。希望本文能帮助你更好地集成和使用这款 API。如有疑问,欢迎随时联系技术支持团队。

技术标签

  • Sora API
  • 视频生成
  • Ace Data Cloud
  • API 集成
  • Python API 调用