、AI 项目资产分类与生命周期概述
一套完整 AI 漫剧 / AI 绘图项目资产,贯穿前期策划、素材准备、AI 生成、后期剪辑、成品输出、归档交付完整流程,分为五大资产大类:
表格
| 资产分类 | 包含内容 | 管控原则 |
| 策划文档资产 | 项目简介、分集大纲、剧本原稿、结构化分镜表、修改记录、自检清单 | 多版本留存,禁止直接覆盖旧稿,定稿标记 Release |
| 原始素材资产 | 角色人设参考图、三视图、场景背景、道具图集、BGM 音效、字体、IP‑Adapter 参考素材 | 原始素材只读,修改全部输出副本,源文件永久备份 |
| AI 工程资产 | ComfyUI 工作流 JSON、LoRA/ControlNet 依赖清单、提示词库、批量调度脚本、渲染参数记录 | 区分测试版与生产稳定版,记录模型版本信息 |
| 中间半成品资产 | AI 生成原始图片、视频片段、未校对配音、字幕草稿、剪辑工程临时文件 | 按镜头编号归档,区分可用素材与废弃废片 |
| 成品交付资产 | 预审小样、内部审核版本、正式发布成片、封面海报、引流切片、交付说明文档 | 冻结版本,只读,不做直接编辑修改 |
项目生命周期:素材导入 → 生产加工 → 半成品筛选 → 成品输出 → 元数据记录 → 打包归档交付。
核心思想:原始素材永不改写,修改产生副本;成品目录只存放经过审核确认的文件;所有关键操作留下日志记录,避免后续无法复现当时的出图、出片效果。
二、标准化项目目录结构模板
下面是经过大量 AI 漫剧、绘图项目实战验证的目录架构,新建项目直接复制整套模板,优先使用英文下划线命名文件夹,规避中文路径导致 Python 脚本、ComfyUI 读取异常的常见 BUG。
ai_project/ ├─ 00_document # 策划文档、表格、日志 │ ├─ script # 剧本、分集脚本 │ ├─ shot_list # CSV分镜表,镜头ID、描述、时长、台词 │ ├─ change_log.md # 修改日志,记录时间、修改点、镜头编号 │ └─ check_list.md # 成片自检核对清单 ├─ 01_asset_source # 原始素材库(只读,禁止直接修改) │ ├─ character_reference # 角色定妆图、三视图、表情参考图 │ ├─ scene_background # 场景、环境、背景参考素材 │ ├─ prop_reference # 道具素材 │ └─ audio_raw # BGM、音效原始文件、字体文件 ├─ 02_ai_workspace # AI生产工作区 │ ├─ comfy_workflow # ComfyUI工作流JSON │ │ ├─ stable_release # 已经验证稳定的生产工作流 │ │ └─ wip_test # 调试中未定型工作流 │ ├─ prompt_library # 正负提示词模板库 │ └─ batch_script # Python批量处理脚本 ├─ 03_render_output # AI渲染输出半成品 │ ├─ img_raw # AI原始生成图片 │ ├─ video_clip # 生成的视频片段 │ └─ discard_bad # 崩坏、闪烁、废弃镜头,留存用于复盘 ├─ 04_post_produce # 后期剪辑工程 │ ├─ edit_project # 剪辑工程文件 │ ├─ audio_mix # 混音处理后的音频 │ └─ subtitle_file # srt字幕文件 ├─ 05_release_product # 最终成品交付区(冻结版本) │ ├─ preview_720p # 720预审小样,用于内部审核 │ ├─ publish_1080p # 正式对外发布成片 │ └─ cover_poster # 封面、宣传配图 └─ 06_meta_info # 元数据信息 ├─ dependency_record.csv # 依赖模型、LoRA、IP‑Adapter权重记录表 └─ readme.md # 项目说明,版本、分辨率、环境说明
文件命名规范
统一命名格式,杜绝新建文件夹、最终版、最终版2这类模糊文件名:
- 剧本:
ep01_script_v2.md,ep 代表集数,v 代表版本号; - 镜头素材:
shot_005_img.png、shot_008_video.mp4; - 工作流:
img2img_character_lock_v1.2.json; - 成片:
ep03_release_1080p.mp4。
版本规则:v0.x 测试调试;v1.x 正式迭代;release 代表冻结交付版本,不允许覆盖改写,新版本新建文件夹存放。
三、Python 脚本实现项目素材自动归档与元数据导出
在大量素材生成后,依靠手动复制整理效率低下,容易漏文件。下面脚本实现:扫描项目渲染输出目录,将合格素材复制归档,自动生成元数据记录 CSV,记录文件名、镜头 ID、文件大小、修改时间。
import os import shutil import csv from datetime import datetime # ----------------配置区---------------- PROJECT_ROOT = r"./ai_project" RENDER_OUT = os.path.join(PROJECT_ROOT, "03_render_output") ARCHIVE_TARGET = os.path.join(PROJECT_ROOT, "04_post_produce", "selected_asset") META_CSV_PATH = os.path.join(PROJECT_ROOT, "06_meta_info", "asset_meta.csv") VALID_SUFFIX = (".png",".jpg",".jpeg",".webp",".mp4") # -------------------------------------- def scan_render_files(source_dir): file_list = [] for root,_,files in os.walk(source_dir): for fname in files: if fname.lower().endswith(VALID_SUFFIX): full_path = os.path.join(root,fname) stat_info = os.stat(full_path) modify_time = datetime.fromtimestamp(stat_info.st_mtime).strftime("%Y‑%m‑%d %H:%M:%S") file_size_kb = round(stat_info.st_size / 1024,2) file_list.append({ "filename":fname, "full_path":full_path, "file_size_kb":file_size_kb, "modify_time":modify_time }) return file_list if __name__ == "__main__": os.makedirs(ARCHIVE_TARGET,exist_ok=True) os.makedirs(os.path.dirname(META_CSV_PATH),exist_ok=True) all_files = scan_render_files(RENDER_OUT) print(f"扫描完成,一共发现 {len(all_files)} 个素材文件") # 复制文件到归档目录 for item in all_files: src = item["full_path"] dst = os.path.join(ARCHIVE_TARGET,item["filename"]) shutil.copy2(src,dst) # 写入元数据CSV headers = ["filename","file_size_kb","modify_time","original_fullpath"] with open(META_CSV_PATH,"w",encoding="utf‑8‑sig",newline="") as f: writer = csv.DictWriter(f,fieldnames=headers) writer.writeheader() for item in all_files: writer.writerow({ "filename":item["filename"], "file_size_kb":item["file_size_kb"], "modify_time":item["modify_time"], "original_fullpath":item["full_path"] }) print(f"✅素材归档完成,元数据记录输出至:{META_CSV_PATH}")
运行脚本后,AI 渲染目录的图片、视频会自动复制到归档文件夹,同时输出一份 CSV 清单,记录全部素材信息。后续项目交接、复盘,直接查阅这份表格,即可掌握全部素材信息。
扩展功能思路
- 增加文件名正则解析,从文件名自动提取镜头 shot_id 写入元数据;
- 增加过期缓存清理脚本,自动清理临时缓存文件夹;
- 增加打包脚本,将完整项目打包压缩,排除大体积缓存文件,用于交付备份。
四、版本管控与项目交付最佳实践
4.1 版本管控三条硬性规范
- 原始素材目录禁止修改,角色图、背景图、音效只做读取,调整修改全部输出副本,防止原始资产被误删覆盖;
- 版本只增不覆盖,升级版本新建 v2、v3 文件夹,旧版本移入 archive 归档目录,严禁直接同名覆盖文件,一旦覆盖旧版本彻底丢失无法找回;
- Release 交付版本冻结,
05_release_product目录下文件一旦确认交付,不再直接编辑修改;后续修改在新的版本目录操作。
4.2 项目打包交付注意事项
对外交付或者云端备份整套项目时,需要区分:
- 需要保留:策划文档、分镜表、角色参考素材、稳定版 ComfyUI 工作流、脚本、元数据记录、正式成品;
- 可选择性排除:大量 AI 生成原始缓存图、废弃坏镜头(discard_bad 文件夹,本地留存,云端备份可以不打包,节省存储空间)。
交付包内必须附带readme.md,写明:项目名称、版本号、分辨率、帧率、依赖的 Checkpoint/LoRA/IP‑Adapter 模型清单,便于接手人员快速复现环境。
五、生产高频问题与解决方案
- 项目隔一段时间,重新打开工作流出图效果完全不一样根因:没有记录模型版本、LoRA 权重版本,后续更换模型文件;工作流没有配套保存当时角色参考图。 解决:使用
06_meta_info/dependency_record.csv记录所有依赖模型版本,角色参考素材和项目一起归档,不要只保存 json 工作流文件。 - 大量图片视频堆积,磁盘占用爆炸,分不清哪些可用哪些废弃解决:严格区分
img_raw原始生成和selected_asset筛选归档;坏镜头统一存入 discard_bad,定期评估是否删除;交付备份时排除渲染缓存目录。 - 更换电脑、项目交接,工程直接报错,图片全部丢失根因:ComfyUI 工作流记录本地绝对路径,换机器路径发生变化。 解决:项目全部素材使用相对路径;交付包附带完整参考素材,而不是只导出 json 工作流;交付文档写明路径修改说明。
- 脚本读取素材报错,部分文件无法加载根因:文件夹、文件名包含中文、特殊符号,部分 Python 库、ComfyUI 节点对中文路径兼容性差。 解决:项目内部资源全部采用英文 + 下划线命名,中文仅放在 md、csv 文档内容内。
六、配套工程资源包说明
本次工程包「项目素材,成品文件汇总资料」为 AI 内容生产项目全套归档模板资料,包内包含如下内容:
- 完整标准化项目目录模板文件夹结构;
- Python 素材自动归档脚本、缓存清理辅助脚本;
- 分镜表 shot_list.csv 模板、依赖记录 dependency_record.csv;
- change_log 修改日志模板、成片自检 check_list 清单、readme 项目说明模板;
- 样例角色参考素材、提示词样本文档,演示资产填写规范;
- 项目打包备份操作说明文档。
这套资料适合 AI 漫剧、SD 批量绘图、短视频生成项目,拿来即可复制套用,帮助团队告别文件散乱,建立完整可溯源的项目资产体系。