Video y recursos
Obtener estado del video
Recupera el estado y el resultado de una tarea de generación de video
Parámetros de ruta
El ID de la tarea devuelto por la solicitud de creación de video. Trate id y task_id como la misma identidad asíncrona.
Si una respuesta de creación devuelve poll_url, llame exactamente a esa URL. Cuando apunta a /v1/tasks/{id}, trátela como el endpoint canónico y fijo de estado.
Una tarea pública caducada o no disponible puede devolver 404 async_task_not_found. Si no se puede confirmar que pertenece a la clave API actual, devuelve 403 task_not_owned.
Respuesta
Los campos de resultado, error, marcas de tiempo y modelo se devuelven cuando están disponibles para la tarea.
Identificador canónico de la tarea asíncrona.
Alias del identificador de la tarea asíncrona.
URL preferida para sondeo cuando la respuesta de creación la proporciona.
ID de transacción de facturación de TokenLab cuando la liquidación ya terminó. Es el identificador de dashboard/contabilidad y es distinto del id / task_id asíncrono.
Estado de la tarea: pending, processing, completed, failed.
Valor de progreso opcional. Solo se devuelve cuando hay un progreso real disponible; usa status para determinar la finalización.
URL del video generado (cuando está completado).
Objeto de video único con url, duration, width y height cuando estén disponibles.
Múltiples cargas útiles de video cuando la tarea de generación devuelve más de una salida.
Mensaje de error (si falla).
Marca de tiempo de creación.
Marca de tiempo de la última actualización.
Modelo usado para la tarea.
Solicitud
curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
-H "Authorization: Bearer sk-your-api-key"Respuesta
{
"id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "pending",
"model": "veo3.1",
"created": 1706000000,
"updated": 1706000000
}Mejores prácticas de sondeo
- Consultar cada 5-10 segundos
- Implementar retroceso exponencial para tareas largas
- Establecer un tiempo máximo de espera (p. ej., 10 minutos)
- Manejar el estado
failedde forma adecuada
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")Autorización
BearerAuth Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.
Ubicación: header
Parámetros de ruta
El ID de tarea asíncrona devuelto por id / task_id, o incrustado en poll_url
Respuesta
application/json
application/json
application/json
application/json