| |

Nano Banana Pro API 負面提示詞正確寫法:3 種方案徹底告別 negativePrompt 報錯

很多從 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-zh-hant 图示

答案是第三種:Nano Banana Pro(即 Gemini 3 Pro Image Preview)在設計上完全不存在獨立的 negativePrompt 字段,所有"我不想要什麼"的表達都必須直接寫進主提示詞的文本里。本文基於 Google 官方文檔與 Nano Banana 提示詞指南,系統拆解這個錯誤的根因,給出 3 種官方推薦的負面提示詞寫法、完整的 API 調用代碼,並結合 API易 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.

逐段拆解能看出三個關鍵信息:

  • Invalid JSON payload:服務端在解析 JSON 時直接拒絕,請求都沒進入推理階段。
  • Unknown name "negativePrompt":字段名在 schema 里根本不存在,不是大小寫問題,也不是嵌套位置問題。
  • at 'generation_config.image_config':你試圖把它放在了 generation_config.image_config 下面,但這個對象只接受官方白名單字段。

換句話說,這不是"參數錯誤",而是"參數不存在"。在 Nano Banana Pro 的 API schema 裏,根本就沒有爲負面提示詞預留任何字段。

1.2 官方 image_config 完整字段白名單

根據 Google AI 官方文檔,Gemini 3 Pro Image Preview 的 image_config 對象只接受兩個字段,任何其他字段都會觸發 400 報錯:

字段名 類型 取值 作用
aspectRatio string "1:1" / "16:9" / "4:3" / "21:9" 輸出圖片的寬高比
imageSize string "512" / "1K" / "2K" / "4K" 輸出分辨率檔位

這個白名單非常短,沒有 negativePrompt、沒有 seed、沒有 cfg_scale、沒有 sampler。Google 在 Nano Banana 系列上做了刻意的極簡設計——他們認爲應該讓模型理解自然語言,而不是讓用戶去拼湊一堆超參數。

1.3 設計哲學:爲什麼 Google 拒絕引入 negativePrompt

Stable Diffusion 系的負面提示詞機制源自 CFG(Classifier-Free Guidance)的雙向引導,本質上是用一個獨立向量去"反向引導"擴散過程。Gemini 系列採用的多模態推理生成路徑與擴散模型架構不同,模型直接把整段自然語言作爲輸入做語義理解,再輸出圖像 token,沒有"兩個向量分別引導"的環節。

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 的世界觀裏,正面描述遠比負面描述高效。這不是技術限制,而是產品哲學。

從工程角度看,擴散模型做負面引導時本質上是在做"兩次推理、向量相減"的額外計算,而 Gemini 的多模態架構是端到端的語義理解,沒有可減的反向向量;硬塞一個 negativePrompt 字段不僅會破壞 schema 一致性,還會讓普通用戶誤以爲它真的會觸發某種"負向引導",反而把 prompt 工程引向歧路。Google 選擇用一個明確的報錯把這條路徹底封死,強制開發者回到自然語言層面表達全部意圖。

🎯 理解建議: 如果你已經習慣了 SD 的負面詞工作流,遷移到 Nano Banana Pro 時建議先在 API易 apiyi.com 上跑幾張對比圖,親自體會"正面描述"和"負面描述"在這個模型上的實際效果差距,再決定怎麼改寫存量 prompt。

二、Nano Banana Pro 負面提示詞的 3 種正確寫法

雖然沒有獨立字段,但負面表達本身完全可以放在主提示詞文本里。下面三種方案是從 Google 官方文檔與社區實測經驗中提煉出的高頻可複用方案。

nano-banana-pro-api-negative-prompt-guide-zh-hant 图示

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 → 我真正想要的是什麼"的思考路徑。例如"不要文字"的真實意圖通常是"畫面要乾淨不分散注意力",那麼對應的正面描述就應該是 "clean uncluttered composition with smooth empty borders",而不是字面翻譯成 "no text"。這種"意圖回溯"纔是正面框架的精髓所在。

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 更精準——它同時表達了時間、狀態、排除項三層信息,模型能據此構建更一致的畫面。

2.3 方案三:分級負面詞清單嵌入法(適合系統化模板)

如果你需要爲整個團隊或產品維護統一的"質量底線",可以把常用排除項分類整理,然後作爲提示詞模板的固定段落使用:

[Main subject description]
[Style and composition details]

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.

這種結構化的負面詞模板可以批量複用,特別適合電商素材、品牌設計等需要統一質量標準的場景。

方案 適用場景 命中率 寫作難度
正面框架重寫 單張創作、藝術海報 ⭐⭐⭐⭐⭐ ⭐⭐⭐
自然語言排除 複雜場景、靈活排除 ⭐⭐⭐⭐ ⭐⭐
分級負面詞清單 批量出圖、團隊複用 ⭐⭐⭐⭐ ⭐⭐⭐⭐

🎯 方案選擇建議: 單張創作優先用方案一,能不寫負面詞就不寫;批量出圖建議用方案三建立團隊級 prompt 模板。建議在 API易 apiyi.com 上對同一主體跑三種方案的對比測試,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 通過 API易中轉調用 Nano Banana Pro 的最簡代碼:

from openai import OpenAI

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

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)測試連通性,再逐步加配置項。API易 apiyi.com 提供完整的 Gemini 3 Pro Image 接口,調試體驗比直連官方更穩定。

