Catatan Penulis: Penjelasan mendetail tentang penyebab utama error API pembuatan gambar Nano Banana 2 "not supported model for image generation", serta cara beralih dari format OpenAI ke format native Google generateContent untuk pemanggilan yang benar.
Mengalami error not supported model for image generation saat menggunakan Nano Banana 2 untuk membuat gambar? Ini adalah salah satu masalah pemanggilan API gambar Gemini yang paling sering dihadapi developer saat ini. Artikel ini akan menjelaskan akar penyebab error dan cara pemanggilan yang benar, membantu Anda memperbaiki error API gambar Nano Banana 2 dengan cepat.
Nilai Inti: Setelah membaca artikel ini, Anda akan memahami perbedaan pemanggilan API antara model gambar Gemini dan model Imagen, menguasai penggunaan endpoint generateContent yang benar, dan menyelesaikan masalah error dalam 3 langkah.

Penyebab Utama Error API Gambar Nano Banana 2
| Poin | Penjelasan | Solusi |
|---|---|---|
| Pesan error | not supported model for image generation, only imagen models are supported | Beralih ke endpoint generateContent |
| Penyebab utama | Endpoint format OpenAI hanya mendukung model Imagen, tidak mendukung model gambar Gemini | Gunakan format API native Google |
| Endpoint yang benar | /v1beta/models/{MODEL}:generateContent |
Ganti /v1/images/generations |
| Parameter wajib | responseModalities: ["TEXT", "IMAGE"] |
Atur dalam generationConfig |
Penjelasan Detail Error API Gambar Nano Banana 2
Saat Anda menggunakan endpoint /v1/images/generations dengan format kompatibel OpenAI untuk memanggil Nano Banana 2 (gemini-3.1-flash-image-preview) atau Nano Banana Pro (gemini-3-pro-image-preview), sistem akan mengembalikan error berikut:
not supported model for image generation, only imagen models are supported
(request id: 20260315043447253411115cvUiXJMF)
new_api_error convert_request_failed, 500
Penyebab utama error ini adalah: Model gambar Gemini dan model Imagen adalah dua model dengan arsitektur yang sama sekali berbeda.
- Model Imagen (seperti
imagen-3.0-generate-001) adalah model pembuatan gambar khusus, menggunakan endpoint/v1/images/generationsatau:predict - Model gambar Gemini (seri Nano Banana) adalah Model Bahasa Besar multimodal yang dapat menghasilkan teks dan gambar secara bersamaan, harus menggunakan endpoint
:generateContent
Sederhananya, Anda menggunakan "jalur khusus teks ke gambar" untuk memanggil "model percakapan multimodal", sehingga formatnya tidak cocok dan menyebabkan error.

