Community影像github.com

shaharsha/image-generation

產生標誌、圖示、UI 模型、主視覺、產品照等設計素材,使用 OpenAI GPT Image 2.5(Sunburst、Flare)或 Google Gemini(Nano Banana 2、Nano Banana Pro、Nano Banana 2 Lite)。當使用者要求建立、設計、生成、打樣、渲染或說明視覺素材、需要透明 PNG,或要求圖片提示工程時使用。

image-generation 是什麼?

這個技能讓 AI 代理能夠根據使用者的需求,自動選擇最合適的圖片生成模型(OpenAI GPT Image 2.5 系列或 Google Gemini 系列),並針對該模型遵循其官方提示規則來撰寫精準的提示詞。它涵蓋了從快速草稿(使用 Flare 或 Gemini Lite)到高品質最終成品(使用 Sunburst Max 或 Gemini Pro)的完整工作流程,並內建了智慧模型選擇邏輯、透明背景支援、疊代自我修正迴圈,以及角色與故事面板等進階功能。此技能支援 macOS、Linux 及 Windows 等平台,並透過 Shell 腳本呼叫 API。

相容平台✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/shaharsha/claude-skills/tree/HEAD/skills/image-generation

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

圖片生成

兩個模型家族,三項任務。

涵蓋的模型

模型 ID家族用途費用 (1024×1536,2026-10-02 測量)
gpt-image-2.5-sunburstOpenAI(Images 2.5,2026-09-08)預設。 任何可能上線的設計。每個主要排行榜(生成、編輯、文字渲染、人像)都排名第一max ≈ $0.165,~90 秒 · high ≈ $0.041,~35 秒
gpt-image-2.5-flareOpenAI(Images 2.5)快速草稿 — 探索方向、測試提示。與 Sunburst 使用相同提示,速度快約 2 倍medium ≈ $0.01,~15 秒
gemini-3-pro-imageGoogle(Nano Banana Pro)投票與評審意見分歧時的近距離自然肌膚/髮絲;最多 14 張參考圖$0.134(1K/2K)· $0.24(4K)
gemini-3.1-flash-imageGoogle(Nano Banana 2)極端長寬比 (1:4…8:1)、圖片搜尋接地$0.067(1K)
gemini-3.1-flash-lite-imageGoogle(Nano Banana 2 Lite)最便宜的 Gemini 探索;僅 1K,回傳 JPEG$0.034

gpt-image-2 仍然可用(未棄用),但效能低於兩個 2.5 模型。Gemini *-preview ID 以及所有 Imagen 模型皆已關閉 — 腳本會拒絕使用它們。

本技能的三項任務

  1. 挑選模型與品質 以符合素材需求。請參閱 reference/model-selection.md。
  2. 撰寫提示 遵循該模型的內部規則。兩家供應商的要求完全相反:
    • OpenAI GPT Image 2.5 要求有標籤的章節(場景 / 主體 / 細節 / 限制條件),確切的文字放在引號內,並接受行內排除條件("不要額外文字,不要浮水印")。請閱讀 reference/openai-gpt-image.md。
    • Gemini 要求敘述性段落,負面表述會適得其反(將 "無人物" 改寫為 "空蕩蕩的街道"),長寬比放在 imageConfig 中。請閱讀 reference/gemini-image.md。
  3. 透過內建腳本執行 API。請參閱 scripts/README.md。

2.5 的品質陷阱

2.5 品質階梯已重新劃分。 在相同尺寸下,2.5 high 約等於 gpt-image-2 medium 的輸出 Token 數量;2.5 max 則約等於 gpt-image-2 high 的輸出(測量值:Sunburst 1024×1536 high = 1,372 輸出 Token,max = 5,488)。沿用舊習慣複製 "quality=high" 會默默地產生一張中等細節的圖片。

使用編輯來升級草稿,而不是重新生成。 每次全新生成都會構圖一張新圖片,因此用 max 重新執行已核准草稿的提示,會得到一張不同的圖片。相反地,請將選定的草稿作為參考傳遞給 Sunburst max 編輯,該編輯僅變更渲染品質並保留其他所有元素。已於 2026-10-02 驗證:以此方式升級的 Flare medium 海報保留了其構圖、人物、姿勢、顏色和希伯來文字,並增加了紋理和細節($0.18,85 秒)。

