Passer au contenu principal
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
}
Utilisez ce endpoint pour lire l’état d’une tâche créée via Créer une vidéo Seedance. Le id dans le chemin est la valeur renvoyée par l’appel de création, quel que soit le modèle Seedance qui a produit la tâche.

Machine d’état

La tâche passe par l’un des états ci-dessous. SUBMITTED et IN_PROGRESS ne sont pas terminaux ; SUCCESS, FAILED et ERROR sont terminaux et la tâche n’évoluera plus.
StatusSignificationTerminal
SUBMITTEDAcceptée et mise en file d’attente pour le rendu.non
IN_PROGRESSRendu en cours.non
SUCCESSTerminée. video_url est présent dans la réponse.oui
FAILEDLe fournisseur a rejeté la tâche.oui
ERRORUne erreur interne a empêché l’achèvement.oui

Cadence d’interrogation

Interrogez toutes les 10 à 20 secondes. La plupart des tâches se terminent en 1 à 3 minutes selon le modèle, la durée et la résolution.
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)

Champs à surveiller

  • status — détermine la condition d’arrêt de votre boucle d’interrogation.
  • progress — entier de 0 à 100 que vous pouvez afficher dans une UI.
  • video_url — URL de téléchargement signée, présente uniquement en cas de SUCCESS. La signature a une durée de validité limitée ; téléchargez ou réhébergez le fichier avant l’expiration de la signature.
  • completed_at — horodatage Unix renseigné une fois que la tâche atteint un statut terminal.
  • model — reprend l’id du modèle Seedance utilisé lors de la création de la tâche.

Erreurs courantes

  • HTTP 400 avec message: "task_not_exist" signifie que le id est inconnu. Vérifiez que vous avez bien récupéré le id à partir d’une réponse POST /v1/videos réussie et que vous l’utilisez tel quel.
  • HTTP 401 signifie que le bearer token est manquant ou invalide. Vérifiez que l’en-tête de requête est Authorization: Bearer <COMETAPI_KEY>.

Autorisations

Authorization
string
header
requis

Bearer token authentication. Use your CometAPI key.

Paramètres de chemin

id
string
requis

Task id returned by POST /v1/videos.

Réponse

Current task state.

id
string
requis

Task id.

object
string
requis

Object type, always video.

model
string
requis

Model id that generated the task.

status
enum<string>
requis

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

Options disponibles:
SUBMITTED,
IN_PROGRESS,
SUCCESS,
FAILED,
ERROR
progress
integer
requis

Completion percentage.

Plage requise: 0 <= x <= 100
created_at
integer
requis

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.