筆者注:レスポンスの JSON から、Nano Banana Pro で入力がブロックされたのか、出力がブロックされたのか、それとも画像生成の意図が不明確だったのかを判断します。4種類の原因を一つずつ確認し、プロンプトの修正、参照画像の変更、再試行、モデルの切り替えをどの順番で行うかを解説します。
Nano Banana Pro で画像を編集する際、次のような経験をした開発者は多いのではないでしょうか。リクエストは HTTP 200 を返し、一見正常に見えるのに、レスポンスに画像が含まれていない。finishReason に IMAGE_PROHIBITED_CONTENT と記載されることもあれば、テキストによる説明しかないこともあり、candidates すら存在しない場合もあります。この記事では、Nano Banana Pro の安全フィルターによるブロックの判断方法と、4種類の原因を切り分ける手順を紹介します。「またブロックされた」で終わらせず、原因を特定して修正できるようにしましょう。
この記事は、安全フィルターの回避方法を解説するものではありません。 内容は、ブロックの仕組みに関する Google の公式ドキュメントと、APIYI がテキストからの画像生成や画像編集で行った実測に基づいています。ルールに沿った修正方法と、正規の代替手段だけを紹介します。
この記事でわかること:レスポンスの JSON から、問題が入力側と出力側のどちらで発生したかを判断できます。また、4種類の原因を自分のプロンプトや参照画像に照らし合わせ、どちらを修正すべきか、再試行やモデルの切り替えが必要かを判断できるようになります。

Nano Banana Pro の安全フィルター:ブロックされる 4 つの主な原因
まず結論から見ていきましょう。Nano Banana Pro(モデル名 gemini-3-pro-image)でよく見られるブロックの原因は、4 つに分けられます。カテゴリによって、判定される対象や対処法が異なります。
| 原因のカテゴリ | 典型的なケース | 判定される対象 | 対処できるか |
|---|---|---|---|
| NSFW | 性的、暴力的、血生臭い表現やヘイトスピーチ、暗示的な NSFW 表現 | プロンプト、参照画像の両方 | 表現を変更するか素材を差し替える。誤判定の場合は別のモデルも試せる |
| 透かしの除去 | 画像上の透かしやロゴの除去を要求する | 主にプロンプト | 対処不可。コンテンツポリシーに違反する |
| 有名 IP | ディズニー、マーベル、任天堂などの著作権で保護されたキャラクターを名指しする | プロンプト、参照画像 | オリジナルの架空キャラクターに変更する |
| 未成年者 | 未成年者に関する不適切な内容 | プロンプト、参照画像 | 一切許容されず、組み込みの保護機能も無効にできない |
Nano Banana Pro の安全フィルターはなぜ最近厳しくなったのか
この 4 カテゴリに加え、知っておきたい時期が 2 つあります。APIYI のドキュメントと開発者コミュニティでの観察によると、2026 年 1 月 23 日前後に審査が全体的に厳格化され、それまで通っていた一部のプロンプトがブロックされるようになりました。Google AI 開発者フォーラムにも 2026 年 2 月初旬、ポリシーに完全に準拠した下着や水着の商品紹介画像が IMAGE_SAFETY に継続的にブロックされるという投稿があり、投稿者は 1 月 20 日以前の基準に戻すことを求めています。ただし、この日付は第三者のドキュメントやコミュニティに基づくもので、Google 公式の変更履歴には対応するポリシー変更の記載がないため、公式発表とはみなせません。
2 つ目は、2026 年 2 月下旬です。Google は 2 月 26 日に Nano Banana 2 のプレビュー版をリリースし、APIYI のドキュメントでは 2 月 27 日に提供開始と記録されています。その後、写真のようにリアルで本人と識別できる著名人、金融情報や注文情報の改ざん、人物の着せ替えや顔の差し替え、暗示的な NSFW 表現(直接明言していなくても際どい内容)の 4 方向で、明らかなブロックが新たに見られるようになりました。多くのチームが「最近ブロックが増えた」と感じている背景には、こうした変化があります。架空のキャラクター、デフォルメされた肖像画、イラスト調の人物は引き続き通常どおり生成できます。