Format Pemanggilan API Gambar Nano Banana 2 yang Benar
Perbandingan Pemanggilan Salah vs Benar
| Item Perbandingan | ❌ Cara Salah (Format OpenAI) | ✅ Cara Benar (Format generateContent) |
|---|---|---|
| Endpoint API | /v1/images/generations |
/v1beta/models/{MODEL}:generateContent |
| Struktur Permintaan | Parameter prompt + size + n |
Struktur contents + generationConfig |
| Format Respons | URL gambar | Data gambar Base64 inline |
| Model yang Didukung | Seri DALL-E, Imagen | Model gambar Gemini (Seri Nano Banana) |
| Konten Output | Hanya gambar | Teks + gambar (output multimodal) |
Contoh Permintaan API Gambar Nano Banana 2 yang Salah
Berikut adalah cara pemanggilan yang salah dan akan menyebabkan error:
# ❌ Salah: Menggunakan format OpenAI untuk memanggil Nano Banana 2
curl -X POST https://api.apiyi.com/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Kucing jingga yang lucu sedang tidur siang di bawah sinar matahari",
"size": "1024x1024",
"n": 1
}'
# Mengembalikan: not supported model for image generation
Contoh Permintaan API Gambar Nano Banana 2 yang Benar
Berikut adalah cara pemanggilan yang benar menggunakan format generateContent:
# ✅ Benar: Menggunakan format generateContent asli Google
curl -X POST https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "Kucing jingga yang lucu sedang tidur siang di bawah sinar matahari"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"]
}
}'
🎯 Tips Teknis: Melalui platform APIYI apiyi.com untuk memanggil Nano Banana 2, tidak perlu mengonfigurasi akun Google Cloud secara terpisah. Gunakan kunci API yang seragam untuk langsung memanggil endpoint generateContent.
Memulai Cepat dengan API Gambar Nano Banana 2
3 Langkah untuk Memperbaiki Error API Gambar Nano Banana 2
Langkah 1: Ganti Endpoint API
Ubah alamat permintaan dari format OpenAI ke format generateContent:
# Endpoint salah
https://api.apiyi.com/v1/images/generations
# Endpoint benar (Nano Banana 2)
https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent
# Endpoint benar (Nano Banana Pro)
https://api.apiyi.com/v1beta/models/gemini-3-pro-image-preview:generateContent
Langkah 2: Ubah Struktur Body Permintaan
Dari parameter prompt + size milik OpenAI, ubah ke struktur contents + generationConfig asli Google. Parameter kunci:
contents.parts.text: Teks deskripsi gambargenerationConfig.responseModalities: Harus diatur ke["TEXT", "IMAGE"]
Langkah 3: Proses Data Respons
Gambar yang dikembalikan oleh generateContent adalah data inline yang dikodekan Base64, bukan URL. Kamu perlu mengekstrak dan mendekode gambar dari respons.
Contoh Python Sederhana
import requests
import base64
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.apiyi.com" # Antarmuka seragam APIYI
response = requests.post(
f"{BASE_URL}/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"contents": [{"parts": [{"text": "Kucing jingga yang lucu sedang tidur siang di bawah sinar matahari"}]}],
"generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
}
)
result = response.json()
for part in result["candidates"][0]["content"]["parts"]:
if "inlineData" in part:
img_data = base64.b64decode(part["inlineData"]["data"])
with open("output.png", "wb") as f:
f.write(img_data)
print("Gambar telah disimpan sebagai output.png")
elif "text" in part:
print("Deskripsi model:", part["text"])
Lihat kode implementasi lengkap (termasuk penanganan error dan pengaturan rasio aspek)
import requests
import base64
import os
from typing import Optional
def generate_image(
prompt: str,
model: str = "gemini-3.1-flash-image-preview",
aspect_ratio: str = "1:1",
output_path: str = "output.png",
api_key: Optional[str] = None
) -> dict:
"""
Menghasilkan gambar menggunakan endpoint generateContent Nano Banana 2
Args:
prompt: Deskripsi gambar
model: Nama model
aspect_ratio: Rasio aspek (1:1, 16:9, 9:16, 4:3, 3:4)
output_path: Jalur file output
api_key: Kunci API
Returns:
Kamus yang berisi jalur file dan deskripsi model
"""
api_key = api_key or os.getenv("APIYI_API_KEY")
base_url = "https://api.apiyi.com" # Antarmuka seragam APIYI
response = requests.post(
f"{base_url}/v1beta/models/{model}:generateContent",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
},
json={
"contents": [{"parts": [{"text": prompt}]}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": aspect_ratio}
}
},
timeout=60
)
if response.status_code != 200:
raise Exception(f"Permintaan API gagal: {response.status_code} - {response.text}")
result = response.json()
candidates = result.get("candidates", [])
if not candidates:
raise Exception("Tidak ada hasil yang valid dikembalikan")
output = {"text": "", "image_path": ""}
for part in candidates[0]["content"]["parts"]:
if "inlineData" in part:
img_data = base64.b64decode(part["inlineData"]["data"])
with open(output_path, "wb") as f:
f.write(img_data)
output["image_path"] = output_path
elif "text" in part:
output["text"] = part["text"]
return output
# Contoh penggunaan
result = generate_image(
prompt="Lukisan lanskap bergaya tinta, dengan pegunungan berkabut di kejauhan",
model="gemini-3.1-flash-image-preview",
aspect_ratio="16:9",
output_path="landscape.png"
)
print(f"Gambar telah disimpan: {result['image_path']}")
print(f"Deskripsi model: {result['text']}")
Saran: Dapatkan Kunci API melalui APIYI apiyi.com. Platform ini menyediakan kuota pengujian gratis dan mendukung pemanggilan generateContent untuk kedua model gambar Gemini, Nano Banana 2 dan Nano Banana Pro.
Perbandingan Model API Gambar Nano Banana 2
Memahami perbedaan cara pemanggilan API untuk berbagai model pembuatan gambar dapat membantu Anda menghindari kesalahan format serupa:
| Model | Kode | Endpoint API | Format Panggilan | Platform Tersedia |
|---|---|---|---|---|
| Nano Banana 2 | gemini-3.1-flash-image-preview | :generateContent |
Format asli Google | APIYI dan platform lainnya |
| Nano Banana Pro | gemini-3-pro-image-preview | :generateContent |
Format asli Google | APIYI dan platform lainnya |
| Imagen 3 | imagen-3.0-generate-001 | /v1/images/generations atau :predict |
Format kompatibel OpenAI | APIYI dan platform lainnya |
| DALL-E 3 | dall-e-3 | /v1/images/generations |
Format OpenAI | APIYI dan platform lainnya |
Penjelasan Parameter Kunci API Gambar Nano Banana 2

