Опитуйте задачу відео Seedance за id у CometAPI через GET /v1/videos/. Працює для задач Seedance 1.0 Pro, 1.5 Pro і 2.0. Повертає поточний статус, progress і підписаний video_url після того, як задача досягне completed.
curl https://api.cometapi.com/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <COMETAPI_KEY>"{
"id": "task_abc123",
"object": "video",
"model": "doubao-seedance-2-0",
"status": "in_progress",
"progress": 30,
"created_at": 1777385418,
"completed_at": 1777385485
}Використовуйте цей endpoint, щоб прочитати стан задачі, створеної через Створення відео Seedance.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.
id у шляху — це значення, повернуте викликом створення, незалежно від того, яка модель Seedance створила задачу.
Тіло відповіді — це безпосередньо сам об’єкт задачі відео. Читайте status, progress і video_url на верхньому рівні.
queued і in_progress є нетермінальними; completed, failed і error є термінальними, і задача більше не змінюватиметься.
| Статус | Значення | Термінальний |
|---|---|---|
queued | Прийнято та поставлено в чергу на рендеринг. | ні |
in_progress | Рендеринг триває. | ні |
completed | Завершено. video_url присутній у відповіді. | так |
failed | Провайдер відхилив задачу. | так |
error | Внутрішня помилка завадила завершенню. | так |
import time
import requests
TASK_ID = "<TASK_ID>"
headers = {"Authorization": "Bearer <COMETAPI_KEY>"}
TERMINAL = {"completed", "failed", "error"}
while True:
response = requests.get(
f"https://api.cometapi.com/v1/videos/{TASK_ID}",
headers=headers,
timeout=15,
)
response.raise_for_status()
data = response.json()
if data["status"] in TERMINAL:
print(data.get("video_url"))
break
time.sleep(10)
status — визначає умову зупинки для вашого циклу опитування.progress — ціле число від 0 до 100, яке ви можете відображати в UI.video_url — підписаний URL для завантаження, присутній у відповідях completed. Завантаження Seedance використовують цей URL безпосередньо замість окремого маршруту /v1/videos/{id}/content. Підпис має обмежений час дії; завантажте або повторно розмістіть файл до завершення строку дії підпису.completed_at — необов’язкова Unix-мітка часу, яку повертає платформа. Не використовуйте її для зупинки опитування; натомість використовуйте status.model — повторює model ID Seedance, який використовувався під час створення задачі.400 з message: "task_not_exist" означає, що id невідомий. Переконайтеся, що ви зберегли id з успішної відповіді POST /v1/videos і використовуєте його без змін.401 означає, що bearer token відсутній або недійсний. Перевірте, що заголовок запиту має вигляд Authorization: Bearer <COMETAPI_KEY>.Bearer token authentication. Use your CometAPI key.
Task id returned by POST /v1/videos.
Current Seedance video task state.
Task id.
Object type, always video.
Model id that generated the task.
Task status. queued and in_progress are non-terminal. completed, failed, and error are terminal.
queued, in_progress, completed, failed, error Completion percentage.
0 <= x <= 100Task creation time as a Unix timestamp in seconds.
Signed download URL for the finished video. Present on completed responses. Seedance downloads use this URL directly instead of a separate /v1/videos/{id}/content route. The signature is time-limited, so download or re-upload the file to your own storage soon after you receive it.
Optional Unix timestamp returned by the platform. Use status, not this field, to decide when polling can stop.
curl https://api.cometapi.com/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <COMETAPI_KEY>"{
"id": "task_abc123",
"object": "video",
"model": "doubao-seedance-2-0",
"status": "in_progress",
"progress": 30,
"created_at": 1777385418,
"completed_at": 1777385485
}