Nano Banana Proの安全性フィルタによるレスポンスを読み解く:HTTP 200なのに画像がないのはなぜ?
原因を調べる際は、まずプロンプトを変えるのではなく、どこで失敗したかを確認しましょう。Google Cloudの画像生成における安全対策の説明によると、HTTP 200が返されたのに画像を取得できない場合、少なくとも3つの異なるケースがあり、それぞれ対処法がまったく異なります。
1つ目:モデルが生成を拒否した場合
プロンプトに安全でない可能性のある内容が含まれていると、モデルは画像を生成せず、「性的、不適切、または不快な内容を含む画像は作成できません」といった文章を返すことがあります。このケースには、次のような特徴があります。
candidates[0].finishReasonはSTOPのままで、正常に終了したように見えるcandidates[0].content.partsにはtextのみが含まれ、inlineDataがない- ログの出力トークン数は、通常100〜200程度と少ない
このケースでは、モデル自身の判断によって生成が拒否されており、原因はプロンプトの表現にあります。返された文章を読めば、モデルがどこに問題があると判断したのか、直接わかることが多いです。
2つ目:安全フィルターによるブロック
安全フィルターはモデルとは独立して動作し、入力側と出力側の2種類があります。
入力側でブロックされた場合の特徴:
- レスポンスに
candidatesフィールドがない promptFeedback.blockReasonのみがあり、値は通常SAFETY、PROHIBITED_CONTENT、OTHER、BLOCKLIST、IMAGE_SAFETYのいずれか- 通常は数秒以内に返され、
safetyRatingsが空の場合もある
出力側でブロックされた場合の特徴:
candidatesはあるが、candidates[0].finishReasonがIMAGE_SAFETY、IMAGE_PROHIBITED_CONTENTまたはそれに類する値になっているpartsはnullであり、空の配列ではない- 拒否理由は
finishMessageフィールドに記載され、text part としては返されない
入力側でブロックされた場合、モデルは生成を開始することすらできていません。問題は送信した内容、特に参照画像にあります。出力側でブロックされた場合は、モデルが画像を生成したものの、完成した画像が規約違反と判定されています。多くの場合、問題は記述によって生成された画面の内容にあります。
3つ目:画像生成の意図が不明確
finishReason が NO_IMAGE の場合、モデルに画像生成が期待されていたものの、画像が生成されなかったことを示します。これは安全フィルターによるブロックではありません。よくある原因は、プロンプトが企画の作成、分析、文章による説明を求める内容になっており、モデルがテキストタスクだと解釈してしまうことです。
Nano Banana Proの安全フィルターレスポンス:フィールド早見表
| 失敗の種類 | 主なフィールドの特徴 | 発生箇所 | まず行う対処 |
|---|---|---|---|
| モデルによる拒否 | finishReason が STOP、partsにはtextのみ |
モデルの判断 | 拒否の内容を読み、記述を調整する |
| 入力側のブロック | candidates がなく、promptFeedback.blockReason がある |
入力 | まず参照画像を確認する |
| 出力側のブロック | finishReason が IMAGE_SAFETY など、parts がnull |
出力 | 画面の記述を変更する |
| 画像生成の意図が不明 | finishReason が NO_IMAGE |
意図の理解 | 画像のみを出力するよう一文を追加する |
| 引用または著作権 | finishReason が IMAGE_RECITATION |
出力 | 具体的な作品名やキャラクター名を削除する |
Nano Banana Proの安全フィルターでusageフィールドをどう読むか
APIYIは、テキストから画像生成を48回、画像編集を18回実測し、usageフィールドについて次の傾向をまとめました。
candidatesTokenCountが0の場合、審査段階で拒否され、候補コンテンツが生成されていない- ブロックされた場合、
totalTokenCountはpromptTokenCountとthoughtsTokenCountの合計になる - このとき、
candidatesTokenCountはthoughtsTokenCountと同じ値になるため、3項目を合計すると1項目分が重複する。利用量の照合にはtotalTokenCountをそのまま使う
レスポンスに raiFilteredReason フィールドが表示される場合、たとえば ERROR_MESSAGE. Support codes: 56562880 のようなサポートコードから具体的なカテゴリを特定できます。下表は、4種類の原因に特に関連するコードを抜粋したものです。
| 安全カテゴリ | 入力側のサポートコード | 出力側のサポートコード | 対応する原因 |
|---|---|---|---|
| Child(未成年者) | 58061214 | 17301594 | 未成年者 |
| Celebrity(著名人) | 29310472 | 15236754 | 著名人 |
| Celebrity or child | 64151117 | 64151117 | 著名人または未成年者 |
| Sexual(性的な内容) | 90789179 | 63429089、43188360 | NSFW |
| Prohibited content | 89371032 | 49114662、72817394 | 禁止コンテンツ |
これはGemini画像モデルの共通の安全カテゴリ表であり、「Googleが特定の日にポリシーを変更した」ことの証拠にはならない点に注意してください。

