连环画绘本工坊-随风 (ym-comic-book-maker)
替用户跑通从一句话需求到「能打印装订成小人书」的整条链路:意图澄清、资料考证、角色定妆、逐页生成、错字校对、打印排版——用户只需要把关故事和画风。
何时使用
- 用户想做「连环画」「漫画绘本」「小人书」「绘本」
- 用户给了一个故事/提纲,要求做成多页图画书或漫画
- 用户说「把XX故事做成漫画」「给孩子做本画书」
第 0 步 · 版本自检(每次动手前先跑)
python scripts/sync.py --json
只读比对线上版本:退出码 0 最新 · 10 有新版建议重装 · 20 主版本不同必须重装 · 30 联网失败按旧版继续。
本技能不自动更新自己 —— 换版本只有一条路:用户明确重装 (skillhub install ym-comic-book-maker)。
运行前提
- 依赖:核心流程无第三方依赖(生图用平台内置 ImageGen 工具;
scripts/build_book.py仅用 Python 标准库)。可选增强:scripts/inline_html.py装了 Pillow 会把 PNG 压成 JPEG 再内嵌(体积约省 3/4),没装也能跑(原样内嵌)。一键安装可选依赖:python scripts/setup.py - 无运行时配置与本地数据,不读写任何配置文件
- 生图会消耗平台积分,批量生产前必须先向用户确认预算
- 中文字体:合成 HTML 使用
KaiTi/STKaiti(页眉页脚)与Microsoft YaHei/PingFang SC(正文),缺失时浏览器自动回退系统 sans-serif——中文用系统默认中文字体渲染不会变方块,仅楷体风格退化为普通字体;macOS 下楷体对应STKaiti已内置
执行步骤
第 1 步 · 意图澄清(必做,先问再动工)
用一次 AskUserQuestion 问清四件事,问题清单与选项设计见 references/intent-and-style.md:
- 内容来源——最容易误判的一项:用户是想找现有内容(某个已有的故事/IP/动画/绘本,需要联网查证原作设定),还是原创生成(凭空编故事)?拿不准就直接问,不要默认。找现有内容时用 WebSearch/WebFetch 考证原作官方设定(角色形象、画风、年龄身高),后续生图必须与考证结果一致,并提醒用户:商业IP成品限家庭使用/内部分享,勿商用。
- 画风:日系动漫 / Q版卡通 / 水彩绘本 / 国风水墨 / 还原原作(给选项)。
- 版面与交付:横版还是竖版;A4 还是 A5;屏幕翻页 HTML 还是打印装订;「A4横」与「A5横」比例相同(1.414:1),一套设计通吃,打印时选"每张2页"对折即成A5小人书。
- 篇幅与角色规则:页数(建议先短篇跑通);以及本技能的默认铁律——所有角色以人形出现(人脸+特征元素+穿衣服),仅剧情明确"变身/现原形"的场景允许动物形态,用户另有要求时以用户为准。
第 2 步 · 角色定妆(先锁形象再量产)
- 梳理全书出场角色清单,逐角色生成三视图设定图(正面/侧面/背面),存到
<项目目录>/01-角色设定/设定-<角色名>.png。 - 每张设定图提示词写死不变的特征(发色、瞳色、体型、服装、随身物),尺寸统一 1536x1024。
- 设定图是后续每一页的参考图——角色长得一样全靠它。用户确认定妆图后才能进入量产。
第 3 步 · 分镜脚本
- 按确认的篇幅写分镜脚本,存
<项目目录>/分镜脚本.md,模板见templates/分镜脚本模板.md。 - 每页写清:布局(几格)、每格画面内容、每格的旁白/对白原文(对白直接写进提示词,让 AI 画在气泡里)。
- 脚本给用户过目确认后再生成图,避免整批返工。
第 4 步 · 逐页生成整页漫画(核心工艺)
- 一页 = 一次 ImageGen 生成一张完整漫画页:分格、画面、旁白框、对话气泡、对白文字全部画在图内。不要用"每格一张图再HTML拼格"的方案——费积分且必然出现裁切遮挡。
- 提示词按
references/prompt-playbook.md的模板写:逐格描述 + 对白原文 + 人形铁律 + 「所有文字必须是工整无错字的简体中文」。 - 挂参考图锁形象:
image1/image2/image3可同时挂多张设定图(实测支持),画面里有几个主要角色就挂几张;只挂一张时,未挂图的角色形象会漂移。 - 逐张生成并立即重命名(如
P03-废柴之名.png)——并行生成且提示词前缀相同时会生成同名文件互相覆盖。 - 每生成一页立即 Read 校对:文字错字、角色是否人形、形象是否一致;不合格整页重 roll。
第 5 步 · 合成与交付(工程版 + 独立单文件版)
- 全部页面通过校对后,运行合成脚本生成打印版 HTML:
python scripts/build_book.py --title "猫小九历险记·少年出世篇" --cover <封面图路径> --pages-dir <整页漫画目录> --out <输出.html>
- 产物为 A4 横向打印版 HTML(每页一张 A4 横纸,章节页眉+页码),浏览器
Ctrl+P→ A4/横向/无边距/勾选背景图形 即可打印;选"每张2页"则对折成 A5 小人书。 - 再打包独立单文件版(默认交付件,用户要发给别人时必须给这个):
python scripts/inline_html.py <输出.html>
图片全部 base64 内嵌,输出 <原名>-独立单文件版.html 单文件(PNG→JPEG 压缩,一本 20 页约 10MB),发给任何人单个文件即可用浏览器打开。脚本结束时确认「残留外部引用:0」。
4. present_files 交付:独立单文件版 HTML(主交付件)+ 工程版 HTML 与页面图目录(源文件,便于日后单页返工再打包)。
目录说明
scripts/build_book.py— 由图片目录合成 A4 横向打印版 HTML(标准库实现)scripts/inline_html.py— 把绘本 HTML 打包成图片内嵌的独立单文件版(Pillow 可选增强,缺失时原样内嵌不报错)scripts/setup.py— 一键安装器(可选装 Pillow 增强压缩;--check只查不装)scripts/sync.py— 版本自检(只读)references/intent-and-style.md— 意图澄清问题清单、画风库、版面规格references/prompt-playbook.md— 整页漫画提示词模板、多参考图用法、校对清单references/pitfalls.md— 踩坑详表(兽脸群像、裸露、错字、文件覆盖等)templates/分镜脚本模板.md— 分镜脚本骨架templates/pages.example.json— build_book.py 的页清单配置示例
常见坑
- 群像必出兽脸:让 AI 画"一群人形角色"几乎必然画成动物头。群像一律写"远景剪影/背影,看不清脸",脸部特写只给主角。详见
references/pitfalls.md。 - 并行生成同名覆盖:多张图并行且提示词前缀相同 → 同名文件互相覆盖,只剩一张。逐张生成、出图立刻重命名。
- 只挂一张参考图时其他角色漂移:画面多角色必须挂多张设定图,并在提示词末尾写「绝不是四脚动物,绝不能画成猫脸兽身」。
- "赤膊/裸"类词有裸露风险:儿童绘本里写"赤膊跑步"会被画成全裸。改写为具体穿着("穿着厚实冬衣")。
- 对白放图内而非HTML叠加:整页漫画方案下气泡和对白由 AI 画进图里,提示词必须逐字给出对白原文并要求"工整无错字";出错字整页重 roll,不要试图后期修图。
- 生图前不确认积分预算:一本20页的书约消耗100-200积分,先试稿2-3页让用户确认画风,再批量生产。