TokenLab

Vidéo & ressources

Obtenir le statut de la vidéo

Récupère le statut et le résultat d'une tâche de génération de vidéo

GET
/v1/tasks/{id}

Paramètres de chemin

idstringpathrequis

L'ID de tâche renvoyé par la requête de création de vidéo. Considérez id et task_id comme la même identité asynchrone.

Si une réponse de création renvoie poll_url, appelez cette URL exacte. Lorsqu'elle pointe vers /v1/tasks/{id}, considérez-la comme le point de terminaison canonique et fixe pour le statut.

Une tâche publique expirée ou indisponible peut renvoyer 404 async_task_not_found. Si son appartenance à la clé API actuelle ne peut pas être établie, la réponse est 403 task_not_owned.

Réponse

Les champs de résultat, d’erreur, d’horodatage et de modèle sont renvoyés lorsqu’ils sont disponibles pour la tâche.

idstring

Identifiant canonique de la tâche asynchrone.

task_idstring

Alias de l'identifiant de tâche asynchrone.

poll_urlstring

URL de polling préférée lorsque la réponse de création en fournit une.

billing_transaction_idstring

ID de transaction de facturation TokenLab lorsque le règlement est déjà terminé. Il s'agit de l'identifiant utilisé pour le dashboard / le rapprochement, distinct de l'id / task_id asynchrone.

statusstring

Statut de la tâche : pending, processing, completed, failed.

progressnumber

Valeur de progression facultative. Renvoyée uniquement lorsqu’une progression réelle est disponible ; utilisez status pour déterminer la fin de la tâche.

video_urlstring

URL de la vidéo générée (lorsqu'elle est terminée).

videoobject

Charge utile d'une seule vidéo avec url, duration, width et height lorsque disponible.

videosarray

Plusieurs charges utiles vidéo lorsque la tâche de génération renvoie plus d'une sortie.

errorstring | object

Message d'erreur (en cas d'échec).

createdinteger

Horodatage de création.

updatedinteger

Horodatage de la dernière mise à jour.

modelstring

Modèle utilisé pour la tâche.

Requête

curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"

Réponse

{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "veo3.1",
  "created": 1706000000,
  "updated": 1706000000
}

Bonnes pratiques de polling

  • Effectuer un polling toutes les 5 à 10 secondes
  • Implémenter un backoff exponentiel pour les tâches longues
  • Définir un délai d'attente maximal (par exemple, 10 minutes)
  • Gérer le statut failed de manière appropriée
import requests
import time

def wait_for_video(task_id, max_wait=600, interval=5):
    """Wait for video with timeout."""
    start = time.time()

    while time.time() - start < max_wait:
        response = requests.get(
            f"https://api.tokenlab.sh/v1/tasks/{task_id}",
            headers={"Authorization": "Bearer sk-your-api-key"}
        )
        response.raise_for_status()
        data = response.json()

        if data["status"] == "completed":
            return data["video_url"]
        elif data["status"] == "failed":
            raise Exception(data.get("error", "Video generation failed"))

        time.sleep(interval)

    raise TimeoutError("Video generation timed out")

Autorisation

BearerAuth
AuthorizationBearer <token>

Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.

Emplacement: header

Paramètres de chemin

id*string

L'ID de tâche asynchrone renvoyé par id / task_id, ou intégré dans poll_url

Réponse

application/json

application/json

application/json

application/json