Skip to main content
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: /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.

Sorgulama Örneği

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: 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} bilinçli olarak dar tutulmuştur. Seçilen görev iptali desteklediğinde seedance-1.5-pro, seedance-2.0 ve seedance-2.0-fast gibi kuyruktaki Seedance video görevleri için geçerlidir. 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

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ı