Video & Materialien

Videostatus abrufen

Ruft den Status und das Ergebnis einer Videogenerierungsaufgabe ab

GET
/v1/tasks/{id}

Pfadparameter

idstringpatherforderlich

Kanonische asynchrone Aufgaben-ID. Wenn id und task_id beide vorhanden sind, behandeln Sie sie als dieselbe Aufgabe.

Wenn eine Create-Response poll_url zurückgibt, verwenden Sie genau diese URL. Wenn sie auf /v1/tasks/{id} zeigt, behandeln Sie sie als kanonischen festen Status-Endpunkt.

Ein abgelaufener oder nicht verfügbarer öffentlicher Task kann 404 async_task_not_found zurückgeben. Ist die Zugehörigkeit zum aktuellen API-Schlüssel nicht feststellbar, lautet die Antwort 403 task_not_owned.

Antwort

Ergebnis-, Fehler-, Zeitstempel- und Modellfelder werden zurückgegeben, wenn sie für den Task verfügbar sind.

idstring

Kanonische asynchrone Task-ID.

task_idstring

Alias der asynchronen Task-ID.

poll_urlstring

Bevorzugte Polling-URL aus der Create-Response.

billing_transaction_idstring

TokenLab-Abrechnungstransaktions-ID, wenn die Abrechnung bereits abgeschlossen ist. Dies ist die Kennung für Dashboard/Abgleich und getrennt von der asynchronen id / task_id.

statusstring

Task-Status: pending, processing, completed, failed.

progressnumber

Optionaler Fortschrittswert. Wird nur zurückgegeben, wenn ein echter Fortschrittswert verfügbar ist; verwenden Sie status, um den Abschluss zu erkennen.

video_urlstring

URL des generierten Videos (nach Abschluss).

videoobject

Einzelnes Videoobjekt mit url, duration, width und height, falls verfügbar.

videosarray

Video-Array, wenn die Generierungsaufgabe mehrere Ausgaben zurückgibt.

errorstring | object

Fehlermeldung (falls fehlgeschlagen).

createdinteger

Zeitstempel der Erstellung.

updatedinteger

Zeitstempel der letzten Aktualisierung.

modelstring

Für die Task verwendetes Modell.

Anfrage

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

Antwort

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

Best Practices für Polling

  • Alle 5-10 Sekunden pollen
  • Für lange Tasks exponentielles Backoff implementieren
  • Ein maximales Timeout festlegen (z. B. 10 Minuten)
  • Den Status failed sauber behandeln
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")

Autorisierung

BearerAuth
AuthorizationBearer <token>

API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.

Ort: header

Pfadparameter

id*string

Die asynchrone Task-ID, die über id / task_id zurückgegeben oder in poll_url eingebettet wird

Antwort

application/json

application/json

application/json

application/json