CommunityImagemgithub.com

饮杯变门店——等轴测插画生成器

上传一张咖啡、奶茶或任意饮品照片,自动识别品牌、杯型、配色与配料,用图生图将其改造成一座由杯子组成的2D等轴测微缩门店插画,再与原图拼接成高清对比图,交付两张PNG。

O que é 饮杯变门店——等轴测插画生成器?

该技能(原名“iithink88/cup-shop-illustration”)专为将真实饮品照片转化为精致可爱的等轴测微缩门店插画而设计。它通过自动识别照片中的品牌标志、杯型、主配色和配料等特征,保留原始饮品的关键识别信息(如杯身logo、颜色、形状),并以此为素材重新设计出一座具有窗户、楼梯、吉祥物等细节的2D矢量风格建筑。工作流程完全自动化:首先对用户上传的照片进行标准化预处理,然后调用视觉模型生成详细的“识别卡”,接着组装高度结构化的提示词驱动图像生成模型(ImageGen)进行图生图,最后通过本地脚本清除平台水印并与原始照片无裁切拼接,输出“独立插画”和“原图vs插画”对比图两张PNG。该技能支持外带纸杯、塑料杯、易拉罐等常见杯型,并遵循严格的硬规则:禁止纯文生图、禁止3D渲染、必须保留原始照片的杯型与配色;同时提供了丰富的可调参数(背景色、标题文字、保真度等)。它是开发者、设计师、品牌营销人员快速生成社交媒体素材、创意海报或品牌视觉内容的强大工具。

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iithink88/cup-shop-illustration/tree/HEAD/cup-shop-illustration

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

一杯饮料,一座小店

上传一张真实的咖啡/奶茶照片 → 得到一张精致可爱的品牌主题等轴测门店插画,外加一张「原图 vs 插画」高清对比图。

核心心法(只有一句):保留原始饮品的识别特征,重新设计它的建筑功能。 不是「画一个差不多的杯子」,而是「让照片里那杯饮料,长出窗户、楼梯和小店员」。

成品长什么样

以 GridCoffee 绿杯为例:绿色杯身变成两层店铺主体,米白色杯盖变成屋顶平台,白色方框 logo 原样留在墙上;杯身开拱形窗和 striped 遮阳篷,右侧有木楼梯与绿植,门前有吉祥物、小桌椅和 A 字牌,整座建筑落在斜向石砖地台上;顶部是 Grid Coffee / Americano / Yunnan · Giupo Estate 圆润粗体标题,薄荷绿纯色背景配白云。

风格是 Adobe Illustrator 做的 2D 矢量插画,不是 Blender 渲染的 3D 场景。

工作流(自动跑完,不逐步征求确认)

用户默认会上传一张饮品照片,常附带品牌名、饮品名、咖啡豆产地、联名等补充说明。按下面六步一次做完。

Step 0 · 收图与预处理

PY="$HOME/.workbuddy/binaries/python/envs/default/Scripts/python.exe"
[ -x "$PY" ] || PY="$(command -v python || command -v python3)"
SK="$HOME/.workbuddy/skills/cup-shop-illustration/scripts/imgtool.py"
OUT="<当前工作区>/out/cup-shop-illustration"
mkdir -p "$OUT"

"$PY" "$SK" prepare "<用户上传的照片绝对路径>" --out "$OUT/photo_clean.jpg"
  • prepare 统一 EXIF 方向、转 sRGB、去 alpha、长边 ≤2048,并打印信息卡(宽高、方向、亮度、主色)。信息卡里的方向决定后续画布比例与拼接方向。
  • 它只改文件格式与尺寸,不改画面内容。喂给 ImageGen 用 photo_clean.jpg;拼接时仍用用户上传的原始照片。
  • 若用户上传的是 HEIC / webp 等 Pillow 读不了的格式,先用系统工具转成 PNG 再走本步,并如实告知。

Step 1 · 观察照片,填「识别卡」

用视觉能力直接看原始照片(不要用代码提取边缘、不要预先生成线稿),按 references/diagnose.md 的识别卡逐项读取:

字段内容
品牌名杯身 logo / 文字,尽量给出英文名或拼音
饮品名从杯身标签、小票或用户说明读取
杯型外带纸杯 / 透明塑料杯 / 易拉罐 / 玻璃瓶,及宽高比例
顶部结构平盖、饮用口、吸管、奶盖、奶油、封膜
主色 / 辅助色用 Step 0 的主色信息卡交叉验证
logo 与文字形状、位置、颜色(示例:白色空心方框 + 杯身下方 GridCoffee)
配料 / 装饰咖啡豆、珍珠、水果、饼干碎、分层、冰块
产地 / 联名云南庄园、联名 IP 等,可化作环境元素

规则:用户明确给出的信息优先;照片里读不出的一律不编造,改用「杯身原有的文字/图形」这类描述;不要擅自换品牌、改配色、改杯型。

Step 2 · 组装提示词

读 references/prompt-master.md,用其中的主模板填写 6 个槽位(品牌 / 饮品 / 补充说明 / 原图方向决定的画布比例 / 背景色 / 特色元素),得到一条完整提示词。

  • 模板里的风格条款、负面词、构图约束原样保留,不要精简。
  • 生成的最终提示词作为核心资产,在交付时原文附上(用户常要复用)。
  • 需要中文字牌时,主标题仍用英文,中文只作小幅装饰;AI 中文易乱码,见 diagnose.md 的处理办法。

