Ana içeriğe atla
TokenLab, kamuya açık görüntü uç noktaları aracılığıyla metinden görüntüye, görüntüden görüntüye ve görüntü düzenleme desteği sunar. Görüntü modelleri tek bir evrensel parametre setini paylaşmaz, bu nedenle üretim istemcileri önce uç noktasını seçmeli, ardından modeli seçmeli ve yalnızca o model tarafından desteklenen alanları göndermelidir.

Her Uç Noktayı Ne Zaman Kullanmalısınız

Kullanıcı iş akışıUç NoktaNe zaman kullanılırNe zaman kaçınılmalıdır
Metinden görüntüyePOST /v1/images/generationsKullanıcı yalnızca bir istemden başlıyorsaResmi bir GPT Görüntü düzenleme akışına ihtiyacınız varsa
Görüntüden görüntüyePOST /v1/images/generationsModel belgeleri, operation: "image-to-image" artı image_url, image_urls veya reference_image_urls ile referans görüntüleri belirtirModel çok parçalı düzenleme girişi bekliyorsa
Görüntü düzenlemePOST /v1/images/editsDesteklenen bir düzenleme modeli ile mevcut bir görüntüyü düzenliyorsanız, örneğin bir GPT Görüntü ailesi modeliNano Banana tarzı görüntüden görüntüye üretim kullanıyorsanız
VaryasyonPOST /v1/images/variationsBir miras varyasyon uyumlu entegrasyonu sürdürüyorsanızYeni bir referans-görüntü iş akışı oluşturuyorsanız
DurumGET /v1/tasks/{id}Bir oluşturma yanıtı task_id, status: "pending" veya poll_url dönerOluşturma yanıtı zaten nihai data[] içeriyorsa
Her zaman model gönderin. Görüntü uç noktaları, üretim trafiği için kasıtlı olarak tarihsel bir örtük varsayılan modele dayanmaz.

Bir Model Seçin

Model keşfine başlayın, ardından seçilen modelin TokenLab sözleşmesini inceleyin:
curl "https://api.tokenlab.sh/v1/models?recommended_for=image" \
  -H "Authorization: Bearer sk-your-api-key"
Sohbet dışı modeller için, liste yanıtı tokenlab.public_contract_summary içerebilir. Model detay sayfaları daha kapsamlı tokenlab.public_contract sunabilir. Bu alanları doğrulamak için kullanın:
  • Desteklenen işlem, örneğin text-to-image, image-to-image veya image-edit.
  • Modelin beklediği istek uç noktası.
  • Referanslar için hangi şeklin kullanılacağı, örneğin image_url, image_urls, reference_image_urls, çok parçalı image veya JSON images[].
  • Modelin size, aspect_ratio, resolution, quality, background, output_format veya response_format kabul edip etmediği.

İstek Şekli Kuralları

  • gpt-image-2 tarzı istekler, OpenAI benzeri size, quality ve düzenleme alanlarını kullanır. Modelin veya TokenLab’ın otomatik varsayılanları kullanmasını istiyorsanız isteğe bağlı alanları dışarıda bırakın.
  • Gemini ve Nano Banana görüntü aileleri genellikle aspect_ratio kullanır; yalnızca model sözleşmesi bunu açığa çıkardığında resolution gönderin.
  • Nano Banana görüntüden görüntüye, operation: "image-to-image" ve referans görüntü URL’leri ile /v1/images/generations üzerinde yer alır.
  • /v1/images/generations üst düzey images[] veya file_id kabul etmez; bunlar düzenleme akışı şekilleridir.
  • Uzaktan görüntü referansları, kamuya açık http veya https URL’leri olmalıdır. Özel ağ URL’leri, gömülü kimlik bilgileri, URL parçaları veya işleme başlamadan önce süresi dolabilecek imzalı URL’ler göndermeyin.

Metinden Görüntüye Örneği

curl https://api.tokenlab.sh/v1/images/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Ceviz masasında bir seramik kahve fincanının temiz bir ürün fotoğrafı",
    "size": "1024x1024",
    "response_format": "url"
  }'

Referans-Görüntü Örneği

curl https://api.tokenlab.sh/v1/images/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana",
    "operation": "image-to-image",
    "prompt": "Ürün şekli korunmalı, arka plan parlak bir stüdyo düzenine değiştirilmelidir",
    "image_urls": ["https://example.com/input/product.png"],
    "aspect_ratio": "1:1"
  }'

Sonuçları Yönetme

Görüntü yanıtları senkron veya asenkron olabilir:
  • Senkron yanıtlar, url veya b64_json ile nihai data[] döner.
  • Asenkron yanıtlar id, task_id, status ve genellikle poll_url döner.
  • poll_url mevcut olduğunda tercih edin. Sabit bir yol gerekiyorsa, GET /v1/tasks/{id} ile sorgulayın.
  • Özellikle b64_json gerektiğinde senkron istekler kullanın; asenkron görüntü sonuçları URL odaklıdır.
curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer sk-your-api-key"
Dönen görüntü URL’sini, görev kimliğini, modeli ve kendi kullanıcı/görev kimliğinizi saklayın. Terminal durumu sonrasında sorgulamayı sürdürmeyin.

Üretim Kontrol Listesi

  • TokenLab’ı çağırmadan önce kullanıcı girdilerini doğrulayın: istem uzunluğu, görüntü sayısı, URL erişilebilirliği ve dosya türü.
  • Senkron yüksek çözünürlüklü istekler için HTTP zaman aşımını yeterince yüksek ayarlayın. Uzun işler için mevcut olan yerlerde asenkron modu kullanın.
  • Destek için request_id, task_id, poll_url, model, uç nokta ve temizlenmiş istek şekli saklayın.
  • İstemci zaman aşımında, yeniden oluşturma isteğini denemeden önce bir görevin oluşturulup oluşturulmadığını kontrol edin.
  • Maliyetleri kullanım kayıtları ve mevcutsa billing_transaction_id ile uzlaştırın, sağlayıcı görev kimlikleri ile değil.

Yaygın Hatalar

BelirtiOlası nedenÇözüm
400 ile param: "model"Açık bir model eksik/v1/models?recommended_for=image sorgulayın ve model gönderin
Desteklenmeyen alanAlan, o modelin kamuya açık sözleşmesinde yokAlanı kaldırın veya onu belgeleyen bir model/uç nokta seçin
Asenkron sonuçta b64_json yokAsenkron görüntü görevleri URL odaklı sonuçlar dönerBase64 çıktısı için senkron modu kullanın
Referans görüntü reddedildiYanlış uç nokta veya özel/süresi dolmuş URLModelin belgelenmiş referans şekli ile eşleşin ve erişilebilir URL’ler kullanın

API Referansı

KonuReferans
Görüntü OluşturGörüntü Oluştur
Görüntü DüzenleGörüntü Düzenle
Görüntü Varyasyonu OluşturGörüntü Varyasyonu Oluştur
Görüntü Durumunu AlGörüntü Durumunu Al
Görev Durumunu AlGörev Durumunu Al