Skip to content
Back to skills

6ce999d7e19061e6 Story Comic Creator

ASecurity

将故事/小说/回忆录等文字内容制作成专业的连环画/漫画(HTML格式),支持多宫格布局、气泡式对白、心理活动气泡、旁白框、音效字、分集结构。涵盖从剧本创作、角色设定、批量生图、HTML组装到压缩发布的完整工作流。适用于"把我的故事做成漫画""生成连环画""做个小人书""故事转漫画"等需求。

  • 4 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 29, 2026
ai-agentspythongonode

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add 3acloud/openair --skill 6ce999d7e19061e6_story-comic-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 6ce999d7e19061e6 Story Comic Creator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 6ce999d7e19061e6 Story Comic Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/3acloud-6ce999d7e19061e6-story-comic-creator/badge)](https://www.skillsdirectory.com/skills/3acloud-6ce999d7e19061e6-story-comic-creator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: story-comic-creator
description: 将故事/小说/回忆录等文字内容制作成专业的连环画/漫画(HTML格式),支持多宫格布局、气泡式对白、心理活动气泡、旁白框、音效字、分集结构。涵盖从剧本创作、角色设定、批量生图、HTML组装到压缩发布的完整工作流。适用于"把我的故事做成漫画""生成连环画""做个小人书""故事转漫画"等需求。
version: 1.5.0
author: 沉淀自《我藏了整个青春的人》《岁月不忘,我那位温柔又执拗的二叔》连环画项目
display_name: 往事漫画 · 故事连环画生成器
display_name_en: Story Comic Creator
description_zh: 将故事、小说或回忆录做成专业连环画(单文件 HTML + 图片)。内置 8 阶段工作流、多宫格布局、气泡对白、旁白栏、写实水彩画风锚定与角色一致性控制。
description_en: Turn stories, novels, or memoirs into professional comic strips (single-file HTML + images). Ships an 8-stage workflow, multi-panel layouts, speech/thought bubbles, narration bars, and watercolor style anchoring with character consistency control.
category: 内容创作
update: v1.5 新增画风控制体系:风格参考图(强制第一步)、固定风格锚定描述块、明确负面约束、所有含角色画格用参考图生图双重锚定
---

# 故事连环画生成工作流

## 一、定位与适用场景

将用户提供的故事文本(回忆录、小说、散文、真实经历等)转化为可在浏览器中阅读的专业连环画/漫画。最终产物为单文件 HTML + 图片文件夹,支持压缩后发布到各平台。

**适用:** 个人故事漫画、回忆录连环画、小说改编漫画、短篇故事漫画
**不适用:** 长篇连载(>20集)、商用专业漫画(需要手绘级精度)、动态漫画/视频

## 二、完整工作流(8个阶段)

```
需求确认 → 剧本创作 → 角色资产设定 → 角色锚定 → 批量生图 → HTML组装 → 压缩发布 → 迭代修改
```

> **强制门禁**:阶段3「角色资产设定」必须在批量生图之前完成。未生成角色立绘+三视图+风格参考图,不得进入批量生图阶段。

**门禁总览(每个阶段结束必须逐项检查,全部通过才进入下一阶段):**

| 阶段 | 检查重点 | 不通过的后果 |
|------|---------|------------|
| 1.需求确认 | 参数齐全、用户确认 | 后续返工 |
| 2.剧本创作 | 集数/格数/文字量/距离规则 | 生图出错、画面不对 |
| 3.角色资产 | 三视图完整、风格参考图确认、画风统一、无畸形 | 全本角色不一致 |
| 4.角色锚定 | 描述与资产对应、多版本标注 | 生图角色漂移 |
| 5.批量生图 | 全部生成、质量合格、角色一致、画风锚定 | HTML组装缺图/错图 |
| 6.HTML组装 | 结构正确、无断链、布局合规 | 显示异常、盖脸 |
| 7.压缩发布 | 大小达标、画质可接受、路径正确、引用干净 | 无法发布/显示异常 |
| 8.迭代修改 | 修改到位、同步发布版、重新验证 | 旧问题残留 |

---

### 阶段1:需求确认

**必须确认的参数:**
1. **总集数**:建议 6-12 集,每集 4-6 格画。总画格数控制在 30-60 格。
2. **宫格布局**:每集用 2×2(4格)或 2×3(6格)。避免 3×3(9格)因为单格太小文字放不下。
3. **画风**:往事/回忆录类默认**写实水彩风**(成熟稳重、非卡通萌系);其他故事可选日系水彩治愈风、国风水墨、美式漫画、像素风等。
4. **文字元素**:是否需要气泡对白、心理活动、旁白框、音效字(默认全开)。
5. **发布限制**:是否有文件大小限制(如 20MB),决定压缩参数。

**用户说"随便""你来定"时的默认值:**
- 10集,每集 4-6 格,总计约 50 格
- 写实水彩风,暖色调(往事/回忆录类)
- 2×2 和 2×3 宫格交替
- 全部文字元素开启
- 压缩到 20MB 以内

#### ✅ 阶段1检查门禁(全部通过才进入阶段2)

- [ ] 总集数已确认(6-12集)
- [ ] 每集格数已确认(4-6格),总格数在30-60之间
- [ ] 宫格布局已确认(2×2/2×3,无3×3)
- [ ] 画风已确认(往事类默认写实水彩风)
- [ ] 文字元素已确认(对白/心理活动/旁白/音效是否全开)
- [ ] 发布大小限制已确认(如20MB)
- [ ] 以上参数已向用户复述并获得确认

---

### 阶段2:剧本创作

**输出物:** `剧本.md`,包含每集每格的:画面描述、对白、心理活动、旁白、音效。

#### 2.1 拆分故事为集

通读全文,按叙事节奏拆成 6-12 集。每集聚焦一个核心场景或情绪转折。

**拆分原则:**
- 时间/空间切换 → 新的一集
- 情绪转折点 → 新的一集
- 每集有独立小标题(2-6字)
- 避免某集内容过多(超过6格就拆成两集)

#### 2.2 每集拆分为画格

每集 4-6 格,按"起承转合"或时间顺序排列。

**画格类型分配(每集建议):**
- 1格 远景/ establishing shot(交代场景)
- 2-3格 中景(人物动作、互动)
- 1-2格 近景/特写(表情、关键物品、情绪)

**每格必须写清:**
```
格X(镜头类型:远景/中景/近景/特写):
- 画面:(人物、动作、场景、镜头、光影。双人画面必须写明距离)
- 对白:(谁说的,内容)—— 可选
- 心理活动:(谁的内心独白)—— 可选
- 旁白:(叙述性文字)—— 可选
- 音效:(如"铃——""砰")—— 可选
```

**镜头类型(强制标注,每格必须写明):**
| 类型 | 用途 | 人物占比 | 文字建议 |
|------|------|---------|---------|
| 远景 / establishing | 交代场景、时空 | 人物<30% | 旁白为主 |
| 中景 | 人物动作、互动 | 人物30%-70% | 对白+旁白 |
| 近景 | 表情、情绪 | 人物70%-90% | 心理活动+对白 |
| 特写 | 关键物品、脸部细节 | 人物>90% | 仅旁白栏,不放叠加气泡 |

#### 2.3 文字量控制

- **对白气泡**:每格最多 15 字,超过就拆成两格或简化
- **心理活动气泡**:每格最多 20 字
- **旁白框**:每格最多 30 字,长旁白拆到相邻格
- **每格文字元素总数**:不超过 2 个(如对白+旁白可以,对白+心理活动+旁白就太挤)

#### 2.4 人物距离判定规则(强制)

在设计每格画面时,必须根据原文判断人物之间的关系和距离,写入剧本的"画面"描述中。

**判定流程:**
1. **读原文定关系**:通读故事,明确每对人物的关系(恋人/夫妻/朋友/同事/亲人/陌生人)
2. **按关系定距离**:
   - **恋人/夫妻**:可以靠近、牵手、拥抱、并肩走(距离<30cm)
   - **亲人(家人)**:可以靠近、并肩、有肢体接触(距离<50cm)
   - **朋友/同事**:保持社交距离,隔桌对坐、一臂距离、并肩走但不触碰(距离≥50cm),**禁止**脸贴脸、额头相抵、牵手、拥抱等亲密动作
   - **陌生人**:保持更远距离(距离≥1m)
3. **按原文场景微调**:如果原文明确描述了某个肢体动作(如"他拍了拍我的肩""我们拥抱了"),按原文执行;如果原文没有描述,按关系默认距离执行
4. **写入剧本**:每格的"画面"描述中必须包含距离说明,如"两人隔桌对坐""两人保持一臂距离""两人并肩走但无身体接触"

**常见错误(必须避免):**
- 朋友关系画成脸贴脸、额头相抵 → 应改为隔桌/隔物对坐
- 朋友关系画成牵手、拥抱 → 应改为无身体接触
- 双人近景特写两人面部几乎重叠 → 应改为中景,保持距离
- 用"面对面说话"默认画成亲密距离 → 必须加"隔桌""一臂距离"等限定词

#### ✅ 阶段2检查门禁(全部通过才进入阶段3)

- [ ] 剧本.md 已生成,集数与阶段1确认的一致
- [ ] 每集格数符合4-6格,每集有独立小标题(2-6字)
- [ ] **每格都标注了镜头类型(远景/中景/近景/特写)**
- [ ] 每格都有画面描述(人物、动作、场景、镜头)
- [ ] 每格对白≤15字,心理活动≤20字,旁白≤30字
- [ ] 每格文字元素≤2个(无对白+心理+旁白全堆的情况)
- [ ] 每集画格类型分配合理(1远景+2-3中景+1-2近景)
- [ ] 人物距离规则已写入每格画面描述(朋友关系明确"隔桌/一臂距离")
- [ ] 特写镜头已标注"不放叠加气泡,改用旁白栏"
- [ ] 无超过6格的集(超过则已拆分)
- [ ] 剧本已通读,叙事节奏连贯,无遗漏关键情节

---

### 阶段3:角色资产设定(强制门禁)

**目标:** 为每个主要角色生成标准化的视觉资产,作为后续所有画格的角色一致性锚点。同时确立全本统一的画风。

**输出物:** `characters/` 文件夹,每个主要角色一张「立绘+三视图」设定图;`style_ref.jpg` 风格参考图。

#### 3.1 风格参考图生成(强制第一步)

在生成任何角色三视图之前,**必须先生成一张纯场景的风格参考图**(无人物),确认画风符合预期后,再用它作为风格参考生成所有角色三视图和画格。

**为什么要做:** 纯文字描述"写实水彩风"太笼统,不同模型理解差异大。先生成一张场景图确认画风,再用「参考图生图」以这张图为风格参考生成后续所有图,能确保全本画风高度统一。

**风格参考图 prompt(固定模板,直接复制使用):**

```
写实水彩插画风格,传统水彩手绘质感,可见水彩晕染和水痕纹理,
粗糙水彩纸底色,色彩柔和不饱和,暖色调怀旧氛围,
笔触自然随性,边缘柔和不锐利,光影柔和渐变过渡,
类似宫崎骏动画背景的水彩质感,类似新海诚动画背景美术风格,
成熟稳重的成人向插画,非儿童绘本,非卡通萌系。

夏末午后的老校园梧桐大道,阳光透过树叶在地面洒下斑驳光斑,
远处有红砖教学楼,空无一人,宁静怀旧的氛围。
暖金色光线,柔和侧光,远景构图。

不要卡通化,不要二次元动漫风格,不要3D渲染,不要油画厚涂,
不要赛璐璐平涂,不要照片级写实质感,不要Q版,不要大眼萌系,
不要塑料感,不要过度饱和的鲜艳色彩,不要锐利的数字绘画边缘,
不要人物,不要文字。
```

生成后**必须目视确认**:
- 水彩晕染质感明显(可见水痕、纸纹)
- 色彩柔和不饱和(暖色调,不鲜艳)
- 边缘柔和(非锐利数字绘画)
- 非卡通、非3D、非照片写实
- 整体氛围符合"往事回忆"的怀旧感

确认通过后保存为 `characters/style_ref.jpg`,后续所有角色三视图和画格都用它作为风格参考。

**如果风格不对:** 调整 prompt 中的风格描述词(如增加"透明水彩""湿画法""干笔触感"等),重新生成,直到画风符合预期。**不要在风格未确认时就批量生成角色三视图**,否则会全部返工。

#### 3.2 风格锚定描述块(每张图prompt必须包含)

以下描述块是**固定的风格锚定**,每张图(角色三视图、画格)的 prompt 开头必须完整包含,不得删减或改写:

```
【风格】写实水彩插画风格,传统水彩手绘质感,可见水彩晕染和水痕纹理,
粗糙水彩纸底色,色彩柔和不饱和,暖色调怀旧氛围,
笔触自然随性,边缘柔和不锐利,光影柔和渐变过渡,
成熟稳重的成人向插画,非儿童绘本,非卡通萌系。
```

以下负面约束是**固定的**,每张图 prompt 结尾必须完整包含:

```
【禁止】不要卡通化,不要二次元动漫风格,不要3D渲染,不要油画厚涂,
不要赛璐璐平涂,不要照片级写实质感,不要Q版,不要大眼萌系,
不要塑料感,不要过度饱和的鲜艳色彩,不要锐利的数字绘画边缘。
```

**使用方式:** 每张图的 prompt = 【风格锚定块】+ 【画面描述】+ 【角色描述】+ 【光影氛围】+ 【负面约束块】。风格锚定块和负面约束块固定不变,只改中间的画面/角色/光影描述。

#### 3.3 角色资产清单

为每个出场超过3格的角色生成资产:
- **主角**:必须生成立绘+三视图
- **重要配角**:建议生成立绘+三视图
- **路人/群演**:不需要,用通用描述即可

#### 3.4 三视图生成规范

用「参考图生图」能力生成,以 `characters/style_ref.jpg` 风格参考图为参考,单张正方形,边长取所在平台支持的最高值(如 1536×1536;部分平台可到 2048×2048),prompt 模板:

```
【风格】写实水彩插画风格,传统水彩手绘质感,可见水彩晕染和水痕纹理,
粗糙水彩纸底色,色彩柔和不饱和,暖色调怀旧氛围,
笔触自然随性,边缘柔和不锐利,光影柔和渐变过渡,
成熟稳重的成人向插画,非儿童绘本,非卡通萌系。

角色设定三视图,[角色标准化外貌描述]。
三视图:正面、侧面、背面。穿[标准服装]。
身高约[X]cm,体型[描述,自然不过度夸张]。
背景纯白色,角色全身站立,双手自然下垂。

【禁止】不要卡通化,不要二次元动漫风格,不要3D渲染,不要油画厚涂,
不要赛璐璐平涂,不要照片级写实质感,不要Q版,不要大眼萌系,
不要塑料感,不要过度饱和的鲜艳色彩,不要锐利的数字绘画边缘。
```

**参考图:** 必须传入 `characters/style_ref.jpg` 作为「参考图」,确保画风与风格参考图一致。

**三视图必须包含:**
- 正面(确认脸型、五官、发型正面)
- 侧面(确认鼻梁、嘴唇、发型侧面)
- 背面(确认发型背面、服装背面)

**多角色画风统一(强制):** 所有角色三视图都必须用「参考图生图」以 `characters/style_ref.jpg` 风格参考图为参考生成。第一个角色的三视图生成后,后续角色的三视图可以同时传入 `style_ref.jpg` + 第一个角色三视图作为双重风格参考,确保所有角色画风、笔触、色彩完全统一。禁止任何角色单独用 文生图 生成(会导致画风漂移)。

#### 3.5 多造型/多年龄版本

如果角色在故事中有明显造型变化(如学生→职场、夏装→冬装、年轻→中年),每个主要造型都要生成一套三视图。在文件名中标注版本,如 `二叔_工装版.jpg`、`二叔_休闲版.jpg`。

#### 3.6 资产确认

生成后必须目视检查:
- 三视图是否是同一个人物(脸型、发型一致)
- 服装是否符合角色设定
- 比例是否正常(无畸形)
- 画风是否与目标画风一致

确认通过后,将资产图保存到 `characters/` 目录,后续生图时作为参考。

#### ✅ 阶段3检查门禁(全部通过才进入阶段4)

- [ ] **风格参考图已生成并目视确认**(水彩晕染明显、色彩柔和不饱和、非卡通/3D/照片写实,保存为 characters/style_ref.jpg)
- [ ] 所有出场超过3格的角色都已生成三视图
- [ ] 每张三视图包含正面、侧面、背面三个视角
- [ ] 三视图是同一个人物(脸型、发型、五官一致)
- [ ] 服装符合角色设定,无穿帮
- [ ] 比例正常,无畸形(手、脚、身体比例)
- [ ] **所有角色三视图都用 style_ref.jpg 作为风格参考生成**(画风、笔触、色彩统一)
- [ ] 无卡通化/萌系/Q版(往事类必须写实水彩风)
- [ ] 多造型/多年龄版本已分别生成(如学生版+职场版)
- [ ] 资产图已保存到 characters/ 目录,命名规范(角色名_三视图.jpg,无用prompt作文件名)
- [ ] 已目视检查每张资产图,确认合格

---

### 阶段4:角色锚定

**目标:** 基于角色资产,为每个角色写一段标准化外貌描述,在所有生图 prompt 中复用。

#### 4.1 角色设定表

```
女主(我):20多岁中国女性,黑色中长发到肩下,发尾微卷自然垂落,偏分刘海,
清秀眉眼,眼睛大小适中,鼻梁小巧挺直,嘴唇饱满自然,脸型鹅蛋脸,气质温和大方。
标准服装:浅米色休闲夹克+白色圆领卫衣+蓝色直筒牛仔裤+白色休闲运动鞋。
身高约165cm,体型匀称自然。

男主(二叔):20多岁北方男性,黑色短发清爽偏分,面容清俊,眉眼温和,
鼻梁挺直,嘴唇薄,气质沉静内敛。
标准服装:蓝色工装夹克+白色T恤+深色长裤+黑色皮鞋。
身高约180cm,体型偏瘦,肩膀略窄。
```

**关键规则:**
- 每个角色的发型、发色、脸型、服装在 prompt 中必须完全一致
- 描述必须与三视图资产对应,不要凭空添加资产中没有的特征
- 年龄/造型变化时,明确标注版本,并使用对应版本的三视图作为参考

#### 4.2 复用已有画面

如果项目中已有生成好的图片,可以直接复用为关键画格。复用的图片要检查角色是否与新设定一致,不一致的需要重生成。

#### ✅ 阶段4检查门禁(全部通过才进入阶段5)

- [ ] 每个主要角色都有标准化外貌描述(发型、发色、脸型、服装、身高、体型)
- [ ] 描述与三视图资产完全对应(无凭空添加资产中没有的特征)
- [ ] 角色描述中无"眼睛偏大"等萌系词汇(用"眼睛大小适中")
- [ ] 多造型/多年龄版本已明确标注,并关联对应版本的三视图
- [ ] 配角也有简短锚定描述
- [ ] 复用的已有图片已检查角色一致性,不一致的已标记需重生成
- [ ] 角色设定表已整理完毕,可直接复制到生图prompt中

---

### 阶段5:批量生图

**工具:** 文生图 用于无角色的场景/远景;参考图生图 用于含角色的画格,以角色三视图 + style_ref.jpg 为参考确保一致性。每批最多 4 张并行。

> **平台适配(发布前必读):** 本 skill 的生图逻辑与具体 AI 平台无关,只用「文生图 / 参考图生图」两个概念。落地时按你所用平台映射工具:
> - **豆包**:文生图 = `image_gen`;参考图生图 = `image_edit`,参考图经 `image_reference_url_list` 传入(可同时传 `style_ref.jpg` + 角色三视图共 2 张,作为双重风格/角色参考)。
> - **WorkBuddy**:两类生图统一用 `ImageGen` 工具——纯文生图只给 `prompt`;含角色画格的双重参考给 `prompt` + `image1=角色_三视图路径` + `image2=style_ref.jpg` + `input_fidelity="high"`(高贴合度锁一致性);参考图支持本地路径或 URL,最多 3 张(正面/侧面/背面可各传一张)。尺寸映射到 1536×1536(三视图)/ 1024×1536(画格)。

#### 5.1 生图工具选择

| 画格类型 | 推荐工具 | 说明 |
|---------|---------|------|
| 含主要角色的中近景 | `参考图生图` | 传入 style_ref.jpg + 角色三视图作为参考图,确保画风与脸型/发型/服装一致 |
| 含主要角色的远景 | `文生图` | 远景角色细节不明显,文生图即可(仍带风格锚定块+负面约束) |
| 纯场景/空镜 | `文生图` | 无角色,不需要参考 |
| 物品/特写 | `文生图` | 无角色 |

#### 5.2 参考图生图 Prompt 模板

```
【风格】写实水彩插画风格,传统水彩手绘质感,可见水彩晕染和水痕纹理,
粗糙水彩纸底色,色彩柔和不饱和,暖色调怀旧氛围,
笔触自然随性,边缘柔和不锐利,光影柔和渐变过渡,
成熟稳重的成人向插画,非儿童绘本,非卡通萌系。

[镜头类型]。[场景描述]。[角色标准化外貌描述],[角色动作/表情]。
[光影/氛围/色调]。

【禁止】不要卡通化,不要二次元动漫风格,不要3D渲染,不要油画厚涂,
不要赛璐璐平涂,不要照片级写实质感,不要Q版,不要大眼萌系,
不要塑料感,不要过度饱和的鲜艳色彩,不要锐利的数字绘画边缘。
```

**参考图(强制传入两张):**
1. `characters/style_ref.jpg`(风格参考图,确保画风统一)
2. `characters/角色_三视图.jpg`(角色参考图,确保角色一致)

**关键:** 参考图+风格锚定描述块+角色描述,三重锚定,画风和角色一致性最好。

#### 5.3 文生图 Prompt 模板(仅用于纯场景/远景/物品,无角色)

```
【风格】写实水彩插画风格,传统水彩手绘质感,可见水彩晕染和水痕纹理,
粗糙水彩纸底色,色彩柔和不饱和,暖色调怀旧氛围,
笔触自然随性,边缘柔和不锐利,光影柔和渐变过渡,
成熟稳重的成人向插画,非儿童绘本,非卡通萌系。

[镜头类型]。[场景描述]。[光影/氛围/色调]。

【禁止】不要卡通化,不要二次元动漫风格,不要3D渲染,不要油画厚涂,
不要赛璐璐平涂,不要照片级写实质感,不要Q版,不要大眼萌系,
不要塑料感,不要过度饱和的鲜艳色彩,不要锐利的数字绘画边缘,
不要人物,不要文字。
```

**注意:** 含角色的画格必须用「参考图生图」(5.2),禁止用文生图(会导致角色不一致、画风漂移)。

**镜头类型词:** 远景、中景、近景、特写
**光影词:** 夕阳金色光线、暖黄色台灯光、蓝紫色暮色、明亮阳光、柔和侧光

#### 5.4 生图策略

1. **最小验证(强制)**:批量生成前,先生成第1集的4格画格(含角色三视图参考),目视检查:画风是否符合预期、角色是否与三视图一致、画面是否符合剧本。确认无误后再批量生成剩余画格。避免一次性生成50格后发现画风不对全部返工。
2. **按集分批**:每批 4 张,优先生成同一集的画格(方便检查一致性)
3. **先关键后补充**:先生成每集的核心画格(特写、关键动作),再生成远景/过渡格
4. **生成与下载分离**:专心连续生成所有画格,不要每批穿插下载(容易超时拖慢节奏)。全部生成完后,用一个批量下载脚本一次性下载所有图片到 `panels/` 目录,命名 `e{集数}_p{格数}.jpg`
5. **图片格式(强制)**:源文件统一用 **JPG** 格式(quality=95),不要用 PNG。PNG 每张约 3MB,50格就是 150MB,严重浪费存储空间和下载时间。如果生图工具返回的是 PNG,下载后立即用 PIL 转为 JPG(quality=95)。
6. **质量检查**:全部下载后目视检查——角色是否与三视图一致、画面是否符合剧本、有无畸形/穿帮
7. **不一致重生成**:发现角色脸/发型漂移,用「参考图生图」以三视图为参考重生成该格

#### 5.5 常见问题与处理

| 问题 | 处理方式 |
|------|---------|
| 角色脸不一致 | 用 参考图生图 以角色三视图为参考重生成;prompt 中增加更详细的面部特征 |
| 画面有多余文字 | AI 生图偶尔会产生乱码文字,重生成或裁剪掉 |
| 手部畸形 | 特写手部时重生成 1-2 次,或改用中景避开手部 |
| 特定人物不像 | 增加具体特征描述,用 参考图生图 以参考图生成,多生成几次选最像的 |
| 男女距离不当 | prompt 中明确"保持普通朋友距离""隔桌对坐""一臂距离"等 |

#### 5.6 文件命名规范

```
panels/
  e01_p01.jpg  (第1集第1格)
  e01_p02.jpg
  e02_p01.jpg
  ...
characters/    (角色资产,三视图 + 风格参考图)
  style_ref.jpg   (风格参考图,强制)
  男主_三视图.jpg
  女主_三视图.jpg
  二叔_工装版.jpg   (多造型版本)
images/        (复用的已有图片,如 page01.jpg)
```

**命名规则(强制):**
- 画格:`e{集数两位}_p{格数两位}.jpg`,如 `e01_p01.jpg`
- 风格参考图:`characters/style_ref.jpg`(固定名)
- 角色三视图:`{角色名}_三视图.jpg`,如 `女主_三视图.jpg`、`二叔_三视图.jpg`
- 多造型版本:`{角色名}_{造型名}.jpg`,如 `二叔_工装版.jpg`
- **禁止**用 prompt 作为文件名(如"写实水彩风格_角色设定三视图_....png"),太长且无意义

#### ✅ 阶段5检查门禁(全部通过才进入阶段6)

- [ ] **最小验证已完成**:第1集4格已生成并目视确认(画风与style_ref.jpg一致、角色一致性、画面符合剧本)
- [ ] 所有画格已全部生成(数量=剧本总格数),无遗漏
- [ ] **含角色的画格都用了「参考图生图」**,传入 style_ref.jpg + 角色三视图作为双重参考
- [ ] 纯场景/远景/物品画格使用了 文生图(含风格锚定块+负面约束)
- [ ] **每张图prompt都包含风格锚定块和负面约束块**(无遗漏)
- [ ] **所有图片为 JPG 格式**(无 PNG 源文件,PNG 已转 JPG quality=95)
- [ ] 所有图片已下载到 panels/ 目录,命名规范(e{集数}_p{格数}.jpg)
- [ ] **角色三视图命名规范**(角色名_三视图.jpg,无用prompt作文件名)
- [ ] 逐张目视检查:画风与 style_ref.jpg 一致(水彩晕染、色彩柔和、边缘柔和)
- [ ] 逐张目视检查:角色脸型/发型/服装与三视图一致
- [ ] 逐张目视检查:画面内容符合剧本描述
- [ ] 逐张目视检查:无手部畸形、无多余乱码文字、无穿帮
- [ ] 逐张目视检查:人物距离符合关系设定(朋友关系无亲密动作)
- [ ] 逐张目视检查:人物脸部在画面中心区域,四角留空给气泡
- [ ] **无画风漂移**(无卡通化、无3D渲染、无照片写实、无油画厚涂)
- [ ] 角色不一致/画面不合格/画风漂移的画格已用「参考图生图」重生成
- [ ] 重生成的画格已重新检查合格

---

### 阶段6:HTML 组装

**输出物:** `连环画.html`,单文件,引用相对路径的图片。

#### 6.1 文件结构

```
comic/
  连环画.html
  panels/       (新生成的画格)
  images/       (复用的图片)
  剧本.md       (剧本备份)
```

#### 6.2 CSS 核心组件

完整模板见 `templates/comic_template.html`。核心组件:

**画格结构(关键):**
```html
<div class="panel-cell">          <!-- 画格单元:图片在上,旁白栏在下 -->
  <div class="panel">              <!-- 仅放图片 + 叠加气泡 -->
    <img src="panels/e01_p01.jpg">
    <div class="bubble speech pos-tr">对白</div>
  </div>
  <div class="narration-bar">旁白</div>  <!-- 图片下方独立空间,绝不盖脸 -->
</div>
```

**核心原则:旁白不叠加在图片上**——旁白放在图片下方独立的 `.narration-bar` 中,彻底避免盖住人物脸部。只有对白气泡、心理活动气泡、音效字叠加在图片上,且必须放在四角。

**宫格容器:**
- `.grid-2x2`:2列×2行,4格
- `.grid-2x3`:2列×3行,6格
- 用 `border: 3px solid #3a3025` 做画格外框,格子间 1.5px 边框分隔

**气泡类型:**

| 类型 | CSS类 | 样式 | 用途 | 位置限制 |
|------|-------|------|------|---------|
| 对白气泡 | `.speech` | 白底+黑边+圆角+尾巴 | 人物说话 | 仅四角 |
| 电话对白 | `.speech-phone` | 白底+虚线边+斜体 | 电话那头的声音 | 仅四角 |
| 心理活动 | `.thought` | 米白底+棕边+云朵形+小圆点尾巴 | 内心独白 | 仅四角 |
| 旁白栏 | `.narration-bar` | 米白底+顶部细线,图片下方独立栏 | 叙述/场景交代 | 图片下方,不叠加 |
| 音效字 | `.sfx` | 红色粗体+旋转+白边 | 拟声词 | 任意 |

**叠加气泡位置(仅四角,禁止居中):**
- `.pos-tl` / `.pos-tr` / `.pos-bl` / `.pos-br`:四角
- **禁止**用居中位置(pos-tc/pos-bc)放气泡,因为居中最容易盖住脸
- 气泡 `max-width: 58%`,避免占满画格

**气泡尾巴方向:**
- 说话人在画面左侧 → 尾巴在左下角 (`.pos-bl`)
- 说话人在画面右侧 → 尾巴在右下角 (`.pos-br`)
- 说话人在画面上方 → 尾巴在左上角/右上角

心理活动气泡的小圆点尾巴指向角色的头部。

**回忆/闪回处理:**
- `.flashback` 类加 `filter: sepia(0.15) contrast(0.95)`,视觉上区分时空

**手机端优化(强制):**
- 600px以下:气泡字号10px,旁白栏10.5px,气泡max-width 62%
- 380px以下:气泡字号9px,进一步压缩padding
- 旁白栏min-height确保不会因文字少而塌陷

#### 6.2.1 HTML清理(强制)

生成HTML后,必须清理以下冗余内容:
1. **冗余属性**:删除 `data-page-node-id`、`data-*` 等非标准属性(其他模型/平台可能自动添加)
2. **空元素**:删除空的 `.narration-bar`(虽然CSS有`:empty`隐藏,但清理更干净)
3. **注释清理**:删除开发用注释,保留集数/格数标注注释
4. **格式统一**:缩进统一为2空格,标签闭合规范

清理命令参考:
```python
import re
html = re.sub(r'\s+data-page-node-id="[^"]*"', '', html)
html = re.sub(r'\s+data-[a-z-]+="[^"]*"', '', html)
```

#### 6.3 气泡尾巴方向

对白气泡的尾巴要指向说话人:
- 说话人在画面左侧 → 尾巴在左下角 (`.pos-bl`)
- 说话人在画面右侧 → 尾巴在右下角 (`.pos-br`)
- 说话人在画面上方 → 尾巴在左上角/右上角

心理活动气泡的小圆点尾巴指向角色的头部。

#### 6.4 文字可读性与防盖脸规则

**旁白栏(不叠加):**
- 旁白放在图片下方独立的 `.narration-bar`,有自己的空间,绝不盖脸
- 旁白栏背景用不透明米白色,确保文字清晰
- 字号:桌面12px,手机10.5px,超小屏9.5px

**叠加气泡(对白/心理活动):**
- 气泡背景用不透明/近不透明白色,确保文字在任何画面上都清晰
- 字号:桌面12px,手机10px,超小屏9px
- 气泡 `max-width: 58%`(桌面)/ 62%(手机),避免占满画格
- **仅用四角位置**(pos-tl/tr/bl/br),禁止居中——居中最容易盖脸
- 气泡padding:桌面6px×10px,手机4px×7px,紧凑不臃肿

**生图时的防盖脸配合:**
- 生图prompt中尽量让人物脸部在画面中心区域,四角留空给气泡
- 特写镜头(脸部占比大)尽量不放叠加气泡,改用旁白栏

#### ✅ 阶段6检查门禁(全部通过才进入阶段7)

- [ ] 连环画.html 已生成,集数/格数与剧本一致
- [ ] 画格结构正确:`<div class="panel-cell"><div class="panel">图片+气泡</div><div class="narration-bar">旁白</div></div>`
- [ ] 旁白全部在 `.narration-bar` 中(图片下方),无叠加在图片上的旁白
- [ ] 对白/心理活动气泡仅用四角位置(pos-tl/tr/bl/br),无居中位置
- [ ] 气泡尾巴指向说话人(说话人在左→尾巴左下,在右→尾巴右下)
- [ ] 所有图片引用路径正确(相对路径 panels/eXX_pXX.jpg),无断链
- [ ] 宫格布局正确(2×2/2×3),无3×3
- [ ] 全屏格(panel-full)正确跨列
- [ ] 回忆场景已加 flashback 滤镜
- [ ] 在浏览器中打开HTML,逐集检查:无图片缺失、无布局错乱、无文字溢出
- [ ] 在手机尺寸(600px以下)下检查:气泡字号可读、旁白栏不塌陷、无盖脸
- [ ] 无旧格式残留(无 `.narration.top`/`.narration.bottom` 叠加在图片上)
- [ ] **HTML已清理冗余属性**(无 `data-page-node-id`、`data-*` 等非标准属性)
- [ ] **心理活动气泡四角尾巴样式完整**(pos-tl/tr/bl/br 都有 ::before/::after 尾巴)

---

### 阶段7:压缩发布

**目标:** 将总文件夹压缩到目标大小以内(通常 20MB)。

#### 7.1 压缩脚本

完整脚本见 `templates/compress.py`。核心参数:

```python
from PIL import Image
max_size = 1024      # 最长边最大像素
quality = 70          # JPEG 质量 (1-100)
```

**效果参考:** 54张原图(1536×2048,约61MB)→ 压缩后约 7.7MB

#### 7.2 压缩流程

1. 新建 `comic_publish/` 文件夹
2. 遍历原文件夹所有 `.jpg`/`.png`,缩放+降质量后保存为 `.jpg` 到新文件夹(保持目录结构)
3. 复制 HTML 文件到新文件夹
4. **清理未引用文件(强制)**:发布版中只保留 HTML 中实际引用的图片。`characters/` 角色三视图与风格参考图通常不被 HTML 引用,不应复制到发布版(会增加文件大小)。检查 HTML 中所有 `src="..."` 引用,只保留这些文件。
5. 检查总大小,如仍超限则降低 `max_size`(如 800)或 `quality`(如 60)
6. 验证 HTML 中图片引用路径正确(发布版统一为 `.jpg`,如果源文件是 `.png`,HTML 中的引用也要改为 `.jpg`)

#### 7.3 发布格式选择

| 平台要求 | 方案 |
|---------|------|
| 接受文件夹/ZIP | 直接用 `comic_publish/` 文件夹 |
| 要求单文件 HTML | 将图片转 base64 内嵌(文件会变大,需更激进压缩) |
| 要求 PDF | 用无头浏览器打印为 PDF(排版固定,但文件可能较大) |

#### ✅ 阶段7检查门禁(全部通过才进入阶段8/交付)

- [ ] comic_publish/ 文件夹已生成,包含 HTML + panels/ + images/
- [ ] 总文件夹大小在目标限制以内(通常≤20MB)
- [ ] 压缩参数合理(max_size=1024, quality=70),画质可接受
- [ ] 如仍超限,已降低 max_size(如800)或 quality(如60)后重新压缩
- [ ] 发布版 HTML 中图片引用路径正确(相对路径)
- [ ] 在浏览器中打开发布版 HTML,确认所有图片正常显示
- [ ] 发布版与源版内容一致(无遗漏画格、无文字差异)
- [ ] 文件命名规范,可直接交付用户
- [ ] 已确认发布平台的具体要求(单文件/文件夹/PDF),格式匹配
- [ ] **发布版只包含HTML引用的文件**(无多余的 characters/ 文件夹,无未引用的图片)
- [ ] **发布版图片统一为.jpg格式**(HTML中引用路径与实际文件格式一致)

---

### 阶段8:迭代修改

**常见修改类型与处理:**

| 修改需求 | 处理方式 |
|---------|---------|
| 某格画面不满意 | 重新生成该格图片,替换文件,HTML 不用改 |
| 某句台词要改 | 直接编辑 HTML 中对应气泡的文字 |
| 某集太重复/太挤 | 减少画格数(如6格→4格),调整 grid 类,重新排列 |
| 气泡位置挡住脸 | 调整 `.pos-xx` 类,或微调 `top/left` 值 |
| 角色不像 | 增加特征描述重生成,或用 参考图生图 参考已有角色图 |

**修改后必须:**
1. 同步更新 `comic_publish/` 中的 HTML(如果改了 HTML)
2. 重新压缩替换的图片(如果改了图片)
3. 重新验证总大小

#### ✅ 阶段8检查门禁(全部通过才交付)

- [ ] 用户指出的问题已准确定位(哪一集、哪一格、什么问题)
- [ ] 修改已执行到位(重生成图片/改文字/调布局/减格数)
- [ ] 修改后的画格已目视检查,确认问题已解决
- [ ] 如重生成了图片,角色与三视图一致,无新问题
- [ ] 如改了HTML,源版和发布版都已同步更新
- [ ] 如改了图片,发布版已重新压缩
- [ ] 总大小仍在目标限制以内
- [ ] 在浏览器中重新打开,确认修改生效且无新问题
- [ ] 已向用户说明修改了什么、为什么这样改

---

## 三、项目文件清单

```
项目根目录/
├── 连环画.html          # 主文件(浏览器打开即可阅读)
├── 剧本.md              # 完整剧本(每集每格的画面+文字)
├── characters/          # 角色资产(风格参考图+三视图)
│   ├── style_ref.jpg    # 风格参考图(强制,所有图的画风锚点)
│   ├── 男主_三视图.jpg
│   ├── 女主_三视图.jpg
│   └── ...
├── panels/              # 新生成的画格图片
│   ├── e01_p01.jpg
│   ├── e01_p02.jpg
│   └── ...
├── images/              # 复用的已有图片(可选)
│   ├── page01.jpg
│   └── ...
└── comic_publish/       # 压缩发布版(自动生成)
    ├── 连环画.html
    ├── panels/
    └── images/
```

---

## 四、时间/工作量估算

| 阶段 | 耗时 | 说明 |
|------|------|------|
| 需求确认+剧本 | 10-15分钟 | 取决于故事长度 |
| 角色资产设定 | 5-10分钟 | 每个主要角色1张三视图,2-3个角色;含风格参考图确认 |
| 批量生图(50格) | 25-35分钟 | 每批4张,约12-13批,含下载;含角色的用参考图生图参考生图 |
| HTML组装 | 10-15分钟 | 用模板填充 |
| 压缩+验证 | 5分钟 | |
| 迭代修改 | 按需 | 每次修改5-10分钟 |

**总计:** 约 1.5-2 小时完成一个 10集50格的连环画项目(含角色资产)

---

## 五、关键经验与踩坑记录

1. **不要用 AI 直接生成带文字的漫画**——中文字会乱码。所有文字用 HTML/CSS 叠加,图片只负责画面。
2. **角色一致性必须先做三视图资产**——这是强制门禁。纯靠 prompt 文字描述会导致脸型、发型、体型在不同格子里漂移。先生成角色立绘+三视图,后续含角色的画格用「参考图生图」以三视图为参考生成。
3. **多角色三视图必须画风统一**——第一个角色用 文生图 生成后,后续角色必须用 参考图生图 以第一个角色的三视图为风格参考生成,否则各角色画风/笔触/色彩会漂移(一个写实一个卡通)。
4. **往事/回忆录类用写实水彩风,不要卡通化**——prompt 中必须写"写实水彩风格""不要卡通化""不要大眼萌系""不要Q版",角色描述中避免"眼睛偏大"等萌系词汇,用"眼睛大小适中"。
5. **男女关系要在 prompt 中明确距离**——如果只是朋友关系,必须写"隔桌对坐""一臂距离""没有身体接触",否则 AI 会默认画成亲密关系。
6. **宫格不要超过 2×3**——3列的格子在手机上太小,文字和细节都看不清。
7. **每格文字不超过2个元素**——对白+心理活动+旁白全堆在一格里会非常乱。
8. **生成与下载分离**——不要每批穿插下载(容易超时拖慢节奏),专心连续生成完所有画格后,用批量脚本一次性下载。
9. **压缩用 1024px + quality 70**——屏幕阅读完全够用,50格约 8MB,远低于 20MB 限制。
10. **回忆场景加滤镜**——用 sepia 滤镜视觉上区分过去和现在,读者一眼就能看出时空切换。
11. **气泡尾巴指向说话人**——这是漫画的基本语法,尾巴方向错了会很违和。
12. **旁白绝不叠加在图片上**——旁白放在图片下方独立的文字栏,彻底避免盖住人物脸部(尤其是手机端)。只有对白/心理活动气泡叠加,且必须放在四角,禁止居中。
13. **生图时让脸在中心、四角留空**——prompt中尽量让人物脸部在画面中心区域,四角留空给叠加气泡。脸部特写镜头尽量不放叠加气泡,改用旁白栏。
14. **批量生图前先做最小验证**——先生成第1集4格,确认画风、角色一致性、画面符合剧本后再批量生成剩余画格。避免一次性生成50格后发现画风不对全部返工。
15. **源文件用JPG不用PNG**——PNG每张约3MB,50格就是150MB,严重浪费存储空间和下载时间。生图返回PNG时下载后立即转JPG(quality=95)。
16. **文件命名要规范**——角色三视图命名为`角色名_三视图.jpg`,禁止用prompt作文件名(如"写实水彩风格_角色设定三视图_....png"),太长且无意义。
17. **HTML生成后清理冗余属性**——删除`data-page-node-id`、`data-*`等非标准属性(其他模型/平台可能自动添加),保持HTML干净。
18. **发布版只复制引用文件**——`characters/`角色三视图与风格参考图通常不被HTML引用,不应复制到发布版(会增加文件大小)。只保留HTML中实际`src="..."`引用的图片。
19. **心理活动气泡四角尾巴要完整**——CSS中`.thought`的`::before/::after`尾巴必须覆盖pos-tl/tr/bl/br四个位置,否则上方气泡没有尾巴。
20. **画风不能只靠"写实水彩风"五个字**——不同模型对"写实水彩风"理解差异大,必须用三层锚定:①固定的风格锚定描述块(水彩晕染、纸纹、柔和色彩、边缘柔和等具体描述)②明确的负面约束(不要卡通/3D/油画/赛璐璐/照片写实)③先生成风格参考图,后续所有图以它为参考生成。
21. **风格参考图必须先于角色三视图**——先生成一张纯场景的风格参考图确认画风,再用它作为风格参考生成所有角色三视图和画格。不要在风格未确认时就批量生成,否则会全部返工。
22. **含角色的画格必须用参考图生图,不能用文生图**——文生图会导致角色不一致和画风漂移。含角色的画格必须传入 style_ref.jpg + 角色三视图作为双重参考。
23. **每张图prompt必须包含风格锚定块+负面约束块**——这两个块是固定的,不得删减或改写。只改中间的画面/角色/光影描述。

Files in this skill

  • SKILL.md40.4 KB
  • _meta.json138 B
  • manifest.yaml1.6 KB
  • skill-card.md2.5 KB
  • templates/comic_template.html8.5 KB
  • templates/compress.py6.9 KB
  • templates/script_template.md995 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.