| |

Nano Banana Pro APIのネガティブプロンプトの正しい書き方:negativePromptエラーを完全に解消する3つの解決策

Stable DiffusionやMidjourneyからNano Banana Proへ移行した開発者の多くが、初めてAPIを呼び出す際に遭遇する困惑の400エラーがあります。Invalid JSON payload received. Unknown name "negativePrompt" at 'generation_config.image_config': Cannot find field というエラーです。エラーメッセージは直感的ですが、フィールド名のスペルミスなのか、場所が悪いのか、それともモデルがそもそもネガティブプロンプトを受け付けないのか、その真意は明記されていません。

nano-banana-pro-api-negative-prompt-guide-ja 图示

答えは3番目です。Nano Banana Pro(Gemini 3 Pro Image Preview)には、設計上独立した negativePrompt フィールドは存在しません。「何が不要か」という指定は、すべてメインのプロンプト内に記述する必要があります。本記事では、Google公式ドキュメントとNano Bananaプロンプトガイドに基づき、エラーの原因を分解し、公式推奨の3つの書き方と完全なAPI呼び出しコードを解説します。さらにAPIYI(apiyi.com)プラットフォームでの実測事例を交え、5分でNano Banana Proのネガティブプロンプトの正しい作法をマスターしましょう。

一、Nano Banana Proで negativePrompt フィールドが使えない理由

1.1 エラーメッセージの分解

実際のエラー内容は通常以下の通りです。

upstream_error  400
Invalid JSON payload received.
Unknown name "negativePrompt" at 'generation_config.image_config':
Cannot find field.

この内容を分解すると、3つの重要な情報が見えてきます。

  • Invalid JSON payload:サーバー側がJSON解析時に拒否しており、リクエストが推論フェーズに到達していません。
  • Unknown name "negativePrompt":フィールド名がスキーマ内に存在しません。大文字小文字の問題でも、ネスト位置の問題でもありません。
  • at 'generation_config.image_config'generation_config.image_config 内に配置しようとしましたが、このオブジェクトは公式のホワイトリストにあるフィールドしか受け付けません。

つまり、これは「パラメータエラー」ではなく「パラメータが存在しない」というエラーです。Nano Banana ProのAPIスキーマには、ネガティブプロンプト用のフィールドは一切用意されていません。

1.2 公式 image_config フィールドのホワイトリスト

Google AIの公式ドキュメントによると、Gemini 3 Pro Image Previewの image_config オブジェクトは以下の2つのフィールドのみを受け付けます。それ以外のフィールドはすべて400エラーとなります。

フィールド名 役割
aspectRatio string "1:1" / "16:9" / "4:3" / "21:9" など 出力画像の縦横比
imageSize string "512" / "1K" / "2K" / "4K" 出力解像度

このホワイトリストは非常にシンプルで、negativePromptseedcfg_scalesampler などは含まれていません。GoogleはNano Bananaシリーズにおいて、あえて極限までシンプルにする設計を採用しました。モデルには自然言語を理解させ、ユーザーに複雑なハイパーパラメータを調整させるべきではないという考え方です。

1.3 設計哲学:なぜGoogleは negativePrompt を導入しないのか

Stable Diffusion系のネガティブプロンプトは、CFG(Classifier-Free Guidance)による双方向ガイダンスに由来しており、独立したベクトルを使って拡散プロセスを「逆方向に誘導」するのが本質です。一方、Geminiシリーズが採用するマルチモーダル推論生成パスは拡散モデルのアーキテクチャとは異なり、モデルが自然言語全体を入力として受け取り、意味を理解した上で画像トークンを出力します。ここには「2つのベクトルで誘導する」というプロセスが存在しません。

Google Cloud Blogの公式Nano Bananaプロンプトガイドには、公式の立場がこうまとめられています。

"Use positive framing: Describe what you want, not what you don't want (e.g. 'empty street' instead of 'no cars')."
(ポジティブな表現を使いましょう:何が不要かではなく、何が欲しいかを記述してください。例:「車がない」ではなく「空の通り」)

つまり、Nano Banana Proの世界観では、ネガティブな記述よりもポジティブな記述の方が圧倒的に効率的なのです。これは技術的な制限ではなく、製品哲学です。

