同一句 a cat 每次生出不同的貓,是因為決定權全在模型手上。這個範本教你用結構化 prompt把主體、風格、光線、構圖、配色一個個拿回來,讓同樣的輸入生出同一種畫面。
這頁讓你 3 分鐘知道這是什麼、能做出什麼、真的會動。要逐章、prompt 設計細節、完整對照的完整版,在實戰手冊裡。
想用 AI 生圖做產品(貼圖、頭像、角色、素材),常卡在「為什麼同一句話每次生出來都不一樣?怎麼把腦中的畫面準確描述給模型?哪些詞才真的有用?」
這個範本是「繪圖魔法師」系列的基礎 / 前置模組:用 Google Gemini(gemini-2.5-flash-image)當引擎,帶你從一句話 prompt 的痛點,走到結構化 prompt 設計。核心魔法不是模型,是 prompt 設計——同樣的欄位輸入,描述同樣的畫面,可控、可重現。
a cat」為什麼每次都不一樣、不可控。需要 uv。跑測試不需要任何 API key,整套用本地假 Gemini server 驗證。
git clone https://github.com/yazelin/gemini-image-starter.git
cd gemini-image-starter
uv sync
uv run python client_smoke_test.py
== tests/test_prompt.py ==
OK: prompt builder test passed
== tests/test_request.py ==
OK: request/response shaping test passed
== tests/test_gen_fake.py ==
OK: gen against fake Gemini server passed
OK: all checks passed
GEMINI_API_KEY 即可。Part 1(part1_naive/naive.py)只丟一句 "a cat":姿勢、畫風、背景、光線全由模型替你決定,每次都不一樣。Part 2(app/prompt.py)把每個決定命名成欄位,同樣的輸入永遠組出同一條描述。
| 面向 | Part 1:一句話 prompt | Part 2:結構化 prompt |
|---|---|---|
| 輸入 | "a cat" | 主體 / 風格 / 光線 / 構圖 / 配色 / 負面詞 |
| 結果 | 每次都不一樣、不可控 | 同輸入同描述、可控可重現 |
| 核心魔法 | 無,交給模型隨機 | prompt 設計 |
結構化 prompt 真的長這樣(demo_structured.py 的真實輸出):
a cat sitting by a window, style: ukiyo-e woodblock print, lighting: soft morning light, composition: centered, close-up, color palette: muted indigo and gold. Avoid: text, watermark, extra limbs
核心一句:引擎只是工具,把畫面拿回控制權的是 prompt 設計。完整對照課在 docs/08。
這頁是快速了解;下面每一章都是完整內容,在 GitHub 上點開就能讀。
這頁是快速了解。逐章讀懂、prompt 設計深入、踩雷清單、FAQ、部署都在實戰手冊(PDF)裡。
延伸資源:PromptFill(結構化提示詞工具)、prompts-vault(Nano Banana prompt 收集站)。真實案例:line-sticker-studio、catime。