階段模型 + 品質原因
探索方向、測試提示Flare medium (--draft)約 1 美分和約 15 秒,因此六個方向的成本低於一個最終成品
升級選定的草稿Sunburst max 編輯,搭配 --ref <草稿> 以及 reference/openai-gpt-image.md 中的升級提示保留使用者選定的外觀,增加完整細節
從鎖定的提示直接產生最終成品Sunburst max(腳本預設值)完整細節;約 90 秒,約 $0.17
時間比精細細節更重要時的 SunburstSunburst high四分之一的 Token,約 35 秒

切勿使用 auto — 它會為相同的呼叫分配不同的預算。

預設模型選擇 — 30 秒原則

探索方向 / "幾個快速選項" / 測試提示是否可行?
  是 → Flare medium (--draft)。使用 Sunburst max 編輯 (--ref <草稿>) 升級使用者選擇的項目。
  否  ↓

近距離擬真人物臉部,且肌膚紋理是重點?
  是 → 先使用 Sunburst max(它在人像投票中領先);如果放大後肌膚看起來銳利過度,則與 gemini-3-pro-image 4K 比較,讓人類決定。
  否  ↓

超寬/超長橫幅,比例超過 3:1 (1:4, 4:1, 1:8, 8:1)?
  是 → gemini-3.1-flash-image(GPT Image 限制為 3:1)。
  否  ↓

其他所有情況 → Sunburst,品質=max。
  └── 透明 PNG?原生支援:--background transparent (png/webp)。無需 rembg。

各素材類型的完整決策樹: reference/model-selection.md。

每次請求的工作流程

  1. 確認範圍。 素材類型、品牌背景、顏色/風格方向、目標長寬比和尺寸、儲存位置。如果請求已經說明,則繼續進行。
  2. 挑選模型與品質。 使用上述原則;用一句話解釋你的選擇。
  3. 閱讀對應模型的參考文件 — reference/openai-gpt-image.md 或 reference/gemini-image.md。不要憑記憶撰寫:兩家供應商需要的提示結構完全相反,且 2.5 的指引改變了 gpt-image-2 的許多習慣。
  4. 透明背景? 在 GPT Image 2.5 上是原生支援。僅在處理 Gemini 輸出或裁切既有圖片時,才閱讀 reference/transparent-backgrounds.md。
  5. 開啟 templates/ 中的對應範本 並填入佔位符。
  6. 圖片中包含希伯來文或 RTL 文字? 首先閱讀 reference/hebrew-rtl.md。
  7. 在呼叫 API 之前向使用者展示提示,除非他們說 "直接做吧"。一次提示審查可以避免大多數昂貴的重新生成。
  8. 執行腳本。 除非另有指示,否則儲存到當前工作目錄的 ./generated-images/<描述性名稱>.png。OpenAI 腳本會列印延遲、輸出 Token 數和每次呼叫的費用 — 請保留累計總計。
  9. 使用 Read 工具讀取已儲存的圖片 — Claude 是多模態的,能夠實際看到像素。 根據需求評論:構圖、文字拼寫是否與引號內完全一致且只出現一次、顏色、缺陷(扭曲字母、多餘手指、幾何破損、平滑區域的顆粒感)。在使用者發現問題之前先發現它們。
  10. 向使用者展示。 open <路徑>,總結你看到的(優點和缺點),並提出出貨 / 以特定變更加以迭代 / 重寫。

按素材類型的範本

素材範本
品牌標誌 / 標記 / 文字商標templates/logo.md
圖示集(跨圖示的一致風格)templates/icon-set.md
行動應用程式 UI 畫面templates/ui-mobile.md
網頁儀表板 / SaaS UItemplates/ui-dashboard.md
行銷主視覺 / 橫幅templates/hero-image.md
產品攝影 / 主圖templates/product-shot.md