エンジニアリングの観点から見ても、拡散モデルのネガティブガイダンスは「2回の推論とベクトルの引き算」という追加計算を伴いますが、Geminiのマルチモーダルアーキテクチャはエンドツーエンドの意味理解です。無理に negativePrompt を追加してもスキーマの一貫性を損なうだけでなく、ユーザーに誤解を与え、プロンプトエンジニアリングを誤った方向へ導いてしまいます。Googleは明確なエラーを返すことで、開発者を自然言語による意図表現へと誘導しています。

🎯 アドバイス: もしSDのネガティブプロンプトワークフローに慣れているなら、Nano Banana Proへ移行する際は、まずAPIYI(apiyi.com)で比較画像を生成し、「ポジティブな記述」と「ネガティブな記述」がこのモデルでどのような結果の違いを生むかを体感することをお勧めします。その上で、既存のプロンプトを書き換えてみてください。

2. Nano Banana Pro におけるネガティブプロンプトの正しい書き方 3 選

独立したフィールドは存在しませんが、ネガティブな指示はメインのプロンプト内に含めることで完全に制御可能です。以下の 3 つのパターンは、Google の公式ドキュメントとコミュニティでの実証実験から導き出された、再現性の高い手法です。

nano-banana-pro-api-negative-prompt-guide-ja 图示

2.1 方案一:ポジティブフレームへの書き換え(公式推奨)

「X を含めない」という指示を「Y を含める」という表現に変換します。これは Google が公式に推奨する最良の手法です。一般的な変換例は以下の通りです。

元のネガティブな表現 ポジティブフレームへの書き換え
no cars on the street empty deserted street with no traffic
no people in background quiet solitary scene with empty surroundings
no text or watermark clean image with smooth empty borders
not blurry, not low quality sharp focus, crisp details, high resolution
no extra fingers accurate human anatomy with precisely five fingers per hand

ポジティブフレームの利点は、モデルが「逆推論」を行う必要がなく、目指すべき状態を直接理解できるため、成功率が最も高い点にあります。

書き換える際は、「なぜ X を除外したいのか → 本当は何を求めているのか」という思考プロセスを辿るのがコツです。例えば「文字を入れたくない」という意図は、通常「画面をすっきりさせて注意を逸らしたくない」というものです。そのため、単に「no text」とするのではなく、「clean uncluttered composition with smooth empty borders(整理された清潔な構図)」と表現する方が意図が正確に伝わります。

2.2 方案二:自然言語による除外(セマンティックの柔軟性)

どうしてもポジティブな表現に変換できない場合は、withoutavoidexcludefree of といった表現を使って、自然言語としてプロンプトに組み込みます。

A serene mountain landscape at sunrise,
photorealistic style, golden hour lighting,
without any people, vehicles, or man-made structures,
free of text overlays, logos, or watermarks.

この手法のポイントは、除外条件を自然な文章の一部として組み込むことです。SD のようにカンマ区切りのキーワードリストにする必要はありません。モデルは「キーワードの羅列」よりも「自然言語による指示」に対してはるかに高い応答性を示します。

さらに、除外条件を**条件節(副詞句)**として記述すると、シーンとの関係性がより明確になります。例えば during golden hour with the streets completely cleared of vehicles とすれば、単なる without cars よりも「時間帯」「状態」「除外対象」の 3 つの情報が統合され、より一貫性のある画像が生成されます。

2.3 方案三:階層型ネガティブリストの埋め込み(システム化されたテンプレート向け)

チームやプロジェクト全体で統一した「品質基準」を維持したい場合は、よくある除外項目を分類し、プロンプトテンプレートの固定セクションとして使用します。

[メインの被写体説明]
[スタイルと構図の詳細]

Quality requirements:
The image must be sharp, well-exposed, and free of blur,
JPEG artifacts, watermarks, or visible text.

Anatomy requirements:
All people in the image must have accurate anatomy
with five fingers per hand, symmetrical features,
and natural proportions.

このような構造化されたテンプレートは再利用性が高く、EC サイトの素材やブランドデザインなど、品質基準の統一が求められるシーンに最適です。

