Skip to main content

簡潔な回答

APIがfinishReason: NO_IMAGEを返し、partsがnullである場合、通常、モデルはリクエストを処理したものの画像コンテンツを返しませんでした。 これは必ずしもpromptがコンテンツセーフティのブロックをトリガーしたことを意味するわけではありません。「GEOとは何ですか?」や「この概念を説明してください」のようなpromptは、テキストの質問のように見えます。モデルはユーザーが明示的に画像を求めていることを確認できず、そのためNO_IMAGEを返すことがあります。 promptの冒頭で画像生成の意図を明確にし、その後に被写体、レイアウト、スタイル、および出力要件を記述してください。 もう1つのよくある原因は、「デザイン案を作成してください」や「徹底的に分析してください」など、モデルにテキストの記述を求めるpromptです。呼び出しで画像出力のみが許可されている場合、このようなリクエストは時折NO_IMAGEを返すため、同じリクエストが失敗した後に成功することがあります。後述の「promptが文章による出力を求めている」を参照してください。
レスポンスにcandidatesがなくpromptFeedback.blockReason(例えばOTHER)が含まれている場合は別の問題であり、生成が開始される前に入力がプロバイダーによってブロックされました。Geminiの画像生成がblockReason: OTHERを返す理由は?を参照してください。

なぜ NO_IMAGE が発生するのですか?

1. プロンプトがテキストの質問のように見える

例えば:
これは概念を説明していますが、以下が明確に指定されていません:
  • どのような種類の画像を生成するか
  • どの要素を画像内に含めるか
  • 情報をどのようにレイアウトするか
  • レスポンスに画像のみを含めるべきかどうか
リクエストに「画像を生成する」という文言が含まれていても、モデルはリクエスト全体をテキストの説明として解釈してしまう場合があります。

2. 画像の意図が十分に具体的でない

一部のプラットフォームツールは、「画像を生成:」のような指示を自動的に先頭へ付加します。しかし、直接の API 呼び出しでは、完全な画像生成の指示が自動で追加されずに、リクエストがそのまま転送される場合があります。 単に次のように記述するのではなく:
画像の種類と視覚的なゴールを直接指定してください:

3. プロンプトに視覚的な説明がない

プロンプトが概念を説明しているだけの場合、モデルはそれをどのように視覚的な構成へ変換すればよいか分かりません。以下の指定を検討してください:
  • 画像の種類:インフォグラフィック、ポスター、フローチャート、またはプロモーション用グラフィック
  • レイアウト:3カラム、タイムライン、または放射状構造
  • 視覚スタイル:テクノロジー、ビジネス、ミニマリスト、またはブランド
  • テキストの階層構造:タイトル、番号付きセクション、本文、レイアウト
  • 出力指示:テキストによる説明は含めず、画像のみを生成する

4. プロンプトが文章の出力を求めている

Gemini 画像モデルは、画像を読み取ってテキストを作成することも可能です。プロンプトに文章の出力を求める文言が含まれている場合、モデルは画像を生成する代わりに「先に企画書を作成する」ことがあります:
このような文はテキストモデルに適しています。画像のみを出力する画像モデル(responseModalities: ["IMAGE"])にこれらを送信すると、モデルが作成しようとする企画書を返すことができないため、レスポンスは finishReason: NO_IMAGE、parts: null、および出力 tokens がゼロになります。 2026年9月 (UTC+8) に、実際の靴のデザインリクエスト(参照画像3枚と上記のようなプロンプト)を gemini-3.1-flash-image と responseModalities: ["IMAGE"] を使用して再実行しました: そのため、ルーティングが変わっていないにもかかわらず、同じリクエストが連続して失敗した後に成功することがあります。最もシンプルな解決策は、プロンプトの末尾に次のような一文を追加することです:
参照画像に明瞭に読み取れるテキストやサードパーティのマーク(例えば、靴底のブランドロゴ文字など)が含まれている場合、モデルはまずその素材の分析から始めてしまう可能性が高くなります。同じテストにおいて、その文字をぼかした場合でもリクエスト結果は 0/36 になりました。

responseModalities の設定による症状の違い

画像の意図が不明確な同一のリクエストでも、responseModalities によって失敗時の挙動が異なります: トラブルシューティングのヒント: responseModalities を含めずに失敗したリクエストを数回再送信し、画像が返されないときにモデルが何を出力しているかを確認してください:
  • 提案、分析、または画像 prompt → 画像の意図が不明確です。このページの説明に従って prompt を修正してください
  • 「これを生成できません」などの拒否 → コンテンツセーフティポリシーがトリガーされました。Nano Banana 画像生成の失敗 を参照してください

GEOプロンプトの例

