跳轉到主要內容

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

使用 CometAPI 影片模型文件時,請選擇與您的工作類型相符的供應商流程。大多數影片端點會建立非同步任務,因此請儲存 task ID 並使用輪詢來擷取結果。只有在特定模型頁面有說明支援回呼時,才加入回呼。

選擇影片 API

建立 Sora 影片

建立 Sora 影片任務。

擷取 Sora 影片

查詢 Sora 影片任務。

Runway 圖片轉影片

從圖片生成 Runway 影片。

Kling 文字轉影片

從文字 Prompt 生成 Kling 影片。

Seedance 建立

建立 Seedance 影片任務。

xAI 影片生成

生成 xAI 影片任務。

建立並輪詢影片任務

請使用 Models pagemodel directory 中支援影片的 model ID。以下範例會以 POST /v1/videos 建立影片任務,然後輪詢回傳的 task ID,直到任務進入終態。
這些範例使用預留位置 your-video-model-id。在執行請求前,請先用 Models pagemodel directory 中可用的影片 model ID 取代它。
開啟 CreateQuery 以使用 API playground 與端點 schema。
import os
import time
import requests

headers = {"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]}

create_response = requests.post(
    "https://api.cometapi.com/v1/videos",
    headers=headers,
    data={
        "model": "your-video-model-id",
        "prompt": "A calm camera move across a desk with a paper airplane",
    },
    timeout=30,
)
create_response.raise_for_status()
task = create_response.json()
task_id = task["id"]

terminal_statuses = {"completed", "failed", "error"}

while True:
    poll_response = requests.get(
        f"https://api.cometapi.com/v1/videos/{task_id}",
        headers=headers,
        timeout=30,
    )
    poll_response.raise_for_status()
    result = poll_response.json()
    print(result["status"], result.get("progress"))

    if result["status"] in terminal_statuses:
        print(result.get("video_url"))
        break

    time.sleep(10)

回應範例

成功的建立回應可能如下。請在輪詢前先儲存 task ID:
{
  "id": "task_example",
  "task_id": "task_example",
  "object": "video",
  "model": "your-video-model-id",
  "status": "queued",
  "progress": 0,
  "created_at": 1779872000
}
成功的輪詢回應可能如下。已完成的回應可以包含 video_url;有些供應商格式會使用特定 model 的結果欄位,或在文件有說明時使用影片內容路由:
{
  "id": "task_example",
  "object": "video",
  "model": "your-video-model-id",
  "status": "completed",
  "progress": 100,
  "completed_at": 1779872300,
  "video_url": "https://example.com/generated-video.mp4"
}

範例 model 記錄

這個範例 model 目錄回應顯示了 /api/models 的外層結構,以及一筆影片 model 記錄的形狀。這不是完整的 model 清單。
cURL
curl https://api.cometapi.com/api/models
{
  "success": true,
  "page": 1,
  "page_size": 20,
  "total": 302,
  "data": [
    {
      "created": 1767529753,
      "id": "your-video-model-id",
      "code": "your-video-model-id",
      "provider": "ExampleProvider",
      "provider_code": "example",
      "name": "Example video model",
      "model_type": "video",
      "features": [
        "text-to-video"
      ],
      "endpoints": "{\n  \"seedance\": {\n    \"path\": \"/v1/videos\",\n    \"method\": \"POST\"\n  }\n}",
      "pricing": {
        "currency": "USD / M Tokens",
        "input": null,
        "output": null,
        "per_request": null,
        "per_second": 0.024
      }
    }
  ]
}

常見錯誤

在從您的工作處理器返回之前,請先儲存建立回應中的 ID。
在狀態檢查之間加入延遲與退避。
請使用所選影片端點文件中說明的持續時間與解析度欄位。
video_url 視為可選,並在可用時改用特定 model 的結果欄位或內容路由。
以輪詢作為最終依據,並確認您的回呼 URL 接受 POST 請求。

錯誤代碼與重試策略

在修正 prompt、檔案、持續時間或大小欄位之前,不要重試。
在 API key 存在且有效之前,不要重試。
在重試前,請先檢查 task ID、base URL、path 和 model ID。
在重試前先降低上傳大小。
使用指數退避重試,並降低建立或輪詢併發數。
以退避方式重試任務建立;除非任務進入終端錯誤,否則持續輪詢既有任務。

價格與 model 目錄

Models page

閱讀 CometAPI 如何在文件中公開 model ID。

Model directory

瀏覽 model 的可用性與能力。

Pricing

在呼叫 model 前先查看價格。
Last modified on May 28, 2026