Nano Banana Proの安全対策:4つの主なブロック原因をチェック
失敗した箇所が分かったら、原因を自分のリクエストと照らし合わせていきましょう。ここでは、4つの主な原因と新たに追加されたカテゴリを解説します。
NSFWと潜在的なNSFW
性的表現、暴力、流血、ヘイトスピーチなどの明らかな不適切コンテンツは、プロンプトと参照画像のどちらでもブロックの対象になります。より見落としやすいのが潜在的なNSFWです。画面上に露骨な表現はなくても、全体として際どい意図があると判断されるケースです。先ほど紹介したコミュニティの事例のように、下着、パジャマ、水着といった言葉自体が高リスクと見なされ、適切な商品展示でも誤ってブロックされることがあります。
コンテンツ自体が実際にポリシーの範囲を超えている場合は、内容そのものを変更するしかありません。適切なEC向けの衣料品展示が誤ってブロックされた場合は、商用目的であることや画面構成を明記しましょう。同じリクエストを別の画像生成モデルで試したり、誤検知の事例をGoogleの開発者コミュニティに報告したりすることもできます。
透かしの除去
画像から透かしを取り除くリクエストはコンテンツポリシーに違反するため、直接拒否されます。この場合、言い換えなどで対応することはできません。また、Nano Bananaシリーズが生成する画像にはすべてSynthIDの透かしが付与されます。これはモデル側の仕様であり、無効にはできません。業務フローに「画像のクリーニング」が含まれている場合は、表現を変えるのではなく、こうしたリクエストをフローから取り除く必要があります。
有名IPと著名人
ディズニー、マーベル、任天堂など、著作権で保護された固有のキャラクターの生成リクエストは、著作権保護のために拒否されます。APIYIのドキュメントによると、この傾向は2026年1月23日以降、より顕著になっています。2026年2月下旬以降は、写真のようにリアルで、本人と識別できる実在人物も重点的なブロック対象になりました。
適切に対応するには、オリジナルキャラクターに変更するか、デフォルメされた肖像やイラスト風の人物を使いましょう。参照画像に有名人の写真や著作権で保護されたキャラクターのスクリーンショットが含まれている場合も、入力段階でブロックされます。
未成年者
未成年者に関わる不適切なコンテンツは一切認められません。公式ドキュメントによると、safetySettingsで調整できるのは、ハラスメント、ヘイトスピーチ、露骨な性的コンテンツ、危険なコンテンツの4カテゴリのみです。児童の安全などの重大な危害に対する保護は組み込まれており、どのパラメータでも無効にできません。この種のリクエストは、業務システム側で直接フィルタリングしましょう。
金融取引・注文情報の改ざんと着せ替え・顔のすげ替え
この2つは、2026年2月下旬以降に新たにブロック対象となった分野です。スクリーンショット内の金額、注文番号、口座情報を変更したり、ある人の顔を別の人の顔にすげ替えたり、実在人物の服装を変更したりするリクエストはブロックされます。このような用途をプロンプトの言い換えで試すべきではありません。正当な商品画像の背景変更であれば、編集対象を商品とシーンに限定し、人物の身元や証憑情報を含めないようにしましょう。
Nano Banana Proのリスク管理によるブロック:参照画像とプロンプトのどちらを変える?
多くの開発者が気になるポイントです。対処法は、どの段階で失敗したかによって異なります。入力側でブロックされたらまず参照画像を疑い、出力側でブロックされたら記述を変更します。NO_IMAGE の場合は、画像を生成する意図をプロンプトに明記しましょう。
ステップ1:入力側でブロックされたら、まず参照画像を確認する
APIYIは2026年9月に、典型的な事例を記録しました。リクエストには、1つのプロンプトと6枚の参照画像(ポーズ、人物、シーン、服装、靴と靴下のコラージュ、帽子)が含まれ、アスペクト比は2:3、解像度は2Kでした。gemini-3-pro-image は blockReason が OTHER のレスポンスを繰り返し返し、candidates はなく、数秒で処理が終了しました。同じリクエストを gemini-3.1-flash-image に送ると、正常に画像が生成されました。
参照画像を半分ずつに分けて調査した結果、原因となっていたのは1枚の人物の4分割設定画だけだと判明しました。主な検証結果は次のとおりです。
| 処理方法 | テスト結果 | 結論 |
|---|---|---|
| 元画像をそのまま送信 | 13/13回ブロック | 安定して発生 |
| PNGとして保存し直すだけ | 2/2回ともブロック | 形式の変更は効果なし |
| JPEGで再エクスポート(品質95) | 6/6回成功 | 再エンコードが有効 |
| 差し替え後、6枚すべてを含むリクエスト | 2/2回画像生成に成功 | 問題解決 |
この事例から、Proの入力チェックはflashより厳しく、同じリクエストでもflashでは通過し、Proではブロックされることがあるとわかります。参照画像を標準化するためのチェックリストは次のとおりです。
- 色空間をsRGBに統一する
- EXIFの向き情報に従って画像の向きを修正する
- 長辺を2048ピクセル以下にする
- 品質90〜95のJPEGに再エンコードする
- メタデータを削除する
なお、再エンコードが適しているのは、OTHER のように理由が明確でない場合です。blockReason が SAFETY、PROHIBITED_CONTENT、IMAGE_SAFETY のように安全上の理由を明示している場合は、再試行や再エンコードで無理に通そうとせず、素材を変更してください。

