沃霍尔
> Goal:给一个名字(真实名人 / 虚构角色 / 团队昵称 / 栏目 IP),生成一张与该系列 10 张案例完全同风格的方形卡通头像。风格锁死:扁平矢量卡通、粗深棕描边、纯色块无渐变、一只眼眨眼 + 张嘴大笑、白底半身像,角色按名字内涵配专属主题道具。
这是什么 / 为什么叫沃霍尔
- 这是什么:一套「固定风格头像生成器」工作流(Skill 形态)。输入是一个名字 + 它的主题定位,输出是一张 1024×1024 方形 PNG 头像,视觉上与内置 10 张案例严格统一。
- 为什么叫「沃霍尔」:安迪·沃霍尔是波普艺术大师,把「重复 + 统一视觉语言 + 量产」玩到极致——本 skill 正是把同一种画法批量套到不同人物上(波普式头像工厂)。
- 风格血统:本 skill 的 10 张案例由同一套 prompt 模板逐张实测产出,风格高度一致;模板与参数已沉淀在
references/风格规范.md。案例因平台禁止二进制,以 base64 纯文本(assets/cases/cases_b64.txt)随包分发,首次使用运行python3 scripts/decode_cases.py还原 PNG 到assets/cases/。
固定风格(核心,必须逐字保留)
任何角色都只在变量段做替换,下面这段基底 prompt 一字不改地前置:
Square app icon, flat vector cartoon illustration, modern minimalist avatar mascot style. Thick dark brown outlines, solid flat colors only, no gradients, no shadows. Centered half-body portrait of a cheerful {变量段:人物描述}, light tan skin, one eye playfully winking, big open-mouth smile showing white teeth. {变量段:服装} In one hand {变量段:手持道具}. Around him/her float {变量段:主题装饰} and a few sparkling stars. Clean pure white background. {变量段:氛围一句} vibe. No text, no letters, no words, no watermark.
变量段拆法见 references/风格规范.md,本质上就是:人物描述(年龄/性别/发色发型/面部特征)+ 服装(主色外套+领)+ 手持道具(主题物)+ 主题装饰(漂浮小元素)+ 氛围一句。
> 铁律:结尾的 No text, no letters, no words, no watermark. 永远保留——AI 会在图标里乱画假文字,必须禁掉;任何想印在图上的名字都用文件名表达,不要塞进 prompt。
两种能力 / 生成流程
Mode A · 文生图(名字 → 原创同系列头像)
- 定主题:拿到名字先判主题定位(画家/影视/数据/作家/哲学…)。拿不准就快速 WebSearch 一次定调,避免做偏。把主题落到一个手持道具 + 2-3 个漂浮装饰上。
- 填模板:
python3 scripts/build_prompt.py --mode avatar --name <名字> --person … --clothing … --prop … --decor … --vibe …拼出最终 prompt(脚本保证基底一字不差)。 - 调 ImageGen 工具:文生图,参数
size=1024x1024、quality=high、background=white、output_dir=/workspace。出图后mv成<名字>.png。
Mode B · 图生图(真实头像照片 → 同风格简笔画卡通)
> 给一张真人/真实头像照片,产出对应的简笔画卡通头像:保留可辨识特征(发型、脸型、肤色、眼镜、胡子、衣服颜色),只做扁平化、粗描边、白底化简。
- 取照片:用户提供图片路径或图片链接(URL,支持本地文件与网络链接)。
- 组装 prompt:
python3 scripts/build_prompt.py --mode photo --name <名字> --image <照片路径或URL> [--accent "add a small pair of round glasses. "]。脚本输出迁移 prompt;--accent可补一句额外强调(如「加副圆眼镜」)。 - 调 ImageGen 工具(图生图):把照片作为
image1参数、上一步 prompt 作为prompt传入;参数size=1024x1024、quality=high、background=white、output_dir=/workspace。input_fidelity建议'medium':想更贴近真人调到'high',想更卡通/更简笔调到'low'。 - 出图:
mv成<名字>.png。
> 与 Mode A 的区别:Mode B 不强制「light tan skin / 眨眼 / 大笑」,以保证「对应」真人;但风格锚点(粗深棕描边、纯色块、白底、无文字)完全一致,所以和 10 张案例依旧能融为一套。
> 提示:积分消耗——每张头像约 5-10 积分,动手前告知用户。
案例索引(10 张,已出)
> 案例以 base64 纯文本随包分发(assets/cases/cases_b64.txt),避开平台对二进制的限制。首次使用前运行 python3 scripts/decode_cases.py,即可在 assets/cases/ 还原出 10 张同名 PNG 作为风格基准。
| 文件(解码后位于 assets/cases/) | 角色定位 | 主题道具 / 配色 |
|---|---|---|
神笔马良.png |
画家(绘画) | 深蓝围裙+毛笔,颜料飞溅 / 深蓝 |
蒙太奇.png |
影视(蒙太奇) | 亮红外套+胶片盘,场记板 / 亮红 |
爱森斯坦.png |
导演 | 深绿+贝雷帽+场记板,摄影机 / 深绿 |
贝克.png |
地铁客流数据 | 深紫+地铁圆标+客流图表 / 深紫 |
梵高.png |
后印象派 | 芥末黄+向日葵+星空漩涡 / 芥末黄 |
宫崎骏.png |
动画 | 米白+白发白须+小飞机,云树 / 米白 |
杰克森里尔.png |
评论写作 | 咖啡棕西装+圆眼镜+钢笔,书本引号 / 咖啡棕 |
欧亨利.png |
短篇小说 | 酒红外套+打字机,信封惊叹号 / 酒红 |
苏格拉底.png |
哲学问答 | 赤陶橙披袍+大白胡子,问号希腊柱 / 赤陶橙 |
沃霍尔.png |
波普艺术 | 黑高领+银白蓬发+汤罐头,波普圆点 / 黑+亮色点 |
配色不重样清单(新增角色优先从这里挑主色,避开已用)
深蓝 / 亮红 / 深绿 / 深紫 / 芥末黄 / 米白 / 咖啡棕 / 酒红 / 赤陶橙 / 黑+波普亮色点。
注意事项
- 系列视觉锚点:粗深棕描边 + 纯色块 + 眨眼大笑 + 白底,任何新角色都不得偏离这四点。
- 人物若与该系列已有的撞主题(如又来一个"写作者"),用道具拉开区分(钢笔 vs 打字机 vs 书本),不要只换衣服。
- 长者角色才给白须/白发作区分(宫崎骏、苏格拉底已是长者),其余默认年轻化保持系列活泼感。
- 不要往图里加文字;名字一律走文件名。