Initial commit to git.yoin

This commit is contained in:
hmo
2026-02-11 22:02:47 +08:00
commit cf10ab6473
153 changed files with 14581 additions and 0 deletions

317
story-to-scenes/SKILL.md Normal file
View File

@@ -0,0 +1,317 @@
---
name: story-to-scenes
description: 长文本拆镜批量生图引擎。将故事、课程、连环画脚本智能拆分场景,批量生成风格统一、角色一致的配图。当用户提到「拆镜生图」「故事配图」「批量场景图」「连环画生成」「绘本生成」时使用此技能。
---
# Story To Scenes
长文本拆镜批量生图引擎,用于将故事、教学课程、连环画脚本等长文本智能拆分成场景,并批量生成风格统一、角色一致的配图。
## 核心流程
```
输入长文本 → 角色提取 → 生成角色胚子图 → 确认锁定
智能拆镜 → 场景清单 → 确认调整
风格胚子图(第一张场景)→ 确认锁定
场景胚子图(复用场景,可选)→ 确认锁定
批量生成场景图(引用胚子)→ 输出图集
```
## 铁律
1. **单图原则**:每个场景/角色生成独立单图,禁止多格拼接、分镜框、边框组合
2. **先人后景**:必须先生成并锁定角色胚子,再进行场景生图
3. **确认才锁定**:角色胚子、风格胚子必须用户确认后才算锁定
4. **引用生成**:场景中出现已锁定角色时,必须引用其胚子图
5. **提示词记录**:每张图的完整提示词必须记录,方便复用和微调
6. **进度持久化**:生成过程实时保存进度,支持断点续传
## 详细步骤
### Step 1: 项目初始化
收集项目基本信息:
```yaml
project_name: "" # 项目名称(必填)
style_preset: "" # 预设风格或自定义描述
aspect_ratio: "3:4" # 尺寸3:4 / 16:9 / 1:1
source_text: "" # 原文内容或文件路径
```
创建项目目录:
```
assets/generated/{项目名}/
├── characters/ # 角色胚子图
├── locations/ # 场景胚子图
├── scenes/ # 场景配图
├── characters.md # 角色索引
├── progress.json # 生成进度
└── gallery.md # 完整图集索引
```
### Step 2: 文本解析与角色提取
1. 自动识别文本类型:故事/课程/脚本/连环画
2. 按语义分割场景(非机械按段落切)
3. 提取所有人物/动物/生物,生成角色清单表
输出角色清单表格式:
| 角色名 | 类型 | 外貌特征 | 性格标签 | 出场场景 |
|--------|------|----------|----------|----------|
| 示例 | 人物/动物 | 详细外貌描述 | 性格关键词 | 1,2,3 |
**交互点**:展示清单,让用户补充/修正角色描述,确认后进入下一步。
### Step 3: 生成角色胚子图
为每个角色生成标准立绘:
- **构图要求**:正面或四分之三侧面,干净纯色背景
- **画面要求**:单图,突出角色本体特征,禁止多角度拼接
- **命名规范**`{项目名}_char_{角色名}.png`
- **存储位置**`assets/generated/{项目名}/characters/`
生图提示词结构:
```
[风格关键词], single character portrait of [角色描述],
[姿态], clean solid [背景色] background,
full body shot, character design sheet style,
--no multiple views, turnaround, collage, grid, panels, border
```
**交互点**:逐个展示角色胚子图,用户确认"OK"后锁定,不满意则重新生成。
将确认的角色信息写入 `characters.md`
```markdown
# 角色索引
## {角色名}
- **胚子图**characters/{角色名}.png
- **外貌描述**{详细外貌}
- **出场场景**{场景序号列表}
```
### Step 4: 智能拆镜
根据文本语义划分场景,生成场景清单表:
| 序号 | 场景名称 | 画面描述 | 出场角色 | 镜头类型 | 情绪氛围 |
|------|----------|----------|----------|----------|----------|
| 01 | 场景名 | 具体画面内容 | 角色列表 | 远景/中景/特写 | 情绪关键词 |
**镜头类型说明**
- **远景**:交代环境,角色较小
- **中景**:角色半身或全身,主体突出
- **特写**:面部表情或关键物品细节
**交互点**:展示拆镜表,让用户调整场景划分、镜头选择,确认后进入下一步。
### Step 5: 生成风格胚子图
用第一个场景生成**风格定调图**
1. 根据用户选择的风格预设(或自定义描述)构建提示词
2. 生成第一张场景图
3. 展示给用户确认
**交互点**
- 确认OK → 提取风格关键词,记录到 `progress.json`,全程复用
- 不满意 → 调整风格描述,重新生成
### Step 6: 场景胚子图(可选)
识别文本中**反复出现的重要场景**,如:
- 主角的家
- 重要地标建筑
- 反复出现的场所
为这些场景单独生成环境图:
- **构图要求**:无人物,纯场景环境
- **存储位置**`assets/generated/{项目名}/locations/`
- **命名规范**`{场景名}.png`
**交互点**:展示场景胚子图,确认或跳过。
### Step 7: 批量生成场景图
逐场景生成配图,采用**图生图**方式保证角色一致性。
#### 单角色场景
直接基于该角色胚子图做图生图:
```bash
python image_to_image.py "characters/角色A.png" "场景描述,保持角色形象..." -o "scenes/scene_xx.png"
```
#### 多角色场景(串行替换规则)
当场景包含多个角色时,必须**串行轮流替换**,逐步锁定每个角色:
```
步骤1基于角色A胚子图 + 场景描述 → 生成 role1.png角色A锁定其他角色可能不一致
步骤2基于角色B胚子图 + role1.png → 生成 role2.png角色A+B锁定
步骤3基于角色C胚子图 + role2.png → 生成 role3.png角色A+B+C锁定
...依此类推,直到所有角色都替换完成
最终输出role{n}.png 作为该场景的最终图
```
**执行示例**3角色场景
```bash
# 第1轮锁定孙悟空
python image_to_image.py "characters/孙悟空.png" "场景描述孙悟空xxx唐僧xxx猪八戒xxx..." -o "scenes/scene_xx_role1.png"
# 第2轮基于role1锁定唐僧
python image_to_image.py "characters/唐僧.png" "保持场景和其他角色,替换唐僧形象与参考图一致" --ref "scenes/scene_xx_role1.png" -o "scenes/scene_xx_role2.png"
# 第3轮基于role2锁定猪八戒
python image_to_image.py "characters/猪八戒.png" "保持场景和其他角色,替换猪八戒形象与参考图一致" --ref "scenes/scene_xx_role2.png" -o "scenes/scene_xx_role3.png"
# 最终重命名
mv "scenes/scene_xx_role3.png" "scenes/scene_xx_场景名.png"
# 清理中间文件
rm "scenes/scene_xx_role1.png" "scenes/scene_xx_role2.png"
```
**角色替换顺序**:按重要性或画面占比从大到小排序
#### 提示词规范
提示词结构:
```
[风格关键词], [场景描述],
[角色A描述], [角色B描述],
[镜头构图], [情绪氛围],
--no multiple panels, comic layout, grid, collage, split frame, border, manga panels, text, caption, title, subtitle, watermark, signature, letters, words, writing
```
**铁律**
- 禁止输出任何文字、标题、水印、签名
- 排除词必须包含 `text, caption, title, subtitle, watermark, signature, letters, words, writing`
**命名规范**`scene_{序号}_{场景名}.png`
**存储位置**`assets/generated/{项目名}/scenes/`
**进度追踪**
- 每生成一张,更新 `progress.json`
- 失败自动重试最多3次
### Step 8: 输出整理
生成完成后,创建图集索引文档 `gallery.md`
```markdown
# {项目名} 场景图集
## 项目信息
- **风格**{风格描述}
- **尺寸**{尺寸}
- **场景数**{总数}
- **生成日期**{日期}
## 角色一览
| 角色 | 胚子图 |
|------|--------|
| {角色名} | ![[characters/{角色名}.png]] |
## 场景图集
### Scene 01{场景名}
![[scenes/scene_01_{场景名}.png]]
> {场景描述}
<details>
<summary>提示词</summary>
{完整提示词}
</details>
```
## 特殊操作命令
| 命令 | 说明 |
|------|------|
| `重新生成 {角色名}` | 重新生成指定角色胚子图 |
| `重新生成 scene_{序号}` | 重新生成指定场景图 |
| `从 scene_{序号} 继续` | 断点续传,从指定场景继续 |
| `更换风格` | 重新选择风格,需重新生成风格胚子 |
| `导出图集` | 生成最终索引文档 |
## 预设风格
可选择以下预设风格,或提供自定义风格描述:
### 日系治愈绘本
```
soft watercolor illustration, warm pastel colors, gentle lighting,
Studio Ghibli inspired, dreamy atmosphere, delicate linework
```
### 国风水墨淡彩
```
traditional Chinese ink wash painting, subtle watercolor tints,
elegant brushwork, Song dynasty aesthetic, zen atmosphere
```
### 欧美儿童插画
```
vibrant children's book illustration, bold colors, expressive characters,
playful style, Pixar-inspired, warm and inviting
```
### 赛博朋克
```
cyberpunk aesthetic, neon lights, dark atmosphere,
high contrast, futuristic cityscape, Blade Runner inspired
```
### 扁平矢量风
```
flat vector illustration, clean geometric shapes,
modern minimalist, limited color palette, graphic design style
```
### 水彩手绘风
```
traditional watercolor painting, visible brush strokes,
organic textures, artistic imperfections, soft edges
```
## 文件结构
生成项目的完整目录结构:
```
assets/generated/{项目名}/
├── characters/ # 角色胚子图
│ ├── {角色A}.png
│ └── {角色B}.png
├── locations/ # 场景胚子图(可选)
│ └── {场景名}.png
├── scenes/ # 场景配图
│ ├── scene_01_{场景名}.png
│ ├── scene_02_{场景名}.png
│ └── ...
├── characters.md # 角色索引表
├── progress.json # 生成进度
└── gallery.md # 完整图集索引
```
## 依赖技能
- `image-service`:实际生图执行
- `obsidian-markdown`:生成索引文档(可选)
## References
- `references/prompt_templates.md`:提示词模板库
- `references/style_presets.md`:风格预设详情
## Assets
- `assets/templates/gallery_template.md`:图集索引模板
- `assets/templates/characters_template.md`:角色索引模板

