API

Nano Banana 2.1 API

Görüntü

Nano Banana 2.1 API, daha net görseller ve daha hassas düzenleme sunar. Metin istemlerinden görseller oluşturun veya referans görselleri düzenleyin; esnek en-boy oranlarından ve 4K’ya kadar çıktı çözünürlüğünden yararlanın. Uygulamanıza yüksek kaliteli görsel oluşturma ve düzenleme özellikleri eklemek için API’yi entegre edin.

Yetkilendirmeler

Bearerstringheaderzorunlu

İstekleri yetkilendirmek için API anahtarı

Gövde

application/json
modelstringzorunlu
nano-banana-2-1
input.promptstringzorunlu

Oluşturmak istediğiniz görüntüyü veya referans görüntülerinizde yapmak istediğiniz değişiklikleri açıklayın. Baştaki ve sondaki boşluklar temizlenir.

input.imagesstring[]isteğe bağlı

İsteğe bağlı referans görsel URL’leri. Yalnızca herkese açık HTTPS URL’lerini kullanın. Metinden görsel oluşturmak için bu alanı atlayın.

input.aspect_ratiostringisteğe bağlı

Çıktının genişlik-yükseklik oranı. Auto seçeneği modelin karar vermesini sağlar.

Varsayılan: auto

auto1:12:33:23:44:34:55:49:1616:921:91:44:11:88:1
input.resolutionstringisteğe bağlı

Çıktı çözünürlük seviyesi. Küçük harfli 1k, 2k veya 4k değerlerini kullanın. Alan belirtilmezse veya boş bırakılırsa varsayılan değer 2k olur.

Varsayılan: 2k

1k2k4k

İstek örnekleri

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "nano-banana-2-1",
  "input": {
    "prompt": "Fütüristik muz şeklinde bir kameranın sinematik ürün fotoğrafı",
    "aspect_ratio": "1:1",
    "resolution": "2k"
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "nano-banana-2-1",
    "status": "processing",
    "credits": 20
  }
}

Görev tamamlanana veya başarısız olana kadar döndürülen görev ID’si ile bu endpoint’i poll edin. En güncel görev durumunu kontrol etmek için her 5 saniyede bir polling yapmanızı öneririz.

POST /api/v1/check
{
  "task_id": "task_example"
}

Yanıt

POST /api/v1/check tarafından döndürülen görev durumu. Aşağıdaki kimlikler, URL’ler ve zaman damgaları örnektir.

idstringzorunlu

data.id içindeki görev kimliği, sorgu isteğinde kullanılan task_id ile aynıdır.

statusstringzorunlu
completed, üretimin başarılı olduğunu ve data.data alanının sonuçları içerdiğini belirtir. Diğer durumlarda data.data null olur.
failed_reasonstringisteğe bağlı

Yalnızca status failed olduğunda hata nedenini açıklamak için döndürülür. completed ve processing durumlarında bu alan bulunmaz.

Tamamlandı · completed

İndirme URL’leri data.data.results içindedir.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "nano-banana-2-1",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.png"
      ],
      "processing_time": 18
    }
  }
}

Diğer durumlar

processing veya failed durumunda data.data null olur. Bu örnek failed durumunu gösterir: yalnızca failed, failed_reason içerir. processing için sorgulamaya devam edin; failed için durdurun.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "nano-banana-2-1",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Kredi tüketimi

Tek bir görsel oluşturan isteğin tükettiği kredi miktarı.

Tek bir görsel oluşturan isteğin tükettiği kredi miktarı.
Çözünürlük1K2K4K
Tek görsel122030

İsteğe bağlı parametreler belirtilmedi: 12 kredi

İlgili ücreti kullanmak için listelenen input parametrelerini açıkça belirtin. Birden fazla görsel oluşturan istekler daha fazla kredi tüketebilir.

POST /api/v1/create yanıtındaki credits alanı, görev için kesilen kredi miktarını gösterir.