AI漫剧素材管理系统:角色库、场景库、提示词库的整理方法
系统讲解AI漫剧创作中的素材管理方法,包括角色库、场景库、提示词库的分类整理、命名规范、版本管理和高效检索技巧,帮助创作者建立有序的素材管理体系。
AI漫剧工作室2026-04-0518 分钟阅读
一、素材管理的重要性
为什么素材管理是AI漫剧的核心竞争力
AI漫剧创作中,素材管理的质量直接影响到创作效率和作品一致性。一个管理良好的素材库可以让创作者:
- 快速复用:找到之前使用过的优质素材,避免重复工作
- 保持一致:确保角色、场景在不同分镜中保持一致
- 团队协作:多人共享素材,减少沟通成本
- 版本追溯:追踪素材的修改历史,方便回溯
- 知识积累:将个人经验固化为可复用的资产
素材管理的三大核心
AI漫剧素材管理体系
┌──────────────────┐
│ 角色库 │ 角色设定、参考图、LoRA、表情库
├──────────────────┤
│ 场景库 │ 场景设定、参考图、背景素材、环境设定
├──────────────────┤
│ 提示词库 │ Prompt模板、风格描述、质量标签、负面提示词
└──────────────────┘
二、角色库管理
2.1 角色库目录结构
角色库/
├── 00_角色索引/
│ ├── 角色总览表.xlsx # 所有角色的索引
│ ├── 角色关系图.png # 角色关系可视化
│ └── 角色分类列表.md # 按类型分类的角色列表
│
├── 01_角色设定卡/
│ ├── 林晓/
│ │ ├── 角色设定卡.md # 详细的角色描述
│ │ ├── 角色设定卡.png # 角色设定图
│ │ ├── 性格分析.md # 性格特征详细描述
│ │ └── 服装设定.md # 各套服装的描述
│ ├── 陈默/
│ │ └── ...
│ └── ...
│
├── 02_参考图集/
│ ├── 林晓/
│ │ ├── 正面/
│ │ │ ├── 林晓_正面_V01.png
│ │ │ └── 林晓_正面_V02.png
│ │ ├── 侧面/
│ │ ├── 背面/
│ │ ├── 表情/
│ │ │ ├── 林晓_微笑.png
│ │ │ ├── 林晓_惊讶.png
│ │ │ ├── 林晓_愤怒.png
│ │ │ └── 林晓_悲伤.png
│ │ └── 服装/
│ │ ├── 林晓_校服.png
│ │ ├── 林晓_便装.png
│ │ └── 林晓_晚礼服.png
│ └── ...
│
├── 03_LoRA模型/
│ ├── 林晓_V01.safetensors
│ ├── 林晓_V02.safetensors
│ ├── 陈默_V01.safetensors
│ └── LoRA训练记录.md
│
├── 04_IPAdapter参考/
│ ├── 林晓/
│ │ ├── 林晓_IP参考_V01.png # IP-Adapter使用的参考图
│ │ └── 林晓_IP参考_V02.png
│ └── ...
│
└── 05_Prompt模板/
├── 林晓_基础描述.txt
├── 林晓_各表情描述.txt
└── 林晓_各服装描述.txt
2.2 角色设定卡模板
# 角色设定卡 - 林晓
## 基本信息
- **姓名**:林晓
- **年龄**:25岁
- **性别**:女
- **身高**:165cm
- **体重**:50kg
- **职业**:程序员
- **性格**:冷静理性、独立自主、内心柔软
## 外貌描述
- **发型**:黑色长发,通常披散,工作时扎马尾
- **发色**:纯黑色,有自然光泽
- **瞳色**:深棕色
- **肤色**:白皙
- **体型**:纤细匀称
- **面部特征**:鹅蛋脸、高鼻梁、薄唇
## Prompt描述(英文)
masterpiece, best quality, 1girl, Lin Xiao, 25 years old,
long straight black hair, brown eyes, fair skin, slim body,
oval face, high nose bridge, thin lips
## 服装设定
1. **日常便装**:白色T恤、牛仔裤、白色运动鞋
2. **工作装**:黑色西装外套、白色衬衫、黑色西裤
3. **校服**:白色衬衫、蓝色百褶裙、红色领结
4. **晚礼服**:红色长裙、银色高跟鞋
## 表情设定
- **微笑**:嘴角微微上扬,眼神温柔
- **惊讶**:眼睛微睁,嘴巴微张
- **愤怒**:眉头紧锁,眼神锐利
- **悲伤**:眼眶微红,嘴角下垂
- **思考**:微微侧头,手指轻触下巴
## 性格标签(用于Prompt)
calm, intelligent, independent, gentle, introverted,
professional, focused, slightly aloof
## LoRA信息
- **模型文件**:LORA_林晓_V02.safetensors
- **训练图片**:25张
- **推荐强度**:0.7
- **训练日期**:2026-03-15
- **适用模型**:SDXL (Juggernaut XL)
2.3 角色一致性管理工具
角色一致性检查清单:
| 检查项 | 标准 | 检查方法 |
|---|---|---|
| 面部特征 | 与参考图一致 | 视觉对比 |
| 发型发色 | 与设定一致 | 视觉对比 |
| 服装 | 与当前场景一致 | 查看设定卡 |
| 体型比例 | 与参考图一致 | 视觉对比 |
| 表情 | 符合场景情绪 | 查看分镜描述 |
| LoRA强度 | 在推荐范围内 | 检查参数 |
三、场景库管理
3.1 场景库目录结构
场景库/
├── 00_场景索引/
│ ├── 场景总览表.xlsx
│ └── 场景分类列表.md
│
├── 01_室内场景/
│ ├── 教室/
│ │ ├── 设定描述.md
│ │ ├── 参考图/
│ │ │ ├── 教室_全景_V01.png
│ │ │ ├── 教室_中景_V01.png
│ │ │ └── 教室_特写_V01.png
│ │ ├── Prompt模板.txt
│ │ └── ControlNet参考/
│ │ ├── 教室_深度图.png
│ │ └── 教室_线稿.png
│ ├── 咖啡厅/
│ │ └── ...
│ ├── 实验室/
│ │ └── ...
│ └── 公寓/
│ └── ...
│
├── 02_室外场景/
│ ├── 城市街道/
│ │ ├── 设定描述.md
│ │ ├── 参考图/
│ │ │ ├── 街道_白天.png
│ │ │ ├── 街道_夜晚.png
│ │ │ └── 街道_雨天.png
│ │ └── Prompt模板.txt
│ ├── 公园/
│ ├── 天台/
│ └── 海边/
│
├── 03_特殊场景/
│ ├── 梦境/
│ ├── 闪回/
│ └── 幻想空间/
│
└── 04_场景LoRA/
├── 咖啡厅风格_V01.safetensors
└── 教室风格_V01.safetensors
3.2 场景Prompt模板
# 场景Prompt模板
## 城市街道 - 白天
masterpiece, best quality, highly detailed,
anime style cityscape, modern city street,
tall buildings, blue sky, white clouds,
trees along the road, pedestrians,
sunlight, warm atmosphere, wide angle shot,
no humans in foreground
## 城市街道 - 夜晚
masterpiece, best quality, highly detailed,
anime style cityscape, city street at night,
neon lights, wet road reflections,
rain, moody atmosphere, cinematic lighting,
bokeh effect, wide angle shot
## 教室 - 室内
masterpiece, best quality, highly detailed,
anime style classroom interior,
rows of desks, blackboard, windows,
afternoon sunlight through windows,
dust particles in light rays, peaceful atmosphere,
medium wide shot, no characters
## 咖啡厅 - 室内
masterpiece, best quality, highly detailed,
cozy cafe interior, warm lighting,
wooden tables and chairs, bookshelves,
steam from coffee cups, plants,
soft bokeh background, intimate atmosphere
四、提示词库管理
4.1 提示词库分类体系
提示词库/
├── 01_质量标签/
│ ├── 正向质量标签.txt
│ ├── 反向质量标签.txt
│ └── 分辨率标签.txt
│
├── 02_角色描述/
│ ├── 基础描述模板.txt
│ ├── 表情描述库.txt
│ ├── 动作描述库.txt
│ └── 服装描述库.txt
│
├── 03_场景描述/
│ ├── 室内场景库.txt
│ ├── 室外场景库.txt
│ ├── 天气描述库.txt
│ └── 时间描述库.txt
│
├── 04_风格描述/
│ ├── 画风标签库.txt
│ ├── 镜头标签库.txt
│ ├── 光影标签库.txt
│ └── 色调标签库.txt
│
├── 05_完整Prompt模板/
│ ├── 角色设计模板.txt
│ ├── 分镜生成模板.txt
│ ├── 场景生成模板.txt
│ └── 特效生成模板.txt
│
└── 06_项目专用/
├── 项目A_Prompt库/
└── 项目B_Prompt库/
4.2 质量标签库
# 正向质量标签(按重要性排序)
## 基础质量
masterpiece, best quality, highly detailed, ultra-detailed,
8k resolution, sharp focus, highres
## 画面细节
intricate details, perfect lighting, volumetric lighting,
ray tracing, global illumination, ambient occlusion
## 人物细节
detailed face, beautiful detailed eyes, detailed hair,
perfect hands, perfect anatomy, realistic skin texture
## 构图
perfect composition, rule of thirds, dynamic angle,
dramatic perspective, cinematic composition
## 艺术风格
artstation, trending on artstation, concept art,
digital painting, illustration, anime style
# 反向质量标签
## 基础负面
(worst quality, low quality:1.4), (normal quality:1.2),
lowres, bad quality, jpeg artifacts, blurry
## 人体问题
deformed, bad anatomy, bad hands, missing fingers,
extra digits, fewer digits, extra limbs, bad proportions,
mutated, disfigured, poorly drawn face, poorly drawn hands
## 画面问题
cropped, out of frame, watermark, text, signature,
username, error, oversaturated, underexposed, overexposed
## 风格问题
3d, cgi, render, sketch, cartoon, drawing, amateur,
low resolution, pixelated, grainy, noisy
4.3 镜头标签库
# 镜头类型
close-up, extreme close-up, medium close-up,
medium shot, medium long shot, long shot, extreme long shot,
full body shot, cowboy shot, over-the-shoulder shot
# 镜头角度
eye level, low angle, high angle, bird's eye view,
worm's eye view, dutch angle, fisheye, panoramic
# 镜头效果
depth of field, shallow depth of field, bokeh,
motion blur, lens flare, chromatic aberration,
vignette, film grain
# 构图
centered composition, rule of thirds, golden ratio,
symmetrical, asymmetrical, leading lines,
framing, negative space
4.4 提示词管理工具
"""
提示词管理工具
支持标签库管理、Prompt组合、模板保存
"""
import json
import os
from typing import List, Dict
from dataclasses import dataclass, field
@dataclass
class PromptTemplate:
"""Prompt模板"""
name: str
category: str
positive_tags: List[str]
negative_tags: List[str]
variables: Dict[str, str] = field(default_factory=dict)
notes: str = ""
class PromptLibrary:
"""提示词库管理器"""
def __init__(self, library_dir: str = "prompt_library"):
self.library_dir = library_dir
self.templates: Dict[str, PromptTemplate] = {}
self._load_templates()
def _load_templates(self):
"""加载所有模板"""
templates_dir = os.path.join(self.library_dir, "templates")
if os.path.exists(templates_dir):
for f in os.listdir(templates_dir):
if f.endswith('.json'):
with open(os.path.join(templates_dir, f), 'r') as file:
data = json.load(file)
template = PromptTemplate(**data)
self.templates[template.name] = template
def build_prompt(self, template_name: str, **kwargs) -> dict:
"""根据模板构建Prompt"""
template = self.templates.get(template_name)
if not template:
raise ValueError(f"模板不存在: {template_name}")
# 替换变量
positive = ", ".join(template.positive_tags)
negative = ", ".join(template.negative_tags)
for key, value in kwargs.items():
positive = positive.replace(f"{{{key}}}", value)
return {
"positive": positive,
"negative": negative
}
def save_template(self, template: PromptTemplate):
"""保存模板"""
templates_dir = os.path.join(self.library_dir, "templates")
os.makedirs(templates_dir, exist_ok=True)
filepath = os.path.join(templates_dir, f"{template.name}.json")
with open(filepath, 'w', encoding='utf-8') as f:
json.dump(template.__dict__, f, ensure_ascii=False, indent=2)
def search_tags(self, keyword: str, category: str = None) -> List[str]:
"""搜索标签"""
results = []
tags_dir = os.path.join(self.library_dir, "tags")
if category:
tags_dir = os.path.join(tags_dir, category)
if os.path.exists(tags_dir):
for f in os.listdir(tags_dir):
if f.endswith('.txt'):
with open(os.path.join(tags_dir, f), 'r') as file:
for line in file:
if keyword.lower() in line.lower():
results.append(line.strip())
return results
# 使用示例
if __name__ == "__main__":
library = PromptLibrary("prompt_library")
# 创建角色设计模板
template = PromptTemplate(
name="character_design",
category="character",
positive_tags=[
"masterpiece", "best quality", "highly detailed",
"1girl, {character_name}, {age} years old",
"{hair_style} {hair_color} hair, {eye_color} eyes",
"{clothing_description}",
"{expression}, {pose}",
"{background_description}",
"{style_tags}"
],
negative_tags=[
"(worst quality, low quality:1.4)",
"deformed, bad anatomy, bad hands",
"missing fingers, extra digits",
"blurry, cropped, watermark"
],
variables={
"character_name": "角色名",
"age": "年龄",
"hair_style": "发型",
"hair_color": "发色",
"eye_color": "瞳色",
"clothing_description": "服装描述",
"expression": "表情",
"pose": "姿态",
"background_description": "背景描述",
"style_tags": "风格标签"
},
notes="通用角色设计Prompt模板"
)
library.save_template(template)
# 使用模板生成Prompt
prompt = library.build_prompt(
"character_design",
character_name="Lin Xiao",
age="25",
hair_style="long straight",
hair_color="black",
eye_color="brown",
clothing_description="white dress",
expression="gentle smile",
pose="standing, full body",
background_description="simple white background, studio lighting",
style_tags="anime style, detailed"
)
print("正向:", prompt["positive"])
print("反向:", prompt["negative"])
五、版本管理
5.1 素材版本命名规范
# 版本命名格式
{素材名}_V{主版本号}.{次版本号}.{修订号}
# 示例
林晓_正面_V01.00.00.png # 初始版本
林晓_正面_V01.01.00.png # 小修改
林晓_正面_V02.00.00.png # 大修改
LORA_林晓_V01.00.00.safetensors
WF_分镜生成_V03.02.01.json
5.2 版本变更记录
# 角色LoRA版本变更记录
## 林晓 LoRA
### V01.00.00 (2026-03-01)
- 初始版本
- 训练图片:20张
- 训练步数:1500
- 效果:基本可用,面部一致性约70%
### V01.01.00 (2026-03-10)
- 增加训练图片到25张
- 调整学习率
- 效果:面部一致性提升到80%
### V02.00.00 (2026-03-15)
- 重新筛选训练图片
- 增加不同表情和角度的图片
- 训练步数:2000
- 效果:面部一致性提升到90%,表情更自然
5.3 使用Git管理素材版本
# 使用Git LFS管理大文件
git lfs install
# 跟踪大文件类型
git lfs track "*.safetensors"
git lfs track "*.ckpt"
git lfs track "*.png"
git lfs track "*.wav"
# 提交素材
git add .gitattributes
git add 角色库/ 场景库/ 提示词库/
git commit -m "更新角色库:林晓LoRA V02"
# 查看历史
git log --oneline -- 角色库/03_LoRA模型/
# 回滚到指定版本
git checkout V01.00.00 -- 角色库/03_LoRA模型/林晓_V01.safetensors
六、高效检索技巧
6.1 素材索引表
使用电子表格建立素材索引,支持快速检索:
| 素材ID | 名称 | 类型 | 分类 | 标签 | 版本 | 创建日期 | 文件路径 |
|---|---|---|---|---|---|---|---|
| C001 | 林晓 | 角色 | 主角 | 女性,25岁,长发,黑发 | V02 | 2026-03-15 | 角色/林晓/ |
| S001 | 城市街道 | 场景 | 室外 | 现代,城市,白天 | V01 | 2026-03-10 | 场景/城市街道/ |
| P001 | 角色设计模板 | Prompt | 模板 | 角色,通用 | V03 | 2026-03-20 | 提示词/模板/ |
6.2 标签系统
"""
素材标签管理系统
支持多标签分类和快速检索
"""
import json
import os
from typing import List, Dict, Set
class AssetTagManager:
"""素材标签管理器"""
def __init__(self, index_file: str = "asset_index.json"):
self.index_file = index_file
self.assets: Dict[str, Dict] = {}
self._load_index()
def _load_index(self):
if os.path.exists(self.index_file):
with open(self.index_file, 'r', encoding='utf-8') as f:
self.assets = json.load(f)
def _save_index(self):
with open(self.index_file, 'w', encoding='utf-8') as f:
json.dump(self.assets, f, ensure_ascii=False, indent=2)
def add_asset(self, asset_id: str, name: str, asset_type: str,
tags: List[str], path: str, **metadata):
"""添加素材"""
self.assets[asset_id] = {
"name": name,
"type": asset_type,
"tags": tags,
"path": path,
"metadata": metadata,
"created_at": metadata.get("created_at", "")
}
self._save_index()
def search_by_tags(self, tags: List[str], match_all: bool = False) -> List[Dict]:
"""按标签搜索"""
results = []
for asset_id, asset in self.assets.items():
asset_tags = set(asset["tags"])
search_tags = set(tags)
if match_all:
if search_tags.issubset(asset_tags):
results.append(asset)
else:
if asset_tags & search_tags:
results.append(asset)
return results
def get_all_tags(self) -> Dict[str, int]:
"""获取所有标签及其使用次数"""
tag_count = {}
for asset in self.assets.values():
for tag in asset["tags"]:
tag_count[tag] = tag_count.get(tag, 0) + 1
return dict(sorted(tag_count.items(), key=lambda x: -x[1]))
def get_assets_by_type(self, asset_type: str) -> List[Dict]:
"""按类型获取素材"""
return [a for a in self.assets.values() if a["type"] == asset_type]
# 使用示例
if __name__ == "__main__":
manager = AssetTagManager()
# 添加素材
manager.add_asset(
asset_id="C001",
name="林晓",
asset_type="character",
tags=["主角", "女性", "25岁", "长发", "黑发", "程序员"],
path="角色库/林晓/",
created_at="2026-03-15"
)
# 搜索
results = manager.search_by_tags(["女性", "长发"])
for r in results:
print(f"{r['name']}: {r['tags']}")
# 查看所有标签
tags = manager.get_all_tags()
print("\n标签使用统计:")
for tag, count in list(tags.items())[:20]:
print(f" {tag}: {count}")
七、总结
素材管理核心原则
- 分类清晰:按照角色、场景、提示词等维度建立清晰的分类体系
- 命名规范:统一的命名规范是高效检索的基础
- 版本管理:记录素材的变更历史,支持版本回溯
- 标签系统:多标签分类支持灵活的交叉检索
- 定期整理:定期清理和归档素材,保持素材库的整洁
- 团队共享:建立共享的素材库,支持团队协作
素材管理工具推荐
| 工具 | 用途 | 推荐度 |
|---|---|---|
| Eagle | 素材管理(图片/视频) | ★★★★★ |
| Billfish | 免费素材管理 | ★★★★☆ |
| 飞书多维表格 | 素材索引 | ★★★★☆ |
| Notion | 素材文档管理 | ★★★★☆ |
| Git + Git LFS | 版本管理 | ★★★★☆ |
| Everything | 本地文件搜索 | ★★★★★ |
[!TIP] | 素材管理的关键在于"建立习惯"。不要试图一次性建立完美的素材管理体系,而是从最基本的分类和命名开始,在日常创作中不断完善。建议每完成一集AI漫剧后,花30分钟整理新增的素材,保持素材库的更新和整洁。
相关教程

高级工具与工作流
ComfyUI工作流详解:AI漫剧专业级画面生成方案
深入讲解ComfyUI在AI漫剧创作中的应用,包括安装配置、核心节点、角色一致性工作流、批量生成工作流,以及常用工作流模板推荐。
19分钟2026-05-02

进阶工具与工作流
AI漫剧高效工作流搭建:从脚本到成片的标准化流水线
手把手教你搭建一套高效的AI漫剧创作工作流,包括极简方案、进阶方案和专业方案三套流水线,以及资产管理和复用方法。
21分钟2026-05-01

精选
入门工具与工作流
AI漫剧工具全景对比:2026年最全的AI漫剧创作工具评测
全面对比2026年AI漫剧创作领域的所有主流工具,按创作环节分类评测,帮你找到最适合自己需求和工作流的最优工具组合。
15分钟2026-04-30