description: Nano Banana 2 API の画像生成に失敗した場合、料金はどうなるのか?Googleの公式ルールに基づき、失敗時の課金基準や、APIYIを通じた呼び出し時の実際の挙動を分かりやすく解説します。

Nano Banana 2 API で画像生成に失敗した際、料金は発生するのでしょうか?これは、多くの開発者が Google Gemini 3.1 Flash Image (Nano Banana 2) を導入する際に直面する最初の「財布の悩み」です。特に finishReason: IMAGE_SAFETY や blockReason: OTHER が返されたり、「提供された画像は身分証明書のようであり、編集できません」といったコンテンツポリシーによる拒否が表示されたりすると、「画像を受け取っていないのに、料金を支払わなければならないのか?」と不安に思う方も多いでしょう。
まず結論から申し上げます。ほとんどのコンテンツセーフティによる拒否のケースにおいて、Nano Banana 2 API は画像出力費用を請求しません。 さらに finishMessage に「You will not be charged for this request(このリクエストについては課金されません)」と明記されている場合、Google はそのリクエストを課金対象外とみなします。 本記事では、Gemini の公式ドキュメントと開発者フォーラムでの最新の議論に基づき、3つの代表的な失敗シーンにおける課金ルールを完全に解説し、APIYI (apiyi.com) プラットフォーム経由で Nano Banana 2 を呼び出した際の実際の請求について説明します。
Nano Banana 2 API で画像生成に失敗した際の課金原則
Nano Banana 2 API の課金に関する3つの重要な事実
「生成に失敗しても課金されるのか」という問いに答える前に、Nano Banana 2 の課金構造を理解しておく必要があります。これは「1回呼び出したら1回分課金」という単純なモデルではなく、入力・出力トークンに基づいた従量課金制だからです。
| 課金単位 | Nano Banana 2 (Gemini 3.1 Flash Image) | Nano Banana Pro (Gemini 3 Pro Image) |
|---|---|---|
| 入力トークン単価 | $0.50 / 100万トークン | $2.00 / 100万トークン |
| 出力トークン単価 | $3.00 / 100万トークン | $12.00 / 100万トークン |
| 1K 画像 (≤1024px) | ~$0.039 / 枚 | ~$0.134 / 枚 |
| 2K 画像 | ~$0.134 / 枚 | ~$0.134 / 枚 |
| 4K 画像 | ~$0.24 / 枚 | ~$0.24 / 枚 |
| Batch API 割引 | 50%OFF | 50%OFF |
以下の3つの重要な事実に注意してください:
- 出力トークンがコストの大半を占める: 1K 画像の出力トークンコストは入力トークンの 5〜20倍 です。つまり、画像が生成されなければ、コストはほぼ無視できるレベルになります。
- 入力トークンは非常に安価: $0.50 / 100万トークンという価格は、500字のプロンプトで約 $0.0003 ドル未満であることを意味します。
- 実出力に基づいた課金: 画像が実際に生成されたリクエストに対してのみ出力トークン費用が発生します。画像が生成されなかった失敗リクエストについては、ほとんど課金されません。
失敗時の課金に対する Google 公式の姿勢
Google は Gemini API のドキュメントや開発者フォーラムで、以下の基本原則を繰り返し述べています。システムがポリシーレイヤー (Layer 2) でリクエストをブロックしたと明確に判断した場合、または finishMessage に「You will not be charged for this request」というメッセージが含まれている場合、そのリクエストは課金対象外となります。
この原則は、APIYI (apiyi.com) を通じて Nano Banana 2 を呼び出す場合にも同様に適用されます。APIYI の課金ロジックは Google 公式が返す usage フィールドと厳密に同期しています。Google が課金しないものは APIYI も課金しません。 「公式は無料なのに、下流サービスで勝手に課金される」といったことはありませんのでご安心ください。
title: Nano Banana 2 API 画像生成に失敗する 3 つの典型的なケース
description: Nano Banana 2 API を使用した画像生成で失敗が発生する主な原因を、課金状況や回避策とともに解説します。SAFETYによるブロックやポリシー制限、モデルの判断による非生成ケースを詳しく分類しました。
Nano Banana 2 API 画像生成に失敗する 3 つの典型的なケース

