API Görev Sınırı#
Üretim API'ları asenkron görev işleme kullanır. Bir görev başarıyla oluşturulduğunda, API bir taskId döndürür. Görev durumunu, ilerlemeyi, kuyruk konumunu ve nihai çıktıyı kontrol etmek için sonuç uç noktasını kullanın.
Bu belge, API entegrasyonları için kamuya açık görev sınırlarını, dakika başına istekleri, tamamlanmamış işleri ve birden fazla görev gönderildiğinde kredilerin nasıl tahsil edildiğini açıklar.
Hız Sınırı Özeti#
Üretim API'ları, görev oluşturma için sabit bir kamuya açık dakika başına istek sınırı kullanmaz. Pratik sınır, bir hesabın aynı anda kaç tamamlanmamış işe sahip olduğuna dayanır.
| İş Akışı | Dakika başına istek | Eşzamanlı / tamamlanmamış işler | Kredi tahsilatı |
|---|---|---|---|
| AI 3D | Sabit kamuya açık RPM sınırı yok | aynı anda 1 çalışan iş. Ek gönderilen işler kuyrukta bekler. | Kabul edilen görev başına tahsil edilir |
| Diğer üretim API'ları | Sabit kamuya açık RPM sınırı yok | Hesap ve iş akışı başına en fazla 30 tamamlanmamış iş | Kabul edilen görev başına tahsil edilir |
Tamamlanmamış işler hem kuyruktaki hem de çalışan işleri içerir.
30-iş sınırı, bir kredi paketi veya ücretsiz kota değil, bir görev sayısı sınırıdır. Her kabul edilen üretim görevi, o API'nin kredi kurallarına göre tahsil edilir.
Görev Durumu#
| Durum | Anlam | Tamamlanmamış olarak sayılır mı |
|---|---|---|
Unprocessed | Görev kabul edildi ve çalışmak için bekliyor | Evet |
Processing | Görev şu anda çalışıyor | Evet |
Success | Görev başarıyla tamamlandı | Hayır |
Failed | Görev başarısız oldu | Hayır |
Sonuç uç noktası, bekleyen bir görevin kuyruk konumunu gösteren waitNumber'ü de döndürebilir. Bir görev çalışırken veya bittiğinde, waitNumber genellikle 0'dır.
AI 3D Görevleri#
AI 3D görevleri seferinde birer işlenir.
Birden fazla AI 3D görevi gönderebilirsiniz ve her başarılı gönderim bir taskId döndürür. Ancak, aynı anda yalnızca bir AI 3D görevi çalışır. Ek AI 3D görevleri, mevcut görev bitene kadar bekler.
Önerilen entegrasyon davranışı:
- Döndürülen
taskId'i kaydedin. - Sonuç uç noktasını 3-5 saniye aralıklarla sorgulayın.
Unprocessed'ü bekleyen olarak ele alın.Processing'ü aktif olarak çalışan olarak ele alın.- Kullanıcılarınıza ilerlemeyi göstermek için
waitNumbervepercentage'yi kullanın.
Diğer Üretim Görevleri#
AI 3D dışındaki üretim iş akışları için, her hesap aynı iş akışı için en fazla 30 tamamlanmamış iş'e sahip olabilir.
Bu, hesap düzeyinde bir sınırdır. Aynı hesap altında birden fazla API anahtarı oluşturulursa, bunlar aynı sınırı paylaşır.
Bu, her zaman 30 işin tam olarak aynı anda çalıştığı anlamına gelmez. Bazı işler bekliyor olabilir, bazıları çalışıyor olabilir. Sınır her ikisini de sayar.
Hesap zaten bir iş akışı için 30 tamamlanmamış işe sahipse, o iş akışı için yeni görev gönderimleri, mevcut işler bitene kadar geçici olarak reddedilebilir.
| Kod | Ad | Anlam |
|---|---|---|
9015 | TASK_NOT_COMPLETED | Hesap, bu iş akışı için tamamlanmamış iş sınırına ulaştı. Mevcut işler tamamlandıktan sonra yeniden deneyin. |
Krediler ve Tamamlanmamış İşler#
Krediler, bir üretim görevi başarıyla oluşturulduğunda düşülür. Görev nihayetinde başarısız olursa, düşülen krediler otomatik olarak iade edilir.
Tamamlanmamış iş sınırı, her görevin kredi maliyetini değiştirmez. Birden fazla görev gönderirseniz, her kabul edilen görev ayrı ayrı tahsil edilir.
Örnekler:
| Örnek | Aktif tamamlanmamış işler | Görev oluşturulmasında düşülen krediler |
|---|---|---|
| 30 Mobilya Değiştirme görevi gönder | 30 | 30 x 1 kredi = 30 kredi |
30 Ev Dekorasyonu görevi gönder, modelType: "Base" ile | 30 | 30 x 3 kredi = 90 kredi |
30 Ev Dekorasyonu görevi gönder, modelType: "Pro" ile | 30 | 30 x 10 kredi = 300 kredi |
10 Peyzaj Flash, 10 Base ve 10 Pro görevi gönder | 30 | 10 x 1 + 10 x 3 + 10 x 10 = 140 kredi |
Tam kredi tablosu için Kredi Düşülmesi Referansı'na bakın.
Sonuç uç noktasını sorgulamak yeni bir üretim görevi oluşturmaz ve tamamlanmamış iş olarak sayılmaz.
Geçici Hizmet Meşgul Yanıtları#
Bazı durumlarda, hizmet meşgul olduğu için yeni görev gönderimleri geçici olarak reddedilebilir. Hesabınızda 30'den az tamamlanmamış iş olsa bile bu olabilir.
| Kod | Ad | Anlam |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | Hizmet şu anda meşgul. Daha sonra yeniden deneyin. |
Bu geçicidir. Kalıcı bir başarısızlık olarak ele almayın.
Önerilen İstemci Davranışı#
- Döndürülen her
taskId'yi kaydedin. - Görev durumunu düzenli aralıklarla sorgulayın.
- Hesap ve iş akışı başına tamamlanmamış işlerin yerel bir listesini tutun.
- Durum
SuccessveyaFailedolduğunda işleri tamamlanmamış listesinden çıkarın. - AI-3D olmayan iş akışları için, daha fazla göndermeden önce tamamlanmamış işleri 30'de veya altında tutun.
9015veya5020alırsanız, bir gecikme sonrası yeniden deneyin.
Önerilen yeniden deneme davranışı:
| Durum | Önerilen Eylem |
|---|---|
9015 TASK_NOT_COMPLETED | Aynı hesap ve iş akışından mevcut işlerin tamamlanmasını bekleyin, ardından yeniden deneyin. |
5020 QUEUE_TASK_OVERFLOW | Bekleyin ve geri çekilme (backoff) ile yeniden deneyin. |
Görev Unprocessed | Sorgulamaya devam edin; görev bekliyor. |
Görev Processing | Sorgulamaya devam edin; görev çalışıyor. |
Daha Yüksek Verimlilik Gerekli mi?#
Standart hesap ve iş akışı başına 30 tamamlanmamış iş sınırı entegrasyon ihtiyaçlarınızı karşılamıyorsa, [email protected] adresinden bizimle iletişime geçin. Kullanım durumunuzu inceleyebilir ve daha yüksek verimlilik veya özel bir düzenleme seçeneklerini tartışabiliriz.