Görsel başına manşet fiyat, kötü bir ilk filtredir. Aynı nominal fiyata sahip iki model; referans görsel kabul edip etmedikleri, maskelenmiş düzenlemeleri destekleyip desteklemedikleri, çıktı boyutunun nasıl seçildiği ve ücretlendirmenin istek başına mı yoksa token başına mı yapıldığı konularında farklılık gösterebilir. Adayları önce yeteneklerine göre filtreleyin, ardından kendi prompt'larınız üzerinde kabul edilen çıktı başına maliyeti karşılaştırın.
Bu makale, görsel üretim API'leri için bir seçim çerçevesidir. Video değil, görsel üretimini kapsar. Bir işlem hattının her ikisine de ihtiyaç duyduğu durumlarda aynı asenkron ve faturalandırma mekanizmaları geçerlidir, ancak video burada kapsam dışındadır.
1. Adım: Desteklenen işlemi eşleştirin
İlk eleme turu operasyoneldir. Yalnızca metinden üretim yapan bir uç nokta maskelenmiş bir düzenleme yapamaz ve inpainting için oluşturulmuş bir model genel bir prompt'tan görsele dönüştürme iş gücü değildir.
TokenLab'de üretim ve düzenleme genellikle farklı uç noktalardır:
| İhtiyacınız olan | Uç nokta | Notlar |
|---|---|---|
| Metinden görsele | POST /v1/images/generations |
İstek yalnızca bir prompt ile başlar |
| Görselden görsele / referans odaklı üretim | POST /v1/images/generations |
operation: "image-to-image" ve referans URL'lerini kabul eden modeller |
| Maskelenmiş veya çok parçalı düzenleme | POST /v1/images/edits |
Bir düzenleme akışını belgeleyen modeller |
| Mevcut bir görselin varyasyonu | POST /v1/images/variations |
Zaten variations biçimini kullanan entegrasyonlar için |
| Görev durumu | GET /v1/tasks/{id} |
Bir oluşturma yanıtı task_id, status: "pending" veya poll_url döndürdüğünde |
Karar tablosu için görsel üretim rehberine ve istek alanları için Create Image ile Edit Image referanslarına bakın.
Bir yönlendirme kuralı orantısız sayıda hataya neden olur: Nano Banana referans görsel istekleri (nano-banana-2, nano-banana-pro), /v1/images/edits uç noktasına değil, operation: "image-to-image" ve image_urls ile /v1/images/generations uç noktasına gider. Buna karşılık, gpt-image-2 düzenlemeleri /v1/images/edits üzerindedir; burada multipart image yüklemelerini, JSON image_url / image_urls ve 16 adede kadar kaynak görsel içeren images[] referanslarını kabul eder.
Mevcut TokenLab kataloğundan yararlı gruplandırmalar:
- Hem üretim hem düzenleme:
flux-2-klein-4b,flux-2-klein-9b,flux-2-pro,flux-2-flex,flux-2-max,flux-kontext-pro,flux-kontext-max,gemini-3-pro-image,gemini-3.1-flash-image,nano-banana-2,nano-banana-2-lite,nano-banana-pro,gpt-image-2,gpt-image-2.5-flare,gpt-image-2.5-sunburst,grok-imagine-image,grok-imagine-image-quality,grok-imagine-image-2.0,qwen-image-2.0,qwen-image-2.0-pro,qwen-image-3.0,seedream-4.0,seedream-4.5,seedream-5.0,seedream-5.0-lite,seedream-5.0-pro,vidu-image-lite,vidu-image-pro. - Yalnızca metinden görsele:
flux-1-dev,flux-pro-1.1,flux-pro-1.1-ultra,sd3.5-medium,sd3.5-large,sd3.5-large-turbo,sd3.5-flash,stable-image-core,stable-image-ultra,z-image,z-image-turbo,kling-image,kling-omni-image,hy-image-lite. - Özel düzenleme araçları:
stability-inpaint,stability-control-sketch,stability-control-structure,stability-style-guide,stability-upscale-fast,stability-upscale-conservative,image-upscaler,image-background-remover,flux-pro-1.0-fill,qwen-image-edit.
İşlemleri model ailesi bazında değil, model bazında doğrulayın. GET /v1/models?recommended_for=image güncel önerilen seti döndürür ve Get a Model referansı, belirli bir ID'nin neyi kabul ettiğini belirten supported_operations alanını gösterir.
2. Adım: Modelin referans görselleri nasıl kabul ettiğini kontrol edin
Entegrasyonların bozulduğu nokta referans görsel yönetimidir. Alan adları birbirinin yerine kullanılamaz:
image_url— tek bir referans görsel.image_urls— JSON içinde bir veya daha fazla referans.reference_image_urls— birincil girdileri referanslardan ayıran modeller için ek referanslar.image— özel veya başlık korumalı kaynak görseller için çok parçalı (multipart) dosya yüklemesi.image_urlveyafile_idiçerenimages[]— bir düzenleme akışı biçimi;/v1/images/generationsüzerinde kabul edilmez.
API referansından, etrafında tasarım yapmaya değer kısıtlamalar:
- Uzak referanslar, gömülü kimlik bilgileri veya parçalar içermeyen genel
http/httpsURL'leri olmalı ve localhost, özel veya ayrılmış IP aralıklarına çözümlenmemelidir. Her yönlendirme yeniden kontrol edilir. - URL üzerinden alınan görseller: Görsel başına 50 MiB, istek başına toplam 200 MiB (maske dahil), 30 saniye getirme zaman aşımı, en fazla 3 yönlendirme. Getirilen içerik gerçek bir PNG, JPEG veya WebP olmalıdır.
- Kaynak görsel üst sınırları farklıdır:
gpt-image-2en fazla 16 görsel kabul eder; belgelenen 3 girdi görseli üst sınırı özelliklegrok-imagine-imagevegrok-imagine-image-qualityiçin geçerlidir (3'ün üzerinde400 too_many_imagesile başarısız olur) vegrok-imagine-image-2.0için belgelenmemiştir. - Bir
mask, kaynak görselle aynı boyutlara sahip, 50 MiB'tan küçük bir PNG olmalıdır.
Kaynak görselleriniz özelse, süresi dolan imzalı bir URL iletmek yerine multipart yükleme veya bir /v1/files referansı planlayın. İşlem başlamadan önce süresi dolan imzalı bir URL, bir üretim hatası değil, reddedilen bir girdidir.
3. Adım: Yalnızca model adlarını değil, çıktı kontrollerini karşılaştırın
Aynı katmandaki iki model tamamen farklı boyut ve kalite kontrolleri sunabilir. Etrafında bir kullanıcı arayüzü oluşturmadan önce seçici sözleşmesini doğrulayın.
| Kontrol | Neyi kontrol etmeli |
|---|---|
size |
OpenAI tarzı aileler auto veya WIDTHxHEIGHT kabul eder. gpt-image-2 için boyutlar 16'nın katları olmalı, en uzun kenar en fazla 3840px, uzun/kısa oranı en fazla 3:1 ve toplam piksel 655.360 ile 8.294.400 arasında olmalıdır |
aspect_ratio |
Google görsel aileleri ve Grok Imagine 1:1, 16:9, 9:16, 3:2, 2:3 ve benzeri değerleri kullanır |
resolution |
gemini-3.1-flash-image, gemini-3-pro-image, nano-banana-2 ve nano-banana-pro 1k, 2k, 4k desteklerken, nano-banana-2-lite yalnızca 1k destekler. Grok Imagine 1k ve 2k destekler |
quality |
GPT Image modelleri auto, low, medium, high kullanır. Diğer modeller farklı değerler kullanabilir |
n |
İstek başına görsel sayısı, modele bağlıdır |
response_format |
url veya b64_json. Asenkron görevler, istenen formata bakılmaksızın URL döndürür |
background, output_format, output_compression |
gpt-image-2 için belgelenmiştir; transparent desteklenmez |
async |
gpt-image-2 ve resmi FLUX/BFL görsel modelleri için desteklenir |
Belgelenmemiş bir alan göndermek zararsız değildir. Örneğin input_fidelity, gpt-image-2 için mevcut desteklenen alanların bir parçası değildir ve 400 unsupported_parameter döndürür. Diğer modellerdeki desteklenmeyen alanlar da benzer şekilde başarısız olur. Tam alan listesi Create Image referansındadır.
4. Adım: Herhangi bir şeyi karşılaştırmadan önce faturalandırma birimini belirleyin
Maliyet karşılaştırmaları, token başına fiyatlandırılan bir model ile görsel başına fiyatlandırılan bir model aynı birimmiş gibi karşılaştırıldığında hatalı sonuç verir.
gpt-image-2token bazlı fiyatlandırılır. TokenLab; metin girdisi, görsel girdisi, bildirilen önbelleğe alınmış girdi ve görsel çıktısı token'ları için üreticinin kullanım dökümünü takip eder; sabit bir görsel başına model olarak faturalandırılmaz.- Diğer görsel modellerinin çoğu istek başına, görsel başına veya model sayfasında gösterilen başka bir birim başına fiyatlandırılır.
Pratik sonuç: gpt-image-2 için, aynı nominal ayarlardaki aynı prompt; çözünürlüğe, kaliteye ve prompt'un kendisine bağlı olarak farklı maliyetlere yol açabilir çünkü çıktı token hacmi değişir. Bir yönlendirme kuralına bağlı kalmadan önce ölçüm yapın.
Sabit kodlanmış bir tablo kullanmak yerine istek anında güncel faturalandırma birimini ve fiyatını okuyun:
- Faturalandırma ve fiyatlandırma, ücretlendirmelerin, tahminlerin ve asenkron rezervasyonun nasıl çalıştığını açıklar.
- Get a Model, tek bir model için
tokenlab.pricingvetokenlab.pricing_unitdeğerlerini döndürür. - List Models, kataloğu
tokenlab.pricing,tokenlab.capabilitiesvetokenlab.deliveryAvailabilityile birlikte döndürür. - Modeller sayfası, göz atmak için aynı bilgileri gösterir.
TokenLab fiyat sütunundaki bir tire işareti, o model için şu anda TokenLab Verified teklifinin bulunmadığı anlamına gelir; modelin ücretsiz olduğu anlamına gelmez. Resmi (Official) tedarike sahip modellere Resmi veya Otomatik teslimat seçeneği üzerinden yine de erişilebilir.
5. Adım: Senkron ile görev tabanlı akış arasında karar verin
Yüksek çözünürlüklü görsel istekleri bir dakikaya yakın veya daha uzun sürebilir. Senkron çağrılar için HTTP istemci zaman aşımınızı en az 120 saniyeye ayarlayın veya görev akışını kullanın.
- Tamamlanmış bir görsel yerine bir
task_idvepoll_urlalmak içingpt-image-2veya resmi FLUX/BFL görsel modelleriyleasync: truegönderin. - Bir modeli her zaman senkron veya her zaman asenkron olarak sabit kodlamayın. Oluşturma yanıtını kontrol edin:
status: "pending",task_idveyapoll_urliçeriyorsa, döndürülenpoll_urladresini takip edin. - Durumlar
pending,processing,completedvefailedşeklindedir. Başarılı bir durum okuma, görev başarısız olduğunda bile HTTP 200 döndürür; HTTP kodunu değil,statusalanını kullanın. - Asenkron görsel sonuçları URL olarak döndürülür. Ham
b64_jsonformatına ihtiyacınız varsa senkron bir istek kullanın. - Birkaç saniyede bir sorgulama (poll) yapın ve nihai bir durumda durun. Üretilen görsel HTTP(S) sonuç URL'leri, 30 gün boyunca medya kopyası olarak saklanabilir; her öğenin durumu ve
expires_atdeğeri içinmedia_retention.itemsalanını kontrol edin.
Ayrıntılar asenkron işler ve sorgulama rehberinde ve Get Image Status referansındadır.
Yeniden denemeler yalnızca bir gecikme riski değil, bir faturalandırma riskidir. Bir zaman aşımından sonra yeniden denenen bir oluşturma isteği, ikinci bir görev ve ikinci bir ücret üretebilir. request_id, task_id ve varsa billing_transaction_id değerini saklayın ve yeniden denemeden önce bir görevin oluşturulup oluşturulmadığını kontrol edin.
6. Adım: Kendi prompt setiniz üzerinde değerlendirin
Bu makalede sağlayıcıdan bağımsız hiçbir kalite sıralamasına yer verilmemiştir ve pazarlama metinlerinden de hiçbiri dikkate alınmamalıdır. Seçimi kendi iş yükünüz üzerindeki bir ölçümle gerekçelendirin:
- Üretim dağıtımınızı yansıtan —gerçekte aldığınız konuları, stilleri ve talimat biçimlerini içeren— sabit bir prompt seti oluşturun. Genel demo prompt'ları modelleri sizin için ayırt etmeyecektir.
- Aynı seti aday modelleriniz genelinde aynı ayarlarla çalıştırın ve yeniden denemeler dahil istek başına üretim süresini günlüğe kaydedin.
- Çıktıları örneklere göz kararı bakarak değil, otomatik veya insan inceleme paneliyle sabit bir değerlendirme ölçeği (rubric) kullanarak puanlayın.
- Üretilen görsel başına maliyeti değil, kabul edilen görsel başına maliyeti hesaplayın. Kullanılabilir çıktı başına iki deneme gerektiren daha ucuz bir model daha ucuz değildir.
- Ürününüz gecikmeye duyarlıysa ortalamalar yerine yüzdelik dilimleri (persentil) kaydedin, çünkü kullanıcıların fark ettiği şey uç değerlerdir (tail).
- Sağlayıcıları veya çözünürlük hedeflerini değiştirdiğinizde karşılaştırmayı yeniden çalıştırın, çünkü hem fiyatlandırma birimleri hem de model davranışı değişebilir.
Kabul edilen görsel başına maliyet, daha pahalı bir modelin iş yükünüz için fiyatına değip değmeyeceğini yanıtlayan tek sayıdır.
Örnek istek
Aşağıdaki, ölçülmüş bir sonuç değil, üretim çağrısı biçiminin açıklayıcı bir örneğidir. aspect_ratio ve resolution sunan bir model kullanır.
curl https://api.tokenlab.sh/v1/images/generations \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3-pro-image",
"prompt": "A cinematic portrait of a white cat sitting on a rainy windowsill",
"aspect_ratio": "16:9",
"resolution": "2k"
}'
Bu yanıt status: "pending" ile dönerse, bunu bir hata olarak değerlendirmek yerine döndürülen poll_url adresini sorgulayın.
Model erişimi API formatları arasında tek tip değildir. TokenLab; Chat Completions, Responses, Anthropic Messages ve Gemini istek biçimlerini kabul eder ve belirli bir model bunlardan yalnızca bazılarını destekleyebilir. Mevcut bir istemciyi yeniden kullanmadan önce modeldeki tokenlab.accepted_request_formats alanını kontrol edin — bkz. API formatları.
Bu makalenin sınırları
- Herhangi bir görsel modeli için bağımsız kalite kıyaslaması (benchmark), gecikme ölçümü veya işleme hacmi (throughput) verisi buraya dahil edilmemiştir. Sağlayıcıların anatomi, metin oluşturma veya fotogerçekçilikle ilgili konumlandırmaları gerçek olarak yeniden üretilmemiştir.
- Hiçbir fiyat belirtilmemiştir. Görsel modeli fiyatlandırma birimleri farklılık gösterir ve değişir; güncel değeri Modeller sayfasından veya
GET /v1/models/{model}üzerinden okuyun. - Model kullanılabilirliği teslimat seçeneğine ve çalışma alanına göre değişir.
tokenlab.deliveryAvailabilityyapılandırılmış desteği tanımlar; bir istek çalıştığında kontrol edilen gerçek zamanlı kullanılabilirliği garanti etmez. - Genel bölge kısıtlamaları geçerlidir.
İlgili okumalar
- Görsel üretim rehberi
- Create Image ve Edit Image
- Asenkron işler ve sorgulama
- Faturalandırma ve fiyatlandırma
- List Models ve Get a Model
- API formatları
- Güncel model listesi ve fiyatlar: Modeller sayfası
Kaynaklar
- https://docs.tokenlab.sh/guides/image-generation2026-09-27 tarihinde gözlendi
- https://docs.tokenlab.sh/api-reference/images/create-image2026-09-27 tarihinde gözlendi
- https://docs.tokenlab.sh/api-reference/images/edit-image2026-09-27 tarihinde gözlendi
- https://docs.tokenlab.sh/api-reference/models/get-model2026-09-27 tarihinde gözlendi
- https://docs.tokenlab.sh/guides/billing2026-09-27 tarihinde gözlendi
- https://docs.tokenlab.sh/api-reference/models/list-models2026-09-27 tarihinde gözlendi
- https://tokenlab.sh/models
- https://docs.tokenlab.sh/guides/async-jobs-polling2026-09-27 tarihinde gözlendi



