Google, Nano Banana 2.1'i 6 Ekim 2026'da piyasaya sürdü. Model, Gemini API üzerinden gemini-nano-banana-2.1 kimliğiyle çağrılabilir. Nano Banana 2'nin (Gemini 3.1 Flash Image) bu güncellemesi; daha iyi görsel kalite, maske tarzı düzenleme ve turlar arasında daha güçlü karakter tutarlılığı sunar. Ayrıca aynı çözünürlüklerde Nano Banana 2'ye göre görsel başına yarı maliyetlidir.
Bu kılavuzda ilk görselinizi terminalden oluşturacak; en-boy oranı, 2K/4K çıktı, görsel düzenleme, çok turlu değişiklikler, referans görseller, Google Arama ilişkilendirmesi ve maliyet hesaplamasını uygulayacaksınız. İstekleri Apidog içinde kaydedip tekrar oynatarak Nano Banana 2.1'i mevcut modelinizle karşılaştırabilirsiniz.
Önce arka planı incelemek isterseniz, Nano Banana 2.1 Nedir yazısına bakın.
İhtiyacınız Olanlar
| Öğe | Değer |
|---|---|
| Temel URL | https://generativelanguage.googleapis.com/v1beta |
| Kimlik doğrulama başlığı | x-goog-api-key: $GEMINI_API_KEY |
| Model kimliği | gemini-nano-banana-2.1 |
| Uç nokta | POST /v1beta/interactions |
| Çözünürlükler | 1K (varsayılan), 2K, 4K |
| Girdiler | Metin, görsel (en fazla 14 referans), video |
| Python SDK | pip install google-genai |
| JavaScript SDK | npm install @google/genai |
Tüm örnekler, Google'ın görsel oluşturma belgelerinde 2.1 için kullandığı Etkileşimler API'sini kullanır.
Adım 1: Gemini API anahtarı alın
- Google AI Studio'yu açın ve oturum açın.
- API anahtarı alın bölümünden bir Google Cloud projesi için anahtar oluşturun.
- Bu proje için faturalandırmayı etkinleştirin. Google, Nano Banana 2.1 API ücretsiz katmanını “Mevcut değil” olarak listeler.
- Anahtarı ortam değişkenine ekleyin:
export GEMINI_API_KEY="your-key-here"
Google, 2.1'i istem denemeleri için AI Studio oyun alanına bağlar; ancak ücretsiz hesapların üretim limiti yayınlanmamıştır. Daha fazla ayrıntı için Nano Banana 2.1'i ücretsiz kullanma ve ücretsiz Gemini API anahtarı alma kılavuzlarını inceleyin.
Adım 2: İlk görselinizi oluşturun
curl ile istek gönderin
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"input": [
{
"type": "text",
"text": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
}
]
}'
Yanıt JSON formatındadır. Görsel, bir içerik bloğunda base64 verisi olarak döner. Kaydetmek için base64 verisini çözmeniz gerekir.
Python ile görseli kaydedin
from google import genai
import base64
client = genai.Client() # GEMINI_API_KEY değişkenini okur
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
)
with open("generated_image.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))
interaction.output_image, son oluşturulan görsel bloğunu döndürür. data alanı base64 olduğu için dosyaya yazmadan önce çözülmelidir.
JavaScript ile görseli kaydedin
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({});
const interaction = await ai.interactions.create({
model: "gemini-nano-banana-2.1",
input: "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
});
const image = interaction.output_image;
if (image) {
fs.writeFileSync(
"nano-banana.png",
Buffer.from(image.data, "base64")
);
}
Gemini 3 görsel modelleri üretimden önce düşünme adımı çalıştırır. Model, kompozisyonu planlarken en fazla iki ara “düşünce görseli” üretebilir. Bunlar ücretlendirilmez ve API üzerinden kapatılamaz.
Adım 3: En-boy oranını, çözünürlüğü ve çıktı türünü ayarlayın
Çıktıyı response_format ile kontrol edin. "type": "image" ayarı yalnızca görsel döndürür; konuşma metnini hariç tutarak yanıtın daha küçük ve ayrıştırmanın daha kolay olmasını sağlar.
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="A product shot of a matte black coffee grinder on a marble counter",
response_format={
"type": "image",
"mime_type": "image/png",
"aspect_ratio": "16:9",
"image_size": "2K",
},
)
Dikkat edilmesi gerekenler:
-
image_size,1K,2Kve4Kdeğerlerini kabul eder. BüyükKkullanın;2kgibi değerler reddedilir. - Nano Banana 2.1'de 512 piksel katmanı yoktur. Bu katman Nano Banana 2'ye aittir.
- Desteklenen oranlar:
1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16,16:9,21:9,1:4,4:1,1:8ve8:1. - 2K çözünürlükte
16:9görsel2752x1536, 4K çözünürlükte5504x3072pikseldir. - Hem metin hem görsel çıktısı almak için liste kullanın:
response_format=[
{"type": "text"},
{"type": "image"},
]
Adım 4: Mevcut bir görseli düzenleyin
Görseli metin talimatıyla birlikte base64 image bloğu olarak gönderin:
with open("living_room.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=[
{
"type": "text",
"text": (
"Using the provided image of a living room, change only "
"the blue sofa to be a vintage, brown leather chesterfield sofa. "
"Keep the rest of the room, including the pillows on the sofa "
"and the lighting, unchanged."
),
},
{
"type": "image",
"data": image_b64,
"mime_type": "image/png",
},
],
)
Maske dosyası olmadan maske tarzı inpainting
Ayrı bir maske dosyası yüklenmez; düzenlenecek alanı istem içinde açıkça tarif edersiniz.
Sağlanan görseli kullanarak, yalnızca [belirli öğe] öğesini [yeni öğe/açıklama] olarak değiştirin. Görseldeki diğer her şeyi, orijinal stilini, aydınlatmasını ve kompozisyonunu koruyarak aynen bırakın.
İyi sonuç için:
- Değişecek öğeyi tekil ve net biçimde adlandırın.
- Yeni görünümü somut ayrıntılarla açıklayın.
- Sabit kalacak alanları açıkça belirtin.
Örneğin, “kanepenin daha güzel olmasını sağla” yerine hangi kanepeyi, hangi malzemeye veya stile dönüştüreceğinizi yazın. Belirsiz istemler, modelin tüm sahneyi yeniden çizmesine neden olabilir.
Adım 5: Çok turlu düzenleme ile yineleyin
Bir görseli adım adım geliştirmek için önceki etkileşimin id değerini previous_interaction_id alanına iletin. Sonraki istekte yalnızca istediğiniz değişikliği belirtin.
interaction_2 = client.interactions.create(
model="gemini-nano-banana-2.1",
input=(
"Update this infographic to be in Spanish. "
"Do not change any other elements of the image."
),
previous_interaction_id=interaction.id,
response_format={
"type": "image",
"mime_type": "image/png",
"aspect_ratio": "16:9",
"image_size": "2K",
},
)
REST isteğinde aynı alanı gövdeye ekleyin:
{
"previous_interaction_id": "<PREVIOUS_INTERACTION_ID>"
}
Bu yaklaşım, karakter veya ürünün birkaç düzenleme turu boyunca tanınabilir kalmasının önemli olduğu senaryolarda özellikle kullanışlıdır.
Adım 6: En fazla 14 referans görseli birleştirin
input listesine ek image blokları ekleyebilirsiniz. Google, Nano Banana 2.1 için en fazla 10 yüksek çözünürlüklü nesne görseli ve en fazla 4 karakter görseli olmak üzere toplam 14 referans görsel belgelendirir.
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=[
{
"type": "text",
"text": "An office group photo of these people, they are making funny faces.",
},
{"type": "image", "data": person_1_b64, "mime_type": "image/png"},
{"type": "image", "data": person_2_b64, "mime_type": "image/png"},
{"type": "image", "data": person_3_b64, "mime_type": "image/png"},
],
response_format={
"type": "image",
"aspect_ratio": "5:4",
"image_size": "2K",
},
)
Referans görseller girdi jetonu olarak ücretlendirilir. Nano Banana 2.1'in girdi maliyeti Nano Banana 2'nin üç katıdır. Referans ağırlıklı iş akışlarında geçiş yapmadan önce maliyeti ölçün.
Adım 7: Görselleri Google Arama ile ilişkilendirin
Hava durumu, güncel olaylar veya gerçek dünyadaki canlı bilgilerle bağlantılı görseller için arama aracını ekleyin:
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="A detailed painting of a Timareta butterfly resting on a flower",
tools=[
{
"type": "google_search",
"search_types": ["web_search", "image_search"],
}
],
)
Yalnızca aşağıdaki tanım web araması sağlar:
tools=[{"type": "google_search"}]
image_search eklemek, modelin web görsellerini görsel bağlam olarak kullanmasına izin verir. Bu özellik yalnızca Nano Banana 2.1 ve Nano Banana 2 tarafından desteklenir.
Arama ilişkilendirmesi, arama sonuçlarındaki kişilerin gerçek dünya görsellerini kullanamaz. İlişkilendirilmiş sonuçları kullanıcılara gösteriyorsanız, google_search_result adımında dönen search_suggestions verisini de göstermeniz gerekir.
Adım 8: Apidog'da test edin
Betikler üretim için uygundur; ancak istem, API anahtarı ve model yapılandırmasının çalıştığını hızlıca doğrulamak için kaydedilmiş bir istek kullanışlıdır.
Apidog içinde şu adımları uygulayın:
- Bir ortam oluşturun.
- Anahtarınızla birlikte
GEMINI_API_KEYadlı bir değişken ekleyin. - Yeni bir istek oluşturun:
POST https://generativelanguage.googleapis.com/v1beta/interactions
- Şu başlığı ekleyin:
x-goog-api-key: {{GEMINI_API_KEY}}
-
model,inputveresponse_formatalanlarını içeren JSON gövdesini ekleyin. - Yanıtı doğrulamak için şu yanıt sonrası betiğini kullanın:
pm.test("status is 200", () => {
pm.response.to.have.status(200);
});
pm.test("response contains an image block", () => {
const steps = pm.response.json().steps || [];
const hasImage = steps.some((s) =>
s.type === "model_output" &&
(s.content || []).some((c) => c.type === "image" && c.data)
);
pm.expect(hasImage).to.be.true;
});
- İsteği çoğaltın ve modeli
gemini-3.1-flash-imageolarak değiştirin. - Her iki isteği aynı istemle çalıştırın.
Böylece Nano Banana 2.1'i Nano Banana 2 ile yan yana kontrol edebilir; durum kodu, yanıt süresi ve yanıt boyutu gibi verileri karşılaştırabilirsiniz. Daha geniş karşılaştırma için Nano Banana 2.1 vs Nano Banana 2 vs Pro yazısına bakın.
Maliyeti nedir?
Google'ın 7 Ekim 2026 tarihli fiyatlandırma sayfasına göre ücretli katman fiyatları:
| Model | Girdi / 1M | 1K görsel | 2K görsel | 4K görsel | Toplu 1K |
|---|---|---|---|---|---|
| Nano Banana 2.1 | $1.50 | $0.0336 | $0.0504 | $0.0756 | $0.0168 |
| Nano Banana 2 | $0.50 | $0.067 | $0.101 | $0.151 | $0.034 |
| Nano Banana Pro | $2.00 | $0.134 | $0.134 | $0.24 | $0.067 |
Nano Banana 2.1 için görsel çıktısı 1 milyon jeton başına 30 dolardır:
- 1K görsel: 1.120 jeton
- 2K görsel: 1.680 jeton
- 4K görsel: 2.520 jeton
Metin ve düşünme çıktısı 1 milyon jeton başına 7,50 dolardır. Arama ilişkilendirmesi, Gemini 3.x modelleri arasında paylaşılan aylık 5.000 ücretsiz istek içerir. Bu limitten sonra 1.000 istek başına 14 dolar ücret alınır.
Örnek maliyet hesabı
Her biri yaklaşık 100 girdi jetonu içeren kısa istemlerle 2K çözünürlükte 1.000 ürün görseli ürettiğinizi varsayalım:
- Çıktı:
1.000 × $0.0504 = $50.40 - Girdi:
100.000 × $1.50 / 1M = $0.15 - Toplam: yaklaşık $50.55, ayrıca varsa düşünme metni jetonları
Nano Banana 2'de aynı iş yaklaşık 101 dolara mal olur. Toplu API kullanıldığında Nano Banana 2.1'in 2K fiyatı 0,0252 dolara düşer; çıktı maliyeti 25,20 dolara iner. Toplu işler, daha yüksek oran limitleri karşılığında 24 saate kadar geri dönüş süresi sunar.
Daha fazla ayrıntı için Nano Banana 2 API fiyatlandırma dökümünü inceleyin.
Sık karşılaşılan hatalar
| Hata | Olası neden | Düzeltme |
|---|---|---|
400 INVALID_ARGUMENT |
Küçük harf image_size, desteklenmeyen oran veya hatalı input biçimi |
2k yerine 2K kullanın; oran listesini ve JSON yapısını kontrol edin |
403 PERMISSION_DENIED |
Yanlış API anahtarı veya faturalandırması olmayan proje | Anahtarı doğrulayın ve faturalandırmayı etkinleştirin |
404 NOT_FOUND |
Model kimliğinde yazım hatası | Tam olarak gemini-nano-banana-2.1 kullanın |
429 RESOURCE_EXHAUSTED |
Oran limiti aşıldı | Geri çekilerek tekrar deneyin veya Toplu API kullanın |
500 / 503
|
Geçici sunucu sorunu | Üstel geri çekilme ile tekrar deneyin |
200 ancak görsel yok |
İstem engellendi veya yalnızca metin yanıtı döndü |
"type": "image" ayarlayın ve istemi yeniden yazın |
Bu hatalar genel Gemini API davranışlarıdır; Nano Banana 2.1'e özgü belgelenmiş hatalar değildir.
Sıkça Sorulan Sorular
Nano Banana 2.1 API için ücretsiz katman var mı?
Hayır. Google, API ücretsiz katmanını “Mevcut değil” olarak listeler. AI Studio oyun alanı 2.1'e erişim sunar; ancak Google ücretsiz üretim limiti yayınlamamıştır.
Nano Banana 2.1, Nano Banana 2 için doğrudan yedek midir?
Çoğunlukla evet. Model kimliğini gemini-nano-banana-2.1 olarak değiştirmeniz yeterlidir. Ancak 512 piksel katmanı kaldırılmıştır ve girdi jetonları daha pahalıdır. Referans ağırlıklı düzenlemelerde maliyet kontrolü yapın.
Oluşturulan görseller filigran taşır mı?
Evet. Tüm çıktılar SynthID filigranı içerir.
Videodan görsel oluşturabilir miyim?
Evet. Nano Banana 2.1, metin istemiyle birlikte YouTube URL'si gibi bir video girdi bloğunu kabul eder.
Eski Nano Banana 2 API kılavuzu hâlâ geçerli mi?
Temel kavramlar geçerlidir. Önceki model için Nano Banana 2 API kılavuzuna bakın.
Özet
Nano Banana 2.1, Nano Banana 2'nin görsel başına maliyetinin yarısına aynı Etkileşimler API yapısıyla daha iyi görseller sunmayı hedefler. Faturalandırılmış bir API anahtarı alın, ilk görselinizi oluşturun ve isteği durum ile görsel doğrulamalarını içerecek şekilde Apidog içinde kaydedin.
Ardından isteği eski model kimliğiyle çoğaltın. Aynı istem, çözünürlük ve referans görsellerle yapılan kısa bir karşılaştırma, Nano Banana 2.1'in iş akışınız için geçişe değip değmediğini gösterecektir.
Top comments (0)