Skip to main content

簡潔な回答

Gemini 画像 API が HTTP 200 を返し、candidates[0].finishReasonIMAGE_OTHER に設定され、finishMessageUnable to show the generated image と表示されている場合、モデルは実際に画像を生成しましたが、返却前にプロバイダーの出力チェックによってフィルタリングされました
  • 確率的です:同じリクエストでも成功する場合と失敗する場合があり、失敗率が高くなることがあります
  • ネガティブプロンプト、パラメータ、またはゲートウェイとは無関係です。問題は画像内に最終的に描画された内容にあります
  • 検証で判明した最も典型的なトリガー:プロンプトに実在の人物名が含まれていること
  • プロバイダーは finishMessage で、これらのリクエストには課金されないと明記しています
対処法は次のとおりです:画像が特定の実在人物やその他の制限されたコンテンツのように見えてしまう原因となっているプロンプトの部分を特定し、描写表現に置き換えることです。

見分け方

典型的なレスポンス:
candidatesTokenCount は 0 ではなく、thoughtsTokenCount と等しい点に注意してください。モデルは思考を完了しましたが、最終的な画像は配信されませんでした。 画像が失われる3つのパターン:
公式 API リファレンスでは、IMAGE_OTHERIMAGE_SAFETYIMAGE_PROHIBITED_CONTENTIMAGE_RECITATION と同じグループに属しており、これらはすべて「画像生成が停止された」ことを意味します。IMAGE_OTHER は他のカテゴリ以外の理由を対象としており、プロバイダーは具体的な基準を公開していません。

テスト検証事例

2026年9月 (UTC+8)、あるお客様から、gemini-3-pro-image において純粋な text-to-image の選手カード生成リクエストが約63%の確率で画像を返せないという報告がありました。prompt は約5,500文字でした:
  • 実在するアスリートの名前を挙げ、その顔の特徴の「1:1 replica」を求める冒頭の1文
  • ポーズ、構図、ユニフォームの色、アートスタイル、白背景に関する詳細な指示
  • 多数のブランド名を列挙した2つの長い negative-prompt(NEGATIVE)ブロック
再現された失敗はすべて IMAGE_OTHER であり、約20秒で返されました。その後、1回につき1つの要素を削除し、グループごとに6回の呼び出しを行いました: 結論は明白です。実在する人物の名前そのものがトリガーとなっています。モデルがその名前を認識してその人物の容姿に似せようとするため、似れば似るほど出力がフィルタリングされる可能性が高くなります。あまり似ていなかった生成結果のみが通過したため、一見ランダムに発生しているように見えていました。「1:1 replica」という表現も、長い negative-prompt も原因ではありませんでした。 名前を削除しても、prompt にすでに含まれていた髪型、顔の輪郭、目の描写だけで、同じスタイルの選手カードを生成するのには十分でした。
このような二分探索による切り分けには、グループあたり6回の呼び出しで十分です。元の prompt が5/6の確率で失敗する場合、適切な修正によって運だけで6回連続して成功する確率は約10万分の2です。調査全体で要した呼び出しは24回でした。

トリガーを特定する方法

1

ステップ1:失敗のタイプを確認する

同じリクエストを5〜6回再送信し、失敗にfinishReason: IMAGE_OTHERが含まれていることを確認して、失敗率を記録します。代わりにNO_IMAGEまたはblockReasonが表示される場合は、対応するトラブルシューティングページを参照してください。
2

ステップ2:まず名前や特定の対象を確認する

prompt内に実在の人物名(有名人、アスリート、インフルエンサー、政治家など)や、誰かに「そっくり」に見せる指示がないか確認します。それらを削除して、別のグループを実行します。
3

ステップ3:半分ずつセクションを削除する

名前ではない場合は、promptを一度に半分ずつ削除し、1グループあたり6回呼び出して、失敗率が明らかに低下した半分側のみで絞り込みを続けます。
4

ステップ4:単に削除するのではなく書き直す