ケース 1: プロンプト送信後に Layer 1 でブロックされる (blockReason: SAFETY)
これは最も「クリーン」な遮断で、リクエストが実際の画像生成モデルに到達する前に阻止されるケースです。APIレスポンスには以下のように表示されます。
{
"promptFeedback": {
"blockReason": "SAFETY",
"safetyRatings": [
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "probability": "HIGH"}
]
}
}
課金状況: 課金されない、またはごくわずかな入力トークン料金のみ。モデルによる推論が実行されておらず、出力が生成されていないためです。入力トークン自体のコストも極めて低額(0.5ドル/百万トークン)です。
トリガー: プロンプトが設定可能な安全カテゴリのしきい値に抵触した場合(暴力、ヘイト、性的な内容など)。
対応策: safety_settings パラメータでしきい値を BLOCK_NONE または OFF に設定することで Layer 1 を回避できますが、後述する Layer 2 は回避できません。
ケース 2: 画像生成後に Layer 2 のポリシーでブロックされる (finishReason: IMAGE_SAFETY)
開発者が最もよく遭遇する失敗で、**「提供された画像は身分証明書(運転免許証など)のように見えるため、編集できません」**といったユーザーへの回答に相当します。レスポンス例:
{
"candidates": [{
"finishReason": "IMAGE_SAFETY",
"finishMessage": "この画像編集リクエストには対応できません。提供された画像は個人身分証明書のように見えます。身分証の改変、再生成、またはバッジ、透かし、署名などの特定の安全機能の編集は禁止されています。"
}]
}
課金状況: 入力トークンは課金されますが、画像出力トークンはほぼゼロです。モデルは推論を実行しましたが、最終的な画像データが出力されなかったため、請求にはごくわずかな入力料金(通常 0.001ドル未満)のみが発生します。
トリガー: 設定不可能な Layer 2 ポリシーに抵触した場合。典型的な例は以下の通りです:
- 身分証明書(免許証、パスポート、IDカード等)の編集リクエスト
- 実在の人物の写実的な画像生成
- 著作権で保護されたキャラクター、ロゴ、ブランド
- 子供の安全に関するデリケートな内容
対応策: Layer 2 は API パラメータで回避できません。唯一の解決策は、保護された要素を削除するようにプロンプトを書き換えることです。
ケース 3: モデルが生成を拒否する (finishMessage で課金なしを明示)
これは Google による最も「丁寧」な拒否対応で、レスポンスに特徴的なメッセージが含まれます。
{
"candidates": [{
"finishMessage": "Unable to show the generated image. The model could not generate the image based on the prompt provided. You will not be charged for this request. Try rephrasing the prompt. If you think this was an error, send feedback"
}]
}
課金状況: リクエスト全体が完全無料。これは Google 公式がレスポンスボディ内で明示的に約束しているものであり、公式 API はもちろん、APIYI などのコンプライアンスを遵守する集約プラットフォームでも**課金なし(ゼロ請求)**として処理されます。
トリガー:
- プロンプトが曖昧すぎる、または生成不可能と判断された場合
- 推論は実行されたが、有効な画像が出力されなかった場合
- プロンプトが Google 非公開の内部安全評価に抵触した場合
対応策: プロンプトを書き換えて再試行してください。コストを気にする必要はありません。
Nano Banana 2 API 各失敗シナリオにおける課金対照表
3 つの失敗ケースと正常成功時の課金比較
| シナリオ | finishReason / blockReason | 入力トークン課金 | 出力トークン課金 | 1回あたりの総コスト |
|---|---|---|---|---|
| 正常成功 (1K) | STOP | ✅ 課金 | ✅ 課金 | ~$0.039 |
| 正常成功 (2K) | STOP | ✅ 課金 | ✅ 課金 | ~$0.134 |
| Layer 1 遮断 | blockReason: SAFETY | ❌ なしか極微量 | ❌ なし | ~$0.000 |
| Layer 2 遮断 | IMAGE_SAFETY / OTHER | ⚠ 入力のみ微量課金 | ❌ 出力なし | < $0.001 |
| finishMessage 不課金通知 | "not be charged" を含む | ❌ なし | ❌ なし | $0.000 |
🎯 ポイントまとめ: Nano Banana 2 の既知の失敗シナリオにおいて、開発者が「画像生成の全額」を負担させられることはありません。最も高コストな失敗シナリオ(Layer 2)であっても、成功時コストの 1% 未満です。APIYI(apiyi.com)経由で呼び出す場合、プラットフォームは Google の usage フィールドを完全に透過するため、課金ルールは公式サイトと同一です。
なぜ「課金されているように感じる」のか?
一部の開発者から「画像が生成されていないのに、残高が減っている」という報告があります。これは主に以下の 3 つの誤解が原因です。
- 課金の遅延: Google の課金データには通常 24〜48 時間の集計遅延があります。現在見ている課金は、過去に成功したリクエストの遅延計上の可能性があります。
- バッチリクエストの累積: 1 回の失敗コストが $0.0003 だとしても、短期間に 1,000 回失敗すれば $0.3 分の課金として目に見える形になります。
- 入力プロンプトの過大化: 非常に大きな参照画像(例: 4K の下絵)を入力に含める場合、入力トークン数が数万単位に膨らむことがあります。この場合、失敗したとしても入力分の課金は通常より大きくなります。
💡 コスト監視の推奨: 呼び出し側でレスポンス内の
usageMetadataフィールドを直接解析し、毎回のリクエストのpromptTokenCount、candidatesTokenCount、totalTokenCountをデータベースに記録することをお勧めします。APIYI(apiyi.com)の管理画面でも、呼び出し単位でのトークン明細照会を提供しており、「どの失敗で異常な課金が発生したか」を素早く特定可能です。
Nano Banana 2 API 失敗時の課金確認方法
Python SDK を使用して正確な課金情報を取得する
from openai import OpenAI
# APIYIを介したクライアント設定
client = OpenAI(
api_key="your-api-key",
base_url="https://api.apiyi.com/v1"
)
response = client.images.generate(
model="gemini-3.1-flash-image",
prompt="この身分証の性別欄を修正してください",
n=1,
size="1024x1024"
)
if hasattr(response, "usage"):
print("入力トークン数:", response.usage.prompt_tokens)
print("出力トークン数:", response.usage.completion_tokens)
print("合計トークン数:", response.usage.total_tokens)
for item in response.data:
if getattr(item, "finish_reason", None) == "IMAGE_SAFETY":
print("Layer 2 遮断を検知、出力分は課金されません")
elif "not be charged" in (getattr(item, "finish_message", "") or ""):
print("Google より不課金の旨が通知されました")
📌 失敗の自動識別 + 自動リトライコード
import time
from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="https://api.apiyi.com/v1"
)
# 課金が発生しないメッセージ条件
NO_CHARGE_PHRASES = ["You will not be charged", "not be charged for this request"]
# Layer 2 遮断理由
LAYER2_FINISH_REASONS = {"IMAGE_SAFETY", "IMAGE_PROHIBITED_CONTENT", "OTHER"}
def generate_with_retry(prompt: str, max_retry: int = 3):
for attempt in range(1, max_retry + 1):
try:
response = client.images.generate(
model="gemini-3.1-flash-image",
prompt=prompt,
size="1024x1024"
)
item = response.data[0]
finish_reason = getattr(item, "finish_reason", "")
finish_message = getattr(item, "finish_message", "") or ""
# 不課金条件の判定
if any(p in finish_message for p in NO_CHARGE_PHRASES):
print(f"[{attempt}回目] Google 不課金対象のため、プロンプトを変更してリトライ")
return None
if finish_reason in LAYER2_FINISH_REASONS:
print(f"[{attempt}回目] Layer 2 遮断、出力分未課金")
return None
return item.url
except Exception as e:
print(f"[{attempt}回目] エラー発生: {e}")
time.sleep(2 ** attempt)
return None
url = generate_with_retry("日本庭園を散歩するオレンジ色の猫、浮世絵スタイル")
print("最終結果:", url)
「課金 0」の実際の明細を照合する方法
APIYI(apiyi.com)管理画面のリクエスト明細機能を活用したダブルチェックを推奨します。
- ローカルのログで、失敗したリクエストごとの
request_id、finishReason、usageを記録する。 - APIYI 管理画面にて、
request_idをキーにしてプラットフォーム側の課金額を確認する。 - 両者を照合する。もし差異がある場合は、サポートまでお問い合わせください。
APIYI プラットフォームは Google ネイティブの usage フィールドをそのまま透過するため、差異が発生する確率は極めて低いですが、このダブルログ照合の仕組みは、企業ユーザーが財務監査要件を満たすために役立ちます。
title: "Nano Banana 2 API の失敗課金ルールを他社プラットフォームと比較"
description: "Nano Banana 2 API と他の画像生成 API の失敗時課金ルールを徹底比較。開発者がコストを最適化するためのベストプラクティスと、APIYI を活用した効率的な管理方法を解説します。"
Nano Banana 2 API と他のプラットフォームの失敗課金ルール比較

