Fragen Sie eine Seedance-Video-Task per id auf CometAPI mit GET /v1/videos/ ab. Funktioniert für Seedance 1.0 Pro-, 1.5 Pro- und 2.0-Tasks. Gibt den aktuellen Status, den Fortschritt und die signierte video_url zurück, nachdem die Task SUCCESS erreicht hat.
curl https://api.cometapi.com/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <COMETAPI_KEY>"{
"id": "task_abc123",
"model": "doubao-seedance-2-0-fast",
"object": "video",
"status": "IN_PROGRESS",
"progress": 45,
"created_at": 1776567610,
"completed_at": null
}id im Pfad ist der Wert, der vom Erstellungsaufruf zurückgegeben wird, unabhängig davon, welches Seedance-Modell die Task erzeugt hat.
SUBMITTED und IN_PROGRESS sind nicht terminal; SUCCESS, FAILED und ERROR sind terminal, und die Task wechselt danach nicht mehr.
| Status | Bedeutung | Terminal |
|---|---|---|
SUBMITTED | Akzeptiert und zum Rendern in die Warteschlange gestellt. | nein |
IN_PROGRESS | Rendering läuft. | nein |
SUCCESS | Abgeschlossen. video_url ist in der Antwort vorhanden. | ja |
FAILED | Der Anbieter hat die Task abgelehnt. | ja |
ERROR | Ein interner Fehler hat den Abschluss verhindert. | ja |
import time
import requests
TASK_ID = "<TASK_ID>"
headers = {"Authorization": "Bearer <COMETAPI_KEY>"}
TERMINAL = {"SUCCESS", "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 — steuert die Abbruchbedingung für Ihre Polling-Schleife.progress — Ganzzahl von 0 bis 100, die Sie in einer UI anzeigen können.video_url — signierte Download-URL, nur bei SUCCESS vorhanden. Die Signatur ist zeitlich begrenzt; laden Sie die Datei herunter oder hosten Sie sie erneut, bevor die Signatur abläuft.completed_at — Unix-Zeitstempel, der ausgefüllt wird, sobald die Task einen terminalen Status erreicht.model — gibt die Seedance model ID zurück, die beim Erstellen der Task verwendet wurde.400 mit message: "task_not_exist" bedeutet, dass die id unbekannt ist. Stellen Sie sicher, dass Sie die id aus einer erfolgreichen POST /v1/videos-Antwort übernommen haben und sie unverändert verwenden.401 bedeutet, dass das Bearer-Token fehlt oder ungültig ist. Prüfen Sie, dass der Request-Header Authorization: Bearer <COMETAPI_KEY> lautet.Bearer token authentication. Use your CometAPI key.
Task id returned by POST /v1/videos.
Current task state.
Task id.
Object type, always video.
Model id that generated the task.
Task status. SUBMITTED and IN_PROGRESS are non-terminal. SUCCESS, FAILED, and ERROR are terminal.
SUBMITTED, IN_PROGRESS, SUCCESS, FAILED, ERROR Completion percentage.
0 <= x <= 100Task creation time as a Unix timestamp in seconds.
Signed download URL for the finished video. Present only when status is SUCCESS. The signature is time-limited, so download or re-upload the file to your own storage soon after you receive it.
Task completion time as a Unix timestamp in seconds. null while the task is non-terminal.
curl https://api.cometapi.com/v1/videos/<TASK_ID> \
-H "Authorization: Bearer <COMETAPI_KEY>"{
"id": "task_abc123",
"model": "doubao-seedance-2-0-fast",
"object": "video",
"status": "IN_PROGRESS",
"progress": 45,
"created_at": 1776567610,
"completed_at": null
}