如需完整的實作範例,請參閱 examples.md。

重複角色與故事面板

針對漫畫、故事板和動畫劇集,其中相同人物會出現在多張圖片中:

  • 從照片建立角色。 切勿將整張照片作為參考傳遞:編輯端點會重新設計照片風格(複製姿勢、服裝和背景,添加字幕文字),而不是繪製角色。可行的流程:

    1. 先裁切臉部:python3 <此技能目錄>/scripts/crop_faces.py photos/ faces/ --sheet faces/_sheet.jpg。
    2. 從裁切的臉部製作動漫風格面孔。
    3. 將該面孔編輯到半身服裝卡中,並說明身體類型。
    4. 獲得人類核准,然後升級。

    提示與審查迴圈:reference/characters-from-photos.md。

  • 包含 2 個以上角色的場景。

    • 使用 Sunburst high 打草稿,而非 Flare:Flare 只畫了圖片 1,戶外,附帶字幕。
    • 在首次提及時將每個名稱綁定到其角色卡:「Dana(圖片 1 中的女性)」。
    • 禁止任何語言的字幕。
    • 手機和平板螢幕從背面渲染:將螢幕內容作為獨立圖片生成並合成。

    配方:reference/multi-character-scenes.md。

  • 批次計費。 credit_balance_exhausted 表示 OpenAI 帳戶餘額不足,而非請求錯誤。停止,列出哪些畫面已完成,並在充值後僅重新執行缺失的畫面。

API 金鑰與相依套件

API 金鑰 來自環境變數,需從您自己的安全儲存中於執行腳本的 Shell 中設定(每次新 Shell 都需要重新設定):

  • OPENAI_IMAGE_API_KEY 用於 scripts/openai-image.sh
  • GEMINI_IMAGE_API_KEY(或 GEMINI_API_KEY)用於 scripts/gemini-image.sh;同一個 Google AI Studio 金鑰也可用於 generating-video-clips

這些金鑰僅限於圖片生成。請勿將其重複用於聊天或嵌入,且切勿印出 — 將其載入變數中,不要使用 echo。

本地工具(僅用於裁切 Gemini 輸出或既有圖片):rembg (pip install "rembg[cli]" onnxruntime),可選用 ImageMagick。

輸出慣例

  • 預設儲存位置:當前工作目錄的 ./generated-images/<描述性名稱>.png。
  • 檔案名稱:描述性 kebab-case 格式(logo-agentleh-monochrome-v1.png);草稿加上 -draft-N(logo-agentleh-draft-3.png)。
  • 版本控制:疊代時附加 -v1、-v2…。未經詢問切勿覆蓋之前的生成結果。
  • 透明輸出:在版本後附加 -transparent。
  • 在 macOS 上使用 open <路徑>,以便在生成後立即向使用者展示。

疊代模式 — 自主「疊代至完美」迴圈

代理的任務是在詢問使用者之前,將圖片驅動到「可以出貨」的程度:

1. 生成(腳本呼叫)
2. 使用 Read 工具讀取已儲存的檔案 — Claude 能夠看到像素
3. 根據需求進行自我評論:
   - 構圖到位?(位置、取景、平衡、層次、留白)
   - 文字拼寫與引號內完全一致,每個字串只出現一次,清晰可讀?
   - 顏色正確?(符合十六進位碼、遵循色板)
   - 缺陷?(扭曲字母形式、多餘手指、幾何破損、天空/背景中的顆粒感)
   - 需求是否確實滿足?
4. 決定:
   - 出貨    → 滿足需求;向使用者展示
   - 編輯    → 一個局部修正;使用 --ref <前次結果> 進行編輯,並使用提示說出
                "僅變更 X" 並**重申**所有先前的修正和保留的細節
   - 重寫 → 根本性的提示問題;從頭重寫,不要微調
5. 停止條件:已進行 5 次疊代,或此素材花費已達 $3(加總腳本的費用行),
   或已達到可出貨標準。

使用者是最終評判者 — 但 Claude 是第一評判者。 不要顯示有缺陷的結果並問「這樣好嗎?」。在您確認它已滿足需求後再顯示,或附上您的評論(「文字商標字母間距有問題;下次修正」)。

