Catatan Penulis: Membedah pesan kesalahan IMAGE_SAFETY pada API Nano Banana Pro, menganalisis mekanisme penyaringan keamanan dua lapis, logika penagihan token, dan 8 metode praktis untuk meningkatkan tingkat keberhasilan pembuatan gambar.
Saat menggunakan API Nano Banana Pro untuk membuat gambar, Anda mungkin pernah menjumpai respons yang membingungkan ini—padahal petunjuk (prompt) tidak mengandung konten sensitif, namun sistem mengembalikan finishReason: IMAGE_SAFETY, yang berarti gambar tersebut diblokir oleh filter keamanan. Yang lebih membingungkan lagi, respons tersebut menyertakan thoughtsTokenCount: 173, yang menunjukkan bahwa model sebenarnya telah selesai berpikir, namun gambar akhirnya tetap "dibatalkan". Artikel ini akan membedah kesalahan ini per kolom, menjelaskan mekanisme penyaringan keamanan dua lapis Google, logika penagihan token saat terjadi pemblokiran, dan cara meningkatkan tingkat keberhasilan pembuatan gambar.
Nilai Inti: Setelah membaca artikel ini, Anda akan memahami arti setiap kolom dalam kesalahan IMAGE_SAFETY, mengetahui apakah Anda tetap dikenakan biaya saat terjadi pemblokiran, dan bagaimana meningkatkan tingkat keberhasilan hingga 70-80% melalui pengoptimalan petunjuk.

Analisis Field demi Field Error IMAGE_SAFETY
Mari kita bedah makna setiap field dalam respons error ini.
| Field | Nilai | Makna |
|---|---|---|
content.parts |
null |
Tidak ada konten yang dikembalikan (gambar diblokir) |
finishReason |
IMAGE_SAFETY |
Filter keamanan output lapisan kedua terpicu |
finishMessage |
"Unable to show…" | Pesan resmi Google: Melanggar kebijakan penggunaan AI generatif |
promptTokenCount |
276 | Input menghabiskan 276 Token |
candidatesTokenCount |
0 | Token output adalah 0 (gambar diblokir, tidak ada output yang dihasilkan) |
totalTokenCount |
449 | Total 449 Token (input 276 + pemikiran 173) |
thoughtsTokenCount |
173 | Proses pemikiran model menghabiskan 173 Token |
promptTokensDetails |
TEXT:18, IMAGE:258 | 18 Token teks + 258 Token gambar (gambar referensi) dalam input |
modelVersion |
gemini-3-pro-image-preview | Model Nano Banana Pro |
3 Sinyal Paling Kritis dalam Error IMAGE_SAFETY
Sinyal 1: thoughtsTokenCount: 173 — Model benar-benar berpikir
Ini menunjukkan bahwa petunjuk Anda lolos dari pemeriksaan keamanan lapisan pertama (sisi input), dan model memulai proses penalaran (Thinking), bahkan mungkin sudah mulai membuat gambar—tetapi diblokir oleh filter keamanan lapisan kedua saat output akhir. Masalahnya bukan pada petunjuk Anda, melainkan pada konten yang "ingin digambar" oleh model.
Sinyal 2: candidatesTokenCount: 0 — Output nol
Setelah gambar diblokir, Token output dihitung sebagai 0. Pernyataan resmi Google adalah "You will not be charged for blocked images" (Anda tidak akan dikenakan biaya untuk gambar yang diblokir). Namun perhatikan: apakah Token input (276) dan Token pemikiran (173) ditagihkan atau tidak, itu tergantung pada logika penagihan spesifik.
Sinyal 3: IMAGE: 258 — Anda menyertakan gambar referensi
Permintaan Anda berisi gambar referensi (menghabiskan 258 Token gambar). Ini berarti Anda mungkin sedang melakukan pengeditan gambar (gambar ke gambar), bukan sekadar teks ke gambar. Filter keamanan untuk skenario pengeditan gambar biasanya jauh lebih ketat daripada teks murni—karena gambar referensi itu sendiri juga akan diperiksa keamanannya.
Mekanisme Filter Keamanan Dua Lapis Google
Kunci untuk memahami error IMAGE_SAFETY adalah menyadari bahwa filter keamanan Google terdiri dari dua lapis—dan lapisan kedua tidak bisa Anda matikan.
Lapisan Pertama: Pengaturan Keamanan Input yang Dapat Dikonfigurasi
| Dimensi | Penjelasan | Dapat Dikonfigurasi |
|---|---|---|
| Posisi Filter | Sisi input (petunjuk) | Bisa |
| Objek Filter | Teks dan gambar yang dikirim pengguna | Bisa |
| Dapat Diatur ke | BLOCK_NONE (tidak memblokir) | Bisa |
| Perilaku saat Terpicu | Permintaan langsung ditolak, tidak memakan Token | — |
Anda dapat mengatur safety_settings ke BLOCK_NONE melalui parameter API untuk menurunkan sensitivitas filter lapisan pertama.
Lapisan Kedua: Filter Keamanan Output yang Tidak Dapat Dikonfigurasi
| Dimensi | Penjelasan | Dapat Dikonfigurasi |
|---|---|---|
| Posisi Filter | Sisi output (gambar yang dihasilkan) | Tidak bisa |
| Objek Filter | Konten gambar yang dihasilkan model | Tidak bisa |
| Dapat Dimatikan | Tidak, wajib berlaku untuk semua pengguna/level | Tidak bisa |
| Perilaku saat Terpicu | finishReason: IMAGE_SAFETY, parts: null |
— |
Error IMAGE_SAFETY terjadi karena lapisan kedua terpicu. Petunjuk Anda lolos lapisan pertama, model menyelesaikan pemikiran (173 Token), dan menghasilkan gambar—namun gambar tersebut diblokir oleh lapisan kedua sebelum output akhir muncul.
Google mengakui bahwa filter ini "menjadi lebih berhati-hati dari yang kami perkirakan", yang menyebabkan banyak pemblokiran yang salah—bahkan petunjuk seperti "seekor anjing" atau "semangkuk sereal" pun bisa diblokir.