元のプロンプトは次のように書き換えられます。
「画像を生成」はアクションのヒントにすぎません。視覚的な結果の説明に代わるものではありません。画像の種類、被写体、レイアウト、スタイルをより明確に説明するほど、モデルはそのリクエストを画像生成として識別しやすくなります。

NO_IMAGE のトラブルシューティング方法

1

ステップ 1: どのフィールドに障害が発生しているかを特定する

candidates[0].finishReason が NO_IMAGE である場合、本ページが適用されます。candidates が存在せず、promptFeedback.blockReason に値がある場合は、生成前に入力がブロックされています。blockReason: OTHER のトラブルシューティング を参照してください。
2

ステップ 2: レスポンスに画像データが含まれているか確認する

parts、inlineData、image、またはレスポンス内の同等の画像フィールドを確認してください。parts が null である場合、通常レスポンスには画像コンテンツが含まれていません。
3

ステップ 3: prompt で明示的に画像を要求しているか確認する

prompt に「画像を生成して」「ポスターを作成して」「画像を作成して」などの明確な指示が含まれていることを確認してください。「〜とは何ですか」「〜について説明して」といったテキストのみの質問だけで送信しないでください。また、「提案書を作成して」「詳細に分析して」「デザインについて説明して」など、文章での出力を求める文がないかも確認してください。それらを削除するか、prompt の末尾に「画像のみを出力してください」を追加してください。
4

ステップ 4: 次にコンテンツセーフティの要因を確認する

prompt で画像を明確に要求しているにもかかわらず依然として NO_IMAGE が返される場合は、NSFWコンテンツ、未成年者、著名なIP、透かしの削除、実在の人物の肖像、またはその他のアップストリームの安全ポリシーに抵触していないか確認してください。
5

ステップ 5: 呼び出しログを確認する

呼び出しログで完全なレスポンス、モデル名、リクエストID、課金記録を確認してください。usageMetadata はモデルがリクエストを処理したことを示していますが、画像が生成されたことや安全上のブロックが発生したことを証明するものではありません。

NO_IMAGE はセーフティブロックとどのように異なりますか?

finishReason: NO_IMAGE は、画像が返されなかったことのみを意味します。これ単体で prompt がポリシーに違反したことを証明するものではありません。完全なエラー内容、prompt、および呼び出しログを併せて確認してください。

よくある質問

いいえ。基本的な意図がより明確になるだけです。画像のタイプ、主題、構図、スタイル、および出力要件についても記述してください。抽象的な概念の場合は、インフォグラフィック、ポスター、またはフローチャートを明示的に指定してください。
GEOの概念自体には明らかな安全上のリスクは含まれていないように見えます。ただし、NO_IMAGE だけでアップストリームのポリシー決定を完全に排除することはできません。この場合、prompt は知識解説のように読めるため、画像の意図が不明確であることが最初に確認すべき点としてより適切です。
ほとんどの場合、ルートは変更されていません。意図の不明確さに起因する NO_IMAGE は確率的なものです。リクエストごとに、モデルは画像の生成か、先にテキストを記述するかを選択します。テストでは、同じリクエストが約21%の確率で失敗し、多くの場合、連続して複数回失敗しました。クライアントで NO_IMAGE レスポンスを自動的に1〜2回リトライし、prompt を修正して根本原因を解消してください。
usageMetadata は、モデルが入力を処理し、推論またはテキストの tokens を生成したことのみを示しています。これはレスポンスに画像が含まれていることを意味するものではありません。レスポンス内の画像データフィールドを確認してください。
NO_IMAGE だけで課金を判断しないでください。APIYI の呼び出しログを確認し、リクエストによって課金レコードが生成されたかどうかを確認してください。

それでも解決しない場合はサポートにお問い合わせください

画像の意図を明示した後もリクエストがNO_IMAGEを返す場合は、APIYIサポートにお問い合わせのうえ、以下の情報をお知らせください。
  • モデル名とtokenグループ
  • 完全なエラーメッセージとrequest ID
  • プロンプト(機密情報を伏せたもの)
  • 発生日時
  • 呼び出しログの課金記録
完全なAPIキーは絶対に送信しないでください。スクリーンショットやログを共有する前に、キーを伏せ字にしてください。

WeComサポート

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

メールサポート

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

関連ドキュメント

Gemini 画像で blockReason: OTHER が返されるのはなぜですか?

ブロックされた入力画像の特定方法と参照画像の前処理方法

Nano Banana 画像生成の失敗

セーフティ、透かしの削除、著名な IP、未成年者などの一般的な原因

モデル API のエラーはどのようにトラブルシューティングすればよいですか?

401、429、503、504、タイムアウト、グループの問題に関する一般的なガイダンス

ログの課金額はどのように確認すればよいですか?

呼び出しログを使用してリクエストが成功したか、課金されたかを確認します