Vídeo e materiais

Obter status do vídeo

Recupera o status e o resultado de uma tarefa de geração de vídeo

GET
/v1/tasks/{id}

Parâmetros de Caminho

idstringpathobrigatório

O ID da tarefa retornado pela solicitação de criação de vídeo. Considere id e task_id como a mesma identidade assíncrona.

Se uma resposta de criação retornar poll_url, chame exatamente essa URL. Quando ela apontar para /v1/tasks/{id}, trate isso como o endpoint canônico e fixo de status.

Uma tarefa pública expirada ou indisponível pode retornar 404 async_task_not_found. Se não for possível confirmar a titularidade para a chave API atual, a resposta será 403 task_not_owned.

Resposta

Campos de resultado, erro, timestamps e modelo são retornados quando disponíveis para a tarefa.

idstring

Identificador canônico da tarefa assíncrona.

task_idstring

Alias do identificador da tarefa assíncrona.

poll_urlstring

URL de polling preferencial quando a resposta de criação fornecer uma.

billing_transaction_idstring

ID de transação de faturamento da TokenLab quando a liquidação já foi concluída. Este é o identificador usado no dashboard / conciliação e é separado do id / task_id assíncrono.

statusstring

Status da tarefa: pending, processing, completed, failed.

progressnumber

Valor de progresso opcional. Retornado apenas quando houver um progresso real disponível; use status para determinar a conclusão.

video_urlstring

URL do vídeo gerado (quando concluído).

videoobject

Objeto único de vídeo com url, duration, width e height quando disponíveis.

videosarray

Múltiplos objetos de vídeo quando a tarefa de geração retornar mais de uma saída.

errorstring | object

Mensagem de erro (em caso de falha).

createdinteger

Timestamp de criação.

updatedinteger

Timestamp da última atualização.

modelstring

Modelo usado para a tarefa.

Requisição

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

Resposta

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

Melhores práticas de polling

  • Realizar polling a cada 5-10 segundos
  • Implemente backoff exponencial para tarefas longas
  • Defina um tempo máximo de espera (por exemplo, 10 minutos)
  • Trate o status failed de forma adequada
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")

Autorização

BearerAuth
AuthorizationBearer <token>

Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.

Local: header

Parâmetros de caminho

id*string

O ID da tarefa assíncrona retornado por id / task_id, ou incorporado na poll_url

Resposta

application/json

application/json

application/json

application/json