İçeriğe geç

Görsel Üretimi

Google'ın Gemini görsel üretim modelleri /v1/images/generations endpoint'i üzerinden text-to-image, image-to-image ve çoklu referans görsel üretimi için çağrılır. Imagen modelleri bu gateway üzerinde text-to-image olarak çalışır. OpenAI gpt-image-2 text-to-image kullanımı için Gateway görsel üretimi sayfasına bakın.

Terminal window
curl "$LLMTR_BASE_URL/v1/images/generations" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-flash-image",
"prompt": "A minimalist modern workspace with warm light",
"size": "1K",
"aspect_ratio": "16:9",
"n": 1
}'

Önce Files API ile kaynak görseli yükleyin, dönen file_id değerini kullanın. Bu tekil alan geriye uyumluluk için desteklenir:

Terminal window
curl "$LLMTR_BASE_URL/v1/images/generations" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-flash-image",
"prompt": "Bu ürün fotosunu reklam afişine çevir",
"file_id": "file_xxx",
"size": "1K",
"aspect_ratio": "1:1",
"n": 1
}'

Gemini image modellerinde birden fazla referans görsel göndermek için file_ids kullanın. Toplam referans görsel limiti file_id, file_ids, image_url ve image_urls birlikte sayıldığında 8'dir.

Terminal window
curl "$LLMTR_BASE_URL/v1/images/generations" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-flash-image",
"prompt": "Bu iki ürün fotoğrafını aynı reklam kompozisyonunda birleştir",
"file_ids": ["file_front", "file_back"],
"size": "1K",
"aspect_ratio": "16:9",
"n": 1
}'

Uzak veya inline görsel referansları için image_url ve image_urls alanları da desteklenir. Dosya tabanlı kullanım büyük görseller ve tekrar kullanılan referanslar için önerilir.

file_ids vs image_urls — hangisi ne zaman?

Section titled “file_ids vs image_urls — hangisi ne zaman?”

| Boyut | file_ids (önce /v1/files upload) | image_urls (data URL veya https URL) | |---|---|---| | HTTP istek sayısı | İki istek (upload + generations) | Tek istek | | Büyük görsel (> 1-2 MB) | Önerilir — JSON body limiti sorun olmaz | JSON body büyük; data URL'de base64 ~%33 büyür | | Aynı referansı birden çok kez kullanma | Önerilir — bir kez yükle, 7 gün boyunca her istekte aynı file_id'yi yeniden kullan | Her istekte yeniden gönderirsiniz | | Tek seferlik, hızlı deneme | Daha yavaş (iki istek) | Önerilir — direkt data URL veya https URL ver | | Public bir görsele yönlendirme | İndir + yükle gerekir | Direkt https URL ver | | Otomatik temizlik | 7 gün sonra otomatik silinir | Storage yok, istek başına geçici |

Pratik kural: try-on, image-to-image ve büyük referansları olan tekrarlanan kompozisyonlar için file_ids; tek seferlik hızlı kompozisyonlar veya doğrudan public URL referansları için image_urls kullanın. Bir istekte ikisi birden de kullanılabilir; toplam referans görsel limiti 8'dir.

Bir kişiyi modele giydirmek, ürünü bir ortama yerleştirmek veya iki görseli bağlamsal olarak birleştirmek için file_ids ile iki ayrı referansı tek isteğe verin. Akış üç adımdır: her görseli /v1/files'a yükleyin, dönen file_id'leri toplayın, /v1/images/generations'a file_ids listesi olarak gönderin.

Terminal window
# 1) Model fotoğrafını yükle, file_id'yi al
curl "$LLMTR_BASE_URL/v1/files" \
-H "Authorization: Bearer llmtr-your_key" \
-F "provider=google" \
-F "purpose=vision_reference" \
-F "file=@./model.jpg"
# → {"id": "file_model_xxx", ...}
# 2) Giysi fotoğrafını yükle, file_id'yi al
curl "$LLMTR_BASE_URL/v1/files" \
-H "Authorization: Bearer llmtr-your_key" \
-F "provider=google" \
-F "purpose=vision_reference" \
-F "file=@./giysi.jpg"
# → {"id": "file_giysi_yyy", ...}
# 3) İki referansı tek istekte birleştir
curl "$LLMTR_BASE_URL/v1/images/generations" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-flash-image",
"prompt": "İlk görseldeki kişiye ikinci görseldeki tişörtü doğal biçimde giydir. Aydınlatma ve gölgeleri model fotoğrafıyla tutarlı tut, deseni ve renkleri ürün fotoğrafından koru.",
"file_ids": ["file_model_xxx", "file_giysi_yyy"],
"n": 1
}'

Try-on dahil tüm referans görselli akışlar /v1/images/generations üzerinden çalışır. /v1/images/edits LLMTR'de sadece xAI image modelleri için açıktır; Google modeliyle /v1/images/edits'e istek atarsanız yanıt sizi bu sayfadaki akışa yönlendirir. Imagen modelleri yalnızca text-to-image desteklediği için file_ids ile çağrılamaz.

| Alan | Değerler | |---|---| | size | 512, 1K, 2K | | aspect_ratio | 1:1, 3:4, 4:3, 9:16, 16:9 | | n | 1-4 | | file_id | Opsiyonel tek referans görsel | | file_ids | Opsiyonel çoklu referans görsel listesi | | image_url | Opsiyonel tek uzak veya inline referans görsel | | image_urls | Opsiyonel çoklu uzak veya inline referans görsel listesi |

file_id, file_ids, image_url ve image_urls birlikte kullanıldığında tekrar eden değerler tekilleştirilir. Google Imagen modellerinde referans görsel alanları desteklenmez; sadece prompt ile text-to-image istekleri gönderin.

{
"created": 1739200000,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
"revised_prompt": "A minimalist modern..."
}
]
}

Modelin fiyatı image başına native unit üzerinden faturalanır. Dashboard > Modeller üzerinden model kartına bakarak birim fiyatı kontrol edin.