Skip to main content
被內容安全攔下,不等於提示詞寫了違規內容。更常見的情況是:提示詞裡某一個詞把「成圖」推過了稽核線,而你自己讀提示詞根本看不出問題。本文用一個真實客戶案例,講清攔截髮生在哪一層、網頁版為什麼能過、moderation: low 為什麼沒用,以及一套 20 次呼叫就能定位觸發詞的方法。

案例復盤:網頁版能出、API 報 sexual

客戶用 gpt-image-2.5-sunburst 生成一張角色設定圖(左側臉部特寫、右側正面 / 側面 / 背面三檢視)。請求體:
API 穩定返回 400:
客戶的反饋很有代表性:
我理解是內容安全,但我在 ChatGPT 網頁版又能成功,你得告訴我,為啥網頁版能成。
提示詞裡沒有任何露骨內容,只是「美豔女主 + 三檢視 + 純白背景」。這類「我沒寫什麼卻被攔」的工單,排查思路和「我寫了什麼被攔」完全不同。

先分清攔截髮生在哪一層

出圖模型的內容安全有兩道關,觸發的層不同,排查方法也不同: 判據就看耗時。本案例失敗請求耗時 42 到 51 秒,成功請求 46 到 57 秒,兩者沒有區別,說明圖已經生成完了,是輸出側分類器判了 sexual。後面的消融實驗也印證了這一點:同一句提示詞跑 3 次,出現過 1 過 2 拒。
提示詞層攔截和引數錯誤一樣幾乎秒回。如果你的 400 等了半分鐘以上才來,先按「輸出層攔截」來查,別急著刪提示詞裡的詞。

為什麼網頁版能成

這和 如何生成滿意的圖片 裡講的是同一件事:網頁版是 Agent,API 是單次原子呼叫
  • ChatGPT 網頁版不會把你這段話原樣餵給出圖模型。中間的對話模型會先改寫、擴充提示詞,通常會自己補上服裝、場景、光線等細節。等於替你做了下文「加服裝」那一步。
  • API 是原文直達。你沒寫穿什麼,模型就自由發揮;在「美豔 + 全身三檢視 + 純白背景」這個組合下,它傾向畫成貼身或少衣的角色設定圖,成圖就容易越線。
  • 再疊加輸出層稽核本身的隨機性,網頁版跑一次成功、API 跑一次失敗並不矛盾。
所以「網頁版能過」不能推出「API 稽核更嚴」,兩條鏈路送進模型的提示詞根本不是同一段。

分詞消融法:一次只動一個詞

提示詞裡有十幾個形容詞和構圖約束,靠猜哪個詞有問題效率很低。有效的辦法是消融:每次只刪或替換一個詞塊,其餘一字不動,看哪一次結果翻轉。
1

列出可疑詞塊

分三類:人物形容詞(美豔、性感、嫵媚……)、身體相關動詞(露出、展示、貼身……)、構圖約束(全身、三檢視、純白背景……)。構圖約束單獨看沒問題,但會和形容詞組合出效果。
2

每次只動一個詞塊

刪掉或換成中性詞,其餘原樣。同時也跑一組「不動詞、只加約束」的變體,比如給人物加一句明確的服裝描述。
3

翻轉後迴歸 2 到 3 次

輸出層攔截有隨機性,單次通過不算數。命中的變體至少再跑 2 次,全過才算找到。
4

取最小改動

目標不是「能過」,而是「改意最小地能過」。優先選不動原詞、只加約束的方案。
變體之間互不依賴,並行跑。本案例 6 個變體一批發出,50 秒左右全部返回;序列等要五分鐘。
本案例的完整消融記錄(共 20 次呼叫,同尺寸同 quality): 從表裡能直接讀出三件事:觸發詞是「美豔」(刪「媽感」沒用、刪「美豔」就過);「露出」不是原因;「面容精緻」那組 1 過 2 拒,證明稽核物件是每次都不同的成圖而不是文本。

結論與推薦改法

觸發機制:「美豔」讓模型把人物往性感方向渲染,「全身三檢視 + 純白背景」又是典型的設定圖構圖,兩者疊加,成圖容易被輸出側分類器判為 sexual。提示詞本身沒有一個字違規。 推薦改法:保留全部原文,只在人物描述後加一句明確的服裝。實測 3/3 通過,人物氣質和構圖都和原意一致:
歐美女性角色設定圖,左側臉部特寫,右側正面、側面、背面三檢視,人物著米色高領針織衫與深色長褲,純白背景

同一段提示詞,只加了一句服裝描述:3 次呼叫全部通過,臉部特寫與正 / 側 / 背三檢視按要求出齊

服裝換成任何得體的日常裝都可以,關鍵是要寫,不要留給模型自己決定。 備選改法:把「美豔」換成「成熟優雅」,同樣 3/3 通過,但臉部氣質會偏溫和,離原意遠一些。

moderation: low 為什麼沒用

moderation 引數(見 文生圖參數列)取值 auto / low,作用是降低提示詞側的稽核強度。本案例傳了 low 照樣 400,因為攔截髮生在輸出層,這個引數管不到成圖的 sexual 分類。 在閘道之外無法區分「引數沒透傳」和「引數透傳了但不生效」,但對結論沒有影響:遇到輸出層攔截,改引數沒用,得改提示詞

通用排查清單

秒回是提示詞層,等了和正常出圖差不多的時間是輸出層。前者刪明顯違規詞;後者用分詞消融法找「推過線」的那個詞,並接受同一提示詞會有隨機性。
人物類提示詞只寫氣質、不寫服裝,是輸出層攔截最常見的來源。加一句明確的服裝描述,往往一步就解決,而且不動原意。
同時改三個詞,過了也不知道是哪個起作用,下次換個提示詞又要從頭猜。每次只動一個詞塊,命中後迴歸 2 到 3 次。
按 token 計費的 gpt-image 系列觸發稽核返回 400 時不計費,口徑見 gpt-image-2 常見問題「生成失敗會扣費嗎」。所以消融實驗本身不花錢,只花時間。

速查總結

  • 看耗時判層級:400 秒回是提示詞層;等了和出圖一樣久才 400,是成圖被輸出層分類器攔下。
  • 輸出層攔截有隨機性:同一提示詞時過時不過,單次結果不能下結論,要回歸 2 到 3 次。
  • 網頁版能過不代表 API 更嚴:網頁版會先改寫擴充提示詞(補服裝、場景),API 是原文直達。
  • 分詞消融法:一次只動一個詞塊,並行跑變體,取改意最小的方案。本案例觸發詞是「美豔」。
  • 人物提示詞寫清服裝:只加一句服裝描述、其餘不動,實測 3/3 通過;moderation: low 對輸出層攔截無效。

相關文件