Video y recursos

Obtener estado del video

Recupera el estado y el resultado de una tarea de generación de video

GET
/v1/tasks/{id}

Parámetros de ruta

idstringpathobligatorio

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.

idstring

Identificador canónico de la tarea asíncrona.

task_idstring

Alias del identificador de la tarea asíncrona.

poll_urlstring

URL preferida para sondeo cuando la respuesta de creación la proporciona.

billing_transaction_idstring

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.

statusstring

Estado de la tarea: pending, processing, completed, failed.

progressnumber

Valor de progreso opcional. Solo se devuelve cuando hay un progreso real disponible; usa status para determinar la finalización.

video_urlstring

URL del video generado (cuando está completado).

videoobject

Objeto de video único con url, duration, width y height cuando estén disponibles.

videosarray

Múltiples cargas útiles de video cuando la tarea de generación devuelve más de una salida.

errorstring | object

Mensaje de error (si falla).

createdinteger

Marca de tiempo de creación.

updatedinteger

Marca de tiempo de la última actualización.

modelstring

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 failed de 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
AuthorizationBearer <token>

Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.

Ubicación: header

Parámetros de ruta

id*string

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