绘本创作 (Picture Book Creator)
概述
连环绘本创作的完整工作流。将用户的故事描述转化为结构化的分镜脚本,借助 AI 生图工具(ImageGen)创作画风统一、情感丰富的连环绘本,最终以 Markdown 格式优雅展示。
核心工作流
一、理解需求
从用户的描述中提取以下信息:
- 故事主题:核心情节和情感基调
- 角色设定:主角、配角的外貌特征和性格
- 风格偏好:用户是否指定画风(水彩/卡通/油画/水墨等),未指定时默认选择温暖可爱的卡通风格
- 页数:根据故事复杂度判断(2-10 页),默认 4 页
若信息不足,主动询问用户补充关键信息(角色数量、画风偏好、页数),但不要一次提问超过 2 个问题。
二、分镜拆解
将故事拆解为多个场景,每页一个场景。为每页准备两种描述:
A. 用户展示描述(给用户看的)
- 1-2 句话,纯故事性描述
- 示例:「格罗什在昏暗的兽人洞穴中对部下发表煽动性演讲,准备发动战争」
- 绝不包含技术术语(构图、视角、角度等)
B. 技术生图描述(传给 ImageGen 用的)
- 必须包含以下五个维度,每页都要有差异:
- 场景:环境、时间、地点细节、整体氛围
- 动作:角色姿态、表情、手势、眼神
- 构图:视角(远景/中景/近景/特写)、角度(俯视/平视/仰视/鸟瞰)、构图方式(居中/三分法/对角线/框架等)
- 细节:光线、色彩倾向、背景元素、前景元素
- 氛围:场景传达的情感
- 每页的构图、视角、角度必须轮换变化,确保视觉多样性
分镜多样性原则(每页必须遵循):
1. 视角轮换:远景 → 中景 → 近景 → 特写,不连续两页相同
2. 角度轮换:俯视 → 平视 → 仰视 → 鸟瞰
3. 构图轮换:居中 → 三分法 → 对角线 → 框架
4. 动作有差异:站立/坐/跑/跳/躺/趴/飞等
5. 表情符合情感:微笑/惊讶/思考/好奇/坚定/悲伤等
6. 环境有区别:每页背景明显不同
7. 光线有变化:柔和/明亮/昏暗/月光/星光等
8. 色彩倾向:暖色(温馨)、冷色(神秘)、明亮(快乐)等
完成分镜拆解后,先用「用户展示描述」向用户展示分镜脚本,确认后再继续。
三、角色设计
提取故事中的主要角色,为每个角色设计:
- 外貌特征(体型、发型、肤色、服装等)
- 标志性特征(独特的配饰、颜色、物品等)
- 表情风格(可爱、严肃、滑稽等)
若故事有明显的风格基调(如中国古代、科幻、童话等),在角色设计中体现。
四、生成角色卡片
为每个主要角色生成一张风格参考卡片。
工具调用:使用 ImageGen(需先通过 ToolSearch 加载 schema,再通过 DeferExecuteTool 调用)。
prompt 构造:
- 英语描述,确保角色正面、全身或半身、姿态自然
- 包含画风关键词(如 "children's book illustration style", "cute cartoon character", "full body", "standing pose", "simple background", "character design sheet")
- 不添加复杂背景(角色卡片需要干净,方便后续当参考图)
- 详细 prompt 模板见 references/prompt-templates.md
成本提示:每张角色卡片约消耗 5-10 credits,生成前告知用户。
结果:ImageGen 返回生成的图片 URL,保存为角色卡片。
五、批量生成分镜插画
使用角色卡片作为风格参考,逐页生成绘本插画。
工具调用:使用 ImageGen 的 image-to-image 模式。
流程:
1. 将角色卡片 URL 作为 image 参数传入
2. 将「技术生图描述」整合为英文 prompt
3. 逐页调用 ImageGen,确保每页都以同一张角色卡片为参考(保证画风统一)
4. 等待每张图生成完成后继续下一页
prompt 构造要点:
- 以角色卡片为 image 参考,确保角色形象一致
- 英文 prompt 整合场景、动作、构图、细节、氛围五个维度
- 添加画风一致性关键词(如 "same illustration style as reference", "consistent art style")
- 详细 prompt 模板见 references/prompt-templates.md
成本提示:每页约消耗 5-10 credits,生成前告知用户总消耗预估。
并行策略:若页数较多(≥4 页),可考虑 2-3 页并行生成以提高效率,但共享同一张角色卡片作为参考。
六、展示结果
以 Markdown 格式展示完整绘本,只使用用户展示描述:
# 《故事标题》绘本
## 角色介绍
- 主角:描述...
- 配角:描述...
## 绘本内容
### 第1页:页面标题
简洁的故事情节描述(1-2 句话)

### 第2页:页面标题
简洁的故事情节描述(1-2 句话)

...
关键约束:
- 展示内容中绝对不出现「场景」「动作」「构图」「细节」「氛围」等任何技术字段
- 每页描述保持简洁的故事性文字
- 技术分镜描述仅用于传给 ImageGen,不对用户展示
七、单页修改
当用户要求修改某页图片时:
- 识别要修改的页码和具体修改需求
- 使用 ImageGen 的 image-to-image 模式,传入原图 URL 作为
image参数 - prompt 中描述修改内容,同时强调保持原有角色形象和画风
- 生成后重新展示完整绘本,替换修改后的图片
输出约束
- 绘本页数:2-10 页,默认 4 页
- 必须先完成分镜拆解并与用户确认,再开始生图
- 必须先有角色卡片,再生成绘本页面(通过 image-to-image 保证风格统一)
- 用户展示描述仅 1-2 句话故事描述,不含任何技术术语
- 技术分镜描述每个维度都要详细,且每页要有明显变化
- 遇到生成失败时,明确告知失败的页码和原因,询问是否重试
- 部分页面失败时,展示成功页面,说明失败页面,询问用户处理方式
- 所有 ImageGen 调用前必须告知用户 credit 消耗预估
ImageGen 调用说明
ImageGen 是 deferred tool,调用流程:
- 加载 schema:
ToolSearch→tool_names: ["ImageGen"] - 调用生成:
DeferExecuteTool→toolName: "ImageGen",params: { prompt: "...", image: "url" }
- 纯文本生图(角色卡片):只传prompt
- 图生图(分镜/修改):同时传prompt和image(参考图 URL)
错误处理
| 场景 | 处理方式 |
|---|---|
| 角色卡片生成失败 | 告知用户失败原因,调整 prompt 后重试(最多 3 次) |
| 某页分镜生成失败 | 记录失败页码,继续生成其余页面,全部完成后向用户报告汇总,询问是否重试失败页 |
| 全部页面失败 | 告知用户可能的原因(prompt 问题、服务暂时不可用),建议调整需求或稍后重试 |
| 单页修改失败 | 告知用户失败原因,尝试调整修改描述后重试 |
| 用户未确认分镜就开始生图 | 必须先展示分镜脚本并等待确认,不要跳过 |
参考资料
references/prompt-templates.md:角色卡片和分镜插画的 prompt 模板库,包含不同画风、角色类型、场景类型的详细 prompt 构造指南。