Ana içeriğe atla
Birçok medya uç noktası asenkron olarak çalışır. Bir oluşturma isteği, çalışmayı başlatır ve genel bir TokenLab görev kimliği döndürür; uygulamanız, o görev terminal bir duruma ulaşana kadar sorgulama yapar. Müşteri iş akışlarını yukarı akış görev URL’leri, yönlendirme kimlikleri veya sağlayıcı geri çağırma davranışları etrafında inşa etmeyin.

Genel Görev Sözleşmesi

Oluşturma yanıtları şunları içerebilir:
AlanAnlamıNe yapılmalı
idGenel TokenLab görev kimliğiKendi iş kaydınızla saklayın
task_idAynı genel görev kimliği için uyumluluk takma adıBunu id ile eşdeğer olarak değerlendirin
statusMevcut genel görev durumuTerminal değilse sorgulamaya başlayın
poll_urlTercih edilen durum URL’siVarsa bunu önce kullanın
modelUç nokta tarafından talep edilen veya çözülen modelDestek ve faturalama uzlaştırması için saklayın
/v1/tasks/{id} genel asenkron medya işleri için kanonik sabit durum uç noktasıdır. Uyumluluk için medya özel durum yolları mevcut olabilir, ancak yeni entegrasyonlar poll_url veya /v1/tasks/{id}’yi tercih etmelidir.

Önerilen Akış

  1. Kullanıcı isteğini doğrulayın ve açık bir model ile oluşturma çağrısını gönderin.
  2. Kontrolü UI’ye geri vermeden önce id / task_id, poll_url, uç nokta, model, kullanıcı kimliği ve kendi iş kimliğinizi saklayın.
  3. Uzun süreli medya görevleri için her 5-10s’de sorgulama yapın.
  4. Görev completed veya failed olduğunda durun.
  5. completed durumunda, medya özel sonuç alanlarını okuyun ve nihai URL’leri veya meta verileri saklayın.
  6. failed durumunda, genel hatayı saklayın ve yalnızca yeni kullanıcıya görünür bir iş olarak yeniden denemeyi teklif edin.
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "model": "veo3.1"
}

Sorgulama Örneği

curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"
Beklenen genel durumlar pending, processing, completed ve failed’dir. İptal edilen görevler failed olarak cancelled: true ve cancellation_status: "cancelled" ile temsil edilir, böylece eski durum işleme devam eder.

İstemci Yeniden Deneme Kuralları

Ağ zaman aşımı, çoğaltılmış işlerin en yaygın kaynağıdır. Bu kuralı kullanın:
Zaman aşımı nerede gerçekleşiyorDaha güvenli davranış
Sunucunuz bir oluşturma yanıtı alana kadarrequest_id için sunucu günlüklerini kontrol edin; yalnızca görev oluşturulmadıysa yeniden deneyin
Bir oluşturma yanıtı saklandıktan sonraSaklanan task_id ile sorgulamaya devam edin
Sorgulama sırasındaGeri alma ile durum isteğini yeniden deneyin
Terminal durumdan sonraKullanıcı açıkça kaydı yenilemedikçe tekrar sorgulamayın
Tarayıcı yenilendiği veya bir durum sorgulaması başarısız olduğu için ikinci bir oluşturma isteği göndermeyin.

Faturalama ve Uzlaştırma

Asenkron işler, oluşturma isteği kabul edildiğinde tahmini bir miktarı rezerve edebilir. Nihai uzlaştırma, terminal durumdan sonra gerçekleşir. Mevcut olduğunda, görev durumu yanıtları billing_transaction_id ve X-Billing-Transaction-ID başlığını açığa çıkarabilir. Uzlaştırma için, günlüklerinizde bu tanımlayıcıları birleştirin:
  • Oluşturma isteğinden request_id.
  • Görevden task_id / id.
  • Varsa billing_transaction_id.
  • Kendi kullanıcı kimliğiniz, proje kimliğiniz veya iş kimliğiniz.

İptal

DELETE /v1/tasks/{id} kasıtlı olarak dar tutulmuştur. Şu anda seedance-1.5-pro, seedance-2.0 ve seedance-2.0-fast gibi kuyrukta bekleyen Volcengine Seedance video görevlerini desteklemektedir. Desteklenmeyen görevler 400 unsupported_task_cancel döndürür. Zaten çalışan veya terminal olan görevler 409 task_not_cancellable döndürür. İptal UI’sini “iptal talebi” olarak oluşturun, garantili bir durdurma butonu olarak değil.

Sorun Giderme

BelirtiMuhtemel nedenKontrol edilecekler
async_task_not_foundGörev bilinmiyor, süresi dolmuş, bu API anahtarına erişilemez veya genel bir asenkron görev değilAPI anahtarı sahipliğini ve saklanan genel task_id’yi doğrulayın
Görev asla tamamlanmıyor gibi görünüyorİstemci yanlış URL’yi sorgulamaya devam ediyor veya terminal durumdan önce durdupoll_url veya /v1/tasks/{id} kullanın ve en son durumu kontrol edin
Nihai medya URL’si eksikGörev tamamlanmamış veya yukarı akış işi kullanılabilir çıktı olmadan tamamlanmışTerminal olana kadar sorgulamaya devam edin, ardından eksik çıktıyı başarısız olarak yönetin
Kullanıcı kopyaları görüyorYeniden deneme yolu zaman aşımından veya yenilemeden sonra yeni bir görev oluşturduKendi iş kimliğiniz ve saklanan task_id ile çoğaltmayı önleyin
Faturalama uyuşmazlığıUzlaştırma asenkron veya istemci sağlayıcı kimliklerini karşılaştırıyorrequest_id, task_id ve billing_transaction_id’yi karşılaştırın

Destek Paketi

Destekle iletişime geçerken, request_id, task_id, varsa billing_transaction_id, uç nokta, model, zaman damgası ve temizlenmiş bir istek şekli ekleyin. Destek, redakte edilmiş bir örnek istemedikçe API anahtarlarını, özel medyayı, imzalı URL’leri veya tam istemleri eklemeyin.

API Referansı

KonuReferans
Görev Durumunu AlGörev Durumunu Al
Görevi İptal EtGörevi İptal Et
Görüntü ÜretimiGörüntü Üretimi
Video ÜretimiVideo Üretimi
Müzik ÜretimiMüzik Üretimi
3D Üretimi3D Üretimi
Faturalama & FiyatlandırmaFaturalama & Fiyatlandırma