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
Paramètres de chemin
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.
Identifiant canonique de la tâche asynchrone.
Alias de l'identifiant de tâche asynchrone.
URL de polling préférée lorsque la réponse de création en fournit une.
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.
Statut de la tâche : pending, processing, completed, failed.
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.
URL de la vidéo générée (lorsqu'elle est terminée).
Charge utile d'une seule vidéo avec url, duration, width et height lorsque disponible.
Plusieurs charges utiles vidéo lorsque la tâche de génération renvoie plus d'une sortie.
Message d'erreur (en cas d'échec).
Horodatage de création.
Horodatage de la dernière mise à jour.
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
failedde 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 Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.
Emplacement: header
Paramètres de chemin
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