主要な画像生成 API の失敗時の課金比較
| プラットフォーム | 失敗時の入力課金 | 失敗時の出力課金 | 明示的な「無料」表示 |
|---|---|---|---|
| Nano Banana 2 / Pro | ⚠ 入力のみ極少 | ❌ なし | ✅ 一部シナリオで明示 |
| DALL-E 3 (OpenAI) | — | ❌ なし | ❌ 明示的な宣言なし |
| Midjourney | タスクごとに GPU 分単位で課金 | 失敗時は通常タスク分を返還 | ✅ Fast hours は返還 |
| Stable Diffusion 3 | プロバイダーによる | 多くのプロバイダーが無料 | ⚠ プロバイダーによる |
| Flux.1 Pro | 一部課金 | ❌ なし | ❌ 明示的な宣言なし |
Nano Banana 2 のユニークな強みは、失敗のシグナルが明確であることです。finishReason や finishMessage フィールドを使用することで、開発者はプログラム側で「今回のリクエストで費用が発生したかどうか」を判定できます。他のプラットフォームでは、手探りでリトライを繰り返さないと判定できないことも多いため、この仕様は大きなメリットです。
🎯 導入のアドバイス: 業務において「失敗の予測可能性」が重要である場合(高頻度な生成シナリオやユーザー向けの UGC 機能など)、Nano Banana 2 を優先的に検討することをおすすめします。APIYI (apiyi.com) を経由して統合すれば、公式と同等の「失敗時無料」の待遇を維持しつつ、各プラットフォームごとにバラバラな課金ロジックを個別メンテナンスする手間を省けます。
Nano Banana 2 API の失敗を防ぐためのベストプラクティス
無効な失敗を減らすためのプロンプト最適化 3 選
失敗しても課金されないとはいえ、あまりに失敗率が高いとプロダクトの体験が悪化し、利用時の待ち時間も長引いてしまいます。以下の 3 つの検証済みのアドバイスを参考にしてください。
| 推奨事項 | 具体的なアクション | 失敗率の低減効果 |
|---|---|---|
| 感度の高いカテゴリを避ける | プロンプトに身分証、有名人、著作権物を入れない | ↓ 80% |
| コンテキストを充実させる | 30文字以上の詳細なシーン描写とスタイル指定 | ↓ 40% |
| 中立的な言い回しを使う | 「修正」「削除」「置換」などの動詞を避ける | ↓ 25% |
失敗時の振り分けとコスト追跡
本番環境では、以下の「失敗振り分けログ」を構築しておくことを推奨します。
- Layer 1 インターセプト: 「プロンプトのリスク」とマーク。リトライせず、ユーザーに内容の修正を促す。
- Layer 2 インターセプト: 「ポリシー違反」とマーク。リトライせず、内容の変更を促す。
- finishMessage で無料: 「モデルの能力境界」とマーク。自動的に書き換えて 1 回だけリトライする。
- ネットワーク/タイムアウト: 「インフラの失敗」とマーク。指数バックオフでリトライする。
APIYI (apiyi.com) の管理画面で確認できる呼び出し明細やトークン消費レポートと組み合わせれば、**「プロンプトの問題なのか、モデル側の制限なのか」**を素早く診断でき、画像 1 枚あたりの実効コストを適切にコントロールできます。
エンタープライズ向けシナリオにおける課金保護