手法 適したシーン 成功率 難易度
ポジティブフレーム書き換え 単発の創作、アートポスター ⭐⭐⭐⭐⭐ ⭐⭐⭐
自然言語による除外 複雑なシーン、柔軟な除外 ⭐⭐⭐⭐ ⭐⭐
階層型ネガティブリスト 大量生成、チームでの共有 ⭐⭐⭐⭐ ⭐⭐⭐⭐

🎯 手法の選び方: 単発の創作であれば、まずは方案一を試し、可能な限りネガティブな表現を使わないようにしましょう。大量生成を行う場合は、方案三を用いてチーム共通のプロンプトテンプレートを作成するのがおすすめです。APIYI (apiyi.com) を活用して、同一の被写体で 3 つの手法を比較テストすれば、わずか 10 分で業務に最適な書き方を見つけ出せるはずです。

三、Nano Banana Pro API 正确的 JSON payload 写法

理解了“为什么不能用 negativePrompt 字段”以及“应该怎么写”之后,接下来为您提供可直接复制的 API 调用代码。

3.1 错误 vs 正确的 JSON payload 对比

下面这段 JSON 直接对应文章开头的报错,是最典型的“从 SD 迁移过来”的错误写法:

// ❌ 错误:会触发 400 报错
{
  "contents": [{
    "parts": [{"text": "A cat sitting on a chair"}]
  }],
  "generationConfig": {
    "imageConfig": {
      "aspectRatio": "16:9",
      "negativePrompt": "blurry, low quality, extra fingers"
    }
  }
}

修正后正确的写法如下:

// ✅ 正确:把负面描述合并到 text 里
{
  "contents": [{
    "parts": [{
      "text": "A cat sitting on a chair, sharp focus, crisp details, high resolution, accurate anatomy with natural proportions"
    }]
  }],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {
      "aspectRatio": "16:9",
      "imageSize": "2K"
    }
  }
}

请注意三个关键改动:删除 negativePrompt 字段、将负面意图改写成正面描述并合并到 text 中、按需设置 imageSize 以控制分辨率。

3.2 Python SDK 调用示例

下面是用 OpenAI 兼容 SDK 通过 APIYI 中转调用 Nano Banana Pro 的最简代码:

from openai import OpenAI

client = OpenAI(
    api_key="your_api_key",
    base_url="https://vip.apiyi.com/v1"  # APIYI 中转地址
)

response = client.images.generate(
    model="gemini-3-pro-image-preview",
    prompt=(
        "A cat sitting on a wooden chair in a bright sunlit room, "
        "photorealistic style, sharp focus, crisp details, "
        "accurate feline anatomy with natural fur texture, "
        "clean background free of text or watermarks"
    ),
    size="1792x1024",  # 对应 16:9
)

整段调用没有任何 negative_prompt 参数,所有“我不想要”的表达都通过自然语言融入到了 prompt 中。

3.3 常见报错与对应修复速查

为了帮您快速排查类似错误,我们将高频报错整理成下表:

报错信息片段 根本原因 修复方案
Unknown name "negativePrompt" 字段不存在 删除字段,把负面描述写进 prompt
Unknown name "seed" Nano Banana Pro 不支持 seed 接受随机性,多次生成挑选
Unknown name "cfg_scale" 不支持 CFG 参数 用提示词强度词代替(如 "strictly photorealistic")
Invalid value at 'aspectRatio' 比例字符串拼写错误 检查使用 "16:9" 而非 "16×9"
image_config 字段无效 嵌套层级错误 确保 imageConfiggenerationConfig 下面

🎯 调试建议: 排查 400 错误时,建议先用最简 payload(只有 text)测试连通性,再逐步添加配置项。APIYI (apiyi.com) 提供完整的 Gemini 3 Pro Image 接口,调试体验比直连官方更稳定。

四、Nano Banana Pro 负面提示词的进阶优化技巧

掌握基础写法后,下面 4 个进阶技巧能让您的负面表达从“能用”提升到“专业级”。

nano-banana-pro-api-negative-prompt-guide-ja 图示

4.1 用具体描述替代抽象否定

模型对具体名词的理解远好于抽象形容词。对比这两种写法:

  • ❌ 模糊:high quality, not bad
  • ✅ 具体:shot on a Sony A7R IV, 35mm f/1.4 lens, ISO 100, sharp focus on subject, soft bokeh background