各模型的運作機制

  • GPT Image 2.5 編輯 透過 /v1/images/edits 進行,使用 scripts/openai-image.sh --ref <圖片>(最多 16 張參考圖)。沒有遮罩時,每次疊代整個畫布都會重新生成,因此漂移會累積 — 在每次疊代中重申所有先前的變更和保留的細節,而不僅僅是新的請求。如果某個區域必須保持像素完全一致,則將已核准的編輯合成到原始圖中,而不是依賴提示來維持。
  • Gemini 多輪編輯: scripts/gemini-image.sh --ref <前次輸出> --prompt "變更 X,保留 Y",始終以「將圖片中所有其他元素保持完全相同 — 構圖、光線、顏色、所有其他元素。」結尾。
  • 漂移紀律。 對同一張圖片連續 3 次疊代失敗後,切換策略:重寫基礎提示,或更換模型。

定價

GPT Image 2、2.5 Flare 和 2.5 Sunburst 共用 Token 費率($30/1M 圖片輸出,$8/1M 圖片輸入,$5/1M 文字輸入;Batch API 減半),但每張圖片的 Token 數量因品質、尺寸和型號而異 — 因此請閱讀腳本列印的費用,而不是自行假設。Gemini 按圖片計費。完整表格和實際情境: reference/pricing.md。

希伯來文 / RTL

在 2026-10-02 的測試中,Sunburst 和 Flare 都正確渲染了希伯來文標題(正確的字母、順序、方向,旁邊還有英文和徽章)。首先嘗試直接渲染;對於較長的希伯來文行或需要授權字型的情況,則退回使用合成工作流程。希伯來文不在 Google 的 Gemini 圖片模型最佳效能語言清單中 — 對於希伯來文字,優先使用 GPT Image。請參閱 reference/hebrew-rtl.md。

何時不應使用此技能

  • 使用者想要可編輯的向量檔案(含路徑的 SVG)。這些模型輸出的是點陣圖;請使用 brand-assets 技能,或 Recraft V4.1 Vector(recraftv4_1_vector,原生 SVG,未接入這些腳本)。
  • 使用者想要支援尺寸之外的精確像素尺寸(例如 1200×630)。在最接近的支援長寬比下生成,然後裁切/調整大小。
  • 使用者想要特定真實人物的真實照片。兩家供應商都會拒絕或產生不準確的肖像,且存在政策問題。
  • 使用者想要沒有設計需求的泛泛「AI 藝術」 — 請引導他們使用 ChatGPT 或 Gemini 應用程式;此技能針對設計工作進行了調校。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

shaharsha/deck-to-video

Use when turning a slide deck plus per-slide narration audio into an mp4 video — a self-playing/self-presenting deck video, "slides to video", "presentation to mp4", a shareable WhatsApp/Slack/Drive video of a narrated deck, or when a slide video needs a per-slide progress bar / countdown / slide counter. Also use when a slide video should highlight, glow or spotlight the element being talked about in time with the voice, or when narration and on-screen animation need syncing. Also use when...

shaharsha/generating-video-clips

Use when turning a still image, illustration, comic panel or character art into a short animated clip (image-to-video), choosing a video model or provider (Gemini Omni, Veo, Seedance, Kling, ElevenLabs Flows) or hitting their API gates, lip-syncing a character's mouth to existing dialogue audio (Sync, fal.ai, active speaker), or fixing a generated clip with artifacts - duplicated props, a door or a second figure appearing, hands through bodies, glowing eyes, a gesture repeated at the start,...

shaharsha/producing-animated-episodes

Use when making a narrated or voiced animated video with recurring characters - an anime, cartoon or comic episode, a short for a group chat, a story video about friends, family, a class or a team - from photos, a chat export, a story idea or a script, in any visual style, Hebrew/RTL or English. Also use when such a video has subtitles or cards too fast to read, music stopping early, the ending cut off, lines buried under music, mouths out of sync, a gesture before its line, or one face...

相關技能