View File

View File

@@ -0,0 +1,53 @@
# {{PROJECT_NAME}} 角色索引
## 项目信息
- **项目名称**{{PROJECT_NAME}}
- **角色总数**{{CHARACTER_COUNT}}
- **创建日期**{{DATE}}
---
{{#CHARACTERS}}
## {{NAME}}
![[characters/{{NAME}}.png|300]]
### 基本信息
| 属性 | 描述 |
|------|------|
| **类型** | {{TYPE}} |
| **外貌特征** | {{APPEARANCE}} |
| **性格标签** | {{PERSONALITY}} |
| **出场场景** | {{SCENES}} |
### 详细描述
{{FULL_DESCRIPTION}}
### 生成提示词
```
{{PROMPT}}
```
### 状态
- [x] 胚子图已生成
- [x] 用户已确认
- **锁定时间**{{LOCKED_TIME}}
---
{{/CHARACTERS}}
## 角色关系图(可选)
```
待补充角色关系描述
```
---
*由 story-to-scenes 技能自动生成*

View File

@@ -0,0 +1,60 @@
# {{PROJECT_NAME}} 场景图集
## 项目信息
| 属性 | 值 |
|------|------|
| **项目名称** | {{PROJECT_NAME}} |
| **风格** | {{STYLE_PRESET}} |
| **尺寸** | {{ASPECT_RATIO}} |
| **场景数** | {{SCENE_COUNT}} |
| **生成日期** | {{DATE}} |
---
## 角色一览
| 角色 | 胚子图 | 描述 |
|------|--------|------|
{{#CHARACTERS}}
| {{NAME}} | ![[characters/{{NAME}}.png\|200]] | {{DESCRIPTION}} |
{{/CHARACTERS}}
---
## 场景图集
{{#SCENES}}
### Scene {{INDEX}}{{SCENE_NAME}}
![[scenes/scene_{{INDEX}}_{{SCENE_NAME}}.png]]
> {{SCENE_DESCRIPTION}}
**出场角色**{{CHARACTERS}}
**镜头类型**{{SHOT_TYPE}}
**情绪氛围**{{MOOD}}
<details>
<summary>生成提示词</summary>
```
{{PROMPT}}
```
</details>
---
{{/SCENES}}
## 生成记录
- **开始时间**{{START_TIME}}
- **完成时间**{{END_TIME}}
- **总耗时**{{DURATION}}
- **重试次数**{{RETRY_COUNT}}
---
*由 story-to-scenes 技能自动生成*

View File

@@ -0,0 +1,38 @@
{
"project_name": "{{PROJECT_NAME}}",
"created_at": "{{DATE}}",
"updated_at": "{{DATE}}",
"config": {
"style_preset": "{{STYLE_PRESET}}",
"aspect_ratio": "{{ASPECT_RATIO}}",
"source_file": "{{SOURCE_FILE}}"
},
"status": "in_progress",
"phase": "init",
"characters": {
"total": 0,
"completed": 0,
"locked": [],
"pending": [],
"items": []
},
"locations": {
"total": 0,
"completed": 0,
"locked": [],
"items": []
},
"scenes": {
"total": 0,
"completed": 0,
"current": 0,
"failed": [],
"items": []
},
"style": {
"locked": false,
"keywords": "",
"reference_image": ""
},
"logs": []
}

View File

@@ -0,0 +1,157 @@
# 提示词模板库
本文档包含 story-to-scenes 技能使用的标准提示词模板。
## 角色胚子图模板
### 人物角色
```
[风格关键词], single character portrait of [角色名],
[性别] [年龄段] [种族/民族],
[发型发色], [眼睛描述], [服装描述], [配饰描述],
[表情/姿态], standing pose,
clean solid [背景色] background,
full body shot, character design reference,
high quality, detailed,
--no multiple views, turnaround, collage, grid, panels, border, frame, split image
```
### 动物角色
```
[风格关键词], single character portrait of [动物名],
[动物种类], [体型大小], [毛色/皮肤颜色],
[特殊特征如斑纹、角、翅膀等],
[拟人化服装/配饰(如有)],
[表情/姿态],
clean solid [背景色] background,
full body shot, character design reference,
high quality, detailed,
--no multiple views, turnaround, collage, grid, panels, border, frame, split image
```
### 幻想生物
```
[风格关键词], single character portrait of [生物名],
[生物类型], [体型], [颜色],
[独特特征描述],
[魔法元素/光效(如有)],
[表情/姿态],
clean solid [背景色] background,
full body shot, creature design reference,
high quality, detailed,
--no multiple views, turnaround, collage, grid, panels, border, frame, split image
```
## 场景胚子图模板
### 室内场景
```
[风格关键词], interior scene of [场景名],
[房间类型], [建筑风格],
[主要家具/物品], [装饰细节],
[光线条件], [时间氛围],
[情绪氛围], empty scene without characters,
wide shot, establishing shot,
high quality, detailed environment,
--no people, characters, figures, panels, border, frame, collage
```
### 室外场景
```
[风格关键词], exterior scene of [场景名],
[地点类型], [自然/城市环境],
[主要地标/元素], [植被/建筑],
[天气条件], [时间(日/夜)],
[情绪氛围], empty scene without characters,
wide shot, establishing shot,
high quality, detailed environment,
--no people, characters, figures, panels, border, frame, collage
```
## 故事场景图模板
### 远景
```
[风格关键词], wide establishing shot,
[场景环境描述],
[角色A描述] and [角色B描述] in the distance,
[角色动作/位置关系],
[光线条件], [天气/时间],
[情绪氛围],
cinematic composition, environmental storytelling,
--no multiple panels, comic layout, grid, collage, split frame, border, manga panels
```
### 中景
```
[风格关键词], medium shot,
[场景环境简述],
[角色A描述] [动作/表情],
[角色B描述] [动作/表情],
[角色互动/位置关系],
[光线条件], [情绪氛围],
balanced composition, narrative scene,
--no multiple panels, comic layout, grid, collage, split frame, border, manga panels
```
### 特写
```
[风格关键词], close-up shot,
[角色描述] [表情细节],
[关键物品/细节(如有)],
[背景虚化/简化处理],
[光线条件], [情绪氛围],
emotional focus, intimate framing,
--no multiple panels, comic layout, grid, collage, split frame, border, manga panels
```
## 排除词标准集
### 反多格拼接
```
--no multiple panels, comic layout, grid, collage, split frame, border, manga panels,
comic book style, sequential art, storyboard, multi-panel, divided image, frames
```
### 反多视角
```
--no multiple views, turnaround, front and back, side view combination,
character sheet with poses, reference sheet, model sheet
```
### 反人物(用于纯场景)
```
--no people, characters, figures, humans, animals, creatures, silhouettes
```
## 风格关键词组合
### 温馨治愈系
```
soft lighting, warm color palette, gentle atmosphere,
cozy feeling, heartwarming scene, peaceful mood
```
### 紧张悬疑系
```
dramatic lighting, high contrast, tense atmosphere,
mysterious shadows, suspenseful mood, cinematic tension
```
### 欢快活泼系
```
bright colors, dynamic composition, joyful atmosphere,
energetic mood, playful scene, vibrant lighting
```
### 忧伤抒情系
```
muted colors, soft focus, melancholic atmosphere,
gentle rain or mist, contemplative mood, emotional depth
```
### 史诗宏大系
```
epic scale, dramatic sky, grand composition,
majestic atmosphere, awe-inspiring, cinematic scope
```

View File

@@ -0,0 +1,235 @@
# 风格预设详情
本文档包含 story-to-scenes 技能支持的风格预设完整描述。
## 日系治愈绘本
**适用场景**:儿童故事、治愈系绘本、温馨日常
**核心关键词**
```
soft watercolor illustration, warm pastel colors, gentle lighting,
Studio Ghibli inspired, dreamy atmosphere, delicate linework,
hand-painted texture, nostalgic feeling, cozy atmosphere
```
**色调特点**
- 主色调:暖黄、淡粉、天蓝、草绿
- 饱和度:中低
- 对比度:柔和
**参考风格**:宫崎骏动画、绘本插画家 iwasaki chihiro
---
## 国风水墨淡彩
**适用场景**:中国传统故事、古风题材、诗词配图
**核心关键词**
```
traditional Chinese ink wash painting, subtle watercolor tints,
elegant brushwork, Song dynasty aesthetic, zen atmosphere,
xieyi style, flowing ink, bamboo paper texture,
oriental landscape, classical Chinese art
```
**色调特点**
- 主色调:墨黑、宣纸白、淡青、赭石
- 饱和度:低
- 对比度:通过墨色浓淡体现
**参考风格**:齐白石、张大千、古代工笔画
---
## 欧美儿童插画
**适用场景**:欧美风格童话、教育类绘本、角色动画
**核心关键词**
```
vibrant children's book illustration, bold colors, expressive characters,
playful style, Pixar-inspired, warm and inviting,
rounded shapes, friendly characters, storybook illustration,
rich textures, imaginative scene
```
**色调特点**
- 主色调:明亮的原色、糖果色
- 饱和度:中高
- 对比度:清晰但不刺眼
**参考风格**皮克斯、迪士尼、Mary Blair
---
## 赛博朋克
**适用场景**:科幻故事、未来都市、反乌托邦题材
**核心关键词**
```
cyberpunk aesthetic, neon lights, dark atmosphere,
high contrast, futuristic cityscape, Blade Runner inspired,
holographic displays, rain-slicked streets, megacity,
tech noir, dystopian future, glowing signs
```
**色调特点**
- 主色调:霓虹粉、电光蓝、毒药绿、深黑
- 饱和度霓虹区域vs 低(暗部)
- 对比度:极高
**参考风格**银翼杀手、攻壳机动队、赛博朋克2077
---
## 扁平矢量风
**适用场景**:商业插画、信息图、现代简约风格
**核心关键词**
```
flat vector illustration, clean geometric shapes,
modern minimalist, limited color palette, graphic design style,
bold outlines, simple shapes, contemporary illustration,
digital art, clean edges, stylized
```
**色调特点**
- 主色调根据项目定制通常3-5色
- 饱和度:中
- 对比度:清晰的色块分割
**参考风格**Airbnb插画、Slack插画、现代UI设计
---
## 水彩手绘风
**适用场景**:艺术感强的绘本、诗意场景、自然题材
**核心关键词**
```
traditional watercolor painting, visible brush strokes,
organic textures, artistic imperfections, soft edges,
wet-on-wet technique, pigment blooms, natural flow,
handmade quality, painterly style
```
**色调特点**
- 主色调:自然色系为主
- 饱和度:随水彩浓淡变化
- 对比度:柔和渐变
**参考风格**:传统水彩画家、自然插画
---
## 复古美漫风
**适用场景**:超级英雄故事、美式冒险、怀旧题材
**核心关键词**
```
vintage American comic book style, bold ink lines,
halftone dots, primary colors, retro illustration,
classic superhero comics, 1960s aesthetic,
dynamic poses, action lines, speech bubble ready
```
**色调特点**
- 主色调:红、蓝、黄、黑
- 饱和度:高
- 对比度:强烈
**参考风格**Jack Kirby、经典漫威/DC漫画
---
## 韩系唯美风
**适用场景**:浪漫故事、青春题材、都市情感
**核心关键词**
```
Korean webtoon style, soft gradients, romantic atmosphere,
beautiful character design, sparkling effects,
pastel backgrounds, emotional scenes, manhwa inspired,
lens flare, dreamy bokeh, aesthetic lighting
```
**色调特点**
- 主色调:粉色系、天蓝、薰衣草紫
- 饱和度:中
- 对比度:柔和
**参考风格**韩国Webtoon、少女漫画
---
## 暗黑哥特风
**适用场景**:恐怖故事、黑暗童话、悬疑题材
**核心关键词**
```
dark gothic illustration, moody atmosphere,
Victorian aesthetic, haunting beauty, shadowy scenes,
ornate details, macabre elements, candlelight,
fog and mist, dramatic shadows, eerie mood
```
**色调特点**
- 主色调:黑、深紫、暗红、烛光黄
- 饱和度:低
- 对比度:高(光影对比)
**参考风格**Tim Burton、Edward Gorey
---
## 像素复古风
**适用场景**游戏相关故事、怀旧题材、8-bit美学
**核心关键词**
```
pixel art style, retro game aesthetic, 16-bit graphics,
limited color palette, nostalgic gaming,
crisp pixels, chiptune era, classic RPG style,
sprite-like characters, pixelated environment
```
**色调特点**
- 主色调:根据复古游戏调色板
- 饱和度:中
- 对比度:清晰的像素边界
**参考风格**:经典任天堂、像素艺术家 eBoy
---
## 自定义风格指南
如果预设风格不满足需求,可提供自定义风格描述:
### 描述要素
1. **画风类型**:油画/水彩/数字绘画/素描等
2. **色调倾向**:暖/冷/中性,饱和度高低
3. **光影风格**:柔和/戏剧性/平面化
4. **笔触特点**:细腻/粗犷/可见/隐藏
5. **参考艺术家/作品**:具体的风格参照
6. **情绪氛围**:整体想要传达的感觉
### 示例
```
自定义风格:梵高星空风
描述post-impressionist style, swirling brushstrokes,
vibrant yellows and blues, expressive texture,
Van Gogh inspired, emotional intensity, visible paint strokes,
starry night aesthetic, dynamic movement
```