具体的器材参数、光圈、ISO、镜头焦段会触发模型对“专业摄影”的整套先验,远比写一万次 “high quality” 有效。

4.2 把“避免艺术风格”转成“指定艺术风格”

很多 SD 用户习惯写 not anime, not cartoon, not 3D 这类负面词,但在 Nano Banana Pro 上这种写法效果很差。正确做法是直接指定您想要的风格

  • 想要写实 → unstaged documentary photography style
  • 想要油画质感 → oil painting on textured canvas, visible brushstrokes
  • 想要纪实新闻感 → photojournalism style, candid moment, natural lighting

明确指定风格的描述强度会自动压制其他风格倾向,根本不需要写 “not X”。

4.3 善用结构化提示词模板

把复杂场景拆成结构化模板,让模型分层理解每一段意图:

SUBJECT: A young woman reading a book
SETTING: Cozy library with warm afternoon light
STYLE: Editorial photography, shot on Leica Q2
QUALITY: Sharp focus on subject, soft natural bokeh
EXCLUDE: No text, no watermarks, no other people in frame

这种结构化模板在 Nano Banana Pro 上的稳定性显著高于一段长文 prompt,特别是 EXCLUDE 段落作为最后的“硬约束”提醒效果非常好。

4.4 多轮迭代时保留排除指令

Nano Banana Pro 支持多轮编辑,但每一轮都需要重申完整的负面意图,否则模型很容易在后续编辑中重新引入您之前排除的元素。建议把排除指令保存为常量字符串,每次迭代都拼接进去。

进阶技巧 解决问题 效果提升
具体描述替代抽象否定 模型不理解抽象词
指定风格替代否定风格 负面风格词命中率低 极高
结构化提示词模板 长文 prompt 不稳定
多轮迭代重申排除 编辑后元素回归

nano-banana-pro-api-negative-prompt-guide-ja 图示

五、Nano Banana Pro 負面プロンプトに関するFAQ

5.1 negativePrompt フィールドは本当に存在しないのですか? 今後追加される予定はありますか?

現時点では、Google AI の公式ドキュメントおよび Vertex AI のドキュメントにおいて、image_config フィールドには aspectRatioimageSize の2つのみが記載されています。Google はブログやカンファレンス等で「独立した負面プロンプト(ネガティブプロンプト)フィールドは設けない」という製品方針を繰り返し表明しており、近い将来このフィールドが追加される可能性は極めて低いです。フィールドの追加を待つよりも、ポジティブな表現で構成するフレームワークに慣れることを強く推奨します。

5.2 Stable Diffusion(SD)時代に蓄積した負面プロンプトのリストは使えますか?

参考にはなりますが、Nano Banana Pro のプロンプトにそのまま貼り付けても機能しません。SD 時代の負面プロンプトを「品質系、解剖系、スタイル系、要素系」に分類し、本記事の第2節で紹介した手法を用いて、ポジティブな記述や自然言語による除外表現に書き換えることをお勧めします。

5.3 "no X" のような単純な否定は全く無効ですか?

完全に無効というわけではありませんが、ポジティブな記述に比べると効果は著しく劣ります。no cars といった短いフレーズの場合、Nano Banana Pro での反映率は約60〜70%程度ですが、empty deserted street with no traffic のように記述すると95%以上の精度で反映されます。結果の安定性を求めるなら、ポジティブなフレームワークを優先してください。

5.4 Nano Banana Pro を安定してテストできる環境はどこですか?

国内の開発者であれば、APIYI(apiyi.com)を通じて Nano Banana Pro を呼び出すことができます。モデルIDは gemini-3-pro-image-preview で、base_urlhttps://vip.apiyi.com/v1 に設定するだけで、プロキシ設定なしで利用可能です。同プラットフォームは Nano Banana Pro だけでなく他の主要な画像生成モデルもサポートしているため、負面プロンプトの処理におけるモデル間の違いを横断的に比較するのに最適です。

5.5 negativePrompt を generation_config のトップレベルや image_config 以外に置けば成功しますか?

