影像生成技能
為當前專案產生或編輯影像(例如網站素材、遊戲素材、UI 模型、產品模型、線框圖、標誌設計、寫實影像或資訊圖表)。
頂層模式與規則
此技能有兩個頂層模式:
- 預設內建工具模式(首選): 使用內建
image_gen工具進行影像生成、編輯和透明背景請求。不需要OPENAI_API_KEY。 - 備用 CLI 模式:
scripts/image_gen.pyCLI。當使用者明確要求或確認使用 CLI/API/模型路徑時使用。需要OPENAI_API_KEY。
在 CLI 備用模式中,CLI 提供三個子命令:
generateeditgenerate-batch
規則:
- 對於一般的影像生成和編輯請求,預設使用內建
image_gen工具。 - 不要為了普通的品質、尺寸或檔案路徑控制而切換到 CLI 備用模式。
- 對於透明背景影像,要求內建
image_gen工具產出透明背景並保留生成的 alpha 通道。 - 在未經使用者詢問前,切勿從內建
image_gen或 CLIgpt-image-2默默切換到 CLIgpt-image-1.5,除非使用者明確要求gpt-image-1.5。 batch一詞本身並不代表要使用 CLI 備用模式。如果使用者要求大量素材或表示要批次生成素材,但沒有明確要求 CLI/API/模型控制,則應維持內建路徑,並為每個要求的素材或變體發起一次內建呼叫。- 如果內建工具失敗或不可用,請告知使用者有 CLI 備用模式,且需要
OPENAI_API_KEY。僅在使用者明確要求該備用模式時才繼續進行。 - 如果使用者明確要求 CLI 模式,請使用捆綁的
scripts/image_gen.py工作流程,不要建立臨時的 SDK 執行器。 - 切勿修改
scripts/image_gen.py。如果缺少某些功能,請先詢問使用者再做其他事情。
內建儲存路徑政策:
- 在內建工具模式下,Codex 預設會將生成的影像儲存在
$CODEX_HOME/*下。 - 請勿描述或依賴 OS 暫存作為預設的內建目的地。
- 請勿描述或依賴內建
image_gen工具上的目的路徑引數(如果有的話)。如果需要特定位置,請先生成,再從$CODEX_HOME/generated_images/...移動或複製選定的輸出。 - 內建模式下的儲存路徑優先順序:
- 如果使用者指定了目的地,請將選定的輸出移動或複製到該處。
- 如果影像是為當前專案製作的,請在完成前將最終選定的影像移動或複製到工作區中。
- 如果影像僅用於預覽或腦力激盪,請在對話中內嵌顯示;底層檔案可以保留在預設的
$CODEX_HOME/*路徑。
- 切勿將專案引用的素材僅保留在預設的
$CODEX_HOME/*路徑。 - 除非使用者明確要求取代,否則不要覆蓋現有素材;否則應建立帶有版本號的姊妹檔名,例如
hero-v2.png或item-icon-edited.png。
兩種模式共用的提示詞指導原則存放在 references/prompting.md 和 references/sample-prompts.md。
僅限備用模式的 CLI 文件/資源:
references/cli.mdreferences/image-api.mdreferences/codex-network.mdscripts/image_gen.py
使用時機
- 產生新影像(概念藝術、產品照、封面、網站主視覺)
- 使用一張或多張參考影像來產生新影像(用於風格、構圖或氛圍)
- 編輯現有影像(內繪修復、燈光或天氣轉換、背景替換、物件移除、合成、透明背景)
- 為一個任務產出大量素材或變體
不使用時機
- 擴充或對齊儲存庫內現有的 SVG/向量圖示集、標誌系統或插圖庫
- 建立簡單形狀、圖表、線框圖或圖示,這些更適合直接以 SVG、HTML/CSS 或 Canvas 產生
- 對已存在可編輯原生格式的原始檔進行小型專案本地素材編輯
- 任何使用者明確需要確定性程式碼原生輸出而非生成點陣圖的任務
決策樹
思考兩個獨立的問題:
- 意圖: 這是新影像還是對現有影像的編輯?
- 執行策略: 這是單一素材還是多個素材/變體?
意圖:
- 如果使用者想要修改現有影像同時保留其部分內容,將請求視為 編輯。
- 如果使用者僅提供影像作為風格、構圖、氛圍或主題的參考,將請求視為 生成。
- 如果使用者未提供任何影像,將請求視為 生成。
內建編輯語義:
- 內建編輯模式適用於對話上下文中已可見的影像,例如附加的影像或稍早在對話串中生成的影像。
- 如果使用者想要使用內建工具編輯本地影像檔案,請先使用內建
view_image工具載入該影像,使其在對話上下文中可見,然後再進行內建編輯流程。 - 請勿承諾透過內建工具進行任意的檔案系統路徑編輯。
- 如果本地檔案仍然需要直接的檔案路徑控制、遮罩或其他明確的僅 CLI 參數,僅在使用者要求時才使用明確的 CLI 備用模式。
- 對於編輯,請積極保留不變項,並預設以非破壞性方式儲存。
執行策略:
- 在內建預設路徑中,透過為每個要求的素材或變體發起一次
image_gen呼叫來產出大量素材或變體。 - 在 CLI 備用路徑中,僅在使用者明確選擇 CLI 模式且需要大量提示詞/素材時,才使用 CLI
generate-batch子命令。 - 對於許多不同的素材,請勿使用
n作為獨立提示詞的替代品。n用於一個提示詞的變體;不同的素材需要不同的內建呼叫或不同的 CLIgenerate-batch任務。
除非使用者清楚要求更改現有影像,否則預設使用者想要新影像。
工作流程
- 決定頂層模式:預設使用內建模式(包括透明輸出請求);僅在使用者明確要求或確認時才使用備用 CLI。
- 決定意圖:
generate或edit。 - 決定輸出僅供預覽還是要供當前專案使用。
- 決定執行策略:單一素材、重複內建呼叫或 CLI
generate-batch。 - 事先收集輸入:提示詞、確切文字(逐字)、限制/避免清單以及任何輸入影像。
- 對於每個輸入影像,明確標記其角色:
- 參考影像
- 編輯目標
- 支援插入/風格/合成的輸入
- 如果編輯目標僅在本地檔案系統上,且您要維持內建路徑,請先使用
view_image檢查該影像,以便影像在對話上下文中可用。 - 如果使用者要求照片、插圖、精靈圖、產品圖片、橫幅或其他明確的點陣圖風格素材,請使用
image_gen,而不是用 SVG/HTML/CSS 佔位符替代。如果請求是圖示、標誌或 UI 圖形,且應與現有儲存庫原生的 SVG/向量/程式碼素材匹配,則優先直接編輯這些素材。 - 根據具體程度增強提示詞:
- 如果使用者的提示詞已經具體且詳細,請將其標準化為清晰的規格,但不要添加創意性要求。
- 如果使用者的提示詞較為通用,僅在能實質改善輸出品質時,才能有品味地進行增強。
- 預設使用內建
image_gen工具。 - 對於透明輸出請求,要求內建
image_gen工具產出透明背景並保留生成的 alpha 通道。 - 檢查輸出並驗證:主體、風格、構圖、文字準確性以及不變項/避免項目。
- 以單一有針對性的變更進行迭代,然後重新檢查。
- 對於僅供預覽的工作,在對話中內嵌顯示影像;底層檔案可以保留在預設的
$CODEX_HOME/generated_images/...路徑。 - 對於專案相關的工作,將選定的成品移動或複製到工作區,並更新任何使用該素材的程式碼或參考。切勿將專案引用的素材僅保留在預設的
$CODEX_HOME/generated_images/...路徑。 - 對於批次或多素材請求,除非使用者明確要求僅保留輸出供預覽,否則將每個請求的交付成果最終版本保留在工作區中。除非要求,否則不需要保留已捨棄的變體。
- 如果使用者明確選擇或確認使用 CLI 備用模式,則使用僅限備用的文件來設定模型、品質、尺寸、
input_fidelity、遮罩、輸出格式、輸出路徑和網路設定。 - 始終報告任何繫結到工作區的素材的最終儲存路徑,以及最終的提示詞或提示詞集合,以及使用的是內建工具還是備用 CLI 模式。
透明背景影像請求
要求內建 image_gen 工具產出真正的透明背景並保留其 alpha 通道。
提示詞增強
將使用者提示詞重新格式化為結構化的、面向生產的規格。讓使用者的目標更清晰、更可操作,但不要盲目添加細節。
將此視為提示詞塑形指導,而不是封閉的 Schema。僅使用有幫助的行,並在能實質提升清晰度時,添加一個簡短的額外標籤行。
具體程度政策
根據使用者提示詞的具體程度來決定合適的增強程度:
- 如果提示詞已經具體且詳細,請保留該具體程度,僅進行標準化/結構化。
- 如果提示詞較為通用,您可以在能實質改善結果時,有品味地進行增強。
允許的增強:
- 構圖或取景提示
- 精緻程度或預期用途提示
- 實用佈局指導
- 能支持所述請求的合理場景具體化
不允許的增強:
- 請求中未暗示的額外角色或物件
- 未暗示的品牌名稱、口號、調色板或敘事節奏
- 除非周圍佈局支持,否則不能任意指定側邊位置
使用案例分類法(確切 Slug)
將每個請求分類到以下一個類別中,並在提示詞和參考文件中保持 Slug 一致。
生成:
- photorealistic-natural — 具有真實紋理和自然光線的寫實/編輯風格生活場景。
- product-mockup — 產品/包裝照、型錄意象、商品概念。
- ui-mockup — 應用程式/網頁介面模型和線框圖;指定所需的保真度。
- infographic-diagram — 具有結構化佈局和文字的圖表/資訊圖表。
- scientific-educational — 課堂解說、科學圖表和學習視覺,需要標籤和準確性限制。
- ads-marketing — 行銷活動概念和廣告創意,包含受眾、品牌定位、場景和確切標語/文案。
- productivity-visual — 投影片、圖表、工作流程和數據密集的商業視覺。
- logo-brand — 標誌/品牌探索,向量友善。
- illustration-story — 漫畫、兒童繪本藝術、敘事場景。
- stylized-concept — 風格驅動的概念藝術、3D/風格化渲染。
- historical-scene — 符合時代背景/世界知識的場景。
編輯:
- text-localization — 翻譯/取代影像中的文字,保留佈局。
- identity-preserve — 虛擬試穿、人物融入場景;鎖定臉部/身體/姿勢。
- precise-object-edit — 移除/取代特定元素(包括內部替換)。
- lighting-weather — 僅更改時間/季節/氛圍。
- background-extraction — 透明背景/乾淨去背。要求內建
image_gen工具產出真正的透明度。 - style-transfer — 在改變主體/場景的同時套用參考風格。
- compositing — 多影像插入/合併,並匹配光線/透視。
- sketch-to-render — 素描/線稿轉寫實渲染。
共享提示詞 Schema
使用以下標籤化規格作為兩個頂層模式的共享提示詞 Scaffold:
Use case: <taxonomy slug>
Asset type: <資產將用於何處>
Primary request: <使用者的主要提示>
Input images: <Image 1: role; Image 2: role> (optional)
Scene/backdrop: <環境>
Subject: <主要主體>
Style/medium: <photo/illustration/3D/etc>
Composition/framing: <wide/close/top-down; placement>
Lighting/mood: <光線 + 氛圍>
Color palette: <調色板說明>
Materials/textures: <表面細節>
Text (verbatim): "<確切文字>"
Constraints: <必須保留/必須避免>
Avoid: <負面限制>
備註:
Asset type和Input images是提示詞 Scaffold,不是專用的 CLI 標誌。Scene/backdrop指的是視覺設定。它與備用 CLI 的background參數不同,後者控制輸出透明度行為。- 僅限備用模式的執行說明,例如
Quality:、Input fidelity:、遮罩、輸出格式和輸出路徑,僅屬於 CLI 路徑。請勿將其視為內建image_gen工具的引數。
增強規則:
- 保持簡潔。
- 僅添加能實質改善提示詞所需的細節。
- 對於編輯,明確列出不變項(
僅更改 X;保持 Y 不變)。 - 如果缺少任何關鍵細節且會阻礙成功,請提出問題;否則繼續進行。
範例
生成範例(主視覺影像)
Use case: product-mockup
Asset type: 著陸頁主視覺
Primary request: 一個極簡的陶瓷咖啡杯主視覺影像
Style/medium: 乾淨的產品攝影
Composition/framing: 寬構圖,如有需要可保留可用的負空間供頁面文案使用
Lighting/mood: 柔和的工作室光線
Constraints: 無標誌、無文字、無浮水印
編輯範例(不變項)
Use case: precise-object-edit
Asset type: 產品照片背景替換
Primary request: 僅將背景替換為溫暖的日落漸層
Constraints: 僅更改背景;保持產品及其邊緣不變;無文字;無浮水印
提示詞最佳實踐
- 將提示詞結構化為:場景/背景 -> 主體 -> 細節 -> 限制。
- 包含預期用途(廣告、UI 模型、資訊圖表)以設定模式和精緻程度。
- 對於寫實風格,使用相機/構圖語言。
- 僅在使用者明確要求向量輸出或非影像佔位符時,才使用 SVG/向量替代品。
- 引用確切文字並指定字體排印學和放置位置。
- 對於棘手的工作,使用否定提示詞。