Apakah saldo akan terpotong saat IMAGE_SAFETY memblokir permintaan?
Ini adalah pertanyaan teknis yang paling sering ditanyakan oleh para pengembang.
Aturan Penagihan IMAGE_SAFETY Nano Banana Pro
| Item Penagihan | Apakah Terpotong Saat Diblokir? | Penjelasan |
|---|---|---|
| Biaya Pembuatan Gambar | Tidak | Google secara eksplisit menyatakan "You will not be charged for blocked images" |
| Token Output | Tidak | candidatesTokenCount: 0, tidak ada output berarti tidak ada biaya |
| Token Input | Mungkin (sangat kecil) | 276 Token × $0,25/M ≈ $0,00007 (bisa diabaikan) |
| Token Berpikir | Tergantung logika penagihan | 173 Token, Gemini API mungkin menyertakannya dalam kandidat |
Kesimpulan: Saat diblokir oleh IMAGE_SAFETY, biaya utama (biaya pembuatan gambar dan Token output) tidak akan muncul. Biaya Token input sangatlah kecil (kurang dari seperseribu dolar), sehingga pada dasarnya bisa diabaikan.
Jaminan Tambahan dari APIYI: Saat melakukan pemanggilan melalui APIYI (apiyi.com), kegagalan pembuatan gambar tidak akan memotong saldo—termasuk dalam kasus pemblokiran oleh IMAGE_SAFETY. Anda hanya membayar untuk gambar yang berhasil dibuat.
8 Cara Meningkatkan Tingkat Keberhasilan IMAGE_SAFETY
Karena filter keamanan lapisan kedua tidak dapat dimatikan, kita hanya bisa meningkatkan tingkat keberhasilan melalui metode tidak langsung.
Metode 1: Mengatur BLOCK_NONE untuk mematikan lapisan pertama
Pastikan lapisan pertama tidak melakukan pemblokiran tambahan:
from google.genai import types
# Mengatur filter keamanan ke level terendah
safety_settings = [
types.SafetySetting(
category="HARM_CATEGORY_HARASSMENT",
threshold="BLOCK_NONE"
),
types.SafetySetting(
category="HARM_CATEGORY_HATE_SPEECH",
threshold="BLOCK_NONE"
),
types.SafetySetting(
category="HARM_CATEGORY_SEXUALLY_EXPLICIT",
threshold="BLOCK_NONE"
),
types.SafetySetting(
category="HARM_CATEGORY_DANGEROUS_CONTENT",
threshold="BLOCK_NONE"
),
]
Metode 2: Menambahkan detail spesifik pada petunjuk
Petunjuk yang ambigu lebih mudah memicu filter keamanan. Menambahkan detail spesifik dapat mengarahkan model untuk menghasilkan gambar yang lebih "aman":
❌ "Seorang wanita"
→ Model mungkin menghasilkan konten yang dianggap tidak pantas oleh filter
✅ "Seorang wanita mengenakan setelan jas profesional, bekerja di kantor modern,
cahaya alami, gaya ilustrasi digital"
→ Skenario spesifik + deskripsi pakaian + gaya seni → Tingkat keberhasilan meningkat drastis
Metode 3 hingga 8: Strategi optimasi tingkat lanjut
| Metode | Tindakan | Efek yang Diharapkan |
|---|---|---|
| Metode 3: Tambahkan gaya seni | Tambahkan "digital illustration style" atau "watercolor style" di akhir | Mengurangi realisme → mengurangi pemicu |
| Metode 4: Tentukan konteks lingkungan | Tambahkan deskripsi skenario yang jelas ("di taman", "di kantor") | Membatasi ruang gerak model |
| Metode 5: Hindari deskripsi kulit terbuka | Gunakan "formal attire" atau "winter clothing" sebagai pengganti pakaian yang ambigu | Menghindari area sensitif secara langsung |
| Metode 6: Gunakan petunjuk bahasa Inggris | Kalibrasi filter keamanan untuk petunjuk bahasa Inggris lebih akurat | Mengurangi pemblokiran yang salah |
| Metode 7: Percobaan ulang otomatis | Tulis ulang petunjuk secara otomatis setelah gagal | Meningkatkan tingkat keberhasilan keseluruhan |
| Metode 8: Panggil melalui APIYI | APIYI memiliki konfigurasi optimasi untuk parameter keamanan | Tingkat keberhasilan keseluruhan lebih tinggi |
Perbandingan petunjuk sebelum dan sesudah optimasi
| Skenario | Sebelum (Tingkat keberhasilan rendah) | Sesudah (Tingkat keberhasilan tinggi) |
|---|---|---|
| Tokoh | "Seorang gadis berbaju renang" | "Seorang wanita mengenakan pakaian olahraga berlatih di gym, gaya ilustrasi digital" |
| Makanan | "Steak" | "Sepotong steak tingkat kematangan medium di atas piring putih, meja restoran, fotografi makanan profesional" |
| Hewan | "Seekor anjing" | "Seekor anjing golden retriever menangkap frisbee di halaman pinggiran kota, sinar matahari sore, gaya ilustrasi digital" |
| E-commerce | "Model pakaian dalam" | "Foto produk pakaian olahraga putih, latar belakang putih polos, tanpa model, fotografi komersial" |
🎯 Prinsip Utama: Semakin spesifik petunjuknya = semakin sedikit ruang bagi model untuk berimprovisasi = semakin jarang memicu filter keamanan. Menambahkan label gaya seni (seperti "digital illustration") dapat lebih lanjut mengurangi pemblokiran terkait realisme.
Tingkat keberhasilan pemanggilan melalui APIYI (apiyi.com) biasanya lebih tinggi daripada koneksi langsung ke Google API karena platform telah mengoptimalkan konfigurasi parameter keamanan.