Step 3 · 出图(ImageGen 图生图)

⚠️ 调用前必须在回复中明确告知:单次 ImageGen 约消耗 5–10 积分。 先声明、后调用。

参数取值
promptStep 2 的完整提示词
image1Step 0 的 photo_clean.jpg 绝对路径(真实照片,禁止纯文生图)
size原图竖版 1024x1365(3:4,2026-11-08 实测可用,实际返回 1024x1360;被拒则降级 1024x1280);横版 1536x1024;方形 1024x1024
qualityhigh
input_fidelitymedium(默认,见下方调参)
output_dir$OUT
footnote""(工具侧水印可去掉;平台仍会强制叠「AI生成 WORKBUDDY」,用 Step 5 的 cleanwm 清除)
style不填,风格由提示词锁定

input_fidelity 调参:medium 既保住杯型/logo/配色,又允许重新构图。跑偏成「别的杯子」→ 升到 high;画面像照片临摹、视角没变成 45° → 降到 low。

生成的是一张独立完整的插画,绝不能让 AI 直接画左右对比图,也不能从对比图里裁出插画。

Step 4 · 自检

按 references/diagnose.md 的九条自检逐项比对。三条必查:

  1. 一眼能认出是照片里那杯饮料吗?(杯型、主色、logo 位置)
  2. 是纯 2D 粗黑描边 + 纯色平涂吗?(出现塑料质感 / 渐变 / 软阴影 = 失败)
  3. 建筑、楼梯、人物、地台、标题都完整在画面内吗?(截断 = 失败)

不合格 → 只改对应那一段提示词,最多重试一次;仍不合格就如实交付并说明可调方向,不要伪装成功。

Step 5 · 去水印 + 代码拼接

平台会在插画右下角强制叠「AI生成 WORKBUDDY」白字,footnote: "" 去不掉。先无痕清除,再拼接:

"$PY" "$SK" cleanwm "$OUT/<插画文件名>.png" --out "$OUT/<原名>_illustration.png"

"$PY" "$SK" compose \
  --photo "<用户上传的原始照片绝对路径>" \
  --art "$OUT/<原名>_illustration.png" \
  --out "$OUT/<原名>_compare.png"
  • cleanwm 默认的 selective 模式只把偏白的水印像素拉向背景色,不裁地台、不误抹绿叶,实测无残留、无接缝。默认 --threshold 160;若右下角有白云/米白石砖等浅色装饰,调高到 190–210 避免误伤。水印位置特殊时可调 --box "x0,y0,x1,y1",或改用 --mode fill(会抹掉框内装饰,慎用)。
  • compose 按原图方向自动选:竖版/方形 → 原图在左、插画在右;横版 → 原图在上、插画在下。也可 --layout side|stack 强制。
  • 以插画原始像素为基准,插画不缩放,原图等比缩放对齐;白色间隔 24px、外边距 24px,比例差异用留白吸收。
  • 不裁切、不拉伸、不修改原照片内容,输出高清 PNG。
  • cleanwm 失效时备用 trim <插画> --bottom 0.06 --mode pad;但它会裁掉画面底部,可能切到地台,只在万不得已时用。

Step 6 · 交付

用 present_files 先展示拼接图,再展示独立插画(两张都要给)。回复里给三行结论:识别出的品牌/饮品、画布比例与 input_fidelity、两个文件的路径;再附完整提示词原文。

硬规则(违反即失败)

  1. 必须以真实照片作 image1 做图生图,不能只凭文字重画一个杯子。
  2. 拼接必须用用户上传的原始照片,不能用 AI 重绘的「照片」冒充。
  3. 保留原杯型、主色、logo 与包装特征;重新设计的是建筑功能,不是包装。
  4. 不机械复制原照片的拍摄角度,要做合理的三维空间推演(45° 斜上方等轴测)。
  5. 先生成独立完整插画,再拼接;禁止从对比图裁切。
  6. 只做 2D 矢量插画,严禁 3D 渲染 / 写实 / 水彩 / 渐变 / 复杂光影。
  7. 不用代码提取边缘或生成线稿,让图像模型直接理解原图。
  8. 出图前必须告知积分消耗;不逐步征求确认,一次跑完。

可调项

想改什么改哪里
背景色提示词「明亮柔和的薄荷绿」→ 换成品牌协调色
标题文字主/副标题槽位;不确定就只写品牌名
产地 / 联名元素「特色元素」槽位,如咖啡树枝、庄园 A 字牌、联名小人
吉祥物数量 / 楼梯滑梯提示词「建筑设计」段的设施列表
画布比例Step 3 的 size,同时改提示词里的画布条款
保真度input_fidelity low / medium / high
拼接间隔与底色compose --gap --pad --bg

资源

文件用途
references/prompt-master.md主用:完整可复用提示词模板、槽位表、三套填好的示例、负面词表
references/diagnose.md照片识别卡、九条自检、失败修法表、中文文字处理
scripts/imgtool.pyprepare / cleanwm / compose / trim / sheet 五个本地子命令
README.md中文安装与使用说明

Habilidades Relacionadas