四、Nano Banana Pro 負面提示詞的進階優化技巧

掌握基礎寫法後,下面 4 個進階技巧能讓你的負面表達從"能用"提升到"專業級"。

nano-banana-pro-api-negative-prompt-guide-zh-hant 图示

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-zh-hant 图示

五、Nano Banana Pro 負面提示詞常見問題 FAQ

5.1 真的完全沒有 negativePrompt 字段嗎?以後會加嗎?

截至目前,Google AI 官方文檔和 Vertex AI 文檔都明確只列出 aspectRatioimageSize 兩個 image_config 字段。Google 多次在博客和會議中表達過"反對獨立負面詞字段"的產品立場,短期內加入這個字段的可能性極低。建議直接擁抱正面框架寫法,而不是等待。

5.2 SD 時代積累的負面詞清單還能用嗎?

可以作爲參考,但不能直接粘貼到 Nano Banana Pro 的 prompt 裏。建議把 SD 負面詞按"質量類、解剖類、風格類、元素類"分類,然後用本文第二節的方法分別改寫成正面描述或自然語言排除。

5.3 用 "no X" 這種簡單否定真的完全無效嗎?

不是完全無效,但效果遠不如正面描述。no cars 這種短語在 Nano Banana Pro 上有約 60-70% 的命中率,而 empty deserted street with no traffic 的命中率能達到 95% 以上。如果對結果穩定性要求高,建議優先用正面框架。

5.4 在哪裏能穩定調用 Nano Banana Pro 測試這些寫法?

國內開發者可以通過 API易 apiyi.com 調用 Nano Banana Pro,模型 ID 爲 gemini-3-pro-image-preview,base_url 替換爲 https://vip.apiyi.com/v1 即可,無需配置代理。該平臺同時支持 Nano Banana Pro 與其他主流圖像模型,方便橫向對比不同模型對負面表達的處理差異。

5.5 調用時把 negativePrompt 放在 generation_config 頂層而不是 image_config 下能成功嗎?

不能。無論放在 generation_config 頂層、image_config 下、contents.parts 裏作爲獨立 part,都會觸發字段不存在的報錯。Nano Banana Pro 的 schema 是嚴格白名單制,未列出的字段一律拒絕。

5.6 既然沒有 negativePrompt,那 seed、cfg_scale 這些參數也都沒有嗎?

確實都沒有。Nano Banana Pro 的可調參數極簡,只有 aspectRatioimageSize。這是一個產品取捨——Google 希望開發者把精力花在寫更好的自然語言 prompt 上,而不是調超參數。習慣需要時間,但一旦適應,prompt 工程的可讀性和複用性反而會顯著提升。

5.7 用中文寫排除指令模型能識別嗎?

可以識別,但穩定性不如英文。Nano Banana Pro 的訓練語料中英文權重明顯更高,寫 "不要出現文字水印" 在大多數情況下能生效,但偶爾會被忽略。如果對穩定性要求高,建議在中文 prompt 中混入英文負面短語,例如 "乾淨背景,free of text and watermarks",混合寫法的命中率比純中文高 15% 左右。

5.8 編輯現有圖片時,如何防止模型在編輯過程中加入不想要的元素?

編輯模式下建議使用"顯式保留 + 顯式排除"的雙約束寫法:先用 keep everything else identical, including [關鍵元素列表] 鎖定要保留的內容,再用 make sure not to introduce [排除元素列表] 顯式排除。兩段約束同時存在時,編輯結果的可控性會顯著提升。這種寫法在做品牌視覺迭代、角色一致性維護等場景特別有用。

六、總結:Nano Banana Pro 負面提示詞的核心心智模型

回到開頭的報錯:Unknown name "negativePrompt" 不是 bug,是 Nano Banana Pro 的產品設計——這個模型不接受任何形式的獨立負面提示詞字段,所有"我不想要什麼"的意圖必須用自然語言寫進主提示詞。

記住三條核心原則就夠了:

  1. 優先正面框架: "empty street" 遠好於 "no cars",能改寫就改寫。
  2. 必須負面時用自然語言: 在 prompt 內用 withoutfree ofavoid 等自然連接詞,避免 SD 風格的逗號關鍵詞列表。
  3. 結構化模板複用: 團隊場景把"質量、解剖、元素"三類排除項做成模板段落,每次拼接複用。

🎯 下一步行動: 把你現有的 SD 負面詞清單按本文第二節的三種方案各改寫一版,在 API易 apiyi.com 上跑同一主體的對比測試,建立屬於你自己業務場景的 Nano Banana Pro 負面詞寫法庫。

Nano Banana Pro 的"無負面詞字段"設計一開始讓人不適應,但深入使用之後會發現,這種"用更精準的自然語言表達全部意圖"的模式纔是多模態生成模型未來的方向。早一點完成心智模型的遷移,就能早一點用上這個模型最強的能力。

最後還想強調一點:那段 400 報錯信息其實是 Google 的"善意提示"——它在用最直接的方式告訴你"請不要把上一代模型的工作流硬搬過來,去理解我的真實輸入接口"。把這條報錯當成學習這個新模型的起點而非阻礙,你會發現 Nano Banana Pro 的 prompt 工程其實比 SD 更簡單、更可讀、也更接近設計溝通本身的語言。


作者: APIYI 技術團隊
適用平臺: API易 apiyi.com Nano Banana Pro (gemini-3-pro-image-preview) 接口

Similar Posts