Video ve materyaller

Video Durumunu Al

Bir video oluşturma görevinin durumunu ve sonucunu getirir

GET
/v1/tasks/{id}

Yol Parametreleri

idstringpathzorunlu

Oluşturma yanıtından dönen asenkron görev kimliği. id ve task_id aynı görevi ifade eder.

Bir create yanıtı poll_url döndürürse, tam olarak o URL’yi çağırın. Bu URL /v1/tasks/{id} adresine işaret ediyorsa, onu kanonik sabit durum uç noktası olarak kabul edin.

Süresi dolmuş veya kullanılamayan bir görev 404 async_task_not_found döndürebilir. Geçerli API anahtarının görev sahipliği doğrulanamazsa yanıt 403 task_not_owned olur.

Yanıt

Sonuç, hata, zaman damgası ve model alanları görev için mevcut olduğunda döndürülür.

idstring

Kanonik asenkron görev kimliği.

task_idstring

Asenkron görev kimliği takma adı.

poll_urlstring

Oluşturma yanıtının döndürdüğü öncelikli sorgulama URL'si.

billing_transaction_idstring

Mutabakat tamamlandığında dönen TokenLab faturalama işlem kimliği. Dashboard / mutabakat için kullanılan işlem tanımlayıcısıdır ve asenkron id / task_id alanlarından ayrıdır.

statusstring

Görev durumu: pending, processing, completed, failed.

progressnumber

İsteğe bağlı ilerleme değeri. Yalnızca gerçek bir ilerleme değeri varsa döner; tamamlanmayı belirlemek için status kullanın.

video_urlstring

Oluşturulan videonun URL'i (tamamlandığında).

videoobject

Mevcutsa url, duration, width ve height içeren tek video nesnesi.

videosarray

Üretim görevi birden fazla çıktı döndürdüğünde video dizisi görünebilir.

errorstring | object

Hata mesajı (başarısız olursa).

createdinteger

Oluşturulma zaman damgası.

updatedinteger

Son güncelleme zaman damgası.

modelstring

Görevde kullanılan model.

İstek

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

Yanıt

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

Polling En İyi Uygulamaları

  • Her 5-10 saniyede bir sorgulama yapın
  • Uzun süreli görevler için üstel geri çekilme (exponential backoff) uygulayın
  • Maksimum bir zaman aşımı süresi belirleyin (örneğin 10 dakika)
  • failed durumunu uygun şekilde ele alın
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")

Yetkilendirme

BearerAuth
AuthorizationBearer <token>

API Anahtarı kimlik doğrulaması. API anahtarlarını Dashboard > API > API Keys bölümünden oluşturun veya yönetin.

Konum: header

Yol parametreleri

id*string

id / task_id tarafından döndürülen veya poll_url içine gömülü olan asenkron görev kimliği

Yanıt

application/json

application/json

application/json

application/json