いいえ、できません。generation_config のトップレベルや image_config の内部、あるいは contents.parts 内の独立したパーツとして配置しても、フィールドが存在しないというエラーが発生します。Nano Banana Pro のスキーマは厳格なホワイトリスト方式を採用しており、定義されていないフィールドはすべて拒否されます。

5.6 negativePrompt がないということは、seed や cfg_scale といったパラメータもないのでしょうか?

その通りです。Nano Banana Pro の調整可能なパラメータは非常にシンプルで、aspectRatioimageSize のみです。これは製品としての割り切りであり、Google は開発者がハイパーパラメータの調整に時間を費やすのではなく、より優れた自然言語プロンプトの作成に注力することを求めています。慣れは必要ですが、適応してしまえばプロンプトエンジニアリングの可読性と再利用性は大幅に向上します。

5.7 日本語で除外指示を書いた場合、モデルは認識しますか?

認識は可能ですが、英語に比べると安定性は劣ります。Nano Banana Pro の学習データにおいて英語の比重が高いため、「文字や透かしを入れないで」といった指示は多くの場合機能しますが、無視されることもあります。高い安定性を求める場合は、日本語のプロンプトの中に英語の負面フレーズを混ぜる(例:「きれいな背景、free of text and watermarks」)と、純粋な日本語のみの場合よりも反映率が15%ほど向上します。

5.8 画像編集時、モデルが意図しない要素を追加しないようにするには?

編集モードでは「明示的な保持 + 明示的な除外」という二重の制約をかける書き方が推奨されます。まず keep everything else identical, including [保持したい要素リスト] で維持すべき内容を固定し、次に make sure not to introduce [除外したい要素リスト] で明示的に排除します。この2つの制約を組み合わせることで、編集結果の制御性が飛躍的に高まります。これはブランドビジュアルの更新や、キャラクターの一貫性維持などのシーンで特に有効です。

六、まとめ:Nano Banana Pro 負面プロンプトの核心的なメンタルモデル

冒頭のエラーメッセージ Unknown name "negativePrompt" はバグではなく、Nano Banana Pro の製品設計です。このモデルは、いかなる形式の独立した負面プロンプトフィールドも受け付けません。 「何を表示したくないか」という意図は、すべて自然言語としてメインのプロンプトに組み込む必要があります。

以下の3つの核心原則を覚えておいてください:

  1. ポジティブなフレームワークを優先: "no cars" よりも "empty street" と書く方がはるかに効果的です。可能な限り書き換えましょう。
  2. 負面指示は自然言語で: プロンプト内で withoutfree ofavoid といった自然な接続詞を使用します。SD スタイルのカンマ区切りのキーワードリストは避けましょう。
  3. 構造化テンプレートの再利用: チームでの開発では、「品質、解剖、要素」の3つの除外項目をテンプレート化し、必要に応じて組み合わせて再利用します。

🎯 次のアクション: 現在使用している SD 用の負面プロンプトリストを、本記事で紹介した3つの手法で書き換え、APIYI(apiyi.com)上で同一の被写体を使って比較テストを行ってください。あなた自身のビジネスシーンに最適な Nano Banana Pro 用のプロンプトライブラリを構築しましょう。

Nano Banana Pro の「負面プロンプトフィールドなし」という設計は、最初は戸惑うかもしれません。しかし、使い込むほどに「より正確な自然言語ですべての意図を表現する」というこのモデルのスタイルこそが、マルチモーダル生成モデルの未来の方向性であることが理解できるはずです。このメンタルモデルへの移行を早めることで、モデルの持つ真の能力を最大限に引き出せるようになります。

最後に強調したいのは、あの「400エラー」は Google からの「親切なヒント」だということです。それは「前の世代のワークフローをそのまま持ち込もうとせず、私の入力インターフェースを理解してほしい」というメッセージです。このエラーを学習の障害ではなく出発点と捉えれば、Nano Banana Pro のプロンプトエンジニアリングが SD よりもシンプルで、読みやすく、デザインのコミュニケーションそのものに近い言語であることに気づくはずです。


著者: APIYI 技術チーム
対応プラットフォーム: APIYI (apiyi.com) Nano Banana Pro (gemini-3-pro-image-preview) インターフェース

類似投稿