トリガーが特定できたら、名前による言及を外見、服装、スタイルの説明に置き換え、実際に必要な視覚的要件を維持します。

推奨事項

  1. promptに実在の人物名を含めない: 代わりにその外見を描写してください(例:「センターから少しずらして分けたストレートのブロンドヘア、アーモンド型の目、卵形の顔」など)。今回のケースでは、これが唯一効果的な解決策でした。
  2. ネガティブpromptの削減は問題ありませんが、原因ではありません: Geminiの画像モデルには独立したネガティブpromptパラメーターが存在しないため、長いNEGATIVEリストは通常のテキストとして読み取られます。削減することでpromptは明確になりますが、IMAGE_OTHER率は下がりません。
  3. リトライに頼らない: 失敗率が60%を超える状況では、リトライは不確実でありレイテンシも増加します。フォールバックとしてクライアント側でIMAGE_OTHER時に1度リトライすることは可能ですが、根本的な解決策はpromptの修正です。
  4. 一括生成の前にテンプレートを修正する: 名簿から生成する場合(例:プレイヤーごとに1枚のカードを生成するなど)、promptに名前を挿入しないでください。名前は自身のファイル名やその後のレイアウトにのみ使用してください。
  5. 一貫した似姿が必要な場合は参照画像を使用する: 特定の人物を描写することがどうしても必要な場合は、その人物から許諾を得た参照画像を提供し、Nano Banana画像生成の失敗に記載されている実在人物および未成年者に関する制限事項にご留意ください。
コードで3つの形式を区別する方法:

よくある質問

はい。弊社のテストでは、「1:1 replica」という文言を削除して名前のみを残した場合でも、失敗率は依然として4/6でした。モデルが名前を認識し、その人物に寄せて描画するためです。
フィルターは画像が生成された後に実行されるため、結果はその時何が描画されたかに依存します。生成ごとに描画内容は異なるため、同じリクエストでも通過する場合とフィルターされる場合があります。
出力チェックの厳しさはグループによって異なる場合があるため、同じ prompt でも失敗率が変わることがあります。ただし、グループのルーティングは時間とともに変化するため、その差異は安定していません。prompt を修正することが確実な対処法です。
Gemini の画像モデルには独立したネガティブ prompt パラメーターはありません。prompt 内の NEGATIVE リストは通常のテキストとして読み込まれます。これは IMAGE_OTHER には効果がありませんが、リストが長すぎると主要な説明が薄まってしまう可能性があります。重要な項目のみをごく少数に絞り、肯定的な表現に言い換えてください(例えば、「no stadium, no grass…」といった長いリストの代わりに「plain white background」とするなど)。
プロバイダーは finishMessage で、これらのリクエストは課金されないと明記しています。リクエストが課金されたかどうかを確認するには、APIYI コンソールの呼び出しログをご確認ください。

解決しない場合 サポートにお問い合わせください

迅速に対応できるよう、以下の情報を含めてご連絡ください:
  • モデル名と token グループ
  • 完全なレスポンス(少なくとも finishReasonfinishMessage、および responseId)と request ID
  • 発生日時(タイムゾーン付き)
  • マスク済みの prompt、および確認された失敗率
完全な API キーは絶対に送信しないでください。スクリーンショットやログを共有する前に、キーをマスクしてください。

WeCom サポート

WeCom サポート QR コードQR コードをスキャンするか、このカードをクリックして直接サポートにお問い合わせください。

メールサポート

サポート: [email protected]件名に「IMAGE_OTHER」とモデル名を含めることをお勧めします。

関連ドキュメント

Gemini 画像 API が NO_IMAGE を返す理由

prompt の意図が不明確なことによる画像の未生成と、その修正方法

Gemini 画像が blockReason: OTHER を返す理由

生成前にブロックされた参照画像の特定と、前処理のアドバイス

Nano Banana 画像生成の失敗

安全性、透かしの削除、著名な IP、未成年者を含む一般的な原因

Gemini 画像 API のエラーハンドリング

レスポンスチェックの完全な順序とユーザーフレンドリーなエラーメッセージ