Pertanyaan Umum (FAQ)
Q1: Mengapa petunjuk yang sama terkadang berhasil dan terkadang diblokir?
Karena filter keamanan lapisan kedua memeriksa gambar yang dihasilkan, bukan petunjuknya. Dengan petunjuk yang sama, gambar yang dihasilkan model bisa sedikit berbeda setiap saat (karena sifat acak dari model difusi), dan hasil tertentu mungkin secara kebetulan memicu ambang batas filter keamanan. Itulah sebabnya mencoba ulang petunjuk yang sama terkadang berhasil—model kebetulan menghasilkan gambar yang "lebih aman".
Q2: Apakah normal jika thoughtsTokenCount lebih besar dari 0 tetapi candidatesTokenCount adalah 0?
Normal. Ini justru menunjukkan bahwa pemblokiran terjadi di lapisan kedua (sisi output): model telah menyelesaikan proses berpikir (Thinking) dan menghasilkan gambar, tetapi gambar tersebut diblokir oleh filter keamanan sebelum output akhir ditampilkan. Token pemikiran telah dikonsumsi (173), tetapi karena gambar tidak benar-benar keluar, token output dihitung 0. Ini adalah pola respons khusus untuk IMAGE_SAFETY—berbeda dengan pemblokiran lapisan pertama (di mana thoughtsTokenCount juga bernilai 0).
Q3: Apa yang harus dilakukan jika gambar pakaian dalam/baju renang untuk e-commerce sering diblokir?
Ini adalah skenario kesalahan pemblokiran yang sering terjadi. Ada banyak laporan di forum pengembang Google mengenai "non-NSFW ecommerce underwear images with IMAGE_SAFETY error". Sarannya: 1) Gunakan foto produk datar (tanpa model) sebagai pengganti foto model; 2) Berikan keterangan jelas pada petunjuk seperti "product flat lay, no model, white background"; 3) Gunakan layanan APIYI apiyi.com, karena konfigurasi parameter keamanan platform telah dioptimalkan untuk skenario e-commerce.
Q4: Apakah permintaan yang diblokir akan dikenakan biaya di APIYI?
Tidak. APIYI menjamin bahwa pembuatan yang gagal tidak akan dikenakan biaya, termasuk untuk kasus pemblokiran IMAGE_SAFETY. Anda hanya membayar untuk gambar yang berhasil dibuat. Ini sejalan dengan logika penagihan API resmi Google (gambar yang diblokir tidak dikenakan biaya), namun APIYI memberikan jaminan lebih lanjut—bahkan biaya kecil untuk token input pun tidak akan dibebankan.
Kesimpulan
Poin utama mengenai kesalahan IMAGE_SAFETY pada Nano Banana Pro:
- Inti kesalahan adalah filter output lapisan kedua: Petunjuk Anda lolos di lapisan pertama, model telah selesai berpikir (173 Token), dan gambar sudah dibuat—tetapi diblokir oleh filter keamanan lapisan kedua yang tidak dapat dimatikan saat output akhir.
- Permintaan yang diblokir pada dasarnya tidak dikenakan biaya:
candidatesTokenCount: 0berarti token output tidak dihitung. Google menyatakan dengan jelas bahwa "gambar yang diblokir tidak dikenakan biaya", dan melalui APIYI, Anda mendapatkan jaminan tambahan bahwa kegagalan tidak akan memotong saldo Anda. - Optimasi petunjuk dapat meningkatkan tingkat keberhasilan hingga 70-80%: Prinsip utamanya adalah "semakin spesifik semakin aman"—tambahkan konteks adegan, gaya artistik, deskripsi pakaian, dan gunakan petunjuk dalam bahasa Inggris.
Disarankan untuk menggunakan Nano Banana Pro melalui APIYI apiyi.com—dengan konfigurasi parameter keamanan yang dioptimalkan, jaminan tidak ada biaya untuk kegagalan, dan diskon 28% untuk mengurangi dampak kesalahan pemblokiran IMAGE_SAFETY pada bisnis Anda.
📚 Referensi
-
Dokumentasi Pengaturan Keamanan API Gemini: Penjelasan parameter pengaturan keamanan resmi
- Tautan:
ai.google.dev/gemini-api/docs/safety-settings - Keterangan: Berisi konfigurasi BLOCK_NONE dan daftar kategori keamanan
- Tautan:
-
Panduan Perbaikan Lengkap IMAGE_SAFETY Nano Banana Pro: 8 cara meningkatkan tingkat keberhasilan
- Tautan:
help.apiyi.com/en/nano-banana-pro-image-safety-error-fix-guide-en.html - Keterangan: Berisi templat optimasi petunjuk dan solusi berbasis skenario
- Tautan:
-
Diskusi IMAGE_SAFETY di Forum Pengembang Google AI: Laporan komunitas dan tanggapan resmi
- Tautan:
discuss.ai.google.dev/t/nano-banana-is-unusable-because-of-the-new-safety-filters/132366 - Keterangan: Google mengakui filter "terlalu berhati-hati"
- Tautan:
-
Pusat Dokumentasi APIYI: Jaminan tidak ada biaya untuk kegagalan Nano Banana Pro
- Tautan:
docs.apiyi.com - Keterangan: Berisi optimasi parameter keamanan dan panduan konfigurasi skenario e-commerce
- Tautan:
Penulis: Tim Teknis APIYI
Diskusi Teknis: Silakan berdiskusi di kolom komentar, untuk informasi lebih lanjut kunjungi pusat dokumentasi APIYI di docs.apiyi.com