Endpoint generateContent mendukung parameter pembuatan gambar yang kaya:
| Parameter | Penjelasan | Wajib? | Contoh Nilai |
|---|---|---|---|
contents.parts.text |
Petunjuk deskripsi gambar | ✅ Wajib | "seekor kucing oranye di bawah sinar matahari" |
responseModalities |
Pengaturan modalitas respons | ✅ Wajib | ["TEXT", "IMAGE"] |
imageConfig.aspectRatio |
Rasio aspek gambar | Opsional | "1:1", "16:9", "9:16" |
contents.parts.inlineData |
Gambar referensi (gambar ke gambar) | Opsional | Data gambar Base64 |
💡 Catatan Penting:
responseModalitiesharus selalu menyertakan"TEXT"dan"IMAGE", hanya mengatur["IMAGE"]akan menyebabkan permintaan gagal. Ini karena model gambar Gemini adalah model multimodal yang selalu menghasilkan deskripsi teks dan gambar secara bersamaan.
Pertanyaan Umum
Q1: Mengapa Nano Banana 2 tidak bisa dipanggil menggunakan format OpenAI?
Nano Banana 2 (gemini-3.1-flash-image-preview) adalah Model Bahasa Besar multimodal berbasis Gemini. Kemampuan pembuatan gambarnya diimplementasikan melalui "percakapan untuk menghasilkan gambar", bukan melalui "endpoint khusus teks ke gambar". Endpoint /v1/images/generations dalam format OpenAI dirancang khusus untuk model pembuatan gambar seperti DALL-E dan Imagen, dan tidak dapat menangani struktur permintaan multimodal model Gemini. Saat memanggil melalui platform APIYI apiyi.com, Anda perlu memilih format endpoint yang sesuai dengan jenis modelnya.
Q2: Apa perbedaan antara API gambar Nano Banana 2 dan Nano Banana Pro?
Keduanya menggunakan endpoint generateContent dengan format pemanggilan yang persis sama. Perbedaan utamanya adalah:
- Nano Banana 2 (versi Flash): Kecepatan pembuatan lebih cepat, sekitar 3-5 detik, cocok untuk pembuatan batch dan prototipe cepat.
- Nano Banana Pro: Kualitas gambar lebih tinggi, akurasi rendering teks mencapai 94%, cocok untuk desain detail dan penggunaan komersial.
Di platform APIYI apiyi.com, kedua model ini dapat digunakan. Anda hanya perlu mengganti nama model di URL endpoint.
Q3: Bagaimana cara memproses data gambar yang dikembalikan oleh generateContent?
Berbeda dengan format OpenAI yang mengembalikan URL gambar, generateContent mengembalikan data gambar inline yang dienkode Base64. Langkah-langkah pemrosesannya:
- Temukan bagian yang berisi
inlineDatadi dalamcandidates[0].content.partsdari respons JSON. - Ambil string Base64 dari field
inlineData.data. - Dekode menggunakan
base64.b64decode()lalu simpan sebagai file gambar. - Field
inlineData.mimeTypeakan memberi tahu Anda format gambar (biasanyaimage/png).
Kesimpulan
Inti dari kesalahan API gambar Nano Banana 2 adalah:
- Penyebab error jelas: Menggunakan
/v1/images/generations(format OpenAI) untuk memanggil model gambar Gemini akan memicu error "not supported model". - Beralih ke generateContent: Endpoint yang benar adalah
/v1beta/models/gemini-3.1-flash-image-preview:generateContent. - Atur responseModalities: Harus menyertakan
["TEXT", "IMAGE"]di dalamgenerationConfig, jika tidak gambar tidak akan dihasilkan.
Saat menghadapi error API Nano Banana 2, intinya hanya satu kalimat: Ganti endpoint pembuatan gambar OpenAI dengan endpoint native Google generateContent.
Disarankan untuk menguji Nano Banana 2 dan Nano Banana Pro dengan cepat melalui APIYI apiyi.com. Platform ini menyediakan kuota gratis, mendukung pemanggilan langsung dengan format generateContent, dan tidak memerlukan konfigurasi akun Google Cloud.
📚 Referensi
-
Dokumentasi Pembuatan Gambar Google Gemini: Panduan resmi pembuatan gambar Gemini API
- Tautan:
ai.google.dev/gemini-api/docs/image-generation - Penjelasan: Berisi penjelasan lengkap parameter dan contoh untuk endpoint
generateContent
- Tautan:
-
Referensi API Google generateContent: Dokumentasi antarmuka pembuatan konten Gemini API
- Tautan:
ai.google.dev/api/generate-content - Penjelasan: Penjelasan mendalam tentang struktur permintaan dan respons untuk endpoint
generateContent
- Tautan:
-
Dokumentasi Kompatibilitas Google Gemini OpenAI: Penjelasan kompatibilitas format Gemini dengan OpenAI
- Tautan:
ai.google.dev/gemini-api/docs/openai - Penjelasan: Memahami fitur mana yang mendukung format kompatibel OpenAI dan mana yang memerlukan format asli
- Tautan:
Penulis: Tim Teknis APIYI
Diskusi Teknis: Selamat berdiskusi di kolom komentar mengenai masalah pemanggilan API gambar Nano Banana 2, lebih banyak materi dapat diakses di pusat dokumentasi APIYI docs.apiyi.com