エンタープライズユーザー向けには、課金の透明性を確保するために以下の 3 つの対策を推奨します。
- ログの二重チェック: 自社サーバーの usage ログと APIYI プラットフォームのログを突き合わせる。
- 予算アラート: APIYI (apiyi.com) の管理画面で日次予算上限を設定し、超過時は自動で Key を停止させる。
- 部門ごとの Key 分離: 業務ラインごとに独立した API Key を発行し、コストを個別に集計する。
- 月次監査: 毎月 10〜20 件の失敗記録をサンプリングし、課金が公式ルール通りに行われているか確認する。
Nano Banana 2 API 失敗時の課金に関する FAQ
Q1: Nano Banana 2 で身分証などの画像を生成しようとして拒否された場合、料金はいくらかかりますか?
ほとんどかかりません。拒否された際のレスポンスには通常 finishReason: IMAGE_SAFETY が含まれますが、この場合入力トークンに対してのみ極めて少額(通常 $0.001 未満)の料金が発生するだけで、画像出力トークンは一切課金されません。APIYI (apiyi.com) を通じて呼び出す場合、プラットフォームは公式の usage データをそのまま反映するため、課金額は Google 公式と完全に一致します。
Q2: レスポンスに "You will not be charged for this request" と表示されるのはどういう意味ですか?
これは Google 公式が finishMessage 内で明示している課金免除の宣言です。レスポンスボディにこの一文が含まれている場合、そのリクエストは完全無料となります。入力がどれだけ長くても、モデルの推論が行われたかどうかにかかわらず課金されません。APIYI プラットフォームはこのフラグを識別し、0円として記録するため、「Google は無料と言っているのに、APIYI 側で勝手に課金される」といったことは発生しません。
Q3: Nano Banana 2 の失敗時の再試行で料金は加算されますか?
再試行のたびに独立したリクエストとして課金されますが、失敗自体は無料または極めて少額であるため、3 回再試行したとしても累積コストは 1 回の成功リクエストの 10% 未満です。高頻度な失敗によるレート制限(429 エラー)を避けるため、再試行ロジックには指数バックオフを導入することをお勧めします。
Q4: Layer 1 と Layer 2 のブロックで課金に違いはありますか?
Layer 1 のブロックはモデル推論の前に行われるため、通常は完全に無料です。Layer 2 のブロックはモデル推論の後、出力の前に行われるため、入力トークン分のみ極めて少額の料金が発生しますが、出力トークン分は課金されません。どちらも「コストは無視できる」レベルです。
Q5: 「Gemini 3.1 Pro は安全上の理由で拒否されても課金される」という報告があるのはなぜですか?
これは特殊なケースです。一部の Gemini 3.1 Pro テキストモデル(Nano Banana 2 という画像モデルではありません)では、不適切なプロンプトを拒否する際に隠れた安全用プロンプトを注入して推論を完了させるため、トークンが課金されます。Nano Banana 2 (Gemini 3.1 Flash Image) には現在この挙動はなく、画像生成における失敗時の課金は「ほぼゼロ」のまま維持されています。
Q6: APIYI (apiyi.com) を経由して Nano Banana 2 を呼び出すと、公式より高くなりますか?
いいえ、高くなりません。当プラットフォームは公式と同一のトークン単価体系を採用しており、Nano Banana 2 のような需要の高いモデルに対しては通年でボリュームディスカウントを提供しているため、実質価格は公式から直接呼び出すよりも安くなることが一般的です。さらに重要な点として、プラットフォームでは日本円での直接支払いや適格請求書への対応が可能であり、国内の企業ユーザーが為替レートやクレジットカード、海外法人との契約に頭を悩ませる必要はありません。
Q7: 失敗したリクエストが「入力課金あり」か「完全無料」かを見分ける方法は?
レスポンス内の以下の 3 つのフィールドを確認してください。
finishMessageに "You will not be charged" が含まれる → 完全無料promptFeedbackにblockReason: SAFETYが含まれる → 極少額または無料finishReason: IMAGE_SAFETY / OTHER→ 入力トークン分のみ極少額課金
APIYI (apiyi.com) の管理画面にある呼び出し詳細ページでは、各リクエストが実際に課金対象となったかどうかを直接確認できるため、自分で解析する必要はありません。
Q8: Nano Banana 2 の失敗率はどのくらいですか?
2026 年第 1 四半期の公開コミュニティデータによると、日英混在プロンプトの全体的な失敗率は約 5%〜8% です。そのうち、Layer 2 の「ポリシー違反」に該当するものは 2%〜3% で、残りの多くはプロンプトの品質に起因する finishMessage による無料の拒否です。つまり、失敗リクエストの 99% 以上はコストがゼロかそれに近いため、ビジネスへの影響は無視できる範囲です。
Q9: 失敗したリクエストもレート制限(RPM / TPM)にカウントされますか?
カウントされます。 課金されない失敗リクエストであっても、レート制限の枠を消費します。高頻度でリクエストを行うビジネスの場合は、ローカル側でプロンプトの事前フィルタリングを行い、Layer 2 に抵触する確率を減らすことで、正常な呼び出しのための枠を確保することをお勧めします。
まとめ: Nano Banana 2 API は失敗しても課金されないため、安心して試せます
冒頭の質問に戻りますが、Nano Banana 2 API で画像生成に失敗した場合、課金されますか? 答えは明確です。ほぼすべての失敗シナリオにおいて、課金されないか、入力トークン分のみの極めて少額の課金で済みます。 特に finishReason: IMAGE_SAFETY が返された場合や、finishMessage に "You will not be charged for this request" が含まれる場合は、Google 公式が明言する無料対象となります。
これは開発者にとって以下の 3 つのメリットを意味します。
- 安心して試行錯誤できる: プロンプトのコツを掴む、スタイルの効果を検証する、エッジケースを試すといった作業において、失敗のコストはほぼゼロです。
- 特別な障害対策が不要: 「失敗時の課金」を考慮した複雑なロジックは不要で、標準的な try/retry を実装するだけで十分です。
- 請求額の予測が可能: 月額支出は基本的に「成功枚数 × 1 枚あたりのコスト」となり、失敗分は無視できる程度の誤差として扱えます。
もちろん、失敗が無料だからといって「無制限に再試行」して良いわけではありません。再試行はレート制限を消費し、ユーザーの待ち時間を延ばしてしまいます。より良いアプローチは、**「失敗を分類し、分類に応じた対策をとる」**ことです。Layer 1/Layer 2 のブロックならユーザーにプロンプトの修正を促し、finishMessage による無料拒否なら自動でプロンプトを書き換えて再試行する、といった対応が有効です。APIYI (apiyi.com) の呼び出しログや予算アラートを組み合わせることで、画像生成ビジネス全体のコストを分単位で可視化できます。
Nano Banana 2 や Nano Banana Pro を本番環境で検討されている場合は、APIYI (apiyi.com) プラットフォームでテストアカウントを作成し、本記事で紹介した 3 つの失敗シナリオをご自身のプロンプトで試してみてください。実際の請求データこそが、最も説得力のある答えとなるはずです。
著者: APIYI Team — AI 大規模言語モデル API 中継および Nano Banana シリーズ画像生成サービスのコンプライアンス対応アクセスを専門としています。
