Zum Hauptinhalt springen
GET
/
v1
/
videos
/
{id}
cURL
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
}
Verwenden Sie diesen Endpunkt, um den Status einer Task abzurufen, die über Ein Seedance-Video erstellen erstellt wurde. Die id im Pfad ist der Wert, der vom Erstellungsaufruf zurückgegeben wird, unabhängig davon, welches Seedance-Modell die Task erzeugt hat.

Statusmaschine

Die Task durchläuft einen der folgenden Zustände. SUBMITTED und IN_PROGRESS sind nicht terminal; SUCCESS, FAILED und ERROR sind terminal, und die Task wechselt danach nicht mehr.
StatusBedeutungTerminal
SUBMITTEDAkzeptiert und zum Rendern in die Warteschlange gestellt.nein
IN_PROGRESSRendering läuft.nein
SUCCESSAbgeschlossen. video_url ist in der Antwort vorhanden.ja
FAILEDDer Anbieter hat die Task abgelehnt.ja
ERROREin interner Fehler hat den Abschluss verhindert.ja

Abfrageintervall

Fragen Sie alle 10 bis 20 Sekunden ab. Die meisten Jobs werden je nach Modell, Dauer und Auflösung innerhalb von 1 bis 3 Minuten abgeschlossen.
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)

Zu beobachtende Felder

  • 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.

Häufige Fehler

  • HTTP 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.
  • HTTP 401 bedeutet, dass das Bearer-Token fehlt oder ungültig ist. Prüfen Sie, dass der Request-Header Authorization: Bearer <COMETAPI_KEY> lautet.

Autorisierungen

Authorization
string
header
erforderlich

Bearer token authentication. Use your CometAPI key.

Pfadparameter

id
string
erforderlich

Task id returned by POST /v1/videos.

Antwort

Current task state.

id
string
erforderlich

Task id.

object
string
erforderlich

Object type, always video.

model
string
erforderlich

Model id that generated the task.

status
enum<string>
erforderlich

Task status. SUBMITTED and IN_PROGRESS are non-terminal. SUCCESS, FAILED, and ERROR are terminal.

Verfügbare Optionen:
SUBMITTED,
IN_PROGRESS,
SUCCESS,
FAILED,
ERROR
progress
integer
erforderlich

Completion percentage.

Erforderlicher Bereich: 0 <= x <= 100
created_at
integer
erforderlich

Task creation time as a Unix timestamp in seconds.

video_url
string | null

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.

completed_at
integer | null

Task completion time as a Unix timestamp in seconds. null while the task is non-terminal.