一句话把文案变成材质字体图——说出文案 + 字体风格名,AI 直接渲染成泡沫 / 亚克力金属 / 草坪 / 吐司面包 / 曲奇奶油 / 针织簇绒 / 像素拼豆 等材质风格的 3D 艺术字图。
一个 WorkBuddy Agent Skill。用户在对话中说出一段文案,再说出一种内置字体风格名,skill 会自动调用 AI 生图引擎,把文案渲染成对应材质风格的字体图片。
一句话触发:
- "把'加油鸭'转成泡沫字体"
- "用草坪字帮我写'Hello World'"
- "这句话做成亚克力:今日营业"
| # | 字体名 | id | 背景 | 别名 |
|---|---|---|---|---|
| 1 | 泡沫字体 | foam | 黑 | 泡沫、肥皂泡 |
| 2 | 亚克力金属 | acrylic-metal | 白 | 亚克力、贝母金属 |
| 3 | 草坪字体 | lawn | 白 | 草坪、草皮、泥土字 |
| 4 | 吐司面包 | toast | 白 | 吐司、果酱吐司 |
| 5 | 曲奇奶油 | cookie-cream | 白 | 曲奇、糖霜裱花 |
| 6 | 针织字体 | knit | 白 | 针织、戳戳绣、簇绒、tufting |
| 7 | 像素拼豆字体 | perler-bead | 白 | 拼豆、像素字、perler |
每种字体都附带精心调校的中文提示词,覆盖材质质感、光照、构图、 3D 体积感等维度,确保生成效果不是平面贴图而是超写实材质字。
font-style-transfer/
├── SKILL.md # Skill 入口(触发词、工作流、参数说明)
├── references/
│ └── font-library.json # 7 种字体的提示词库
└── scripts/
└── generate_font_seedream.py # 调即梦 API 的生成脚本(纯标准库 Python)
| 引擎 | 模型 | 费用 | 说明 |
|---|---|---|---|
| 即梦 Seedream 5.0 Lite(默认) | doubao-seedream-5-0-lite-260128 |
¥0.22/张 | 火山方舟,材质还原度高 |
脚本为纯 Python 标准库,无需安装任何第三方依赖。
- 文案注入:提示词中的"参考图中的文字和图案"等占位短语自动替换为用户实际文案,让模型知道要写什么字
- 文字准确性强化:在提示词首尾各加一道"文字必须严格为指定内容"的指令,降低假字概率
- 多候选机制:默认生成 2 张候选(每张独立随机),用户从中挑选文字最准、效果最好的一张
- 别名模糊匹配:支持中文别名触发,如"泡沫""肥皂泡""泡沫字"都能匹配到 foam 字体
将 font-style-transfer/ 目录复制到 ~/.workbuddy/skills/font-style-transfer/:
cp -r font-style-transfer/ ~/.workbuddy/skills/font-style-transfer/安装后在 WorkBuddy 对话中直接说出文案和字体名即可触发。
脚本可以脱离 WorkBuddy 独立运行,只需配置 ARK_API_KEY 环境变量:
# 设置火山方舟 API Key
export ARK_API_KEY="your-key-here"
# 生成字体图
python3 font-style-transfer/scripts/generate_font_seedream.py \
"加油鸭" \
--style "泡沫" \
--candidates 2 \
--output-dir ./output
# 列出所有可用字体
python3 font-style-transfer/scripts/generate_font_seedream.py --list获取 API Key:前往火山方舟控制台创建。
| 参数 | 默认值 | 说明 |
|---|---|---|
text |
(必填) | 要渲染的文案 |
--style |
(必填) | 字体风格名:id / 中文名 / 别名 |
--candidates |
2 | 候选张数(每张 ¥0.22) |
--size |
2k | 输出尺寸:1k / 2k / 4k / WIDTHxHEIGHT |
--output-dir |
当前目录 | 输出目录 |
--name |
文案_字体id | 文件名前缀 |
--list |
— | 列出所有字体 |
--api-key |
环境变量 | 覆盖 ARK_API_KEY |
AI 生图模型对文字渲染有天然局限——可能出现多笔少笔、形近字。本 skill 的策略是:
- 默认生成 2 张候选,让用户从中挑文字最准的一张
- 提示词首尾加了强约束指令,大幅降低假字概率
- 文案越短越容易准确(2–6 个字最佳)
- 如果反复出错,建议拆短文案分批生成
- 如果需要一字不差的保证,需改用"AI 生成材质底图 + 字体文件精确排版渲染"的两步法(需提供 .ttf/.otf 字体文件)
在 references/font-library.json 中按现有格式追加:
{
"id": "英文id",
"name_zh": "中文名",
"aliases": ["别名1", "别名2"],
"background": "white 或 black",
"prompt": "完整提示词原文"
}提示词中可包含"文字和图案"等通用占位词,脚本会自动把"参考图中的文字和图案"和"参考中的文字和图案"替换为实际文案。
MIT