生圖只是起點。這個模組教你把一張綠幕生圖切格、去背、縮放到 LINE 規格、打包成可上架 ZIP的整條後處理產線,用 Pillow + numpy 純像素運算完成。
這頁讓你 3 分鐘知道這是什麼、能做出什麼、真的會動(免 key)。要逐行、踩雷、FAQ 的完整版,在實戰手冊裡。
會用 AI 生一張圖之後,常卡在下一步:「怎麼把生出來的角色變成真的能上架的 LINE 貼圖組?綠底怎麼乾淨去掉、不留綠邊?每張要縮到什麼尺寸?怎麼打包成商城吃的 ZIP?」
這個範本是「繪圖魔法師」系列的第一個進階模組。引擎用 Google Gemini(gemini-2.5-flash-image),一次呼叫產一張綠幕 grid;之後整條後處理用 Pillow + numpy 做純像素/檔案運算,所以免 API key 就能確定性測試。前置是生圖入門 gemini-image-starter(要先會呼叫 Gemini 生圖)。
需要 uv。後處理是純像素運算,跑測試不需要任何 API key(真正生圖才需要 GEMINI_API_KEY)。
git clone https://github.com/yazelin/ai-sticker-starter.git
cd ai-sticker-starter
uv sync
uv run python client_smoke_test.py
== tests/test_grid.py ==
OK: grid split test passed
== tests/test_chroma.py ==
OK: chroma key test passed
== tests/test_pack.py ==
OK: LINE pack test passed
== tests/test_gen_fake.py ==
OK: gen grid against fake Gemini server passed
OK: all checks passed
Part 1(part1_naive/naive.py)用最直接的方式做:切 grid → 用顏色門檻去綠底 → 存單張。它會動,但邊緣留一圈綠邊 halo、尺寸不是 LINE 規格、也沒打包。Part 2(app/sticker.py + demo_sticker.py)把這些修好。
| 面向 | Part 1 天真去背 remove_bg_naive | Part 2 chroma-key 產線 |
|---|---|---|
| 去背方式 | 粗略顏色門檻,留綠邊 halo | 綠幕去背 + despill + 邊緣 erosion,乾淨切邊 |
| 尺寸 | 單張原尺寸,不合規格 | fit_pad 縮放置中到 LINE 規格 |
| 打包 | 自己一張張存、命名 | build_line_pack 直接吐上架 ZIP |
核心一句:生圖只是素材,能不能上架取決於後處理產線。同一份 fixture 對切格、去背、打包都跑出確定性結果,證明整條會動。完整對照在 docs/08。
這頁是快速了解;下面每一章都是完整內容,在 GitHub 上點開就能讀。
這頁是快速了解。逐行讀懂、綠幕去背原理深入、踩雷清單、FAQ、上架流程都在實戰手冊(PDF)裡。
前置模組 · 生圖入門:gemini-image-starter(要先會呼叫 Gemini 生圖)。
延伸資源:line-sticker-studio(production 版,Worker proxy + 配額 + Turnstile)、PromptFill、LINE Creators Market。