DEV Community

Cover image for Nano Banana 2.1 API Nasıl Kullanılır
Tobias Hoffmann
Tobias Hoffmann

Posted on Originally published at apidog.com

Nano Banana 2.1 API Nasıl Kullanılır

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.

Apidog'u bugün deneyin

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

  1. Google AI Studio'yu açın ve oturum açın.
  2. API anahtarı alın bölümünden bir Google Cloud projesi için anahtar oluşturun.
  3. Bu proje için faturalandırmayı etkinleştirin. Google, Nano Banana 2.1 API ücretsiz katmanını “Mevcut değil” olarak listeler.
  4. Anahtarı ortam değişkenine ekleyin:
export GEMINI_API_KEY="your-key-here"
Enter fullscreen mode Exit fullscreen mode

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"
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

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))
Enter fullscreen mode Exit fullscreen mode

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")
  );
}
Enter fullscreen mode Exit fullscreen mode

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",
    },
)
Enter fullscreen mode Exit fullscreen mode

Dikkat edilmesi gerekenler:

  • image_size, 1K, 2K ve 4K değerlerini kabul eder. Büyük K kullanın; 2k gibi 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:8 ve 8:1.
  • 2K çözünürlükte 16:9 görsel 2752x1536, 4K çözünürlükte 5504x3072 pikseldir.
  • Hem metin hem görsel çıktısı almak için liste kullanın:
response_format=[
    {"type": "text"},
    {"type": "image"},
]
Enter fullscreen mode Exit fullscreen mode

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",
        },
    ],
)
Enter fullscreen mode Exit fullscreen mode

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:

  1. Değişecek öğeyi tekil ve net biçimde adlandırın.
  2. Yeni görünümü somut ayrıntılarla açıklayın.
  3. 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",
    },
)
Enter fullscreen mode Exit fullscreen mode

REST isteğinde aynı alanı gövdeye ekleyin:

{
  "previous_interaction_id": "<PREVIOUS_INTERACTION_ID>"
}
Enter fullscreen mode Exit fullscreen mode

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",
    },
)
Enter fullscreen mode Exit fullscreen mode

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"],
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

Yalnızca aşağıdaki tanım web araması sağlar:

tools=[{"type": "google_search"}]
Enter fullscreen mode Exit fullscreen mode

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:

  1. Bir ortam oluşturun.
  2. Anahtarınızla birlikte GEMINI_API_KEY adlı bir değişken ekleyin.
  3. Yeni bir istek oluşturun:
POST https://generativelanguage.googleapis.com/v1beta/interactions
Enter fullscreen mode Exit fullscreen mode
  1. Şu başlığı ekleyin:
x-goog-api-key: {{GEMINI_API_KEY}}
Enter fullscreen mode Exit fullscreen mode
  1. model, input ve response_format alanlarını içeren JSON gövdesini ekleyin.
  2. 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;
});
Enter fullscreen mode Exit fullscreen mode
  1. İsteği çoğaltın ve modeli gemini-3.1-flash-image olarak değiştirin.
  2. 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)