ステップ2:出力がブロックされた場合や NO_IMAGE が出た場合は、プロンプトを修正する
出力がブロックされた場合は、プロンプトが導く画像の内容に問題があります。例えば「元画像のシーンと製品をそのままにして、赤枠内の物を置き換える」という編集プロンプトでは、「そのままにする」範囲が曖昧なため、モデルが自由に解釈して予想外の内容を生成することがあります。書き換える際のポイントは次のとおりです。
- 指示語を具体的な名詞に置き換え、「赤枠内の物」を「赤枠内の2つのカップ」と書く
- 「色を変える」ではなく、具体的な色を指定する
- 「そのままにする」範囲を、主体の位置、比率、ロゴ、文字表記、背景のように項目ごとに列挙する
- 操作を番号付きの手順に分け、一度に変更するのは1種類にする。複合的な指示は複数回の編集に分ける
NO_IMAGE が出た場合は、プロンプトの末尾に「最終的な画像のみを出力し、テキストは出力しないでください」と付け加えると、通常は解決します。

ステップ3:再試行やモデルの切り替えを検討する
再試行する前に、失敗しても費用が発生する場合があることを押さえておきましょう。Googleの利用枠は消費され、プラットフォームでも現在は「出力が空なら課金しない」仕組みに対応していません。プロンプトを変えずに繰り返しリクエストすると、1日の利用枠を無駄に消費します。規約違反のリクエストには、公式のAPIキーが使えなくなるリスクもあります。そのため、安全上の理由が明確な場合は再試行を避け、OTHER や誤判定の場合に限って、方法を変えて試すとよいでしょう。
モデルを切り替える際は、APIYIの同じAPIキーとエンドポイント https://api.apiyi.com/v1 を使い、model パラメータを変更するだけです。通常のタスクはまず安価で高速な2.1またはLiteで実行し、精密な編集に1〜2回失敗したらProに切り替えるのがおすすめです。それでもうまくいかない場合は、プロンプトを見直しましょう。
| モデル名 | 名称 | 料金(1回あたり) | 利用可能なプラットフォーム |
|---|---|---|---|
gemini-3-pro-image |
Nano Banana Pro | $0.09/回 | APIYI |
gemini-nano-banana-2.1 |
Nano Banana 2.1 | $0.045/回 | APIYI |
gemini-3.1-flash-image |
Nano Banana 2 | $0.055/回 | APIYI |
gemini-3.1-flash-lite-image |
Nano Banana 2 Lite | $0.025/回 | APIYI |
gpt-image-2-all |
GPT Image 2 | $0.025/回 | APIYI |
画像モデルはいずれも利用回数に応じた課金です。モデルと料金は、プラットフォームのモデル一覧を確認してください。また、Googleは2026年10月6日に gemini-3.1-flash-image の非推奨化を発表しました(提供終了日は未発表)。新規プロジェクトでは gemini-nano-banana-2.1 への移行をおすすめします。
🚀 クイックスタート:同じプロンプトと参照画像で複数のモデルを比較テストしたい場合は、APIYI apiyi.com で1つのAPIキーを使い、上表のモデルを順に切り替えられます。新規ユーザーには無料のテスト利用枠があるため、まず低コストで検証してから利用を拡大できます。
Nano Banana Pro の安全性チェックに関するよくある質問(FAQ)
Q1:Nano Banana Pro の安全性チェックによるブロックとは何ですか?
`gemini-3-pro-image` がコンテンツの安全性を理由に画像を返さないことです。モデルによる回答拒否、入力側フィルターによるブロック、出力側フィルターによるブロックの3種類があります。リクエストには通常 HTTP 200 が返るため、どのケースかを区別するにはレスポンスのフィールドを確認する必要があります。
Q2:同じリクエストで flash は画像を生成できるのに、Pro ではブロックされます。正常ですか?
はい、正常です。実際の検証では、Pro の入力チェックは flash より厳しいことが確認されています。`OTHER` のように理由が明確でない場合は、まずチェックリストに沿って参照画像を見直してください。コンテンツ自体に問題がなければ、Nano Banana 2.1 への切り替えも正式な代替手段です。
Q3:最近ブロックが増えたのはなぜですか?
2つの時期に重なった変化があります。APIYI のドキュメントや開発者コミュニティでは、2026年1月23日前後に審査全体が厳格化されたことが確認されています(Google の公式発表ではありません)。さらに、2月下旬の Nano Banana 2 リリース後、有名人、金融取引の注文内容の改ざん、衣装や顔の差し替え、明示的ではない NSFW コンテンツの4種類が新たなブロック対象として加わりました。
Q4:安全性チェックでブロックされたリクエストも課金されますか?
課金される場合があります。Google 側ではクォータが消費され、現在プラットフォーム側でも出力が空の場合に課金しないという対応はできません。APIYI apiyi.com のコンソールにある呼び出しログを確認してください。出力トークンが100〜200程度と極端に少ない場合や、「補完」欄が空の場合は、画像が生成されていません。
Q5:ツール提供事業者で画像生成の失敗が多い場合、補償制度はありますか?
Nano Banana Pro の画像生成失敗に対する補償プログラムがあります。対象は従量課金の Nano Banana Pro のみです。月間利用額が1,000米ドル以上(サイト内の全モデルが対象)のツール提供事業者を対象とし、利用者に起因しない失敗に限られます。2026年5月1日(UTC+8)から適用され、内部リストへの登録も必要です。補償額は「件数 × モデル価格 / 割引係数」で計算されます。毎月末に前月分のデータを集計し、翌月初めから5営業日以内に反映されます。詳しくは APIYI apiyi.com のカスタマーサポートにお問い合わせください。
Q6:申請や原因調査のために、失敗記録をエクスポートするにはどうすればよいですか?
コンソールのログ画面で右上の「エクスポート」をクリックし、期間を選んで非同期エクスポートを開始します。その後、非同期タスクから Excel ファイルをダウンロードしてください。違反コンテンツなど、利用者に起因する失敗は補償対象外です。
Q7:safetySettings を調整してブロックを無効にできますか?
完全には無効にできません。調整できるのは、ハラスメント、ヘイトスピーチ、露骨な性的コンテンツ、危険なコンテンツの4カテゴリのしきい値だけです。子どもの安全などに関する中核的な保護機能は組み込まれています。また、Google の利用ポリシーでは、安全フィルターの回避を明確に禁止しています。
Nano Banana Proの安全フィルターに関するトラブルシューティングまとめ
要点
- 内容を変更する前にレスポンスを確認:
candidatesがない場合は入力がブロックされ、partsが null の場合は出力がブロックされています - 拒否応答とブロックは別物:
finishReasonがSTOPで text しかない場合は、モデルによる拒否応答です - 主な原因は4種類:NSFW、透かしの除去、有名IP、未成年者。2月以降はさらに4種類が追加
- 入力側ではまず参照画像を確認:sRGBに変換し、長辺を2048以下にして、JPEG品質90〜95で再書き出しします
- 安全上の理由が明確な場合は再試行しない:素材や説明を変更し、クォータの無駄遣いを避けます
- モデルの切り替えはパラメータの変更だけ:APIYI apiyi.com なら、同じAPIキーで2.1、Lite、Proを切り替えられます
Nano Banana Proの安全フィルターに関するトラブルシューティングは、次の順序で進めるのが基本です。まずレスポンスのフィールドから失敗箇所を特定し、4種類の原因と照らし合わせて引き金を探します。入力側なら参照画像を、出力側なら説明を変更し、NO_IMAGE の場合は画像を生成する意図を明示します。そのうえで、モデルを切り替えるかどうかを判断します。実際にポリシーに違反する内容は修正で回避できないため、業務フローの段階で避けるしかありません。素材の標準化や複数モデルでのテストが有効なのは、誤検知や原因が不明なケースです。
チームで失敗記録を安定して調査し、複数の画像モデルを比較したい場合は、APIYI apiyi.com の利用がおすすめです。同じAPIキーを使い、model パラメータを変更するだけでモデルを切り替えられます。ログでは各失敗時の利用記録を確認でき、条件を満たすツールサービス提供者は、従量課金で失敗したリクエストの補償プログラムにも参加できます。
参考資料
- Gemini image generation and responsible AI:Google Cloudの画像生成における安全対策とサポートコードの説明
- リンク:
cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen -
内容: ブロックの種類と安全カテゴリのサポートコードの対応表
-
Gemini API 安全設定:調整可能な安全カテゴリと組み込みの保護機能の説明
- リンク:
ai.google.dev/gemini-api/docs/safety-settings -
内容: 調整可能な安全しきい値と、無効にできない保護機能の説明
-
Gemini API generateContent リファレンス:finishReasonとblockReasonの列挙値
- リンク:
ai.google.dev/api/generate-content -
内容: レスポンスフィールドの公式定義
-
Gemini API changelog:モデルのリリース、GA、廃止のタイムライン
- リンク:
ai.google.dev/gemini-api/docs/changelog - 内容: Nano Bananaシリーズのバージョンに関する主要な日程を確認
著者:APIYI技術チーム
技術に関するお問い合わせ:APIYIのウェブサイトのトップページからお気軽にお問い合わせください。その他の資料は docs.apiyi.com のドキュメントセンターをご覧ください。
