diff --git a/06_AI动漫制作/05_生产素材/README.md b/06_AI动漫制作/05_生产素材/README.md index 3da213a..d8bc0f5 100644 --- a/06_AI动漫制作/05_生产素材/README.md +++ b/06_AI动漫制作/05_生产素材/README.md @@ -1,7 +1,13 @@ # 生产素材 +## 素材索引 + +- [本项目动漫素材恢复清单(2026-09-29)](本项目动漫素材恢复清单_2026-09-29.md):中断对话生成的第一集 H3 动漫素材,按场次查看 79 个已落盘镜头,并附样片、原始版本及配乐入口。 + 这里只保存进入项目选择集的素材;试错缓存和可再生中间文件放在 `_工作区` 或 `_缓存`,由 `.gitignore` 排除。 +现有生产脚本还使用 `post_frames`、`edit_cache` 和 `*_work_*` 作为中间目录;本轮补充忽略规则,原文件留本地不挪动,避免破坏工程引用。镜头首帧、最终输出、返修说明与来源清单继续入库。一次性素材站上传副本不在此重复保存。 + 素材建议命名:`EP集号_SC场号_SH镜号_资产或角色_版本_状态.扩展名`。 示例:`S01E01_SC12_SH001_v003_CHR-POST-MC-A14_APPROVED.png`。 diff --git a/06_AI动漫制作/05_生产素材/本项目动漫素材恢复清单_2026-09-29.md b/06_AI动漫制作/05_生产素材/本项目动漫素材恢复清单_2026-09-29.md new file mode 100644 index 0000000..7057035 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/本项目动漫素材恢复清单_2026-09-29.md @@ -0,0 +1,271 @@ +# 第一集动漫素材恢复清单 + +已将现有 79 镜拼成 [8 分 20 秒原声试看版](../06_后期制作/01_剪辑工程/S01E01_已有素材试看_2026-09-29/第一集_已有79镜_原声试看_V01.mp4),附 [场次导航与剪辑说明](../06_后期制作/01_剪辑工程/S01E01_已有素材试看_2026-09-29/README.md)。 + +已找回对应对话:**用 H3 制作动漫首集 40 秒样片**。用户随后要求制作整集,对话因连接/压缩错误中断,但后台程序继续生成并保存了素材。 + +**当前已落盘:79 个正片镜头。** 其中 8 镜复用泉堂样片,其余为本轮正片生成。文件分布于正片 shots 目录及原样片目录,下表可以直接打开。 + +ComfyUI 当前历史中的本项目原始输出共 **93 个视频文件、4 个音频文件**,均已与本地内容进行 SHA-256 核对。93 个视频包含正片原始版本、返修版本和测试片,不能等同于 93 个正片镜头。本次未发现缺失下载。 + +原生产状态记录为 220 镜计划,其中 79 镜有输出、141 镜尚无输出;已有审核记录 13 镜,其余 66 镜待审。文件已保存不代表整集已完成或全部通过画面、对白审核。 + +[完整来源与校验清单](%E6%AD%A3%E7%89%87/S01E01_H3_V01/recovered_assets_manifest.json) · [原制作说明](%E6%AD%A3%E7%89%87/S01E01_H3_V01/%E5%88%B6%E4%BD%9C%E8%AF%B4%E6%98%8E.md) + +## 按场次打开视频 + +| 场次 | 内容 | 已有镜头 | +| --- | --- | --- | +| SC01 | 前世租屋 | 6 | +| SC02 | 化工厂夜班 | 12 | +| SC03 | 事故与救人 | 5 | +| SC04 | 婴儿与泉堂外景 | 4 | +| SC05 | 孤儿院照料婴儿 | 6 | +| SC06 | 泉堂祝福 | 8 | +| SC07 | 孤儿院日常 | 6 | +| SC08 | 大公府出发 | 9 | +| SC09 | 大圣堂会面 | 13 | +| SC10 | 检测与药剂台 | 8 | +| SC12 | 少年与送货 | 2 | + +## SC01 · 前世租屋 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S01-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C01/E01-S01-C01_V01_00002_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C01/review.jpg) | 已有 | +| E01-S01-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C02/E01-S01-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C02/review.jpg) | 已有 | +| E01-S01-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C03/E01-S01-C03_V01_00002_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C03/review.jpg) | 已有 | +| E01-S01-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C04/E01-S01-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C04/review.jpg) | 已有 | +| E01-S01-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C05/E01-S01-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C05/review.jpg) | 已有 | +| E01-S01-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C06/E01-S01-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C06/review.jpg) | 待审 | + +## SC02 · 化工厂夜班 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S02-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C01/E01-S02-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C01/review.jpg) | 待审 | +| E01-S02-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C02/E01-S02-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C02/review.jpg) | 待审 | +| E01-S02-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C03/E01-S02-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C03/review.jpg) | 待审 | +| E01-S02-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C04/E01-S02-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C04/review.jpg) | 待审 | +| E01-S02-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C05/E01-S02-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C05/review.jpg) | 待审 | +| E01-S02-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C06/E01-S02-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C06/review.jpg) | 待审 | +| E01-S02-C07 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C07/E01-S02-C07_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C07/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C07/review.jpg) | 待审 | +| E01-S02-C08 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C08/E01-S02-C08_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C08/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C08/review.jpg) | 待审 | +| E01-S02-C09 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C09/E01-S02-C09_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C09/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C09/review.jpg) | 待审 | +| E01-S02-C10 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C10/E01-S02-C10_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C10/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C10/review.jpg) | 待审 | +| E01-S02-C11 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C11/E01-S02-C11_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C11/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C11/review.jpg) | 待审 | +| E01-S02-C12 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C12/E01-S02-C12_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C12/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C12/review.jpg) | 待审 | + +## SC03 · 事故与救人 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S03-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C01/E01-S03-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C01/review.jpg) | 待审 | +| E01-S03-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C02/E01-S03-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C02/review.jpg) | 待审 | +| E01-S03-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C03/E01-S03-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C03/review.jpg) | 待审 | +| E01-S03-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C04/E01-S03-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C04/review.jpg) | 待审 | +| E01-S03-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C05/E01-S03-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C05/review.jpg) | 待审 | + +## SC04 · 婴儿与泉堂外景 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S04-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C01/E01-S04-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C01/review.jpg) | 待审 | +| E01-S04-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C02/E01-S04-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C02/review.jpg) | 待审 | +| E01-S04-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C03/E01-S04-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C03/review.jpg) | 待审 | +| E01-S04-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C04/E01-S04-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C04/review.jpg) | 待审 | + +## SC05 · 孤儿院照料婴儿 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S05-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C01/E01-S05-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C01/review.jpg) | 待审 | +| E01-S05-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C02/E01-S05-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C02/review.jpg) | 待审 | +| E01-S05-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C03/E01-S05-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C03/review.jpg) | 待审 | +| E01-S05-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C04/E01-S05-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C04/review.jpg) | 待审 | +| E01-S05-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C05/E01-S05-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C05/review.jpg) | 待审 | +| E01-S05-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C06/E01-S05-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C06/review.jpg) | 待审 | + +## SC06 · 泉堂祝福 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S06-C01 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C01/EP01_SC06_C01_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C02 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C02/EP01_SC06_C02_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C03 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C03R2/light_controlled.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C04 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C04/EP01_SC06_C04_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C05 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C05/EP01_SC06_C05_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C06 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C06/EP01_SC06_C06_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C07 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C07/EP01_SC06_C07_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | +| E01-S06-C08 | [播放视频](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C08/EP01_SC06_C08_V01_00001_.mp4) | 见原样片 | 见原样片 | 已有 | + +## SC07 · 孤儿院日常 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S07-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C01/E01-S07-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C01/review.jpg) | 待审 | +| E01-S07-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C02/E01-S07-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C02/review.jpg) | 待审 | +| E01-S07-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C03/E01-S07-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C03/review.jpg) | 待审 | +| E01-S07-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C04/E01-S07-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C04/review.jpg) | 待审 | +| E01-S07-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C05/E01-S07-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C05/review.jpg) | 待审 | +| E01-S07-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C06/E01-S07-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C06/review.jpg) | 待审 | + +## SC08 · 大公府出发 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S08-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C01/E01-S08-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C01/review.jpg) | 待审 | +| E01-S08-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C02/E01-S08-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C02/review.jpg) | 待审 | +| E01-S08-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C03/E01-S08-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C03/review.jpg) | 待审 | +| E01-S08-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C04/E01-S08-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C04/review.jpg) | 待审 | +| E01-S08-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C05/E01-S08-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C05/review.jpg) | 待审 | +| E01-S08-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C06/E01-S08-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C06/review.jpg) | 待审 | +| E01-S08-C07 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C07/E01-S08-C07_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C07/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C07/review.jpg) | 待审 | +| E01-S08-C08 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C08/E01-S08-C08_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C08/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C08/review.jpg) | 待审 | +| E01-S08-C09 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C09/E01-S08-C09_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C09/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C09/review.jpg) | 待审 | + +## SC09 · 大圣堂会面 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S09-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C01/E01-S09-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C01/review.jpg) | 待审 | +| E01-S09-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C02/E01-S09-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C02/review.jpg) | 待审 | +| E01-S09-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C03/E01-S09-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C03/review.jpg) | 待审 | +| E01-S09-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C04/E01-S09-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C04/review.jpg) | 待审 | +| E01-S09-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C05/E01-S09-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C05/review.jpg) | 待审 | +| E01-S09-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C06/E01-S09-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C06/review.jpg) | 待审 | +| E01-S09-C07 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C07/E01-S09-C07_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C07/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C07/review.jpg) | 待审 | +| E01-S09-C08 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C08/E01-S09-C08_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C08/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C08/review.jpg) | 待审 | +| E01-S09-C09 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C09/E01-S09-C09_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C09/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C09/review.jpg) | 待审 | +| E01-S09-C10 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C10/E01-S09-C10_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C10/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C10/review.jpg) | 待审 | +| E01-S09-C11 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C11/E01-S09-C11_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C11/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C11/review.jpg) | 待审 | +| E01-S09-C12 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C12/E01-S09-C12_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C12/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C12/review.jpg) | 待审 | +| E01-S09-C13 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C13/E01-S09-C13_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C13/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C13/review.jpg) | 待审 | + +## SC10 · 检测与药剂台 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S10-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C01/E01-S10-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C01/review.jpg) | 待审 | +| E01-S10-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C02/E01-S10-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C02/review.jpg) | 待审 | +| E01-S10-C03 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C03/E01-S10-C03_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C03/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C03/review.jpg) | 待审 | +| E01-S10-C04 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C04/E01-S10-C04_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C04/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C04/review.jpg) | 待审 | +| E01-S10-C05 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C05/E01-S10-C05_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C05/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C05/review.jpg) | 待审 | +| E01-S10-C06 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C06/E01-S10-C06_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C06/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C06/review.jpg) | 待审 | +| E01-S10-C07 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C07/E01-S10-C07_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C07/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C07/review.jpg) | 待审 | +| E01-S10-C08 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C08/E01-S10-C08_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C08/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C08/review.jpg) | 待审 | + +## SC12 · 少年与送货 + +| 镜号 | 视频 | 首帧 | 检查图 | 原审核记录 | +| --- | --- | --- | --- | --- | +| E01-S12-C01 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C01/E01-S12-C01_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C01/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C01/review.jpg) | 待审 | +| E01-S12-C02 | [播放视频](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C02/E01-S12-C02_V01_00001_.mp4) | [首帧](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C02/first.png) | [检查图](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C02/review.jpg) | 待审 | + +## 原始版本、测试视频与配乐 + +包含返修前版本,按原路径保留供追溯。 + +| 来源 | 文件 | +| --- | --- | +| hearthfire_tests | [2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V01_00001.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_%E7%94%B7%E4%B8%BB%E6%94%B6%E6%89%8B%E6%9C%BA/2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V01_00001.mp4) | +| hearthfire_tests | [2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V02_00001.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_%E7%94%B7%E4%B8%BB%E6%94%B6%E6%89%8B%E6%9C%BA/V02_%E6%94%BE%E4%B8%8B%E6%89%8B%E6%9C%BA/2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V02_00001.mp4) | +| hearthfire_tests | [2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V03_00001.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_%E7%94%B7%E4%B8%BB%E6%94%B6%E6%89%8B%E6%9C%BA/V03_14B_%E6%97%A0LoRA%E8%AF%8A%E6%96%AD/2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V03_00001.mp4) | +| hearthfire_tests | [2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V04_00001.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_%E7%94%B7%E4%B8%BB%E6%94%B6%E6%89%8B%E6%9C%BA/V04_14B_%E7%94%BB%E8%B4%A8%E5%AF%B9%E6%AF%94/2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V04_00001.mp4) | +| hearthfire_h3 | [EP01_SC06_C02_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C02/EP01_SC06_C02_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C03_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C03/EP01_SC06_C03_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C05_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C05/EP01_SC06_C05_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C01_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C01/EP01_SC06_C01_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C04_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C04/EP01_SC06_C04_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C06_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C06/EP01_SC06_C06_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C07_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C07/EP01_SC06_C07_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C08_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C08/EP01_SC06_C08_V01_00001_.mp4) | +| hearthfire_h3 | [EP01_SC06_C03R2_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_SC06_40%E7%A7%92_V01/C03R2/EP01_SC06_C03R2_V01_00001_.mp4) | +| hearthfire_episode | [E01-S01-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C01/E01-S01-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S04-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C01/E01-S04-C01_V01_00001_.mp4) | +| hearthfire_episode_music | [OP_泉与归处_00001.mp3](%E6%AD%A3%E7%89%87/S01E01_H3_V01/music/OP_%E6%B3%89%E4%B8%8E%E5%BD%92%E5%A4%84/OP_%E6%B3%89%E4%B8%8E%E5%BD%92%E5%A4%84_00001.mp3) | +| hearthfire_episode_music | [ED_留给你的那一碗_00001.mp3](%E6%AD%A3%E7%89%87/S01E01_H3_V01/music/ED_%E7%95%99%E7%BB%99%E4%BD%A0%E7%9A%84%E9%82%A3%E4%B8%80%E7%A2%97/ED_%E7%95%99%E7%BB%99%E4%BD%A0%E7%9A%84%E9%82%A3%E4%B8%80%E7%A2%97_00001.mp3) | +| hearthfire_episode_music | [BGM_晨光与日常_00001.mp3](%E6%AD%A3%E7%89%87/S01E01_H3_V01/music/BGM_%E6%99%A8%E5%85%89%E4%B8%8E%E6%97%A5%E5%B8%B8/BGM_%E6%99%A8%E5%85%89%E4%B8%8E%E6%97%A5%E5%B8%B8_00001.mp3) | +| hearthfire_episode_music | [BGM_未被回答的问题_00001.mp3](%E6%AD%A3%E7%89%87/S01E01_H3_V01/music/BGM_%E6%9C%AA%E8%A2%AB%E5%9B%9E%E7%AD%94%E7%9A%84%E9%97%AE%E9%A2%98/BGM_%E6%9C%AA%E8%A2%AB%E5%9B%9E%E7%AD%94%E7%9A%84%E9%97%AE%E9%A2%98_00001.mp3) | +| hearthfire_episode | [E01-S01-C01_V01_00002_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C01/E01-S01-C01_V01_00002_.mp4) | +| hearthfire_episode | [E01-S01-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C02/E01-S01-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S01-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C03/E01-S01-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S01-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C04/E01-S01-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S01-C03_V01_00002_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C03/E01-S01-C03_V01_00002_.mp4) | +| hearthfire_episode | [E01-S01-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C05/E01-S01-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S01-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S01-C06/E01-S01-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C01/E01-S02-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C02/E01-S02-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C03/E01-S02-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C04/E01-S02-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C05/E01-S02-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C06/E01-S02-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C07_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C07/E01-S02-C07_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C08_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C08/E01-S02-C08_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C09_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C09/E01-S02-C09_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C10_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C10/E01-S02-C10_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C11_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C11/E01-S02-C11_V01_00001_.mp4) | +| hearthfire_episode | [E01-S02-C12_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S02-C12/E01-S02-C12_V01_00001_.mp4) | +| hearthfire_episode | [E01-S03-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C01/E01-S03-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S03-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C02/E01-S03-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S03-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C03/E01-S03-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S03-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C04/E01-S03-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S03-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S03-C05/E01-S03-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S04-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C02/E01-S04-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S04-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C03/E01-S04-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S04-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S04-C04/E01-S04-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S05-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C01/E01-S05-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S05-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C02/E01-S05-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S05-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C03/E01-S05-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S05-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C04/E01-S05-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S05-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C05/E01-S05-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S05-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S05-C06/E01-S05-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S07-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C01/E01-S07-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S07-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C02/E01-S07-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S07-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C03/E01-S07-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S07-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C04/E01-S07-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S07-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C05/E01-S07-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S07-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S07-C06/E01-S07-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C01/E01-S08-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C02/E01-S08-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C03/E01-S08-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C04/E01-S08-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C05/E01-S08-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C06/E01-S08-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C07_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C07/E01-S08-C07_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C08_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C08/E01-S08-C08_V01_00001_.mp4) | +| hearthfire_episode | [E01-S08-C09_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S08-C09/E01-S08-C09_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C01/E01-S09-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C02/E01-S09-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C03/E01-S09-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C04/E01-S09-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C05/E01-S09-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C06/E01-S09-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C07_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C07/E01-S09-C07_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C08_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C08/E01-S09-C08_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C09_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C09/E01-S09-C09_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C10_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C10/E01-S09-C10_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C11_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C11/E01-S09-C11_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C12_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C12/E01-S09-C12_V01_00001_.mp4) | +| hearthfire_episode | [E01-S09-C13_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S09-C13/E01-S09-C13_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C01/E01-S10-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C02/E01-S10-C02_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C03_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C03/E01-S10-C03_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C04_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C04/E01-S10-C04_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C05_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C05/E01-S10-C05_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C06_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C06/E01-S10-C06_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C07_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C07/E01-S10-C07_V01_00001_.mp4) | +| hearthfire_episode | [E01-S10-C08_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S10-C08/E01-S10-C08_V01_00001_.mp4) | +| hearthfire_episode | [E01-S12-C01_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C01/E01-S12-C01_V01_00001_.mp4) | +| hearthfire_episode | [E01-S12-C02_V01_00001_.mp4](%E6%AD%A3%E7%89%87/S01E01_H3_V01/shots/E01-S12-C02/E01-S12-C02_V01_00001_.mp4) | +| hearthfire_episode | [C03_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C03/C03_V01_00001_.mp4) | +| hearthfire_episode | [C01_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C01/C01_V01_00001_.mp4) | +| hearthfire_episode | [C02_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C02/C02_V01_00001_.mp4) | +| hearthfire_episode | [C04_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C04/C04_V01_00001_.mp4) | +| hearthfire_episode | [C05_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C05/C05_V01_00001_.mp4) | +| hearthfire_episode | [C06_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C06/C06_V01_00001_.mp4) | +| hearthfire_episode | [C07_V01_00001_.mp4](%E8%A7%86%E9%A2%91%E6%B5%8B%E8%AF%95/2026-09-29_H3_%E5%BC%80%E7%AF%8740%E7%A7%92_%E6%9F%94%E5%85%89V02/C07/C07_V01_00001_.mp4) | + +## 本次纠正 + +上一轮误收的 chemical_fight 打斗视频与遮罩不属于本项目,已移入本地 `_缓存/误收_非本项目_ComfyUI_2026-09-29`,不纳入本清单。未改动服务器素材及现有动漫视频。 diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/HOME_ASSET_LOG.md b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/HOME_ASSET_LOG.md new file mode 100644 index 0000000..c0de28f --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/HOME_ASSET_LOG.md @@ -0,0 +1,66 @@ + +- 2026-09-29T06:59:29 E01-S04-C01: first frame inspected, ready. 检查通过:45岁神父与SC06脸型服装连续,襁褓左下/神父右侧、夜雨坡道朝右上;已见婴儿正常包裹;远堂顶十字轮廓需正片背景微小不强调。 + +- 2026-09-29T07:03:00 E01-S04-C02: first frame inspected, ready. 目检通过:神父跪姿手支撑头颈,婴儿包裹比例自然、旧补丁与前镜连贯,左墙右人轴线成立。 + +- 2026-09-29T07:03:56 E01-S04-C03: first frame inspected, ready. 目检通过:新生儿小手近下巴尚未接触,神父面部年龄及斑灰发与样片连续;双脸和抱姿稳定、无神光。 + +- 2026-09-29T07:04:28 E01-S04-C04: first frame inspected, ready. 目检通过:人物朝右上坡、婴儿被稳抱、夜雨光位连续;泉堂已使用水纹标识无十字,披风湿态清楚。 + +- 2026-09-29T07:05:31 E01-S05-C01: first frame inspected, ready. 目检通过:火盆左、护理桌中、通堂门右空间清楚;阿黛尔13岁、神父45岁与样片一致,婴儿适当包裹,干湿布可分。 + +- 2026-09-29T07:06:36 E01-S05-C02: first frame inspected, ready. 目检通过:婴儿小手攥住神父食指、五指结构及干襁褓自然,火盆左光位正确;阿黛尔为画外问句。 + +- 2026-09-29T07:08:17 E01-S05-C03: first frame inspected, ready. 目检通过:神父近景视线朝孩子、13岁阿黛尔前景右侧反打轴清楚,暖左冷窗光位一致,脸龄与样片一致。 + +- 2026-09-29T07:09:41 E01-S05-C04: first frame inspected, ready. 目检通过:阿黛尔13岁门右离开动势明确,后景神父抱婴与篮毯一致;本镜以出门留空作时间省略,下镜乳母已到。 + +- 2026-09-29T07:10:36 E01-S05-C05: first frame inspected, ready. 目检通过:成年乳母侧背与13岁阿黛尔分离,宝宝交接前支撑明确;侧室地理光位延续且衣着完整。 + +- 2026-09-29T07:10:59 E01-S05-C06: first frame inspected, ready. 目检通过:收养簿前景墨迹、神父抱婴后景、阿黛尔持烛与右门连到SC06;提示用转身与步伐纠正首帧视线朝左。 + +- 2026-09-29T07:13:10 E01-S05-C02: first frame inspected, ready. 目检通过:婴儿小手攥住神父食指、五指结构及干襁褓自然,火盆左光位正确;阿黛尔为画外问句。 + +- 2026-09-29T07:13:44 E01-S12-C01: first frame inspected, ready. 目检通过:锅盖、补陶与旧壁色差清楚,袖口与28岁阿黛尔一致,左窗晨光和普通柴火空间明确。 + +- 2026-09-29T07:14:57 E01-S07-C01: first frame inspected, ready. 二次目检通过:已纠正初版成人阿黛尔误入为12岁莉娅灰蓝围裙棕发马尾,尼诺回调至9岁身高,15岁男主脸型与工衣一致。 + +- 2026-09-29T07:17:08 E01-S12-C02: first frame inspected, ready. 目检通过:15岁男主左、28岁阿黛尔右,灶左桌中门右构图、晨光服装连续,眉毛完整无夸张表情。 + +- 2026-09-29T07:18:06 E01-S07-C02: first frame inspected, ready. 目检通过:男主左蹲尼诺右站、手掌接收与藏楔状态清楚;低机位不跨轴,灰泉工衣及晨光一致。 + +- 2026-09-29T07:19:10 E01-S07-C03: first frame inspected, ready. 目检通过:莉娅12岁棕发马尾灰蓝围裙固定,手持碗自然,厨房门右和晨光左连续。 + +- 2026-09-29T07:19:56 E01-S04-C02: first frame inspected, ready. 目检通过:神父跪姿手支撑头颈,婴儿包裹比例自然、旧补丁与前镜连贯,左墙右人轴线成立。 + +- 2026-09-29T07:19:56 E01-S04-C03: first frame inspected, ready. 目检通过:新生儿小手近下巴尚未接触,神父面部年龄及斑灰发与样片连续;双脸和抱姿稳定、无神光。 + +- 2026-09-29T07:19:56 E01-S04-C04: first frame inspected, ready. 目检通过:人物朝右上坡、婴儿被稳抱、夜雨光位连续;泉堂已使用水纹标识无十字,披风湿态清楚。 + +- 2026-09-29T07:19:56 E01-S05-C01: first frame inspected, ready. 目检通过:火盆左、护理桌中、通堂门右空间清楚;阿黛尔13岁、神父45岁与样片一致,婴儿适当包裹,干湿布可分。 + +- 2026-09-29T07:19:56 E01-S05-C02: first frame inspected, ready. 目检通过:婴儿小手攥住神父食指、五指结构及干襁褓自然,火盆左光位正确;阿黛尔为画外问句。 + +- 2026-09-29T07:19:56 E01-S05-C03: first frame inspected, ready. 目检通过:神父近景视线朝孩子、13岁阿黛尔前景右侧反打轴清楚,暖左冷窗光位一致,脸龄与样片一致。 + +- 2026-09-29T07:19:56 E01-S05-C04: first frame inspected, ready. 目检通过:阿黛尔13岁门右离开动势明确,后景神父抱婴与篮毯一致;本镜以出门留空作时间省略,下镜乳母已到。 + +- 2026-09-29T07:19:56 E01-S05-C05: first frame inspected, ready. 目检通过:成年乳母侧背与13岁阿黛尔分离,宝宝交接前支撑明确;侧室地理光位延续且衣着完整。 + +- 2026-09-29T07:19:56 E01-S05-C06: first frame inspected, ready. 目检通过:收养簿前景墨迹、神父抱婴后景、阿黛尔持烛与右门连到SC06;提示用转身与步伐纠正首帧视线朝左。 + +- 2026-09-29T07:19:56 E01-S07-C01: first frame inspected, ready. 二次目检通过:已纠正初版成人阿黛尔误入为12岁莉娅灰蓝围裙棕发马尾,尼诺回调至9岁身高,15岁男主脸型与工衣一致。 + +- 2026-09-29T07:19:56 E01-S07-C02: first frame inspected, ready. 目检通过:男主左蹲尼诺右站、手掌接收与藏楔状态清楚;低机位不跨轴,灰泉工衣及晨光一致。 + +- 2026-09-29T07:19:56 E01-S07-C03: first frame inspected, ready. 目检通过:莉娅12岁棕发马尾灰蓝围裙固定,手持碗自然,厨房门右和晨光左连续。 + +- 2026-09-29T07:19:56 E01-S12-C01: first frame inspected, ready. 目检通过:锅盖、补陶与旧壁色差清楚,袖口与28岁阿黛尔一致,左窗晨光和普通柴火空间明确。 + +- 2026-09-29T07:19:56 E01-S12-C02: first frame inspected, ready. 目检通过:15岁男主左、28岁阿黛尔右,灶左桌中门右构图、晨光服装连续,眉毛完整无夸张表情。 + +- 2026-09-29T07:20:32 E01-S07-C04: first frame inspected, ready. 目检通过:两童脸龄区分、木楔已交至男主手中,尼诺双手空;男主左尼诺右轴线与眼高准确。 + +- 2026-09-29T07:21:30 E01-S07-C05: first frame inspected, ready. 目检通过:木楔、布、空榫口三物明确,男主袖口与手型连续,普通木工无魔法;面外对白需保留画外。 + +- 2026-09-29T07:25:54 E01-S07-C06: first frame inspected, ready. 二次目检通过:已把修好凳子的空榫口改为实木楔填紧;尼诺9岁温棕发圆润脸与前镜连续,工具筐在左。 diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/LOG.md b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/LOG.md new file mode 100644 index 0000000..58cc18f --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/LOG.md @@ -0,0 +1,160 @@ +{"at": "2026-09-29T06:58:44.352796+08:00", "event": "initialize", "body_shots": 220, "reused_scene": 6} +{"at": "2026-09-29T06:58:44.742904+08:00", "event": "worker_started", "pid": 8064} +{"at": "2026-09-29T06:58:47.188906+08:00", "event": "submit", "shot": "E01-S01-C01", "prompt_id": "5dceee7c-ef9e-4b1e-a9a9-b08e1b4d36b8", "seconds": 5} +{"at": "2026-09-29T07:01:42.555807+08:00", "event": "rendered", "shot": "E01-S01-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C01\\E01-S01-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:01:45.054224+08:00", "event": "submit", "shot": "E01-S04-C01", "prompt_id": "6b3cdd51-5b3e-4de3-b320-10aa447de303", "seconds": 5} +{"at": "2026-09-29T07:04:40.410108+08:00", "event": "rendered", "shot": "E01-S04-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S04-C01\\E01-S04-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:04:40.442693+08:00", "event": "worker_stopped_after_current"} +{"at": "2026-09-29T07:04:44.779663+08:00", "event": "music_submit", "cue": "OP_泉与归处", "prompt_id": "d9e77145-0eff-4968-a3f8-415d9a19f232"} +{"at": "2026-09-29T07:06:14.999614+08:00", "event": "music_rendered", "cue": "OP_泉与归处", "outputs": ["F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\OP_泉与归处\\OP_泉与归处_00001.mp3"]} +{"at": "2026-09-29T07:06:17.390934+08:00", "event": "music_submit", "cue": "ED_留给你的那一碗", "prompt_id": "0942ce8b-bb16-424a-9280-66979229ba87"} +{"at": "2026-09-29T07:06:47.483500+08:00", "event": "music_rendered", "cue": "ED_留给你的那一碗", "outputs": ["F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\ED_留给你的那一碗\\ED_留给你的那一碗_00001.mp3"]} +{"at": "2026-09-29T07:06:50.168115+08:00", "event": "music_submit", "cue": "BGM_晨光与日常", "prompt_id": "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1"} +{"at": "2026-09-29T07:07:35.313035+08:00", "event": "music_rendered", "cue": "BGM_晨光与日常", "outputs": ["F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\BGM_晨光与日常\\BGM_晨光与日常_00001.mp3"]} +{"at": "2026-09-29T07:07:37.677916+08:00", "event": "music_submit", "cue": "BGM_未被回答的问题", "prompt_id": "5a968219-8656-4692-83f2-53c17b81fa41"} +{"at": "2026-09-29T07:08:23.088761+08:00", "event": "music_rendered", "cue": "BGM_未被回答的问题", "outputs": ["F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\BGM_未被回答的问题\\BGM_未被回答的问题_00001.mp3"]} +{"at": "2026-09-29T07:08:23.100630+08:00", "event": "video_worker_resumed", "pid": 30832} +{"at": "2026-09-29T07:08:23.283256+08:00", "event": "worker_started", "pid": 17040} +{"at": "2026-09-29T07:08:26.127363+08:00", "event": "submit", "shot": "E01-S01-C01", "prompt_id": "2245ce9b-77b2-4467-8c04-5c27c0e718e9", "seconds": 5} +{"at": "2026-09-29T07:10:36.503762+08:00", "event": "scene_assembled", "scene": 6, "draft": false, "output": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\scenes\\SC06\\SC06_正片.mp4", "duration": 40} +{"at": "2026-09-29T07:10:56.415368+08:00", "event": "rendered", "shot": "E01-S01-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C01\\E01-S01-C01_V01_00002_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:10:58.877765+08:00", "event": "submit", "shot": "E01-S01-C02", "prompt_id": "beb45f6a-8f6f-4180-91e5-bdfbe14f2c49", "seconds": 6} +{"at": "2026-09-29T07:14:19.240562+08:00", "event": "rendered", "shot": "E01-S01-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C02\\E01-S01-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:14:21.753655+08:00", "event": "submit", "shot": "E01-S01-C03", "prompt_id": "51db9872-f1c1-428b-84ad-ba2e3315a548", "seconds": 6} +{"at": "2026-09-29T07:17:42.115324+08:00", "event": "rendered", "shot": "E01-S01-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C03\\E01-S01-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:17:44.631625+08:00", "event": "submit", "shot": "E01-S01-C04", "prompt_id": "bbf9227f-1369-43d7-b4d7-526d32c9a6bf", "seconds": 6} +{"at": "2026-09-29T07:21:05.010877+08:00", "event": "rendered", "shot": "E01-S01-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C04\\E01-S01-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:21:07.515860+08:00", "event": "submit", "shot": "E01-S01-C03", "prompt_id": "4c62e36d-2455-43db-8b26-f91b14d7d65f", "seconds": 6} +{"at": "2026-09-29T07:24:27.902318+08:00", "event": "rendered", "shot": "E01-S01-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C03\\E01-S01-C03_V01_00002_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:24:30.455168+08:00", "event": "submit", "shot": "E01-S01-C05", "prompt_id": "c54e5b0a-bbbd-4094-8dff-f9c72e9f4744", "seconds": 6} +{"at": "2026-09-29T07:27:50.831539+08:00", "event": "rendered", "shot": "E01-S01-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C05\\E01-S01-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:27:53.349761+08:00", "event": "submit", "shot": "E01-S01-C06", "prompt_id": "e99ad918-ad5f-4ed3-8614-0c72d2b82a0d", "seconds": 7} +{"at": "2026-09-29T07:31:38.675446+08:00", "event": "rendered", "shot": "E01-S01-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S01-C06\\E01-S01-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:31:41.160915+08:00", "event": "submit", "shot": "E01-S02-C01", "prompt_id": "824b4b9c-e0c0-4ca0-990a-626e59150967", "seconds": 5} +{"at": "2026-09-29T07:34:36.426157+08:00", "event": "rendered", "shot": "E01-S02-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C01\\E01-S02-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:34:38.944369+08:00", "event": "submit", "shot": "E01-S02-C02", "prompt_id": "a32b66a6-96a1-4aa3-bd3d-741fdb1a8bfe", "seconds": 8} +{"at": "2026-09-29T07:38:49.344967+08:00", "event": "rendered", "shot": "E01-S02-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C02\\E01-S02-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:38:51.915320+08:00", "event": "submit", "shot": "E01-S02-C03", "prompt_id": "9faaf3c6-5cfe-43e1-8dbe-596abe0fe996", "seconds": 7} +{"at": "2026-09-29T07:42:37.226505+08:00", "event": "rendered", "shot": "E01-S02-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C03\\E01-S02-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:42:39.722419+08:00", "event": "submit", "shot": "E01-S02-C04", "prompt_id": "541b14b9-26d0-4df7-bc08-7d3984ba22a8", "seconds": 5} +{"at": "2026-09-29T07:45:35.065266+08:00", "event": "rendered", "shot": "E01-S02-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C04\\E01-S02-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:45:37.550059+08:00", "event": "submit", "shot": "E01-S02-C05", "prompt_id": "df2f7880-eebc-4891-b030-a7a71100246d", "seconds": 5} +{"at": "2026-09-29T07:48:32.810305+08:00", "event": "rendered", "shot": "E01-S02-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C05\\E01-S02-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:48:35.346283+08:00", "event": "submit", "shot": "E01-S02-C06", "prompt_id": "f72e7d86-4748-43dc-bd6b-e87e7dad9dfb", "seconds": 5} +{"at": "2026-09-29T07:51:30.657905+08:00", "event": "rendered", "shot": "E01-S02-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C06\\E01-S02-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:51:33.193495+08:00", "event": "submit", "shot": "E01-S02-C07", "prompt_id": "789d0d47-6fda-410a-b905-aac0a8abda1d", "seconds": 5} +{"at": "2026-09-29T07:54:28.475028+08:00", "event": "rendered", "shot": "E01-S02-C07", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C07\\E01-S02-C07_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:54:31.005648+08:00", "event": "submit", "shot": "E01-S02-C08", "prompt_id": "bbc724b1-533b-46d3-9e80-321098e64b7d", "seconds": 5} +{"at": "2026-09-29T07:57:26.313264+08:00", "event": "rendered", "shot": "E01-S02-C08", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C08\\E01-S02-C08_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T07:57:28.818780+08:00", "event": "submit", "shot": "E01-S02-C09", "prompt_id": "6aecc9e0-a765-4fc0-8253-9514fd7c402d", "seconds": 5} +{"at": "2026-09-29T08:00:24.140813+08:00", "event": "rendered", "shot": "E01-S02-C09", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C09\\E01-S02-C09_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:00:26.676971+08:00", "event": "submit", "shot": "E01-S02-C10", "prompt_id": "a6090c2b-1d69-43ee-85d8-b1894c8f16a5", "seconds": 5} +{"at": "2026-09-29T08:03:22.018677+08:00", "event": "rendered", "shot": "E01-S02-C10", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C10\\E01-S02-C10_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:03:24.548699+08:00", "event": "submit", "shot": "E01-S02-C11", "prompt_id": "40b6556d-6378-46f8-b123-4faccf78619b", "seconds": 5} +{"at": "2026-09-29T08:06:19.832437+08:00", "event": "rendered", "shot": "E01-S02-C11", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C11\\E01-S02-C11_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:06:22.380397+08:00", "event": "submit", "shot": "E01-S02-C12", "prompt_id": "79c6bcff-11d9-47d8-9b93-15d121a25fc6", "seconds": 5} +{"at": "2026-09-29T08:09:17.639443+08:00", "event": "rendered", "shot": "E01-S02-C12", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S02-C12\\E01-S02-C12_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:09:20.075763+08:00", "event": "submit", "shot": "E01-S03-C01", "prompt_id": "5e4e09c1-bb0e-4edc-bb20-d15fada31ad2", "seconds": 5} +{"at": "2026-09-29T08:12:15.323464+08:00", "event": "rendered", "shot": "E01-S03-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S03-C01\\E01-S03-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:12:17.884764+08:00", "event": "submit", "shot": "E01-S03-C02", "prompt_id": "f8270f44-e1d6-41c6-87da-fea872b0280f", "seconds": 5} +{"at": "2026-09-29T08:15:13.123346+08:00", "event": "rendered", "shot": "E01-S03-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S03-C02\\E01-S03-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:15:15.624484+08:00", "event": "submit", "shot": "E01-S03-C03", "prompt_id": "28e5afea-4bc8-4328-af04-8516840323fa", "seconds": 5} +{"at": "2026-09-29T08:18:10.897637+08:00", "event": "rendered", "shot": "E01-S03-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S03-C03\\E01-S03-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:18:13.384768+08:00", "event": "submit", "shot": "E01-S03-C04", "prompt_id": "67c3b370-12c1-481e-913d-be694a3e10c5", "seconds": 5} +{"at": "2026-09-29T08:21:09.102246+08:00", "event": "rendered", "shot": "E01-S03-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S03-C04\\E01-S03-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:21:11.583306+08:00", "event": "submit", "shot": "E01-S03-C05", "prompt_id": "75263b64-5dee-4f57-8d3f-3c697ea81663", "seconds": 5} +{"at": "2026-09-29T08:24:06.837150+08:00", "event": "rendered", "shot": "E01-S03-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S03-C05\\E01-S03-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:24:09.349715+08:00", "event": "submit", "shot": "E01-S04-C02", "prompt_id": "c61132b9-e60c-42e0-9c2b-5a159f80cbe1", "seconds": 5} +{"at": "2026-09-29T08:27:04.663366+08:00", "event": "rendered", "shot": "E01-S04-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S04-C02\\E01-S04-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:27:07.153574+08:00", "event": "submit", "shot": "E01-S04-C03", "prompt_id": "5c6e9d7c-3074-4139-a986-46fabd71b679", "seconds": 5} +{"at": "2026-09-29T08:30:02.491754+08:00", "event": "rendered", "shot": "E01-S04-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S04-C03\\E01-S04-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:30:05.070383+08:00", "event": "submit", "shot": "E01-S04-C04", "prompt_id": "5fa91325-4351-4951-b33f-8830f8b10d80", "seconds": 5} +{"at": "2026-09-29T08:33:00.327022+08:00", "event": "rendered", "shot": "E01-S04-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S04-C04\\E01-S04-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:33:02.837740+08:00", "event": "submit", "shot": "E01-S05-C01", "prompt_id": "94019a0d-1288-40db-b546-7fca24e2a031", "seconds": 5} +{"at": "2026-09-29T08:35:58.172632+08:00", "event": "rendered", "shot": "E01-S05-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S05-C01\\E01-S05-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:36:00.682423+08:00", "event": "submit", "shot": "E01-S05-C02", "prompt_id": "d1cc37c0-2bc2-49c7-bd84-39082fe70295", "seconds": 5} +{"at": "2026-09-29T08:38:56.020264+08:00", "event": "rendered", "shot": "E01-S05-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S05-C02\\E01-S05-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:38:58.583032+08:00", "event": "submit", "shot": "E01-S05-C03", "prompt_id": "d3e3def2-998e-4a8e-aed4-3e3205576a0a", "seconds": 5} +{"at": "2026-09-29T08:41:53.919740+08:00", "event": "rendered", "shot": "E01-S05-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S05-C03\\E01-S05-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:41:56.401415+08:00", "event": "submit", "shot": "E01-S05-C04", "prompt_id": "7f9f0a66-2c7c-462e-abff-03e68d9485bd", "seconds": 5} +{"at": "2026-09-29T08:44:51.708058+08:00", "event": "rendered", "shot": "E01-S05-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S05-C04\\E01-S05-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:44:54.164399+08:00", "event": "submit", "shot": "E01-S05-C05", "prompt_id": "2dc2f033-6b40-45f1-a957-6528bf4bdd8e", "seconds": 5} +{"at": "2026-09-29T08:47:49.456840+08:00", "event": "rendered", "shot": "E01-S05-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S05-C05\\E01-S05-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:47:52.009698+08:00", "event": "submit", "shot": "E01-S05-C06", "prompt_id": "1e02b0e7-4a46-4b2b-a672-b5723eb23985", "seconds": 5} +{"at": "2026-09-29T08:50:47.281624+08:00", "event": "rendered", "shot": "E01-S05-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S05-C06\\E01-S05-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:50:49.788267+08:00", "event": "submit", "shot": "E01-S07-C01", "prompt_id": "2ec645ea-d4ca-41a9-967c-3c2e60de2ddb", "seconds": 6} +{"at": "2026-09-29T08:54:35.153046+08:00", "event": "rendered", "shot": "E01-S07-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S07-C01\\E01-S07-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:54:37.667524+08:00", "event": "submit", "shot": "E01-S07-C02", "prompt_id": "70596691-3042-40f9-98b6-5f06d2dd67ec", "seconds": 5} +{"at": "2026-09-29T08:57:32.945094+08:00", "event": "rendered", "shot": "E01-S07-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S07-C02\\E01-S07-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T08:57:35.492324+08:00", "event": "submit", "shot": "E01-S07-C03", "prompt_id": "241bab0c-df07-44dd-a0f9-ae4c1834be63", "seconds": 5} +{"at": "2026-09-29T09:00:30.787546+08:00", "event": "rendered", "shot": "E01-S07-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S07-C03\\E01-S07-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:00:33.516615+08:00", "event": "submit", "shot": "E01-S07-C04", "prompt_id": "5686e9e0-5eca-441c-87cb-5afd6886dabe", "seconds": 5} +{"at": "2026-09-29T09:03:28.805257+08:00", "event": "rendered", "shot": "E01-S07-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S07-C04\\E01-S07-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:03:31.293287+08:00", "event": "submit", "shot": "E01-S07-C05", "prompt_id": "0bcde7eb-5eb5-469e-9315-a67e29d88c7b", "seconds": 7} +{"at": "2026-09-29T09:07:16.652168+08:00", "event": "rendered", "shot": "E01-S07-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S07-C05\\E01-S07-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:07:19.194220+08:00", "event": "submit", "shot": "E01-S07-C06", "prompt_id": "db1004d9-9d25-4edb-831b-3a0c631b1dea", "seconds": 5} +{"at": "2026-09-29T09:10:14.495936+08:00", "event": "rendered", "shot": "E01-S07-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S07-C06\\E01-S07-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:10:17.004799+08:00", "event": "submit", "shot": "E01-S08-C01", "prompt_id": "2ac1942f-6c87-4ffe-8353-9409eda90d79", "seconds": 6} +{"at": "2026-09-29T09:13:37.385079+08:00", "event": "rendered", "shot": "E01-S08-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C01\\E01-S08-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:13:39.909505+08:00", "event": "submit", "shot": "E01-S08-C02", "prompt_id": "9d7f72df-d156-478d-b744-b1b06d0842ef", "seconds": 7} +{"at": "2026-09-29T09:17:25.304788+08:00", "event": "rendered", "shot": "E01-S08-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C02\\E01-S08-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:17:27.815753+08:00", "event": "submit", "shot": "E01-S08-C03", "prompt_id": "3ea3cceb-99cd-477a-8403-4b4b5aaaef32", "seconds": 5} +{"at": "2026-09-29T09:20:23.102412+08:00", "event": "rendered", "shot": "E01-S08-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C03\\E01-S08-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:20:25.621769+08:00", "event": "submit", "shot": "E01-S08-C04", "prompt_id": "53b35a5a-3995-495b-82c9-31f10cddbf1c", "seconds": 7} +{"at": "2026-09-29T09:24:10.973646+08:00", "event": "rendered", "shot": "E01-S08-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C04\\E01-S08-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:24:13.499947+08:00", "event": "submit", "shot": "E01-S08-C05", "prompt_id": "03eb49c0-ec26-4451-a59a-d350304c79fe", "seconds": 6} +{"at": "2026-09-29T09:27:33.856701+08:00", "event": "rendered", "shot": "E01-S08-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C05\\E01-S08-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:27:36.382297+08:00", "event": "submit", "shot": "E01-S08-C06", "prompt_id": "b7c0df69-a899-4f03-a9d4-b35102b0eb21", "seconds": 7} +{"at": "2026-09-29T09:31:21.801118+08:00", "event": "rendered", "shot": "E01-S08-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C06\\E01-S08-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:31:24.332384+08:00", "event": "submit", "shot": "E01-S08-C07", "prompt_id": "c1a5ac97-30f9-4122-b865-17eadd0da76b", "seconds": 6} +{"at": "2026-09-29T09:35:09.715661+08:00", "event": "rendered", "shot": "E01-S08-C07", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C07\\E01-S08-C07_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:35:12.215005+08:00", "event": "submit", "shot": "E01-S08-C08", "prompt_id": "1516e095-0257-46c0-99d3-b350810daa0e", "seconds": 8} +{"at": "2026-09-29T09:39:22.660906+08:00", "event": "rendered", "shot": "E01-S08-C08", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C08\\E01-S08-C08_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:39:25.212922+08:00", "event": "submit", "shot": "E01-S08-C09", "prompt_id": "f426b2b2-d401-469f-876d-bc0e4cd11f31", "seconds": 8} +{"at": "2026-09-29T09:43:35.648576+08:00", "event": "rendered", "shot": "E01-S08-C09", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S08-C09\\E01-S08-C09_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:43:38.158670+08:00", "event": "submit", "shot": "E01-S09-C01", "prompt_id": "c82d4adc-3dc4-4341-8e36-8238f0a579b2", "seconds": 8} +{"at": "2026-09-29T09:47:48.560238+08:00", "event": "rendered", "shot": "E01-S09-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C01\\E01-S09-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:47:51.099138+08:00", "event": "submit", "shot": "E01-S09-C02", "prompt_id": "0f2a539b-7e1c-4d75-bcfb-ac3f3a4a1998", "seconds": 8} +{"at": "2026-09-29T09:52:01.525553+08:00", "event": "rendered", "shot": "E01-S09-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C02\\E01-S09-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:52:04.064406+08:00", "event": "submit", "shot": "E01-S09-C03", "prompt_id": "36a45119-2801-4c78-a64b-072fb2ac5b8b", "seconds": 8} +{"at": "2026-09-29T09:56:14.439124+08:00", "event": "rendered", "shot": "E01-S09-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C03\\E01-S09-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T09:56:16.971115+08:00", "event": "submit", "shot": "E01-S09-C04", "prompt_id": "f3b0c3e6-8167-4cc4-b86d-ff1d3b805701", "seconds": 8} +{"at": "2026-09-29T10:00:27.342503+08:00", "event": "rendered", "shot": "E01-S09-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C04\\E01-S09-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:00:29.896665+08:00", "event": "submit", "shot": "E01-S09-C05", "prompt_id": "b61ed72e-b9b7-45b4-83cc-3690c2c881c8", "seconds": 7} +{"at": "2026-09-29T10:04:15.271571+08:00", "event": "rendered", "shot": "E01-S09-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C05\\E01-S09-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:04:17.793624+08:00", "event": "submit", "shot": "E01-S09-C06", "prompt_id": "bf0ec591-255d-4b9d-863f-c29279d9f1cc", "seconds": 6} +{"at": "2026-09-29T10:07:38.179790+08:00", "event": "rendered", "shot": "E01-S09-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C06\\E01-S09-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:07:40.723042+08:00", "event": "submit", "shot": "E01-S09-C07", "prompt_id": "5d655d5d-4e43-4484-8ffc-9b5cf9a44510", "seconds": 8} +{"at": "2026-09-29T10:11:51.158786+08:00", "event": "rendered", "shot": "E01-S09-C07", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C07\\E01-S09-C07_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:11:53.722928+08:00", "event": "submit", "shot": "E01-S09-C08", "prompt_id": "c83b4101-bb5d-48c2-bb23-ea26f6d6c5c7", "seconds": 9} +{"at": "2026-09-29T10:16:54.205899+08:00", "event": "rendered", "shot": "E01-S09-C08", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C08\\E01-S09-C08_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:16:56.735092+08:00", "event": "submit", "shot": "E01-S09-C09", "prompt_id": "77ab81ef-22e3-4632-9cff-a54381da4f4d", "seconds": 8} +{"at": "2026-09-29T10:21:07.065115+08:00", "event": "rendered", "shot": "E01-S09-C09", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C09\\E01-S09-C09_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:21:09.593906+08:00", "event": "submit", "shot": "E01-S09-C10", "prompt_id": "9a78626e-5dca-456c-b29f-f0e7f3ef4ed7", "seconds": 8} +{"at": "2026-09-29T10:25:19.946983+08:00", "event": "rendered", "shot": "E01-S09-C10", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C10\\E01-S09-C10_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:25:22.512213+08:00", "event": "submit", "shot": "E01-S09-C11", "prompt_id": "8de492f8-55c1-4bcb-89e3-9dc288e7f518", "seconds": 7} +{"at": "2026-09-29T10:29:07.845805+08:00", "event": "rendered", "shot": "E01-S09-C11", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C11\\E01-S09-C11_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:29:10.384621+08:00", "event": "submit", "shot": "E01-S09-C12", "prompt_id": "0a741863-60fa-4a75-91c7-21343df7f2a5", "seconds": 7} +{"at": "2026-09-29T10:32:55.806967+08:00", "event": "rendered", "shot": "E01-S09-C12", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C12\\E01-S09-C12_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:32:58.352029+08:00", "event": "submit", "shot": "E01-S09-C13", "prompt_id": "0e409392-01bc-4b7d-8fe5-a7b0fed91e9b", "seconds": 8} +{"at": "2026-09-29T10:37:08.836284+08:00", "event": "rendered", "shot": "E01-S09-C13", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S09-C13\\E01-S09-C13_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:37:11.372260+08:00", "event": "submit", "shot": "E01-S10-C01", "prompt_id": "962cc794-95e3-471a-8a18-7df45fbcf015", "seconds": 7} +{"at": "2026-09-29T10:40:56.765296+08:00", "event": "rendered", "shot": "E01-S10-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C01\\E01-S10-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:40:59.264708+08:00", "event": "submit", "shot": "E01-S10-C02", "prompt_id": "681a5997-b8d3-4051-a091-127e75b2ea28", "seconds": 8} +{"at": "2026-09-29T10:45:09.631058+08:00", "event": "rendered", "shot": "E01-S10-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C02\\E01-S10-C02_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:45:12.157852+08:00", "event": "submit", "shot": "E01-S10-C03", "prompt_id": "59a818cd-5ea5-42f2-b5c4-abc56c8fc31d", "seconds": 7} +{"at": "2026-09-29T10:48:57.541754+08:00", "event": "rendered", "shot": "E01-S10-C03", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C03\\E01-S10-C03_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:49:00.061024+08:00", "event": "submit", "shot": "E01-S10-C04", "prompt_id": "c24702e5-09d1-41d6-83ec-d21ce4ba8468", "seconds": 8} +{"at": "2026-09-29T10:53:10.396395+08:00", "event": "rendered", "shot": "E01-S10-C04", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C04\\E01-S10-C04_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:53:13.094771+08:00", "event": "submit", "shot": "E01-S10-C05", "prompt_id": "44d1aea4-70d9-4282-872d-fd0551ff17b6", "seconds": 7} +{"at": "2026-09-29T10:56:58.432650+08:00", "event": "rendered", "shot": "E01-S10-C05", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C05\\E01-S10-C05_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T10:57:00.914147+08:00", "event": "submit", "shot": "E01-S10-C06", "prompt_id": "9be343e9-56ba-4b1d-abba-15fda09faaf0", "seconds": 8} +{"at": "2026-09-29T11:01:11.346828+08:00", "event": "rendered", "shot": "E01-S10-C06", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C06\\E01-S10-C06_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T11:01:13.888724+08:00", "event": "submit", "shot": "E01-S10-C07", "prompt_id": "3287b9f9-8b4a-4c26-9954-3d0a25b910fe", "seconds": 8} +{"at": "2026-09-29T11:05:24.290685+08:00", "event": "rendered", "shot": "E01-S10-C07", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C07\\E01-S10-C07_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T11:05:26.776368+08:00", "event": "submit", "shot": "E01-S10-C08", "prompt_id": "0ea1aced-92a6-4ce4-a625-4f2882d5fdc4", "seconds": 6} +{"at": "2026-09-29T11:08:47.136031+08:00", "event": "rendered", "shot": "E01-S10-C08", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S10-C08\\E01-S10-C08_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T11:08:49.640114+08:00", "event": "submit", "shot": "E01-S12-C01", "prompt_id": "19f68dea-77a9-4264-bf8e-d873bef4e39b", "seconds": 5} +{"at": "2026-09-29T11:11:44.948748+08:00", "event": "rendered", "shot": "E01-S12-C01", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S12-C01\\E01-S12-C01_V01_00001_.mp4", "visual_review": "pending"} +{"at": "2026-09-29T11:11:47.422788+08:00", "event": "submit", "shot": "E01-S12-C02", "prompt_id": "7e41f531-a918-4ac4-9533-0b6453fe772c", "seconds": 7} +{"at": "2026-09-29T11:15:32.783928+08:00", "event": "rendered", "shot": "E01-S12-C02", "source": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S12-C02\\E01-S12-C02_V01_00001_.mp4", "visual_review": "pending"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/MODERN_OPENING_HANDOFF.md b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/MODERN_OPENING_HANDOFF.md new file mode 100644 index 0000000..9a8e892 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/MODERN_OPENING_HANDOFF.md @@ -0,0 +1,21 @@ +# SC01–SC03 制作交接 + +已制作 23 镜首帧、各镜 image_prompt.txt、H3 ready.json。全部图像使用内置 image_gen,逐帧目检后才写 ready;队列提交仅由主代理进行。 + +## 首帧 + +- SC01 6 镜 / 35 秒:C01 首版因写实质感被弃,使用 first_v2.png 与 ready_v2.json;其余 first.png。C02电脑结果留白,C04笔记返修为简单水槽草图和问号。 +- SC02 12 镜 / 60 秒:工友锁为原群像第4位短乱发、淡胡茬、额上护目镜男子。男主右工友左,更衣室旧绿柜、暖走廊在左。C11–12为稍后的独立交班处,面包在空盒旁;C12返修去除凭空肩包。 +- SC03 5 镜 / 20 秒:撤离左→右,出口右;工友先出、男主留内;一次白光和抽象银线,无人形女神。 + +## 屏幕合成 + +- E01-S01-C02/post_screen.mp4 已完成、抽帧目检通过,post_outputs.json可供总装优先选择。158帧/6.583333秒/960×544/24fps,AAC 32kHz保留原声。分类“锅”和勾划线清楚、跟踪有效比例1.0。 +- SC02 C06–C09 已有 screen_overlay.json(四角/准确文字/时序),等待实际H3视频完成后运行 scripts/screen_post.py 镜号。 +- C09 在 0–1.2秒显示排班表,1.2–1.8秒出现新草稿,完整“我问问能不能调个班,回去陪你吃饭。”保留到镜末;4.15秒按发送变已发送绿色气泡。C10承接等待、锁屏、放入柜内,事故段无手机。 +- 脚本依赖本地隔离包 C:/Users/zhang/.codex/tools/screen-post,使用屏幕边缘特征/LK/RANSAC单应性跟踪,手机另加肤色遮挡掩膜。每镜运行后必须看 post_screen_sheet.png,不可只凭跟踪比例宣称通过。 +- 原始视频不覆盖。post_frames为真实H3每帧合成文字序列,不是静态首帧补足时间。视频/音频合成、检查、联系表使用ffmpeg技能脚本。 + +## 仍需主代理完成 + +SC02/03 H3生成及逐镜QC;SC02手机镜的post实际处理与视觉复检;总装统一48kHz及全片字幕。所有ready的frame_qc仅首帧检查,不代表视频通过。 diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/QC_LOG.md b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/QC_LOG.md new file mode 100644 index 0000000..990903d --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/QC_LOG.md @@ -0,0 +1,12 @@ + +E01-S01-C01 V2: visual PASS, no speech recognized; ACCEPT. +E01-S04-C01: visual PASS with distant emblem note; audio pending low-confidence ASR. + +E01-S01-C03 V1 REJECT: invented physical cat; speech end6.46 beyond6s edit. Corrected prompt V2 queued. + +E01-S01-C04: hand/page/prop/style visual PASS, no speech detected; ACCEPT. + +E01-S01-C02: visual PASS; ASR guo homophone uncertainty recorded; requires screen overlay. +E01-S01-C03 V2: visual PASS; small-ASR exact sentence0.43–2.43s; ACCEPT. + +E01-S01-C05: restrained alarm/pause/click/withdrawal performance and identity PASS; small-ASR silent; ACCEPT. diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assemble.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assemble.py new file mode 100644 index 0000000..1990c02 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assemble.py @@ -0,0 +1,82 @@ +"""Scene-level conform. Only accepted shots qualify for delivery unless --draft.""" +import argparse,json,subprocess,sys,shutil +from pathlib import Path +from production import ROOT,SAMPLE,read,write,cmd,probe,FFMPEG,FFPROBE,log +MANIFEST=read(ROOT/'source_manifest.json') +LINES={d['id']:d for d in MANIFEST['dialogue']} + +def edit_spec(shot): + f=ROOT/'shots'/shot['id']/'accepted.json' + decision=read(f) if f.exists() else {} + return float(decision.get('edit_in_seconds',0)),float(decision.get('edit_seconds',shot['seconds'])) + +def edit_duration(shot):return edit_spec(shot)[1] + +def stamp(s): + ms=round(s*1000);h,ms=divmod(ms,3600000);m,ms=divmod(ms,60000);sec,ms=divmod(ms,1000) + return f'{h:02}:{m:02}:{sec:02},{ms:03}' +def escaped_filter_path(p):return p.as_posix().replace(':','\\:').replace("'","\\'") +def subtitles(shots): + entries=[];offset=0 + for shot in shots: + f=ROOT/'shots'/shot['id'];ids=shot['dialogue_ids'];start_in,seconds=edit_spec(shot) + expected=[LINES[x]['text'] for x in ids] + if expected: + speech=f/'speech_check_small.json' if (f/'speech_check_small.json').exists() else f/'speech_check.json' + segments=read(speech).get('segments',[]) if speech.exists() else [] + if shot['scene']==6: + st,en=(.2,3.2) if shot['id'].endswith('C02') else (2.65,4.95) + elif segments: + st=max(0,segments[0]['start']-start_in-.08);en=min(seconds,segments[-1]['end']-start_in+.12) + else:st,en=.25,max(.5,seconds-.25) + if en-st<.4:st,en=.25,seconds-.2 + total=sum(max(1,len(t)) for t in expected);cursor=st + for line in expected: + duration=(en-st)*max(1,len(line))/total + entries.append((offset+cursor,offset+cursor+duration,line));cursor+=duration + offset+=seconds + return '\n\n'.join(f'{i+1}\n{stamp(a)} --> {stamp(b)}\n{t}' for i,(a,b,t) in enumerate(entries))+'\n' +def normalized(shot,draft=False): + f=ROOT/'shots'/shot['id'];assert (f/'outputs.json').exists(),f'{shot["id"]}: still rendering' + if not draft:assert (f/'accepted.json').exists(),f'{shot["id"]}: visual/dialogue review outstanding' + if (f/'screen_overlay.json').exists() and not draft: + assert (f/'post_outputs.json').exists(),f'{shot["id"]}: essential screen text still pending' + output_file=f/'post_outputs.json' if (f/'post_outputs.json').exists() else f/'outputs.json' + source=Path(read(output_file)[0]);out=f/'conform.mkv';start_in,seconds=edit_spec(shot) + reframe=read(f/'reframe.json') if (f/'reframe.json').exists() else {} + config={'source':str(source),'mtime':source.stat().st_mtime,'in':start_in,'seconds':seconds,'reframe':reframe,'version':3} + if out.exists() and (f/'conform_source.json').exists() and read(f/'conform_source.json')==config:return out + vf='scale=1280:720:force_original_aspect_ratio=increase,crop=1280:720,setsar=1,fps=24,setpts=PTS-STARTPTS' + if reframe.get('crop_top'): + top=int(reframe['crop_top']);vf=f'crop=iw:ih-{top}:0:{top},'+vf + af=f'aresample=48000:async=1:first_pts=0,apad,atrim=end_sample={round(seconds*48000)},asetpts=PTS-STARTPTS,afade=t=in:d=0.012,afade=t=out:st={max(0,seconds-.025)}:d=0.025' + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-ss',start_in,'-i',source,'-vf',vf,'-af',af,'-t',seconds,'-map','0:v:0','-map','0:a:0','-c:v','libx264','-crf','18','-preset','medium','-pix_fmt','yuv420p','-fps_mode','cfr','-c:a','pcm_s16le','-ar','48000','-ac','2',out]) + info=probe(out);assert abs(float(info['format']['duration'])-seconds)<.06 + write(f/'conform_source.json',config);return out +def scene(number,draft=False): + shots=[s for s in MANIFEST['shots'] if s['scene']==number];assert shots + dest=ROOT/'scenes'/f'SC{number:02}';dest.mkdir(parents=True,exist_ok=True) + if number==6: + out=dest/'SC06_正片.mp4' + shutil.copy2(SAMPLE/'EP01_泉堂祝福_40秒试看.mp4',out) + write(dest/'probe.json',probe(out)) + write(dest/'assembly.json',{'output':str(out),'duration':40,'draft':False,'reused_final_sample':True,'shots':[s['id'] for s in shots]}) + return out + sources=[normalized(s,draft) for s in shots] + playlist=dest/'concat.txt';playlist.write_text(''.join("file '"+p.as_posix().replace("'","'\\''")+"'\n" for p in sources),encoding='utf-8') + srt=dest/'台词.srt';srt.write_text(subtitles(shots),encoding='utf-8-sig') + duration=sum(edit_duration(s) for s in shots) + out=dest/(f'SC{number:02}_分场检查.mp4' if draft else f'SC{number:02}_正片.mp4') + vf="subtitles='"+escaped_filter_path(srt)+"':force_style='FontName=Microsoft YaHei,FontSize=20,Outline=1,Shadow=0,MarginV=28'" if any(s['dialogue_ids'] for s in shots) else 'null' + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-f','concat','-safe','0','-i',playlist,'-vf',vf,'-t',duration,'-c:v','libx264','-preset','medium','-crf','18','-pix_fmt','yuv420p','-fps_mode','cfr','-r','24','-c:a','aac','-b:a','192k','-ar','48000','-movflags','+faststart',out]) + info=probe(out);video=next(x for x in info['streams'] if x['codec_type']=='video') + assert video['avg_frame_rate']=='24/1' + assert abs(float(info['format']['duration'])-duration)<.06 + write(dest/'probe.json',info) + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-i',out,'-vf',f'fps=1/{duration/12},scale=480:-1,tile=4x3','-frames:v',1,dest/'review.jpg']) + write(dest/'assembly.json',{'output':str(out),'duration':duration,'draft':draft,'shots':[s['id'] for s in shots]}) + log('scene_assembled',scene=number,draft=draft,output=str(out),duration=duration) + print(str(out));return out + +if __name__=='__main__': + p=argparse.ArgumentParser();p.add_argument('--scene',type=int,required=True);p.add_argument('--draft',action='store_true');a=p.parse_args();scene(a.scene,a.draft) diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/ADA13_tutor_hall.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/ADA13_tutor_hall.png new file mode 100644 index 0000000..34c6774 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/ADA13_tutor_hall.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/CLERIC40_RAYMOND43_courtyard.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/CLERIC40_RAYMOND43_courtyard.png new file mode 100644 index 0000000..0c36c91 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/CLERIC40_RAYMOND43_courtyard.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC08_Lucian_mounted.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC08_Lucian_mounted.png new file mode 100644 index 0000000..1b2b508 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC08_Lucian_mounted.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC08_courtyard_departure.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC08_courtyard_departure.png new file mode 100644 index 0000000..9ab0a44 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC08_courtyard_departure.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC09_disk_activation.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC09_disk_activation.png new file mode 100644 index 0000000..4c5d93f Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC09_disk_activation.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC09_hall_master.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC09_hall_master.png new file mode 100644 index 0000000..d54c2f3 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC09_hall_master.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_Ada_cloth.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_Ada_cloth.png new file mode 100644 index 0000000..f837184 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_Ada_cloth.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_Lucian_equipment.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_Lucian_equipment.png new file mode 100644 index 0000000..5e9944d Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_Lucian_equipment.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_armor_fit.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_armor_fit.png new file mode 100644 index 0000000..c9a9aaa Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_armor_fit.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_party_equipped.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_party_equipped.png new file mode 100644 index 0000000..7a6efb8 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/assets/SC10_party_equipped.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/current_job.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/current_job.json new file mode 100644 index 0000000..3beb756 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/current_job.json @@ -0,0 +1,27 @@ +{ + "prompt_id": "7e41f531-a918-4ac4-9533-0b6453fe772c", + "number": 93, + "node_errors": {}, + "seed": 186308594638573, + "frames": 175, + "width": 960, + "height": 544, + "submitted_at": 1790651507.4196515, + "shot": { + "id": "E01-S12-C02", + "scene": 12, + "seconds": 7, + "edit_seconds": 7, + "image": "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\shots\\E01-S12-C02\\first.png", + "prompt": "For the target video, at 0.00 seconds into the target video, (from [Shot 1]) is fully referenced.\n\nintegrated_multimodal_description: [Shot 1] Locked medium two shot. Elian15 left runs fingertips once over cool repaired stove clay and looks up at Adele28 to his right. Adele teases him with a tiny eyebrow lift while ladling porridge into bowl, then he answers with honest rueful small smile. Only speaker mouth moves, listener hands continue simple small action. Both eyebrows intact, no flashback accident in this shot. Seven seconds, natural pauses. Preserve the first-frame identity, costume, anatomy, scale and spatial axis. Refined hand-drawn 2D anime, clean fine colored contours, painted backgrounds and natural restrained acting. No photorealism, no 3D plastic, no camera drifting, no spontaneous glowing effects. Start the first spoken line at 00:00.30 seconds, deliver all lines naturally and finish speech before 6.50 seconds. Perform small eye/hand actions concurrently with speech, never delay speech until after the actions. Speak only these exact Mandarin lines in sequence, never add words. Only the active speaker mouth moves; listeners keep mouths closed. (S3) Adele, soft practical 28-year-old female mezzo natural Mandarin voice says, delivery 轻松笑意: [Chinese] 还记着你那半截眉毛?. (S1) Elian, youthful 15-year-old male low-mid register, warm slightly dry natural Mandarin, never adult booming says, delivery 轻松笑意: [Chinese] 那次是我把口留小了。.\n\noverall_soundscape: 轻松笑意. Quiet grounded physical ambience, no extra speech or sung words.\n\nnon_diegetic_music: None.", + "dialogue_ids": [ + "D12-01", + "D12-02" + ], + "frame_qc": { + "passed": true, + "notes": "目检通过:15岁男主左、28岁阿黛尔右,灶左桌中门右构图、晨光服装连续,眉毛完整无夸张表情。" + }, + "producer": "home_scenes" + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/finish_episode.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/finish_episode.py new file mode 100644 index 0000000..9e197a2 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/finish_episode.py @@ -0,0 +1,71 @@ +"""Final delivery gate: all 220 shots reviewed, essential overlays complete.""" +import argparse,json +from pathlib import Path +from production import ROOT,read,write,cmd,probe,FFMPEG,log +from assemble import scene,escaped_filter_path,edit_duration +M=read(ROOT/'source_manifest.json') +OP=['E01-S01-C01','E01-S01-C04','E01-S01-C06','E01-S04-C04','E01-S05-C01','E01-S06-C01','E01-S07-C01','E01-S07-C09','E01-S08-C08','E01-S09-C01','E01-S10-C06','E01-S11-C04','E01-S12-C01','E01-S13-C01','E01-S15-C03','E01-S17-C06','E01-S24-C05','E01-S25-C03'] +ED=['E01-S01-C01','E01-S01-C04','E01-S05-C02','E01-S07-C09','E01-S08-C06','E01-S10-C15','E01-S12-C01','E01-S15-C03','E01-S17-C08','E01-S23-C04','E01-S24-C05','E01-S25-C03'] +DATES={4:'圣约历855年',7:'圣约历870年春 · 灰泉镇',8:'圣约历870年初春 · 阿尔维恩王国',9:'圣约历870年春 · 大圣堂',11:'870年春 · 赴灰泉镇途中',12:'870年春 · 灰泉镇,来客到访当日',13:'870年春 · 魔族大陆,铜炉领',14:'870年春 · 灰泉镇',17:'868年 · 两年前',18:'回到870年春'} + +def ass_time(t): + cs=round(t*100);h,cs=divmod(cs,360000);m,cs=divmod(cs,6000);s,cs=divmod(cs,100) + return f'{h}:{m:02}:{s:02}.{cs:02}' +def ass(path,events): + header='[Script Info]\nScriptType: v4.00+\nPlayResX: 1280\nPlayResY: 720\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\nStyle: Default,Microsoft YaHei,30,&H00F7F6F0,&H00F7F6F0,&H800E141B,&HA00E141B,0,0,0,0,100,100,1,0,1,1,0,7,55,55,45,1\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\n' + path.write_text(header+''.join(f'Dialogue: 0,{ass_time(a)},{ass_time(b)},Default,,0,0,0,,{text}\n' for a,b,text in events),encoding='utf-8-sig') +def montage(kind,ids,music_id): + folder=ROOT/'titles'/kind;folder.mkdir(parents=True,exist_ok=True);parts=[] + for i,sid in enumerate(ids): + f=ROOT/'shots'/sid;assert (f/'accepted.json').exists(),sid + source=Path(read(f/'post_outputs.json' if (f/'post_outputs.json').exists() else f/'outputs.json')[0]) + info=probe(source);assert float(info['format']['duration'])>=5-.02,(sid,'not enough footage') + dest=folder/f'{i:02}.mp4' + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-i',source,'-an','-vf','scale=1280:720:force_original_aspect_ratio=increase,crop=1280:720,setsar=1,fps=24,setpts=PTS-STARTPTS','-t','5','-c:v','libx264','-crf','18','-preset','medium','-pix_fmt','yuv420p','-fps_mode','cfr',dest]);parts.append(dest) + playlist=folder/'concat.txt';playlist.write_text(''.join("file '"+p.as_posix()+"'\n" for p in parts),encoding='utf-8') + title=folder/'titles.ass' + if kind=='OP':events=[(10,24,'{\\an2\\pos(640,590)\\fs52\\fad(600,600)}留给你的那一碗'),(24,30,'{\\an2\\pos(640,630)\\fs26\\fad(400,400)}第一集')] + else:events=[(5,15,'{\\an2\\pos(640,590)\\fs38\\fad(600,600)}第一集 · 留给你的那一碗'),(48,59,'{\\an2\\pos(640,610)\\fs32\\fad(600,1200)}未完待续')] + ass(title,events);music=Path(read(ROOT/'music'/music_id/'outputs.json')[0]);duration=len(ids)*5;out=folder/(kind+'.mp4') + vf="ass='"+escaped_filter_path(title)+"',fade=t=in:d=0.5,fade=t=out:st="+str(duration-1)+':d=1' + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-f','concat','-safe','0','-i',playlist,'-i',music,'-map','0:v','-map','1:a','-vf',vf,'-af',f'loudnorm=I=-20:TP=-2:LRA=9,aresample=48000,afade=t=in:d=0.5,afade=t=out:st={duration-1}:d=1','-t',duration,'-c:v','libx264','-crf','18','-preset','medium','-pix_fmt','yuv420p','-fps_mode','cfr','-r','24','-c:a','aac','-b:a','192k','-movflags','+faststart',out]) + write(folder/'plan.json',{'shots':ids,'seconds_each':5,'music':str(music),'duration':duration,'output':str(out)});return out + +def finish(): + missing=[s['id'] for s in M['shots'] if not (ROOT/'shots'/s['id']/'accepted.json').exists()] + assert not missing,'Shots still awaiting review: '+','.join(missing) + scenes=[scene(i) for i in range(1,26)] + opening=montage('OP',OP,'OP_泉与归处');ending=montage('ED',ED,'ED_留给你的那一碗') + sequence=scenes[:6]+[opening]+scenes[6:]+[ending] + delivery=ROOT/'交付';delivery.mkdir(exist_ok=True) + playlist=delivery/'concat.txt';playlist.write_text(''.join("file '"+p.as_posix()+"'\n" for p in sequence),encoding='utf-8') + events=[];starts={};cursor=0 + for s in M['scenes']: + n=s['number'];starts[n]=cursor + if n in DATES:events.append((cursor+.6,cursor+4.6,'{\\fad(400,600)}'+DATES[n])) + if n==17: + shots=[x for x in M['shots'] if x['scene']==17];delta=sum(edit_duration(x) for x in shots[:9]);events.append((cursor+delta,cursor+delta+4,'{\\fad(300,500)}869年')) + cursor+=sum(edit_duration(x) for x in M['shots'] if x['scene']==n) + if n==6:cursor+=90 + program_duration=cursor+60 + dates=delivery/'年代与地点.ass';ass(dates,events) + output=delivery/'第一集_留给你的那一碗_H3_V01.mp4' + # Native scene audio and unified restrained score. Modern-life/accident and blessing silence stay unscored. + daily=Path(read(ROOT/'music/BGM_晨光与日常/outputs.json')[0]);question=Path(read(ROOT/'music/BGM_未被回答的问题/outputs.json')[0]) + cues=[(daily,starts[7]+20,50,.11),(daily,starts[15]+6,60,.09),(question,starts[21]+60,120,.095)] + args=[FFMPEG,'-hide_banner','-loglevel','error','-y','-f','concat','-safe','0','-i',playlist] + for path,_,_,_ in cues:args+=['-i',path] + chains=[] + for i,(_,start,duration,gain) in enumerate(cues,1):chains.append(f'[{i}:a]atrim=duration={duration},asetpts=PTS-STARTPTS,volume={gain},afade=t=in:d=2,afade=t=out:st={duration-3}:d=3,adelay={round(start*1000)}|{round(start*1000)}[m{i}]') + chains.append('[0:a]'+''.join(f'[m{i}]' for i in range(1,len(cues)+1))+f'amix=inputs={len(cues)+1}:duration=first:normalize=0,loudnorm=I=-19:TP=-2:LRA=11,aresample=48000[a]') + args+=['-filter_complex',';'.join(chains),'-map','0:v:0','-map','[a]','-vf',"fps=24,ass='"+escaped_filter_path(dates)+"'",'-t',program_duration,'-c:v','libx264','-crf','18','-preset','medium','-pix_fmt','yuv420p','-fps_mode','cfr','-r','24','-c:a','aac','-b:a','192k','-ar','48000','-movflags','+faststart',output] + write(delivery/'conform_plan.json',{'sequence':[str(p) for p in sequence],'planned_seconds':1440,'actual_seconds':program_duration,'scene_starts':starts,'score_cues':[(str(p),s,d,g) for p,s,d,g in cues]}) + cmd(args);info=probe(output);video=next(s for s in info['streams'] if s['codec_type']=='video') + assert video['avg_frame_rate']=='24/1' and abs(float(info['format']['duration'])-program_duration)<.06 + assert int(video['nb_frames'])==round(program_duration*24) + write(delivery/'final_probe.json',info) + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-i',output,'-vf','fps=1/60,scale=480:-1,tile=4x6','-frames:v','1',delivery/'全片抽帧.jpg']) + log('episode_conformed_pending_final_watch',output=str(output),duration=program_duration) + print(output) + +if __name__=='__main__':finish() diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/h3_engine.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/h3_engine.py new file mode 100644 index 0000000..ebaebb2 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/h3_engine.py @@ -0,0 +1,117 @@ +import argparse, json, secrets, sys, time +from pathlib import Path +from urllib.parse import quote +import requests + +HERE = Path(__file__).resolve().parent +BASE = 'http://192.168.10.51:8188' +sys.path.insert(0, 'C:/Users/zhang/.codex/skills/comfyui') +from workflow_layout import auto_layout, inspect, fit_group + +def save(path, value): + path.write_text(json.dumps(value, ensure_ascii=False, indent=2), encoding='utf-8') + +def get(path): + r=requests.get(BASE+path, timeout=60); r.raise_for_status(); return r.json() + +def make_ui(graph, schema): + ui={'last_node_id':max(map(int,graph)), 'last_link_id':0, 'nodes':[], 'links':[], 'groups':[], 'config':{}, 'extra':{}, 'version':0.4} + for nid,n in graph.items(): + s=schema[n['class_type']]; specs={**s['input'].get('required',{}),**s['input'].get('optional',{})} + slots=[]; widgets=[] + for key, spec in specs.items(): + val=n['inputs'].get(key); kind=spec[0] + if isinstance(val,list) or (isinstance(kind,str) and kind not in ('INT','FLOAT','STRING','BOOLEAN','COMBO','COMFY_DYNAMICCOMBO_V3')): + slots.append({'name':key,'type':kind,'link':None}) + elif key in n['inputs']: + widgets.append(val) + if len(spec)>1 and spec[1].get('control_after_generate'): widgets.append('fixed') + if n['class_type']=='LoadImage': widgets.append('image') + ui['nodes'].append({'id':int(nid),'type':n['class_type'],'pos':[0,0],'size':[390,300],'flags':{},'order':len(ui['nodes']),'mode':0,'inputs':slots,'outputs':[{'name':name,'type':typ,'links':[]} for name,typ in zip(s.get('output_name',s['output']),s['output'])],'properties':{'Node name for S&R':n['class_type']},'widgets_values':widgets}) + idx={str(n['id']):n for n in ui['nodes']} + for nid,n in graph.items(): + for key,val in n['inputs'].items(): + if not isinstance(val,list): continue + origin,oslot=val; slot=next(i for i,s in enumerate(idx[nid]['inputs']) if s['name']==key) + ui['last_link_id']+=1; link=ui['last_link_id']; kind=idx[origin]['outputs'][oslot]['type'] + ui['links'].append([link,int(origin),oslot,int(nid),slot,kind]); idx[nid]['inputs'][slot]['link']=link; idx[origin]['outputs'][oslot]['links'].append(link) + ui=auto_layout(ui); fit_group(ui,'EP01 full episode - MiniMax H3 - native audio'); return ui + +def submit(shot): + folder=HERE/shot['id']; folder.mkdir(exist_ok=True) + if (folder/'job.json').exists(): + previous=json.loads((folder/'job.json').read_text(encoding='utf-8')) + q=get('/queue'); h=get('/history/'+previous['prompt_id']).get(previous['prompt_id']) + active=any(x[1]==previous['prompt_id'] for x in q['queue_running']+q['queue_pending']) + if active or (h and h['status']['status_str']=='success'): return previous + save(folder/('previous_job_'+previous['prompt_id']+'.json'),previous) + q=get('/queue') + assert not q['queue_running'] and not q['queue_pending'], 'Queue must be idle for memory-safe sequential rendering' + requests.post(BASE+'/free',json={'unload_models':True,'free_memory':True},timeout=30).raise_for_status() + time.sleep(2) + schema=get('/object_info'); save(HERE/'server_stats.json',get('/system_stats')) + source=HERE/shot['image'] + with source.open('rb') as f: + r=requests.post(BASE+'/upload/image',files={'image':(shot['id']+'_'+source.name,f,'image/png')},data={'type':'input','subfolder':'hearthfire_h3','overwrite':'false'},timeout=60) + r.raise_for_status(); uploaded=r.json(); image='/'.join(filter(None,[uploaded.get('subfolder'),uploaded['name']])) + frames=max(124,round(shot['seconds']*24)); frames+=(5-frames%17)%17 + seed=secrets.randbelow(2**48); graph={} + def node(i,c,**inputs): graph[str(i)]={'class_type':c,'inputs':inputs} + node(1,'LoadImage',image=image) + node(2,'UNETLoader',unet_name='minimax_h3_fl2va_pruned_int8_convrot.safetensors',weight_dtype='default') + node(3,'LoraLoaderModelOnly',model=['2',0],lora_name='minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors',strength_model=1.0) + node(4,'CLIPLoader',clip_name='qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors',type='minimax',device='default') + node(5,'VAELoader',vae_name='minimax_h3_video_vae_fp16.safetensors') + node(6,'VAELoader',vae_name='minimax_h3_audio_vae_fp32.safetensors') + node(7,'MiniMaxH3ImageToVideo',clip=['4',0],vae=['5',0],first_frame=['1',0],prompt=shot['prompt'],width=960,height=544,length=frames) + node(8,'BasicGuider',model=['3',0],conditioning=['7',0]) + node(9,'RandomNoise',noise_seed=seed) + node(10,'KSamplerSelect',sampler_name='res_multistep') + node(11,'BasicScheduler',model=['3',0],scheduler='simple',steps=8,denoise=1.0) + node(12,'SamplerCustomAdvanced',noise=['9',0],guider=['8',0],sampler=['10',0],sigmas=['11',0],latent_image=['7',1]) + node(13,'VAEDecode',samples=['12',0],vae=['5',0]) + node(14,'VAEDecodeAudio',samples=['12',0],vae=['6',0]) + node(15,'CreateVideo',images=['13',0],audio=['14',0],fps=24.0) + node(16,'SaveVideo',video=['15',0],filename_prefix='hearthfire_episode/'+shot['id']+'_V01',format='mp4',codec='h264') + for nid,n in graph.items(): + s=schema[n['class_type']]; assert not s.get('api_node') + assert set(s['input'].get('required',{}))<=n['inputs'].keys(),(nid,s['input']) + specs={**s['input'].get('required',{}),**s['input'].get('optional',{})} + for key,val in n['inputs'].items(): + assert key in specs,(nid,key) + kind=specs[key][0] + if isinstance(val,list): assert schema[graph[val[0]]['class_type']]['output'][val[1]]==kind,(nid,key) + elif isinstance(kind,list) and key!='image': assert val in kind,(nid,key,val) + ui=make_ui(graph,schema); save(folder/'layout_check.json',inspect(ui)); save(folder/'workflow_api.json',graph); save(folder/'workflow_gui.json',ui) + (folder/'prompt.txt').write_text(shot['prompt'],encoding='utf-8') + r=requests.post(BASE+'/prompt',json={'prompt':graph,'client_id':'EP01_FULL_H3','extra_data':{'extra_pnginfo':{'workflow':ui}}},timeout=60) + save(folder/'submission.json',r.json()); r.raise_for_status() + job={**r.json(),'seed':seed,'frames':frames,'width':960,'height':544,'submitted_at':time.time(),'shot':shot} + save(folder/'job.json',job); print(json.dumps({'submitted':shot['id'],'prompt_id':job['prompt_id'],'frames':frames}),flush=True); return job + +def collect(shot_id): + folder=HERE/shot_id; job=json.loads((folder/'job.json').read_text(encoding='utf-8')); pid=job['prompt_id'] + h=get('/history/'+pid).get(pid) + if not h: print(json.dumps({'shot':shot_id,'status':'running','elapsed_s':round(time.time()-job['submitted_at'])}),flush=True); return False + save(folder/'history.json',h) + if h['status']['status_str']!='success': + print(json.dumps([{k:d.get(k) for k in ('node_id','node_type','exception_type','exception_message')} for t,d in h['status']['messages'] if t=='execution_error'],ensure_ascii=False),flush=True); raise RuntimeError('H3 failed') + outputs=[] + for result in h.get('outputs',{}).values(): + for entries in result.values(): + if not isinstance(entries,list): continue + for e in entries: + if not isinstance(e,dict) or not e.get('filename','').endswith('.mp4'): continue + dest=folder/e['filename'] + if not dest.exists(): + r=requests.get(BASE+'/view',params={k:e[k] for k in ('filename','subfolder','type')},timeout=180); r.raise_for_status(); dest.write_bytes(r.content) + outputs.append(str(dest)) + assert outputs,h['outputs']; save(folder/'outputs.json',outputs) + print(json.dumps({'shot':shot_id,'status':'success','outputs':outputs,'elapsed_s':round(time.time()-job['submitted_at'])},ensure_ascii=False),flush=True); return True + +if __name__=='__main__': + p=argparse.ArgumentParser(); p.add_argument('mode',choices=['submit','collect']); p.add_argument('ids',nargs='+'); args=p.parse_args() + shots=json.loads((HERE/'shots.json').read_text(encoding='utf-8')) + for sid in args.ids: + if args.mode=='submit': submit(next(s for s in shots if s['id']==sid)) + else: collect(sid) diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job.json new file mode 100644 index 0000000..1ed4cc5 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job.json @@ -0,0 +1 @@ +{"id":"E01-S04-C01","source":"C:/Users/zhang/.codex/generated_images/01a0ea3b-bae3-7733-80bd-9d1c346e3256/exec-73fe2c46-4967-40c9-9249-6907d9d29d97.png","image_prompt":"Create a single full-frame 16:9 high quality 2D anime film keyframe, no collage no text. Reference image is solely identity and painted anime style reference: preserve the 45-year-old priest with ash brown short hair graying temples, brown patched cloak ivory scarf/robe bronze water emblem; newborn tiny brown hair ivory swaddle. New scene EXTERIOR rainy night on a rural gray stone hillside. Wide establishing shot: low rough stone wall in left foreground shelters a tiny ivory bundle at its foot; priest stands center-right in profile facing left, empty hands, just hearing a cry and about to turn his head; chapel with modest pointed warm window uphill far right, wet cobbles windblown rain and blue night soft light, tiny warm chapel reflections. Blue silvery night rich tonal separation. Delicate clean line art, handpainted detailed backgrounds, restrained luminous Violet Evergarden-like cinematic emotional realism, age45 not elderly. No magic, no neon, no extra people. This is the START before he picks up baby.","motion":"Locked wide shot, rainy rural stone slope night. The priest age45 stands center-right, looks left toward the tiny infant bundle sheltered beside the low wall lower-left. Across the first four seconds he stops mid-step, turns eyes then head toward the faint cry and relaxes his hand. Wet cloak and rain move naturally. Uphill chapel remains upper-right. No pickup yet; no changes in framing.","qc":"检查通过:45岁神父与SC06脸型服装连续,襁褓左下/神父右侧、夜雨坡道朝右上;已见婴儿正常包裹;远堂顶十字轮廓需正片背景微小不强调。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0402.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0402.json new file mode 100644 index 0000000..ad9fa8d --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0402.json @@ -0,0 +1 @@ +{"id":"E01-S04-C02","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-6d898aed-8cf9-4619-ab1a-434cdb09366c.png","image_prompt":"Single full-frame 16:9 refined hand-drawn 2D anime film still. Same priest45 and newborn identities and rain/wet cloak from both references. New medium shot slightly looking down, beside the low stone wall, intimate rescue. Priest kneels on right with one open palm already gently placed behind baby's bundled neck/head and his other hand beneath lower swaddle, just beginning lift from sheltered mossy nook left. Baby entirely in patched ivory blanket, face calm vulnerable, head anatomically tiny proportionate. Wet brown cloak ash-brown hair gray temples, ivory scarf bronze ripple emblem. Blue rain night lighting with very faint distant warm bounce. Background only moss wall and wet ground, chapel out of view. Detailed clean fine colored lines cel shading, soft luminous painted backgrounds. No text, no magic, no added characters. Hands anatomical, supportive gesture not grabbing neck.","motion":"Locked slightly high medium shot. The kneeling priest age45 supports the newborn neck securely with one hand and lower swaddle with the other, gently lifts the bundle from beside the left stone wall up against his chest over three seconds, then looks at the child's face. Gentle continuous physical motion, no rocking or shaking. Rain and wet fabric continue.","qc":"目检通过:神父跪姿手支撑头颈,婴儿包裹比例自然、旧补丁与前镜连贯,左墙右人轴线成立。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0403.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0403.json new file mode 100644 index 0000000..8291e9f --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0403.json @@ -0,0 +1 @@ +{"id":"E01-S04-C03","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-570f7600-3867-4774-8f19-d44257216f8c.png","image_prompt":"Single full-frame 16:9 exquisite 2D anime closeup at rainy blue night. Use references solely to lock same45yearold priest ash-brown short hair gray temples, brown patched cloak ivory scarf and tiny newborn swaddle. Priest now cradles newborn safely against his chest, looking down, baby's face lower-left and priest face upper-right. Infant small hand raised close to but not yet touching his chin, fingers naturally curled; priest's worried brow about to relax. Intimate composition both faces visible, consistent fine colored lines flat cel shadows luminous subtle blue rain highlights and small warm rim, background wet dark moss wall completely out of focus. No text no magic no girl no halo, no glowing skin.","motion":"Locked close shot rainy night. Tiny newborn already securely cradled at priest's chest lifts its small hand and briefly brushes his chin at 00:01.00, then lets the hand relax. Priest looks down and his knitted brow softens imperceptibly; one quiet inhalation. Rain traces cloak, no glow. Keep infant head supported, tiny hand five natural fingers, no big grin.","qc":"目检通过:新生儿小手近下巴尚未接触,神父面部年龄及斑灰发与样片连续;双脸和抱姿稳定、无神光。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0404.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0404.json new file mode 100644 index 0000000..3282ac2 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0404.json @@ -0,0 +1 @@ +{"id":"E01-S04-C04","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-cf76313d-8518-48da-90cd-a79c8f1c6269.png","image_prompt":"Single full-frame 16:9 refined anime cinematic wide shot. Same rainy stone slope as reference1 and same priest45/baby identity as reference2. He has picked up the fully ivory-swaddled tiny infant and cradles it at chest level with support under neck. He faces screen right, three-quarter rear view, about to walk up cobbled path toward small rural stone chapel upper-right. Brown patched cloak pulled around the bundle as rain shelter, old ivory sleeves visible. Low moss stone wall now behind left. Chapel has carved water-ripple emblem over door, NOT a cross, no crucifix. Soft rain night blue light, amber chapel doorway ahead, no halo no magic no letters. Emotion quiet resolve, natural anatomy, tiny protected baby. Fine colored contours, luminous detailed handpainted landscape with cel shaded figures.","motion":"Short gentle Tracking Shot follows priest from behind at waist height as he draws one side of his brown outer cloak over the newborn to shelter it and walks steadily uphill toward screen-right chapel doorway over four seconds. Infant remains secure in arms, no bouncing or running. Feet progress naturally on wet cobbles; camera maintains same side of path. Water-ripple emblem stays inert, no magic.","qc":"目检通过:人物朝右上坡、婴儿被稳抱、夜雨光位连续;泉堂已使用水纹标识无十字,披风湿态清楚。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0501.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0501.json new file mode 100644 index 0000000..14c7e04 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0501.json @@ -0,0 +1 @@ +{"id":"E01-S05-C01","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-89696e7f-7d8e-4a41-9c39-e635bd4a1652.png","image_prompt":"Create single cinematic 16:9 2D anime first frame inside humble stone chapel side-room rainy night, same characters exactly from reference: priest45 brown patched cloak, ivory scarf, ash-brown graytempled hair; helper girl13 Adele chestnut lowbun ivory kerchief graygreen full long dress ivory apron, youthful proportions. Establish room: small brazier farLEFT provides warm firelight, nursing wooden table CENTER, door to chapel RIGHT background. Priest behind table center-left gently wrapping fully covered tiny newborn in dry ivory cloth, wet outer cloth set aside. Adele center-right unfolds a clean dry linen with both hands before handing it to him, concerned practical expression. No other people yet, no nudity. Plain stone walls low timber ceiling, cupboard with pottery, rain-blue small window LEFT. Match luminous richly detailed painted anime reference, fine colored lines celshadows and soft reflected warmth, restrained tender natural acting. No text no halos no glow rings, no crosses.","motion":"Locked medium two-person shot of chapel side-room. The priest left-center gently lowers the fully covered baby onto the padded nursing table while maintaining a supporting palm under its head. The13yearold girl at right unfolds dry cloth and brings it close; priest smooths one dry edge over the swaddle, damp outer cloth stays on table. One simple careful care action, no uncovered infant body. Warm brazier left flickers; blue rain stays outdoors window. Both are silent.","qc":"目检通过:火盆左、护理桌中、通堂门右空间清楚;阿黛尔13岁、神父45岁与样片一致,婴儿适当包裹,干湿布可分。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0502.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0502.json new file mode 100644 index 0000000..115fbf8 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0502.json @@ -0,0 +1 @@ +{"id":"E01-S05-C02","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-e5c503db-53c8-4683-8bdc-84eb5d9b4f11.png","image_prompt":"Single16:9 anime cinematic closeup of newborn tiny hand gently curled around the45yearold priest's index finger. Identity/wardrobe from reference. Baby fully swaddled in DRY patched ivory linen lying supported on nursing table, hint of baby cheek on left, priest ivory sleeve and hand enter right. Background softly blurred warm wood and orange brazier on left, no other hands no extra fingers. Quiet tender moment, no faces required besides edge of sleeping infant. Fine clean colored outlines painted 2D anime not3D, luminous candle warm against blue cool ambient. No words letters graphic overlays or magic. Not rain indoors.","motion":"Locked extreme close shot. Newborn fingers gently tighten around the priest's index finger then rest, subtle breathing under dry cloth. Priest hand holds still reassuringly. Adele age13 is outside the frame, clear youthful girl voice asks from camera-right; her face and lips remain out of frame. Warm brazier flicker in soft background, no pan, no extra hand or speech.","qc":"目检通过:婴儿小手攥住神父食指、五指结构及干襁褓自然,火盆左光位正确;阿黛尔为画外问句。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0503.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0503.json new file mode 100644 index 0000000..93a675c --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0503.json @@ -0,0 +1 @@ +{"id":"E01-S05-C03","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-13c38372-f309-4597-a7cf-36336df69cc9.png","image_prompt":"Single cinematic 16:9 high quality2D anime medium closeup same priest45 as reference, ash-brown hair graytemples ivory scarf patched browncloak. In same side-room, warm brazier glow from LEFT cool blue window behind left. He is looking down tenderly at newborn swaddled dry ivory on nursing table foreground, one hand resting beside baby. Frame priest chestup at center-left, baby top ofhead and blanket bottom edge; girl13's kerchief edge only far right out of focus. His mouth naturally closed at beginning before replying, tiny resolute nod about to happen, eyes caring not dramatic. Preserve room textures palette and clothing from reference. No magic no text no nude baby no crosses.","motion":"Locked priest medium closeup. At00:00.3 he makes a small certain nod while eyes still on baby and answers gently, a short pause after first word 留 then the instruction. He briefly raises eyes toward girl camera-right at end. His fingers stay beside swaddle. Girl on right listens silently, no lip motion. Calm ordinary care rather than ceremonial declamation.","qc":"目检通过:神父近景视线朝孩子、13岁阿黛尔前景右侧反打轴清楚,暖左冷窗光位一致,脸龄与样片一致。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0504.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0504.json new file mode 100644 index 0000000..d451fcc --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0504.json @@ -0,0 +1 @@ +{"id":"E01-S05-C04","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-555f9cdf-6bfa-4c0d-b12a-29b00a658cea.png","image_prompt":"Single full frame 16:9 refined luminous2D anime medium shot of the13yearold helper Adele at a wooden side-room doorway. Use reference identity and same room geography, girl chestnut hair lowbun white kerchief graygreen longdress ivory apron. She stands right of nursing table, facing screen-right door, about to hurry out, one hand lightly lifts apron edge clear of step. Doorframe right occupies a substantial vertical strip allowing a later temporal cut. In left background table with linen and priest45 holding infant, brazier warm light LEFT blue rain window left. A wicker baby basket with folded old blanket sits on bench by door. Keep her convincingly13 child face and body. No text, no magic, not a nun adult, no religious crosses.","motion":"Locked medium shot by side-room doorway. The13yearold girl takes two quick purposeful steps out to screen right, apron and kerchief follow with gentle secondary motion. Doorframe briefly occludes her as she leaves at00:02.5. Priest in background continues cradling baby quietly. Hold empty threshold final second, creating a clean time-ellipsis cut to the later return of wetnurse; do not teleport the girl back in this shot.","qc":"目检通过:阿黛尔13岁门右离开动势明确,后景神父抱婴与篮毯一致;本镜以出门留空作时间省略,下镜乳母已到。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0505.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0505.json new file mode 100644 index 0000000..ca8d09e --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0505.json @@ -0,0 +1 @@ +{"id":"E01-S05-C05","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-3ff70c66-7bbc-499a-9582-5aa67174f818.png","image_prompt":"Single full frame16:9 refined handdrawn2D anime medium three-quarter shot same chapel side-room warm night. Same priest45 on left in brown patched cloak ivoryscarf reaches with both supportive arms to receive tiny newborn in dry ivoryswaddle from an adult wetnurse on right. Wetnurse only profile/threequarter back,30s brown hair under plain tan kerchief, modest darkolive complete long dress cream shawl, calm practical expression. Baby wellfed peacefully asleep, only face visible. Adele13 in background right quietly flattening blanket in wickerbasket, same face/chestnuthair lowbun whitekerchief fullgraygreendress ivoryapron. Firebrazierleft, nursingtableforeground, doorwayright. Emphasize the BEGINNING of handoff with baby still safely in woman's arms and priest palms offered; no breastfeeding no nudity. Fine colored lines soft luminous paintedbg cel shading, no text or magic.","motion":"Locked medium shot after a short passage of time. Adult wetnurse on right transfers peacefully asleep fully swaddled infant to priest on left, slow safe handoff: priest supports neck and lower bundle before woman releases, then draws it gently to his chest. Girl13 in background right smooths one edge of old blanket in wickerbasket. Baby stays covered and calm, no breastfeeding. Four seconds of warm practical care.","qc":"目检通过:成年乳母侧背与13岁阿黛尔分离,宝宝交接前支撑明确;侧室地理光位延续且衣着完整。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0506.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0506.json new file mode 100644 index 0000000..58c9ff3 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0506.json @@ -0,0 +1 @@ +{"id":"E01-S05-C06","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-9c411651-24d8-498d-b9b7-030c27d7fe9d.png","image_prompt":"Single16:9 handpainted anime film still inside same humble stone chapel side-room rainy night. Composition low side view writing desk foregroundLEFT: open roughpaper adoption ledger, fresh short ink line tiny illegible no readable letters, featherquill just resting across inkpot, small candle. In middle-right background same priest45 brownpatchedcloak ivoryrobe/scarf cradles tiny dry ivory-swaddled baby, poised toward open door at farRIGHT into chapel, girl13 whitekerchief graygreendress behind him carries unlit brasscandlestick preparing to follow. Brazier warm light left blue ambient window. Quiet timepassed, no duplicate priest or detached handwriting hand. Rich intricate woodgrain soft candle bloom fine colored contours. Focus ledger front but priest silhouette clearly consistent. No graphic text no crosses no magic.","motion":"Locked low side medium shot with adoption ledger in foreground. Fresh dark ink remains wet on paper, featherquill has just been set down and makes a small settling motion. Priest holding baby in middle distance turns toward doorway on SCREEN RIGHT and takes two quiet steps toward chapel. The girl follows one pace behind, lifting brass candlestick after lighting its wick from desk candle before departing. No detached writing hand, no duplicated priest, no magical marks. Keep readable lettering out; name will be composited later.","qc":"目检通过:收养簿前景墨迹、神父抱婴后景、阿黛尔持烛与右门连到SC06;提示用转身与步伐纠正首帧视线朝左。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0701.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0701.json new file mode 100644 index 0000000..3203f9d --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0701.json @@ -0,0 +1 @@ +{"id":"E01-S07-C01","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-96e89f6c-3fc7-45da-b652-7d63951f5e00.png","image_prompt":"Single cinematic16:9 refined2D anime establishing frame of a humble rural orphanage common room on spring morning. Reference1 = exact Elian15 face tousled charcoalblack hair brown eyes, taupe patched short tunic over offwhite tie-neck shirt rolled sleeves brownpatchedtrousers leatherbeltpouch boots. He crouches on LEFT under edge of long horizontal roughwood diningtable, touching empty mortise of a visibly tilted wooden bench. On RIGHT small9yearold boy Nino shortwarmbrown hair brown eyes ochregray patched tunic creamshirt browntrousers ordinary oldshoes, hands hidden behind back with shy serious expression. Behind table12yearold sister Lia chestnutbrown tiedbackhair grayblue apron over tanlongdress carries claybowl, about to pass. Room stoneplaster lowtimberceiling, shelves claybowls, kitchen door REAR RIGHT, wide windows LEFT softgold morninglight. Reference2 adultAdele28 helps age/wardrobe continuity but need not visible. Fine colored outlines celshadows luminous handpainted environment emotional subtle realism like VioletEvergarden. Clear readable empty joinery, no magic tools, no text, no adults substituted for children, realistic ageheight proportions.\nREVISION: Edit this frame while preserving exact camera, room, light, left blackhaired15yearold Elian's face and clothing and bench/table. Replace the ADULT WOMAN BEHIND TABLE with a clearly12yearold girl Lia: smaller adolescent facial proportions, warmbrown hair tied in simple low ponytail WITHOUT kerchief, softbrown eyes, tan modest longdress and dustyblue gray apron, holding ONE SMALL clay breakfastbowl. She is Nino's older sister, not nun, no white apron no veil. Also make the boy on right clearly9yearsold: reduce his height by about20percent to child proportions, same shortwarmbrown hair ochregray patchedtunic browntrousers ordinary shoes, hands behind back. Only these children age/costume corrections. Preserve warm fine-lined celshaded anime artwork,16:9,no labels.","motion":"Locked medium-wide morning common-room shot. Fifteen-year-old Elian crouching left feels the empty bench mortise with his fingertips then tilts his eyes toward nine-year-old Nino on right. Nino keeps hands behind back and shifts his weight slightly; twelve-year-old Lia behind table gently lowers a small bowl onto tabletop, quiet clink. Six seconds of ordinary domestic life, no talking. Bench stays slightly tilted until repaired in later shot.","qc":"二次目检通过:已纠正初版成人阿黛尔误入为12岁莉娅灰蓝围裙棕发马尾,尼诺回调至9岁身高,15岁男主脸型与工衣一致。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0702.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0702.json new file mode 100644 index 0000000..e512420 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0702.json @@ -0,0 +1 @@ +{"id":"E01-S07-C02","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-83ed0d76-3256-4036-896a-d2fba70617d9.png","image_prompt":"Single16:9 anime film first frame low angle under diningtable edge. Same room/children identities reference1. Elian15 crouches LEFT facing RIGHT, arm extended with open empty palm toward little Nino9 RIGHT who stands beside tiltedbench, hands still behind back hiding smallwetwoodwedge. Honest mild expectant gaze from boy15 not scolding; Nino child shy serious glancing down. Darkwood table edge at top creates intimate framing, empty mortise lowercenter. Lia notvisible. Sunlightleft dust motes delicate colored outlines celestialsoft painted domestic background, real handanatomy no tech magic or text. Keep shortpatchedtaupetunic creamshirt browntrousers Elian, smaller ochregraytunic boy Nino.","motion":"Locked low two-shot under table. Elian15 left extends open palm and gently says his brief line. Nino9 right waits half a beat then brings the wet wooden wedge from behind his back and places it into Elian's hand while giving his reply, a little reluctant but not afraid. Five seconds, exact natural child voices in sequence. Bench mortise remains empty foreground until later repair.","qc":"目检通过:男主左蹲尼诺右站、手掌接收与藏楔状态清楚;低机位不跨轴,灰泉工衣及晨光一致。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0703.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0703.json new file mode 100644 index 0000000..7118e32 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0703.json @@ -0,0 +1 @@ +{"id":"E01-S07-C03","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-70235634-3db6-4c1d-889c-38e69644f110.png","image_prompt":"Single16:9 refined2D anime mediumclose shot of Lia12 from reference1, chestnutbrown lowponytail NOkerchief dustygrayblue apron over tanlongdress warmbrown eyes. She carries a smallclaybowl with bothhands beside diningtable, looks slightly down left toward boys offscreen with restrained almostsmile, mouthclosed before speaking. She is clearly12yearsold, NOT adultAdele/nun. Tableleft foreground bench edge below; kitchen doorway rearRIGHT, sunlightleft. Same commonroom and finecoloredline luminous softpaintedbackground. Background empty of othercharacters. No text no magic no modernobjects.","motion":"Locked medium close shot. Lia12 carries small bowl past the bench, takes one careful half-step around its corner while casually saying her line toward boys offscreen left. Her eyes stay mainly on bowl and path; tiny amusement, not pointed mockery. Brown ponytail follows slight head movement. Five seconds with natural breath after short sentence.","qc":"目检通过:莉娅12岁棕发马尾灰蓝围裙固定,手持碗自然,厨房门右和晨光左连续。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0704.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0704.json new file mode 100644 index 0000000..6ebc615 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0704.json @@ -0,0 +1 @@ +{"id":"E01-S07-C04","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-ff821e10-bb07-4aed-8578-d3061d442f0c.png","image_prompt":"Single16:9 fine2D anime close two-shot beside diningbench, exact children from reference. Elian15 blackhair on LEFT crouched, holding a small wet muddy triangular wooden wedge in LEFT hand near chest, looks up toward Nino9 on RIGHT. Nino smallwarmbrownhairedboy looks down sincerely, hands now empty in front, mouthclosed poisedtoanswer. Bench partiallyseen bottom, table edge upperleft, warm sunleft, same commonroom. Tight faces and shoulderframing, agecontrastclear, brown eyes both, Elian taupetunic creamshirt leatherpouch, Nino ochregraytunic. Expression gentle deadpan conversational humor no shouting. No text no magic no newcharacters.","motion":"Locked close two-shot. Elian holding wet wedge near chest looks up at Nino and asks his brief question at00:00.3, Nino drops eyes and answers with deadpan honest seriousness after a half-beat. Elian blinks once, suppresses tiny amused smile, let the quiet joke breathe. No blame or exaggerated comedy. Wedge stays in same hand, nobody walks.","qc":"目检通过:两童脸龄区分、木楔已交至男主手中,尼诺双手空;男主左尼诺右轴线与眼高准确。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0705.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0705.json new file mode 100644 index 0000000..8edb1a1 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0705.json @@ -0,0 +1 @@ +{"id":"E01-S07-C05","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-94f8ccd2-71f7-43f3-a050-fd8904f5a318.png","image_prompt":"Single16:9 refined2D anime handdetail insert below rustic diningbench. Same Elian15 ivoryrolledsleeves taupepatchedtunic asreference; no faces. His left hand holds a small triangular damp muddy wooden joinerywedge near empty rectangular mortise in chunky benchleg; right hand holds coarse cloth to wipe mud. Bench leg at center-right, crossbar aligned awaiting wedge, honest functional woodenjoinery, no gears screws moderntechnology or magic. Windowlight from LEFT dustmotes, stonefloor and blurry woodtable, detailed fine coloredlines luminous paintedscene. Firstframe before wiping/insertion. Anatomically normal fingers no extras no text.","motion":"Locked hand insert. Elian wipes mud once from wooden wedge using cloth while speaking immediately in off-screen voiceover, his face outside frame. Then seats wedge into same rectangular bench mortise and pushes the bench once with heel of palm to test firmness by00:05.5. Honest deliberate hand mechanics, hands never duplicate, wood stays wood, no flash, seven seconds.","qc":"目检通过:木楔、布、空榫口三物明确,男主袖口与手型连续,普通木工无魔法;面外对白需保留画外。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0706.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0706.json new file mode 100644 index 0000000..05c5006 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job0706.json @@ -0,0 +1 @@ +{"id":"E01-S07-C06","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-d590d081-22a0-4a2b-a18d-c6e34ce4c966.png","image_prompt":"Single16:9 cinematic refined2D anime closeup of Nino9, same smallboy RIGHT inreference. Warm shorttousledbrown hair brown eyes, ochregray patched shortsleeve tunic offwhite underlayer brown lace at neck, innocent serious curiosity. He looks lowerLEFT toward repairedbench then toolbasket, lips closed before question, slight hopeful eyebrowlift. Small rounder9yearold face not teen/adult. Commonroom longwoodtable blurredbehind, spring sunlightleft, finecoloredlines celshadows painterlytextures. No otherface no newcostume no hat no text nomagic.\n修复已安装楔块:Edit ONLY the empty rectangular mortise at the upper left in this frame: insert a snug little darkbrown wooden joinery wedge visibly filling the square hole, because bench was repaired. Preserve Nino9 face pose clothing, toolbasket, every other part of frame, same2D anime painting. No other change.","motion":"Locked child closeup. Nino9 glances from the now repaired level bench toward toolbasket, raises eyebrows very slightly and asks short curious question at00:00.3. He then looks toward Elian offscreen left with earnest anticipation, natural blink. Bench wooden wedge stays installed throughout, no new props. Five seconds.","qc":"二次目检通过:已把修好凳子的空榫口改为实木楔填紧;尼诺9岁温棕发圆润脸与前镜连续,工具筐在左。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job1201.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job1201.json new file mode 100644 index 0000000..79576b7 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job1201.json @@ -0,0 +1 @@ +{"id":"E01-S12-C01","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-7a430af0-f2d6-4e82-b24a-3cd19774f2d1.png","image_prompt":"Single cinematic16:9 2D anime insert shot of an old country orphanage kitchen stove in spring morning. No full faces. Left foreground sootdark iron cookingpot on repaired earthenware stove; lid just slightly lifted by woman's hand with rolled graygreen sleeve ivory cuff (reference1 adultAdele outfit). Center wall shows distinct pale warmterracotta patch in older graybrown stove clay, three uneven repairseams, practical rustic craft not futuristic. Steam starting curl across patch. Weatheredwood shelf claybowls, kind soft left daylight, restrained warm hearthglow. Fine colored contours flatcelshadows rich paintedbackground luminous domestic atmosphere matching reference2 style. No magic no technology no labels no text no cross. This is first frame before lid fully opens.","motion":"Locked close insert. Woman slowly lifts pot lid, revealing gentle steam that curls across the old differently colored earthenware repair patch. Steam thins naturally over five seconds; stove remains worn ordinary artisan construction. Her sleeve and hand stay same, no magical effect, no sudden technology transformation. No visible faces or speech.","qc":"目检通过:锅盖、补陶与旧壁色差清楚,袖口与28岁阿黛尔一致,左窗晨光和普通柴火空间明确。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job1202.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job1202.json new file mode 100644 index 0000000..5ddc0cc --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_job1202.json @@ -0,0 +1 @@ +{"id":"E01-S12-C02","source":"C:\\Users\\zhang\\.codex\\generated_images\\01a0ea3b-bae3-7733-80bd-9d1c346e3256\\exec-5dcc7df0-7ca8-4382-a03d-dcbaf37fe8fd.png","image_prompt":"Single16:9 cinematic2D anime medium two-shot, orphanage kitchen spring morning. Preserve Elian15 identityandclothes from firstreference and Adele28 from second, stove patch from third. Elian stands LEFT touches cool repaired clay stove wall at waistlevel with rightfingertips, mild rueful smile; Adele center-right at stove holding woodladle and claybowl, looking at boy with subtle teasing warmth, both normal intact eyebrows. Kitchen stoveLEFT tableCENTER doorwayREAR RIGHT visible. Sunlightleft, warm worn earthenware and wood. Medium framing both youngteen and clearly adultwoman differentiated; no other people yet. Fine colored contour celshadow handpainted detailed luminousbackground sameepisode style no letters magic or modernobjects. Starting pose before dialogue.","motion":"Locked medium two shot. Elian15 left runs fingertips once over cool repaired stove clay and looks up at Adele28 to his right. Adele teases him with a tiny eyebrow lift while ladling porridge into bowl, then he answers with honest rueful small smile. Only speaker mouth moves, listener hands continue simple small action. Both eyebrows intact, no flashback accident in this shot. Seven seconds, natural pauses.","qc":"目检通过:15岁男主左、28岁阿黛尔右,灶左桌中门右构图、晨光服装连续,眉毛完整无夸张表情。"} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_ready.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_ready.py new file mode 100644 index 0000000..043b7e6 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/home_ready.py @@ -0,0 +1,27 @@ +import json,pathlib,shutil,sys,datetime +ROOT=pathlib.Path(__file__).parent +MAN=pathlib.Path(r'F:\project\小说设计\06_AI动漫制作\03_分镜与镜头\S01E01_V05_制作包\08_镜头任务数据.json') +DATA=json.loads(MAN.read_text(encoding='utf-8')) +VOICE={'ELIAN':'(S1) Elian, youthful 15-year-old male low-mid register, warm slightly dry natural Mandarin, never adult booming','MATTHIAS':'(S2) Matthias, warm low male baritone slightly husky natural Mandarin, kind brief sentences never declaiming','ADELE':'(S3) Adele, clear mid-register girl voice at age 13, soft practical mezzo at age 28, natural Mandarin','MARA':'(S4) Mara, slightly husky low older woman voice natural Mandarin','NINO':'(S5) Nino, bright light 9-year-old boy voice natural Mandarin','LIA':'(S6) Lia, clear restrained 12-year-old girl voice natural Mandarin','EMON':'(S7) Emon, older craftsman deep grounded male Mandarin voice','ADA':'(S8) Ada, clear gentle 13-year-old girl natural Mandarin voice'} +def save(id,source,image_prompt,motion,qc): + s=next(x for x in DATA['shots'] if x['id']==id); d=ROOT/'shots'/id;d.mkdir(parents=True,exist_ok=True) + target=d/'first.png' + if pathlib.Path(source).resolve()!=target.resolve():shutil.copy2(source,target) + ds=[x for x in DATA['dialogue'] if x['id'] in s['dialogue_ids']] + dia=' No words are spoken. Everyone keeps lips naturally closed.' + if ds: + dia=f' Start the first spoken line at 00:00.30 seconds, deliver all lines naturally and finish speech before {s["seconds"]-0.5:.2f} seconds. Perform small eye/hand actions concurrently with speech, never delay speech until after the actions. Speak only these exact Mandarin lines in sequence, never add words. Only the active speaker mouth moves; listeners keep mouths closed. ' + for idx,x in enumerate(ds): + off=x['off'] or ('手部' in s['framing']) or ('袖口' in s['framing']) + voice=VOICE.get(x['speaker'],x['speaker']) + if x['speaker']=='ADELE':voice='(S3) Adele, clear mid-register 13-year-old girl natural Mandarin voice' if s['scene']<7 else '(S3) Adele, soft practical 28-year-old female mezzo natural Mandarin voice' + if x['speaker']=='ELIAN' and s['scene']==17:voice='(S1) Elian, youthful 13-year-old boy natural Mandarin voice, warm slightly dry mid register' + dia+=f" {voice} {'says in an off-screen voiceover, lips out of frame or closed' if off else 'says'}, delivery {x['delivery']}: [Chinese] {x['text']}." + prompt='For the target video, at 0.00 seconds into the target video, (from [Shot 1]) is fully referenced.\n\nintegrated_multimodal_description: [Shot 1] '+motion+' Preserve the first-frame identity, costume, anatomy, scale and spatial axis. Refined hand-drawn 2D anime, clean fine colored contours, painted backgrounds and natural restrained acting. No photorealism, no 3D plastic, no camera drifting, no spontaneous glowing effects. '+dia+'\n\noverall_soundscape: '+s['sound']+'. Quiet grounded physical ambience, no extra speech or sung words.\n\nnon_diegetic_music: None.' + (d/'image_prompt.txt').write_text(image_prompt,encoding='utf-8');(d/'prompt.txt').write_text(prompt,encoding='utf-8') + out={'id':id,'scene':s['scene'],'seconds':max(5,s['seconds']),'edit_seconds':s['seconds'],'image':str(target.resolve()),'prompt':prompt,'dialogue_ids':s['dialogue_ids'],'frame_qc':{'passed':True,'notes':qc},'producer':'home_scenes'} + (d/'ready.tmp').write_text(json.dumps(out,ensure_ascii=False,indent=2),encoding='utf-8');(d/'ready.tmp').replace(d/'ready.json') + with (ROOT/'HOME_ASSET_LOG.md').open('a',encoding='utf-8') as f:f.write(f'\n- {datetime.datetime.now().isoformat(timespec="seconds")} {id}: first frame inspected, ready. {qc}\n') + return out +if __name__=='__main__': + j=json.loads(pathlib.Path(sys.argv[1]).read_text(encoding='utf-8'));print(json.dumps(save(**j),ensure_ascii=False)) diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/job_ids.txt b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/job_ids.txt new file mode 100644 index 0000000..6cc1951 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/job_ids.txt @@ -0,0 +1,77 @@ +E01-S01-C01 5dceee7c-ef9e-4b1e-a9a9-b08e1b4d36b8 2026-09-29T06:58:47.187737 +E01-S04-C01 6b3cdd51-5b3e-4de3-b320-10aa447de303 2026-09-29T07:01:45.054224 +OP_泉与归处 d9e77145-0eff-4968-a3f8-415d9a19f232 +ED_留给你的那一碗 0942ce8b-bb16-424a-9280-66979229ba87 +BGM_晨光与日常 8c0d139c-ba93-4aaf-9b64-6ba7b97562a1 +BGM_未被回答的问题 5a968219-8656-4692-83f2-53c17b81fa41 +E01-S01-C01 2245ce9b-77b2-4467-8c04-5c27c0e718e9 2026-09-29T07:08:26.127363 +E01-S01-C02 beb45f6a-8f6f-4180-91e5-bdfbe14f2c49 2026-09-29T07:10:58.877765 +E01-S01-C03 51db9872-f1c1-428b-84ad-ba2e3315a548 2026-09-29T07:14:21.753655 +E01-S01-C04 bbf9227f-1369-43d7-b4d7-526d32c9a6bf 2026-09-29T07:17:44.631625 +E01-S01-C03 4c62e36d-2455-43db-8b26-f91b14d7d65f 2026-09-29T07:21:07.515860 +E01-S01-C05 c54e5b0a-bbbd-4094-8dff-f9c72e9f4744 2026-09-29T07:24:30.455168 +E01-S01-C06 e99ad918-ad5f-4ed3-8614-0c72d2b82a0d 2026-09-29T07:27:53.349761 +E01-S02-C01 824b4b9c-e0c0-4ca0-990a-626e59150967 2026-09-29T07:31:41.160915 +E01-S02-C02 a32b66a6-96a1-4aa3-bd3d-741fdb1a8bfe 2026-09-29T07:34:38.944369 +E01-S02-C03 9faaf3c6-5cfe-43e1-8dbe-596abe0fe996 2026-09-29T07:38:51.914075 +E01-S02-C04 541b14b9-26d0-4df7-bc08-7d3984ba22a8 2026-09-29T07:42:39.722419 +E01-S02-C05 df2f7880-eebc-4891-b030-a7a71100246d 2026-09-29T07:45:37.550059 +E01-S02-C06 f72e7d86-4748-43dc-bd6b-e87e7dad9dfb 2026-09-29T07:48:35.346283 +E01-S02-C07 789d0d47-6fda-410a-b905-aac0a8abda1d 2026-09-29T07:51:33.193495 +E01-S02-C08 bbc724b1-533b-46d3-9e80-321098e64b7d 2026-09-29T07:54:31.005648 +E01-S02-C09 6aecc9e0-a765-4fc0-8253-9514fd7c402d 2026-09-29T07:57:28.818780 +E01-S02-C10 a6090c2b-1d69-43ee-85d8-b1894c8f16a5 2026-09-29T08:00:26.676971 +E01-S02-C11 40b6556d-6378-46f8-b123-4faccf78619b 2026-09-29T08:03:24.548699 +E01-S02-C12 79c6bcff-11d9-47d8-9b93-15d121a25fc6 2026-09-29T08:06:22.380397 +E01-S03-C01 5e4e09c1-bb0e-4edc-bb20-d15fada31ad2 2026-09-29T08:09:20.075763 +E01-S03-C02 f8270f44-e1d6-41c6-87da-fea872b0280f 2026-09-29T08:12:17.883767 +E01-S03-C03 28e5afea-4bc8-4328-af04-8516840323fa 2026-09-29T08:15:15.624484 +E01-S03-C04 67c3b370-12c1-481e-913d-be694a3e10c5 2026-09-29T08:18:13.384768 +E01-S03-C05 75263b64-5dee-4f57-8d3f-3c697ea81663 2026-09-29T08:21:11.583306 +E01-S04-C02 c61132b9-e60c-42e0-9c2b-5a159f80cbe1 2026-09-29T08:24:09.349715 +E01-S04-C03 5c6e9d7c-3074-4139-a986-46fabd71b679 2026-09-29T08:27:07.153574 +E01-S04-C04 5fa91325-4351-4951-b33f-8830f8b10d80 2026-09-29T08:30:05.070383 +E01-S05-C01 94019a0d-1288-40db-b546-7fca24e2a031 2026-09-29T08:33:02.836738 +E01-S05-C02 d1cc37c0-2bc2-49c7-bd84-39082fe70295 2026-09-29T08:36:00.682423 +E01-S05-C03 d3e3def2-998e-4a8e-aed4-3e3205576a0a 2026-09-29T08:38:58.583032 +E01-S05-C04 7f9f0a66-2c7c-462e-abff-03e68d9485bd 2026-09-29T08:41:56.401415 +E01-S05-C05 2dc2f033-6b40-45f1-a957-6528bf4bdd8e 2026-09-29T08:44:54.164399 +E01-S05-C06 1e02b0e7-4a46-4b2b-a672-b5723eb23985 2026-09-29T08:47:52.009698 +E01-S07-C01 2ec645ea-d4ca-41a9-967c-3c2e60de2ddb 2026-09-29T08:50:49.788267 +E01-S07-C02 70596691-3042-40f9-98b6-5f06d2dd67ec 2026-09-29T08:54:37.667524 +E01-S07-C03 241bab0c-df07-44dd-a0f9-ae4c1834be63 2026-09-29T08:57:35.492324 +E01-S07-C04 5686e9e0-5eca-441c-87cb-5afd6886dabe 2026-09-29T09:00:33.516615 +E01-S07-C05 0bcde7eb-5eb5-469e-9315-a67e29d88c7b 2026-09-29T09:03:31.292295 +E01-S07-C06 db1004d9-9d25-4edb-831b-3a0c631b1dea 2026-09-29T09:07:19.194220 +E01-S08-C01 2ac1942f-6c87-4ffe-8353-9409eda90d79 2026-09-29T09:10:17.004799 +E01-S08-C02 9d7f72df-d156-478d-b744-b1b06d0842ef 2026-09-29T09:13:39.909505 +E01-S08-C03 3ea3cceb-99cd-477a-8403-4b4b5aaaef32 2026-09-29T09:17:27.815753 +E01-S08-C04 53b35a5a-3995-495b-82c9-31f10cddbf1c 2026-09-29T09:20:25.621769 +E01-S08-C05 03eb49c0-ec26-4451-a59a-d350304c79fe 2026-09-29T09:24:13.499947 +E01-S08-C06 b7c0df69-a899-4f03-a9d4-b35102b0eb21 2026-09-29T09:27:36.382297 +E01-S08-C07 c1a5ac97-30f9-4122-b865-17eadd0da76b 2026-09-29T09:31:24.331354 +E01-S08-C08 1516e095-0257-46c0-99d3-b350810daa0e 2026-09-29T09:35:12.213973 +E01-S08-C09 f426b2b2-d401-469f-876d-bc0e4cd11f31 2026-09-29T09:39:25.212922 +E01-S09-C01 c82d4adc-3dc4-4341-8e36-8238f0a579b2 2026-09-29T09:43:38.158670 +E01-S09-C02 0f2a539b-7e1c-4d75-bcfb-ac3f3a4a1998 2026-09-29T09:47:51.099138 +E01-S09-C03 36a45119-2801-4c78-a64b-072fb2ac5b8b 2026-09-29T09:52:04.064406 +E01-S09-C04 f3b0c3e6-8167-4cc4-b86d-ff1d3b805701 2026-09-29T09:56:16.971115 +E01-S09-C05 b61ed72e-b9b7-45b4-83cc-3690c2c881c8 2026-09-29T10:00:29.896665 +E01-S09-C06 bf0ec591-255d-4b9d-863f-c29279d9f1cc 2026-09-29T10:04:17.793624 +E01-S09-C07 5d655d5d-4e43-4484-8ffc-9b5cf9a44510 2026-09-29T10:07:40.723042 +E01-S09-C08 c83b4101-bb5d-48c2-bb23-ea26f6d6c5c7 2026-09-29T10:11:53.722928 +E01-S09-C09 77ab81ef-22e3-4632-9cff-a54381da4f4d 2026-09-29T10:16:56.735092 +E01-S09-C10 9a78626e-5dca-456c-b29f-f0e7f3ef4ed7 2026-09-29T10:21:09.593906 +E01-S09-C11 8de492f8-55c1-4bcb-89e3-9dc288e7f518 2026-09-29T10:25:22.512213 +E01-S09-C12 0a741863-60fa-4a75-91c7-21343df7f2a5 2026-09-29T10:29:10.384621 +E01-S09-C13 0e409392-01bc-4b7d-8fe5-a7b0fed91e9b 2026-09-29T10:32:58.351029 +E01-S10-C01 962cc794-95e3-471a-8a18-7df45fbcf015 2026-09-29T10:37:11.372260 +E01-S10-C02 681a5997-b8d3-4051-a091-127e75b2ea28 2026-09-29T10:40:59.264708 +E01-S10-C03 59a818cd-5ea5-42f2-b5c4-abc56c8fc31d 2026-09-29T10:45:12.157852 +E01-S10-C04 c24702e5-09d1-41d6-83ec-d21ce4ba8468 2026-09-29T10:49:00.061024 +E01-S10-C05 44d1aea4-70d9-4282-872d-fd0551ff17b6 2026-09-29T10:53:13.094771 +E01-S10-C06 9be343e9-56ba-4b1d-abba-15fda09faaf0 2026-09-29T10:57:00.914147 +E01-S10-C07 3287b9f9-8b4a-4c26-9954-3d0a25b910fe 2026-09-29T11:01:13.888724 +E01-S10-C08 0ea1aced-92a6-4ce4-a625-4f2882d5fdc4 2026-09-29T11:05:26.776368 +E01-S12-C01 19f68dea-77a9-4264-bf8e-d873bef4e39b 2026-09-29T11:08:49.640114 +E01-S12-C02 7e41f531-a918-4ac4-9533-0b6453fe772c 2026-09-29T11:11:47.422788 diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/BGM_晨光与日常_00001.mp3 b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/BGM_晨光与日常_00001.mp3 new file mode 100644 index 0000000..ada9dc6 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/BGM_晨光与日常_00001.mp3 differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/brief.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/brief.json new file mode 100644 index 0000000..cc6ddd4 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/brief.json @@ -0,0 +1,7 @@ +{ + "id": "BGM_晨光与日常", + "seconds": 120, + "bpm": 82, + "key": "D major", + "tags": "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums" +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/history.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/history.json new file mode 100644 index 0000000..f64a363 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/history.json @@ -0,0 +1,677 @@ +{ + "prompt": [ + 21, + "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1", + { + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums", + "lyrics": "[Instrumental]", + "seed": 22171728872437, + "bpm": 82, + "duration": 120.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "D major", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 120.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 22171728872437, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/BGM_晨光与日常", + "quality": "320k" + } + } + }, + { + "extra_pnginfo": { + "workflow": { + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums", + "[Instrumental]", + 22171728872437, + "fixed", + 82, + 120.0, + "4", + "unknown", + "D major", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 120.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 22171728872437, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/BGM_晨光与日常", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 + } + }, + "client_id": "EP01_SCORE", + "create_time": 1790636809837 + }, + [ + "10" + ] + ], + "outputs": { + "10": { + "audio": [ + { + "filename": "BGM_晨光与日常_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + } + ] + } + }, + "status": { + "status_str": "success", + "completed": true, + "messages": [ + [ + "execution_start", + { + "prompt_id": "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1", + "timestamp": 1790636810001 + } + ], + [ + "execution_cached", + { + "nodes": [], + "prompt_id": "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1", + "timestamp": 1790636810002 + } + ], + [ + "execution_success", + { + "prompt_id": "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1", + "timestamp": 1790636843904 + } + ] + ] + }, + "meta": { + "10": { + "node_id": "10", + "display_node": "10", + "parent_node": null, + "real_node_id": "10" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/job.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/job.json new file mode 100644 index 0000000..ce2a7f3 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/job.json @@ -0,0 +1,11 @@ +{ + "prompt_id": "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1", + "seed": 22171728872437, + "cue": { + "id": "BGM_晨光与日常", + "seconds": 120, + "bpm": 82, + "key": "D major", + "tags": "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums" + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/outputs.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/outputs.json new file mode 100644 index 0000000..bb299c1 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/outputs.json @@ -0,0 +1,3 @@ +[ + "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\BGM_晨光与日常\\BGM_晨光与日常_00001.mp3" +] \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/probe.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/probe.json new file mode 100644 index 0000000..fcbc6b2 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/probe.json @@ -0,0 +1,65 @@ +{ + "streams": [ + { + "index": 0, + "codec_name": "mp3", + "codec_long_name": "MP3 (MPEG audio layer 3)", + "codec_type": "audio", + "codec_tag_string": "[0][0][0][0]", + "codec_tag": "0x0000", + "sample_fmt": "fltp", + "sample_rate": "48000", + "channels": 2, + "channel_layout": "stereo", + "bits_per_sample": 0, + "initial_padding": 0, + "r_frame_rate": "0/0", + "avg_frame_rate": "0/0", + "time_base": "1/14112000", + "start_pts": 324870, + "start_time": "0.023021", + "duration_ts": 1693778688, + "duration": "120.024000", + "bit_rate": "320000", + "disposition": { + "default": 0, + "dub": 0, + "original": 0, + "comment": 0, + "lyrics": 0, + "karaoke": 0, + "forced": 0, + "hearing_impaired": 0, + "visual_impaired": 0, + "clean_effects": 0, + "attached_pic": 0, + "timed_thumbnails": 0, + "captions": 0, + "descriptions": 0, + "metadata": 0, + "dependent": 0, + "still_image": 0 + }, + "tags": { + "encoder": "Lavf" + } + } + ], + "format": { + "filename": "F:\\project\\\u5c0f\u8bf4\u8bbe\u8ba1\\06_AI\u52a8\u6f2b\u5236\u4f5c\\05_\u751f\u4ea7\u7d20\u6750\\\u6b63\u7247\\S01E01_H3_V01\\music\\BGM_\u6668\u5149\u4e0e\u65e5\u5e38\\BGM_\u6668\u5149\u4e0e\u65e5\u5e38_00001.mp3", + "nb_streams": 1, + "nb_programs": 0, + "format_name": "mp3", + "format_long_name": "MP2/3 (MPEG audio layer 2/3)", + "start_time": "0.023021", + "duration": "120.024000", + "size": "4808325", + "bit_rate": "320490", + "probe_score": 51, + "tags": { + "prompt": "{\"1\": {\"class_type\": \"UNETLoader\", \"inputs\": {\"unet_name\": \"acestep_v1.5_turbo.safetensors\", \"weight_dtype\": \"default\"}}, \"2\": {\"class_type\": \"DualCLIPLoader\", \"inputs\": {\"clip_name1\": \"qwen_0.6b_ace15.safetensors\", \"clip_name2\": \"qwen_1.7b_ace15.safetensors\", \"type\": \"ace\", \"device\": \"default\"}}, \"3\": {\"class_type\": \"VAELoader\", \"inputs\": {\"vae_name\": \"ace_1.5_vae.safetensors\"}}, \"4\": {\"class_type\": \"ModelSamplingAuraFlow\", \"inputs\": {\"model\": [\"1\", 0], \"shift\": 3.0}}, \"5\": {\"class_type\": \"TextEncodeAceStepAudio1.5\", \"inputs\": {\"clip\": [\"2\", 0], \"tags\": \"instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums\", \"lyrics\": \"[Instrumental]\", \"seed\": 22171728872437, \"bpm\": 82, \"duration\": 120.0, \"timesignature\": \"4\", \"language\": \"unknown\", \"keyscale\": \"D major\", \"generate_audio_codes\": true, \"cfg_scale\": 2.0, \"temperature\": 0.85, \"top_p\": 0.9, \"top_k\": 0, \"min_p\": 0.0}}, \"6\": {\"class_type\": \"ConditioningZeroOut\", \"inputs\": {\"conditioning\": [\"5\", 0]}}, \"7\": {\"class_type\": \"EmptyAceStep1.5LatentAudio\", \"inputs\": {\"seconds\": 120.0, \"batch_size\": 1}}, \"8\": {\"class_type\": \"KSampler\", \"inputs\": {\"model\": [\"4\", 0], \"positive\": [\"5\", 0], \"negative\": [\"6\", 0], \"latent_image\": [\"7\", 0], \"seed\": 22171728872437, \"steps\": 8, \"cfg\": 1.0, \"sampler_name\": \"euler\", \"scheduler\": \"simple\", \"denoise\": 1.0}}, \"9\": {\"class_type\": \"VAEDecodeAudio\", \"inputs\": {\"samples\": [\"8\", 0], \"vae\": [\"3\", 0]}}, \"10\": {\"class_type\": \"SaveAudioMP3\", \"inputs\": {\"audio\": [\"9\", 0], \"filename_prefix\": \"hearthfire_episode_music/BGM_\\u6668\\u5149\\u4e0e\\u65e5\\u5e38\", \"quality\": \"320k\"}}}", + "workflow": "{\"last_node_id\": 10, \"last_link_id\": 10, \"nodes\": [{\"id\": 1, \"type\": \"UNETLoader\", \"pos\": [40, 40], \"size\": [390, 300], \"flags\": {}, \"order\": 0, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [1]}], \"properties\": {\"Node name for S&R\": \"UNETLoader\"}, \"widgets_values\": [\"acestep_v1.5_turbo.safetensors\", \"default\"]}, {\"id\": 2, \"type\": \"DualCLIPLoader\", \"pos\": [40, 1150], \"size\": [390, 300], \"flags\": {}, \"order\": 1, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"CLIP\", \"type\": \"CLIP\", \"links\": [2]}], \"properties\": {\"Node name for S&R\": \"DualCLIPLoader\"}, \"widgets_values\": [\"qwen_0.6b_ace15.safetensors\", \"qwen_1.7b_ace15.safetensors\", \"ace\", \"default\"]}, {\"id\": 3, \"type\": \"VAELoader\", \"pos\": [40, 410], \"size\": [390, 300], \"flags\": {}, \"order\": 2, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"VAE\", \"type\": \"VAE\", \"links\": [9]}], \"properties\": {\"Node name for S&R\": \"VAELoader\"}, \"widgets_values\": [\"ace_1.5_vae.safetensors\"]}, {\"id\": 4, \"type\": \"ModelSamplingAuraFlow\", \"pos\": [550, 350], \"size\": [390, 300], \"flags\": {}, \"order\": 3, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 1}], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [4]}], \"properties\": {\"Node name for S&R\": \"ModelSamplingAuraFlow\"}, \"widgets_values\": [3.0]}, {\"id\": 5, \"type\": \"TextEncodeAceStepAudio1.5\", \"pos\": [550, 720], \"size\": [390, 538], \"flags\": {}, \"order\": 4, \"mode\": 0, \"inputs\": [{\"name\": \"clip\", \"type\": \"CLIP\", \"link\": 2}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [3, 5]}], \"properties\": {\"Node name for S&R\": \"TextEncodeAceStepAudio1.5\"}, \"widgets_values\": [\"instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums\", \"[Instrumental]\", 22171728872437, \"fixed\", 82, 120.0, \"4\", \"unknown\", \"D major\", true, 2.0, 0.85, 0.9, 0, 0.0]}, {\"id\": 6, \"type\": \"ConditioningZeroOut\", \"pos\": [1060, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 5, \"mode\": 0, \"inputs\": [{\"name\": \"conditioning\", \"type\": \"CONDITIONING\", \"link\": 3}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [6]}], \"properties\": {\"Node name for S&R\": \"ConditioningZeroOut\"}, \"widgets_values\": []}, {\"id\": 7, \"type\": \"EmptyAceStep1.5LatentAudio\", \"pos\": [40, 780], \"size\": [390, 300], \"flags\": {}, \"order\": 6, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [7]}], \"properties\": {\"Node name for S&R\": \"EmptyAceStep1.5LatentAudio\"}, \"widgets_values\": [120.0, 1]}, {\"id\": 8, \"type\": \"KSampler\", \"pos\": [1570, 560], \"size\": [390, 370], \"flags\": {}, \"order\": 7, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 4}, {\"name\": \"positive\", \"type\": \"CONDITIONING\", \"link\": 5}, {\"name\": \"negative\", \"type\": \"CONDITIONING\", \"link\": 6}, {\"name\": \"latent_image\", \"type\": \"LATENT\", \"link\": 7}], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [8]}], \"properties\": {\"Node name for S&R\": \"KSampler\"}, \"widgets_values\": [22171728872437, \"fixed\", 8, 1.0, \"euler\", \"simple\", 1.0]}, {\"id\": 9, \"type\": \"VAEDecodeAudio\", \"pos\": [2080, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 8, \"mode\": 0, \"inputs\": [{\"name\": \"samples\", \"type\": \"LATENT\", \"link\": 8}, {\"name\": \"vae\", \"type\": \"VAE\", \"link\": 9}], \"outputs\": [{\"name\": \"AUDIO\", \"type\": \"AUDIO\", \"links\": [10]}], \"properties\": {\"Node name for S&R\": \"VAEDecodeAudio\"}, \"widgets_values\": []}, {\"id\": 10, \"type\": \"SaveAudioMP3\", \"pos\": [2590, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 9, \"mode\": 0, \"inputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"link\": 10}], \"outputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"links\": []}], \"properties\": {\"Node name for S&R\": \"SaveAudioMP3\"}, \"widgets_values\": [\"hearthfire_episode_music/BGM_\\u6668\\u5149\\u4e0e\\u65e5\\u5e38\", \"320k\"]}], \"links\": [[1, 1, 0, 4, 0, \"MODEL\"], [2, 2, 0, 5, 0, \"CLIP\"], [3, 5, 0, 6, 0, \"CONDITIONING\"], [4, 4, 0, 8, 0, \"MODEL\"], [5, 5, 0, 8, 1, \"CONDITIONING\"], [6, 6, 0, 8, 2, \"CONDITIONING\"], [7, 7, 0, 8, 3, \"LATENT\"], [8, 8, 0, 9, 0, \"LATENT\"], [9, 3, 0, 9, 1, \"VAE\"], [10, 9, 0, 10, 0, \"AUDIO\"]], \"groups\": [{\"title\": \"EP01 full episode - MiniMax H3 - native audio\", \"bounding\": [-5, -51, 3030, 1546], \"color\": \"#335159\", \"font_size\": 24}], \"config\": {}, \"extra\": {}, \"version\": 0.4}", + "encoder": "Lavf62.3.100" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/submission.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/submission.json new file mode 100644 index 0000000..5ce5c04 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/submission.json @@ -0,0 +1,5 @@ +{ + "prompt_id": "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1", + "number": 21, + "node_errors": {} +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/waveform.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/waveform.png new file mode 100644 index 0000000..7d2aeb5 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/waveform.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/workflow_api.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/workflow_api.json new file mode 100644 index 0000000..4d0d5c1 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/workflow_api.json @@ -0,0 +1,124 @@ +{ + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums", + "lyrics": "[Instrumental]", + "seed": 22171728872437, + "bpm": 82, + "duration": 120.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "D major", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 120.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 22171728872437, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/BGM_晨光与日常", + "quality": "320k" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/workflow_gui.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/workflow_gui.json new file mode 100644 index 0000000..b4d1505 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/workflow_gui.json @@ -0,0 +1,491 @@ +{ + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums", + "[Instrumental]", + 22171728872437, + "fixed", + 82, + 120.0, + "4", + "unknown", + "D major", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 120.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 22171728872437, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/BGM_晨光与日常", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/BGM_未被回答的问题_00001.mp3 b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/BGM_未被回答的问题_00001.mp3 new file mode 100644 index 0000000..7f97957 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/BGM_未被回答的问题_00001.mp3 differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/brief.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/brief.json new file mode 100644 index 0000000..5110d3d --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/brief.json @@ -0,0 +1,7 @@ +{ + "id": "BGM_未被回答的问题", + "seconds": 120, + "bpm": 64, + "key": "B minor", + "tags": "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion" +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/history.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/history.json new file mode 100644 index 0000000..b496e71 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/history.json @@ -0,0 +1,677 @@ +{ + "prompt": [ + 22, + "5a968219-8656-4692-83f2-53c17b81fa41", + { + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion", + "lyrics": "[Instrumental]", + "seed": 130159904387893, + "bpm": 64, + "duration": 120.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "B minor", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 120.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 130159904387893, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/BGM_未被回答的问题", + "quality": "320k" + } + } + }, + { + "extra_pnginfo": { + "workflow": { + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion", + "[Instrumental]", + 130159904387893, + "fixed", + 64, + 120.0, + "4", + "unknown", + "B minor", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 120.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 130159904387893, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/BGM_未被回答的问题", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 + } + }, + "client_id": "EP01_SCORE", + "create_time": 1790636857346 + }, + [ + "10" + ] + ], + "outputs": { + "10": { + "audio": [ + { + "filename": "BGM_未被回答的问题_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + } + ] + } + }, + "status": { + "status_str": "success", + "completed": true, + "messages": [ + [ + "execution_start", + { + "prompt_id": "5a968219-8656-4692-83f2-53c17b81fa41", + "timestamp": 1790636857821 + } + ], + [ + "execution_cached", + { + "nodes": [], + "prompt_id": "5a968219-8656-4692-83f2-53c17b81fa41", + "timestamp": 1790636857822 + } + ], + [ + "execution_success", + { + "prompt_id": "5a968219-8656-4692-83f2-53c17b81fa41", + "timestamp": 1790636891784 + } + ] + ] + }, + "meta": { + "10": { + "node_id": "10", + "display_node": "10", + "parent_node": null, + "real_node_id": "10" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/job.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/job.json new file mode 100644 index 0000000..0190171 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/job.json @@ -0,0 +1,11 @@ +{ + "prompt_id": "5a968219-8656-4692-83f2-53c17b81fa41", + "seed": 130159904387893, + "cue": { + "id": "BGM_未被回答的问题", + "seconds": 120, + "bpm": 64, + "key": "B minor", + "tags": "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion" + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/outputs.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/outputs.json new file mode 100644 index 0000000..47dd54f --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/outputs.json @@ -0,0 +1,3 @@ +[ + "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\BGM_未被回答的问题\\BGM_未被回答的问题_00001.mp3" +] \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/probe.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/probe.json new file mode 100644 index 0000000..7829486 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/probe.json @@ -0,0 +1,65 @@ +{ + "streams": [ + { + "index": 0, + "codec_name": "mp3", + "codec_long_name": "MP3 (MPEG audio layer 3)", + "codec_type": "audio", + "codec_tag_string": "[0][0][0][0]", + "codec_tag": "0x0000", + "sample_fmt": "fltp", + "sample_rate": "48000", + "channels": 2, + "channel_layout": "stereo", + "bits_per_sample": 0, + "initial_padding": 0, + "r_frame_rate": "0/0", + "avg_frame_rate": "0/0", + "time_base": "1/14112000", + "start_pts": 324870, + "start_time": "0.023021", + "duration_ts": 1693778688, + "duration": "120.024000", + "bit_rate": "320000", + "disposition": { + "default": 0, + "dub": 0, + "original": 0, + "comment": 0, + "lyrics": 0, + "karaoke": 0, + "forced": 0, + "hearing_impaired": 0, + "visual_impaired": 0, + "clean_effects": 0, + "attached_pic": 0, + "timed_thumbnails": 0, + "captions": 0, + "descriptions": 0, + "metadata": 0, + "dependent": 0, + "still_image": 0 + }, + "tags": { + "encoder": "Lavf" + } + } + ], + "format": { + "filename": "F:\\project\\\u5c0f\u8bf4\u8bbe\u8ba1\\06_AI\u52a8\u6f2b\u5236\u4f5c\\05_\u751f\u4ea7\u7d20\u6750\\\u6b63\u7247\\S01E01_H3_V01\\music\\BGM_\u672a\u88ab\u56de\u7b54\u7684\u95ee\u9898\\BGM_\u672a\u88ab\u56de\u7b54\u7684\u95ee\u9898_00001.mp3", + "nb_streams": 1, + "nb_programs": 0, + "format_name": "mp3", + "format_long_name": "MP2/3 (MPEG audio layer 2/3)", + "start_time": "0.023021", + "duration": "120.024000", + "size": "4808459", + "bit_rate": "320499", + "probe_score": 51, + "tags": { + "prompt": "{\"1\": {\"class_type\": \"UNETLoader\", \"inputs\": {\"unet_name\": \"acestep_v1.5_turbo.safetensors\", \"weight_dtype\": \"default\"}}, \"2\": {\"class_type\": \"DualCLIPLoader\", \"inputs\": {\"clip_name1\": \"qwen_0.6b_ace15.safetensors\", \"clip_name2\": \"qwen_1.7b_ace15.safetensors\", \"type\": \"ace\", \"device\": \"default\"}}, \"3\": {\"class_type\": \"VAELoader\", \"inputs\": {\"vae_name\": \"ace_1.5_vae.safetensors\"}}, \"4\": {\"class_type\": \"ModelSamplingAuraFlow\", \"inputs\": {\"model\": [\"1\", 0], \"shift\": 3.0}}, \"5\": {\"class_type\": \"TextEncodeAceStepAudio1.5\", \"inputs\": {\"clip\": [\"2\", 0], \"tags\": \"instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion\", \"lyrics\": \"[Instrumental]\", \"seed\": 130159904387893, \"bpm\": 64, \"duration\": 120.0, \"timesignature\": \"4\", \"language\": \"unknown\", \"keyscale\": \"B minor\", \"generate_audio_codes\": true, \"cfg_scale\": 2.0, \"temperature\": 0.85, \"top_p\": 0.9, \"top_k\": 0, \"min_p\": 0.0}}, \"6\": {\"class_type\": \"ConditioningZeroOut\", \"inputs\": {\"conditioning\": [\"5\", 0]}}, \"7\": {\"class_type\": \"EmptyAceStep1.5LatentAudio\", \"inputs\": {\"seconds\": 120.0, \"batch_size\": 1}}, \"8\": {\"class_type\": \"KSampler\", \"inputs\": {\"model\": [\"4\", 0], \"positive\": [\"5\", 0], \"negative\": [\"6\", 0], \"latent_image\": [\"7\", 0], \"seed\": 130159904387893, \"steps\": 8, \"cfg\": 1.0, \"sampler_name\": \"euler\", \"scheduler\": \"simple\", \"denoise\": 1.0}}, \"9\": {\"class_type\": \"VAEDecodeAudio\", \"inputs\": {\"samples\": [\"8\", 0], \"vae\": [\"3\", 0]}}, \"10\": {\"class_type\": \"SaveAudioMP3\", \"inputs\": {\"audio\": [\"9\", 0], \"filename_prefix\": \"hearthfire_episode_music/BGM_\\u672a\\u88ab\\u56de\\u7b54\\u7684\\u95ee\\u9898\", \"quality\": \"320k\"}}}", + "workflow": "{\"last_node_id\": 10, \"last_link_id\": 10, \"nodes\": [{\"id\": 1, \"type\": \"UNETLoader\", \"pos\": [40, 40], \"size\": [390, 300], \"flags\": {}, \"order\": 0, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [1]}], \"properties\": {\"Node name for S&R\": \"UNETLoader\"}, \"widgets_values\": [\"acestep_v1.5_turbo.safetensors\", \"default\"]}, {\"id\": 2, \"type\": \"DualCLIPLoader\", \"pos\": [40, 1150], \"size\": [390, 300], \"flags\": {}, \"order\": 1, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"CLIP\", \"type\": \"CLIP\", \"links\": [2]}], \"properties\": {\"Node name for S&R\": \"DualCLIPLoader\"}, \"widgets_values\": [\"qwen_0.6b_ace15.safetensors\", \"qwen_1.7b_ace15.safetensors\", \"ace\", \"default\"]}, {\"id\": 3, \"type\": \"VAELoader\", \"pos\": [40, 410], \"size\": [390, 300], \"flags\": {}, \"order\": 2, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"VAE\", \"type\": \"VAE\", \"links\": [9]}], \"properties\": {\"Node name for S&R\": \"VAELoader\"}, \"widgets_values\": [\"ace_1.5_vae.safetensors\"]}, {\"id\": 4, \"type\": \"ModelSamplingAuraFlow\", \"pos\": [550, 350], \"size\": [390, 300], \"flags\": {}, \"order\": 3, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 1}], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [4]}], \"properties\": {\"Node name for S&R\": \"ModelSamplingAuraFlow\"}, \"widgets_values\": [3.0]}, {\"id\": 5, \"type\": \"TextEncodeAceStepAudio1.5\", \"pos\": [550, 720], \"size\": [390, 538], \"flags\": {}, \"order\": 4, \"mode\": 0, \"inputs\": [{\"name\": \"clip\", \"type\": \"CLIP\", \"link\": 2}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [3, 5]}], \"properties\": {\"Node name for S&R\": \"TextEncodeAceStepAudio1.5\"}, \"widgets_values\": [\"instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion\", \"[Instrumental]\", 130159904387893, \"fixed\", 64, 120.0, \"4\", \"unknown\", \"B minor\", true, 2.0, 0.85, 0.9, 0, 0.0]}, {\"id\": 6, \"type\": \"ConditioningZeroOut\", \"pos\": [1060, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 5, \"mode\": 0, \"inputs\": [{\"name\": \"conditioning\", \"type\": \"CONDITIONING\", \"link\": 3}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [6]}], \"properties\": {\"Node name for S&R\": \"ConditioningZeroOut\"}, \"widgets_values\": []}, {\"id\": 7, \"type\": \"EmptyAceStep1.5LatentAudio\", \"pos\": [40, 780], \"size\": [390, 300], \"flags\": {}, \"order\": 6, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [7]}], \"properties\": {\"Node name for S&R\": \"EmptyAceStep1.5LatentAudio\"}, \"widgets_values\": [120.0, 1]}, {\"id\": 8, \"type\": \"KSampler\", \"pos\": [1570, 560], \"size\": [390, 370], \"flags\": {}, \"order\": 7, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 4}, {\"name\": \"positive\", \"type\": \"CONDITIONING\", \"link\": 5}, {\"name\": \"negative\", \"type\": \"CONDITIONING\", \"link\": 6}, {\"name\": \"latent_image\", \"type\": \"LATENT\", \"link\": 7}], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [8]}], \"properties\": {\"Node name for S&R\": \"KSampler\"}, \"widgets_values\": [130159904387893, \"fixed\", 8, 1.0, \"euler\", \"simple\", 1.0]}, {\"id\": 9, \"type\": \"VAEDecodeAudio\", \"pos\": [2080, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 8, \"mode\": 0, \"inputs\": [{\"name\": \"samples\", \"type\": \"LATENT\", \"link\": 8}, {\"name\": \"vae\", \"type\": \"VAE\", \"link\": 9}], \"outputs\": [{\"name\": \"AUDIO\", \"type\": \"AUDIO\", \"links\": [10]}], \"properties\": {\"Node name for S&R\": \"VAEDecodeAudio\"}, \"widgets_values\": []}, {\"id\": 10, \"type\": \"SaveAudioMP3\", \"pos\": [2590, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 9, \"mode\": 0, \"inputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"link\": 10}], \"outputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"links\": []}], \"properties\": {\"Node name for S&R\": \"SaveAudioMP3\"}, \"widgets_values\": [\"hearthfire_episode_music/BGM_\\u672a\\u88ab\\u56de\\u7b54\\u7684\\u95ee\\u9898\", \"320k\"]}], \"links\": [[1, 1, 0, 4, 0, \"MODEL\"], [2, 2, 0, 5, 0, \"CLIP\"], [3, 5, 0, 6, 0, \"CONDITIONING\"], [4, 4, 0, 8, 0, \"MODEL\"], [5, 5, 0, 8, 1, \"CONDITIONING\"], [6, 6, 0, 8, 2, \"CONDITIONING\"], [7, 7, 0, 8, 3, \"LATENT\"], [8, 8, 0, 9, 0, \"LATENT\"], [9, 3, 0, 9, 1, \"VAE\"], [10, 9, 0, 10, 0, \"AUDIO\"]], \"groups\": [{\"title\": \"EP01 full episode - MiniMax H3 - native audio\", \"bounding\": [-5, -51, 3030, 1546], \"color\": \"#335159\", \"font_size\": 24}], \"config\": {}, \"extra\": {}, \"version\": 0.4}", + "encoder": "Lavf62.3.100" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/submission.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/submission.json new file mode 100644 index 0000000..b0162ab --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/submission.json @@ -0,0 +1,5 @@ +{ + "prompt_id": "5a968219-8656-4692-83f2-53c17b81fa41", + "number": 22, + "node_errors": {} +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/waveform.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/waveform.png new file mode 100644 index 0000000..cee6dc7 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/waveform.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/workflow_api.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/workflow_api.json new file mode 100644 index 0000000..a3d35e0 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/workflow_api.json @@ -0,0 +1,124 @@ +{ + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion", + "lyrics": "[Instrumental]", + "seed": 130159904387893, + "bpm": 64, + "duration": 120.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "B minor", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 120.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 130159904387893, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/BGM_未被回答的问题", + "quality": "320k" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/workflow_gui.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/workflow_gui.json new file mode 100644 index 0000000..1b3d079 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/workflow_gui.json @@ -0,0 +1,491 @@ +{ + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion", + "[Instrumental]", + 130159904387893, + "fixed", + 64, + 120.0, + "4", + "unknown", + "B minor", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 120.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 130159904387893, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/BGM_未被回答的问题", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/ED_留给你的那一碗_00001.mp3 b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/ED_留给你的那一碗_00001.mp3 new file mode 100644 index 0000000..e9a0fff Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/ED_留给你的那一碗_00001.mp3 differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/brief.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/brief.json new file mode 100644 index 0000000..1511557 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/brief.json @@ -0,0 +1,7 @@ +{ + "id": "ED_留给你的那一碗", + "seconds": 60, + "bpm": 68, + "key": "G major", + "tags": "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion" +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/history.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/history.json new file mode 100644 index 0000000..d80090c --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/history.json @@ -0,0 +1,677 @@ +{ + "prompt": [ + 20, + "0942ce8b-bb16-424a-9280-66979229ba87", + { + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion", + "lyrics": "[Instrumental]", + "seed": 189743543337052, + "bpm": 68, + "duration": 60.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "G major", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 60.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 189743543337052, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/ED_留给你的那一碗", + "quality": "320k" + } + } + }, + { + "extra_pnginfo": { + "workflow": { + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion", + "[Instrumental]", + 189743543337052, + "fixed", + 68, + 60.0, + "4", + "unknown", + "G major", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 60.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 189743543337052, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/ED_留给你的那一碗", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 + } + }, + "client_id": "EP01_SCORE", + "create_time": 1790636777056 + }, + [ + "10" + ] + ], + "outputs": { + "10": { + "audio": [ + { + "filename": "ED_留给你的那一碗_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + } + ] + } + }, + "status": { + "status_str": "success", + "completed": true, + "messages": [ + [ + "execution_start", + { + "prompt_id": "0942ce8b-bb16-424a-9280-66979229ba87", + "timestamp": 1790636777612 + } + ], + [ + "execution_cached", + { + "nodes": [], + "prompt_id": "0942ce8b-bb16-424a-9280-66979229ba87", + "timestamp": 1790636777614 + } + ], + [ + "execution_success", + { + "prompt_id": "0942ce8b-bb16-424a-9280-66979229ba87", + "timestamp": 1790636797482 + } + ] + ] + }, + "meta": { + "10": { + "node_id": "10", + "display_node": "10", + "parent_node": null, + "real_node_id": "10" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/job.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/job.json new file mode 100644 index 0000000..14812c7 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/job.json @@ -0,0 +1,11 @@ +{ + "prompt_id": "0942ce8b-bb16-424a-9280-66979229ba87", + "seed": 189743543337052, + "cue": { + "id": "ED_留给你的那一碗", + "seconds": 60, + "bpm": 68, + "key": "G major", + "tags": "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion" + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/outputs.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/outputs.json new file mode 100644 index 0000000..7021fef --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/outputs.json @@ -0,0 +1,3 @@ +[ + "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\ED_留给你的那一碗\\ED_留给你的那一碗_00001.mp3" +] \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/probe.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/probe.json new file mode 100644 index 0000000..63dca43 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/probe.json @@ -0,0 +1,65 @@ +{ + "streams": [ + { + "index": 0, + "codec_name": "mp3", + "codec_long_name": "MP3 (MPEG audio layer 3)", + "codec_type": "audio", + "codec_tag_string": "[0][0][0][0]", + "codec_tag": "0x0000", + "sample_fmt": "fltp", + "sample_rate": "48000", + "channels": 2, + "channel_layout": "stereo", + "bits_per_sample": 0, + "initial_padding": 0, + "r_frame_rate": "0/0", + "avg_frame_rate": "0/0", + "time_base": "1/14112000", + "start_pts": 324870, + "start_time": "0.023021", + "duration_ts": 847058688, + "duration": "60.024000", + "bit_rate": "320000", + "disposition": { + "default": 0, + "dub": 0, + "original": 0, + "comment": 0, + "lyrics": 0, + "karaoke": 0, + "forced": 0, + "hearing_impaired": 0, + "visual_impaired": 0, + "clean_effects": 0, + "attached_pic": 0, + "timed_thumbnails": 0, + "captions": 0, + "descriptions": 0, + "metadata": 0, + "dependent": 0, + "still_image": 0 + }, + "tags": { + "encoder": "Lavf" + } + } + ], + "format": { + "filename": "F:\\project\\\u5c0f\u8bf4\u8bbe\u8ba1\\06_AI\u52a8\u6f2b\u5236\u4f5c\\05_\u751f\u4ea7\u7d20\u6750\\\u6b63\u7247\\S01E01_H3_V01\\music\\ED_\u7559\u7ed9\u4f60\u7684\u90a3\u4e00\u7897\\ED_\u7559\u7ed9\u4f60\u7684\u90a3\u4e00\u7897_00001.mp3", + "nb_streams": 1, + "nb_programs": 0, + "format_name": "mp3", + "format_long_name": "MP2/3 (MPEG audio layer 2/3)", + "start_time": "0.023021", + "duration": "60.024000", + "size": "2408397", + "bit_rate": "320991", + "probe_score": 51, + "tags": { + "prompt": "{\"1\": {\"class_type\": \"UNETLoader\", \"inputs\": {\"unet_name\": \"acestep_v1.5_turbo.safetensors\", \"weight_dtype\": \"default\"}}, \"2\": {\"class_type\": \"DualCLIPLoader\", \"inputs\": {\"clip_name1\": \"qwen_0.6b_ace15.safetensors\", \"clip_name2\": \"qwen_1.7b_ace15.safetensors\", \"type\": \"ace\", \"device\": \"default\"}}, \"3\": {\"class_type\": \"VAELoader\", \"inputs\": {\"vae_name\": \"ace_1.5_vae.safetensors\"}}, \"4\": {\"class_type\": \"ModelSamplingAuraFlow\", \"inputs\": {\"model\": [\"1\", 0], \"shift\": 3.0}}, \"5\": {\"class_type\": \"TextEncodeAceStepAudio1.5\", \"inputs\": {\"clip\": [\"2\", 0], \"tags\": \"instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion\", \"lyrics\": \"[Instrumental]\", \"seed\": 189743543337052, \"bpm\": 68, \"duration\": 60.0, \"timesignature\": \"4\", \"language\": \"unknown\", \"keyscale\": \"G major\", \"generate_audio_codes\": true, \"cfg_scale\": 2.0, \"temperature\": 0.85, \"top_p\": 0.9, \"top_k\": 0, \"min_p\": 0.0}}, \"6\": {\"class_type\": \"ConditioningZeroOut\", \"inputs\": {\"conditioning\": [\"5\", 0]}}, \"7\": {\"class_type\": \"EmptyAceStep1.5LatentAudio\", \"inputs\": {\"seconds\": 60.0, \"batch_size\": 1}}, \"8\": {\"class_type\": \"KSampler\", \"inputs\": {\"model\": [\"4\", 0], \"positive\": [\"5\", 0], \"negative\": [\"6\", 0], \"latent_image\": [\"7\", 0], \"seed\": 189743543337052, \"steps\": 8, \"cfg\": 1.0, \"sampler_name\": \"euler\", \"scheduler\": \"simple\", \"denoise\": 1.0}}, \"9\": {\"class_type\": \"VAEDecodeAudio\", \"inputs\": {\"samples\": [\"8\", 0], \"vae\": [\"3\", 0]}}, \"10\": {\"class_type\": \"SaveAudioMP3\", \"inputs\": {\"audio\": [\"9\", 0], \"filename_prefix\": \"hearthfire_episode_music/ED_\\u7559\\u7ed9\\u4f60\\u7684\\u90a3\\u4e00\\u7897\", \"quality\": \"320k\"}}}", + "workflow": "{\"last_node_id\": 10, \"last_link_id\": 10, \"nodes\": [{\"id\": 1, \"type\": \"UNETLoader\", \"pos\": [40, 40], \"size\": [390, 300], \"flags\": {}, \"order\": 0, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [1]}], \"properties\": {\"Node name for S&R\": \"UNETLoader\"}, \"widgets_values\": [\"acestep_v1.5_turbo.safetensors\", \"default\"]}, {\"id\": 2, \"type\": \"DualCLIPLoader\", \"pos\": [40, 1150], \"size\": [390, 300], \"flags\": {}, \"order\": 1, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"CLIP\", \"type\": \"CLIP\", \"links\": [2]}], \"properties\": {\"Node name for S&R\": \"DualCLIPLoader\"}, \"widgets_values\": [\"qwen_0.6b_ace15.safetensors\", \"qwen_1.7b_ace15.safetensors\", \"ace\", \"default\"]}, {\"id\": 3, \"type\": \"VAELoader\", \"pos\": [40, 410], \"size\": [390, 300], \"flags\": {}, \"order\": 2, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"VAE\", \"type\": \"VAE\", \"links\": [9]}], \"properties\": {\"Node name for S&R\": \"VAELoader\"}, \"widgets_values\": [\"ace_1.5_vae.safetensors\"]}, {\"id\": 4, \"type\": \"ModelSamplingAuraFlow\", \"pos\": [550, 350], \"size\": [390, 300], \"flags\": {}, \"order\": 3, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 1}], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [4]}], \"properties\": {\"Node name for S&R\": \"ModelSamplingAuraFlow\"}, \"widgets_values\": [3.0]}, {\"id\": 5, \"type\": \"TextEncodeAceStepAudio1.5\", \"pos\": [550, 720], \"size\": [390, 538], \"flags\": {}, \"order\": 4, \"mode\": 0, \"inputs\": [{\"name\": \"clip\", \"type\": \"CLIP\", \"link\": 2}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [3, 5]}], \"properties\": {\"Node name for S&R\": \"TextEncodeAceStepAudio1.5\"}, \"widgets_values\": [\"instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion\", \"[Instrumental]\", 189743543337052, \"fixed\", 68, 60.0, \"4\", \"unknown\", \"G major\", true, 2.0, 0.85, 0.9, 0, 0.0]}, {\"id\": 6, \"type\": \"ConditioningZeroOut\", \"pos\": [1060, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 5, \"mode\": 0, \"inputs\": [{\"name\": \"conditioning\", \"type\": \"CONDITIONING\", \"link\": 3}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [6]}], \"properties\": {\"Node name for S&R\": \"ConditioningZeroOut\"}, \"widgets_values\": []}, {\"id\": 7, \"type\": \"EmptyAceStep1.5LatentAudio\", \"pos\": [40, 780], \"size\": [390, 300], \"flags\": {}, \"order\": 6, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [7]}], \"properties\": {\"Node name for S&R\": \"EmptyAceStep1.5LatentAudio\"}, \"widgets_values\": [60.0, 1]}, {\"id\": 8, \"type\": \"KSampler\", \"pos\": [1570, 560], \"size\": [390, 370], \"flags\": {}, \"order\": 7, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 4}, {\"name\": \"positive\", \"type\": \"CONDITIONING\", \"link\": 5}, {\"name\": \"negative\", \"type\": \"CONDITIONING\", \"link\": 6}, {\"name\": \"latent_image\", \"type\": \"LATENT\", \"link\": 7}], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [8]}], \"properties\": {\"Node name for S&R\": \"KSampler\"}, \"widgets_values\": [189743543337052, \"fixed\", 8, 1.0, \"euler\", \"simple\", 1.0]}, {\"id\": 9, \"type\": \"VAEDecodeAudio\", \"pos\": [2080, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 8, \"mode\": 0, \"inputs\": [{\"name\": \"samples\", \"type\": \"LATENT\", \"link\": 8}, {\"name\": \"vae\", \"type\": \"VAE\", \"link\": 9}], \"outputs\": [{\"name\": \"AUDIO\", \"type\": \"AUDIO\", \"links\": [10]}], \"properties\": {\"Node name for S&R\": \"VAEDecodeAudio\"}, \"widgets_values\": []}, {\"id\": 10, \"type\": \"SaveAudioMP3\", \"pos\": [2590, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 9, \"mode\": 0, \"inputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"link\": 10}], \"outputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"links\": []}], \"properties\": {\"Node name for S&R\": \"SaveAudioMP3\"}, \"widgets_values\": [\"hearthfire_episode_music/ED_\\u7559\\u7ed9\\u4f60\\u7684\\u90a3\\u4e00\\u7897\", \"320k\"]}], \"links\": [[1, 1, 0, 4, 0, \"MODEL\"], [2, 2, 0, 5, 0, \"CLIP\"], [3, 5, 0, 6, 0, \"CONDITIONING\"], [4, 4, 0, 8, 0, \"MODEL\"], [5, 5, 0, 8, 1, \"CONDITIONING\"], [6, 6, 0, 8, 2, \"CONDITIONING\"], [7, 7, 0, 8, 3, \"LATENT\"], [8, 8, 0, 9, 0, \"LATENT\"], [9, 3, 0, 9, 1, \"VAE\"], [10, 9, 0, 10, 0, \"AUDIO\"]], \"groups\": [{\"title\": \"EP01 full episode - MiniMax H3 - native audio\", \"bounding\": [-5, -51, 3030, 1546], \"color\": \"#335159\", \"font_size\": 24}], \"config\": {}, \"extra\": {}, \"version\": 0.4}", + "encoder": "Lavf62.3.100" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/submission.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/submission.json new file mode 100644 index 0000000..9722e9d --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/submission.json @@ -0,0 +1,5 @@ +{ + "prompt_id": "0942ce8b-bb16-424a-9280-66979229ba87", + "number": 20, + "node_errors": {} +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/waveform.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/waveform.png new file mode 100644 index 0000000..e4cbd77 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/waveform.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/workflow_api.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/workflow_api.json new file mode 100644 index 0000000..cc15f7f --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/workflow_api.json @@ -0,0 +1,124 @@ +{ + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion", + "lyrics": "[Instrumental]", + "seed": 189743543337052, + "bpm": 68, + "duration": 60.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "G major", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 60.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 189743543337052, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/ED_留给你的那一碗", + "quality": "320k" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/workflow_gui.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/workflow_gui.json new file mode 100644 index 0000000..7abad7c --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/workflow_gui.json @@ -0,0 +1,491 @@ +{ + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion", + "[Instrumental]", + 189743543337052, + "fixed", + 68, + 60.0, + "4", + "unknown", + "G major", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 60.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 189743543337052, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/ED_留给你的那一碗", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/OP_泉与归处_00001.mp3 b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/OP_泉与归处_00001.mp3 new file mode 100644 index 0000000..dc42292 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/OP_泉与归处_00001.mp3 differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/brief.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/brief.json new file mode 100644 index 0000000..4155629 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/brief.json @@ -0,0 +1,7 @@ +{ + "id": "OP_泉与归处", + "seconds": 90, + "bpm": 88, + "key": "D major", + "tags": "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums" +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/history.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/history.json new file mode 100644 index 0000000..9037318 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/history.json @@ -0,0 +1,677 @@ +{ + "prompt": [ + 19, + "d9e77145-0eff-4968-a3f8-415d9a19f232", + { + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums", + "lyrics": "[Instrumental]", + "seed": 240142287226492, + "bpm": 88, + "duration": 90.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "D major", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 90.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 240142287226492, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/OP_泉与归处", + "quality": "320k" + } + } + }, + { + "extra_pnginfo": { + "workflow": { + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums", + "[Instrumental]", + 240142287226492, + "fixed", + 88, + 90.0, + "4", + "unknown", + "D major", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 90.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 240142287226492, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/OP_泉与归处", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 + } + }, + "client_id": "EP01_SCORE", + "create_time": 1790636684451 + }, + [ + "10" + ] + ], + "outputs": { + "10": { + "audio": [ + { + "filename": "OP_泉与归处_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + } + ] + } + }, + "status": { + "status_str": "success", + "completed": true, + "messages": [ + [ + "execution_start", + { + "prompt_id": "d9e77145-0eff-4968-a3f8-415d9a19f232", + "timestamp": 1790636696877 + } + ], + [ + "execution_cached", + { + "nodes": [], + "prompt_id": "d9e77145-0eff-4968-a3f8-415d9a19f232", + "timestamp": 1790636696879 + } + ], + [ + "execution_success", + { + "prompt_id": "d9e77145-0eff-4968-a3f8-415d9a19f232", + "timestamp": 1790636760925 + } + ] + ] + }, + "meta": { + "10": { + "node_id": "10", + "display_node": "10", + "parent_node": null, + "real_node_id": "10" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/job.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/job.json new file mode 100644 index 0000000..7ae1f41 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/job.json @@ -0,0 +1,11 @@ +{ + "prompt_id": "d9e77145-0eff-4968-a3f8-415d9a19f232", + "seed": 240142287226492, + "cue": { + "id": "OP_泉与归处", + "seconds": 90, + "bpm": 88, + "key": "D major", + "tags": "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums" + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/outputs.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/outputs.json new file mode 100644 index 0000000..6f96e77 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/outputs.json @@ -0,0 +1,3 @@ +[ + "F:\\project\\小说设计\\06_AI动漫制作\\05_生产素材\\正片\\S01E01_H3_V01\\music\\OP_泉与归处\\OP_泉与归处_00001.mp3" +] \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/probe.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/probe.json new file mode 100644 index 0000000..4471b98 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/probe.json @@ -0,0 +1,65 @@ +{ + "streams": [ + { + "index": 0, + "codec_name": "mp3", + "codec_long_name": "MP3 (MPEG audio layer 3)", + "codec_type": "audio", + "codec_tag_string": "[0][0][0][0]", + "codec_tag": "0x0000", + "sample_fmt": "fltp", + "sample_rate": "48000", + "channels": 2, + "channel_layout": "stereo", + "bits_per_sample": 0, + "initial_padding": 0, + "r_frame_rate": "0/0", + "avg_frame_rate": "0/0", + "time_base": "1/14112000", + "start_pts": 324870, + "start_time": "0.023021", + "duration_ts": 1270418688, + "duration": "90.024000", + "bit_rate": "320000", + "disposition": { + "default": 0, + "dub": 0, + "original": 0, + "comment": 0, + "lyrics": 0, + "karaoke": 0, + "forced": 0, + "hearing_impaired": 0, + "visual_impaired": 0, + "clean_effects": 0, + "attached_pic": 0, + "timed_thumbnails": 0, + "captions": 0, + "descriptions": 0, + "metadata": 0, + "dependent": 0, + "still_image": 0 + }, + "tags": { + "encoder": "Lavf" + } + } + ], + "format": { + "filename": "F:\\project\\\u5c0f\u8bf4\u8bbe\u8ba1\\06_AI\u52a8\u6f2b\u5236\u4f5c\\05_\u751f\u4ea7\u7d20\u6750\\\u6b63\u7247\\S01E01_H3_V01\\music\\OP_\u6cc9\u4e0e\u5f52\u5904\\OP_\u6cc9\u4e0e\u5f52\u5904_00001.mp3", + "nb_streams": 1, + "nb_programs": 0, + "format_name": "mp3", + "format_long_name": "MP2/3 (MPEG audio layer 2/3)", + "start_time": "0.023021", + "duration": "90.024000", + "size": "3608501", + "bit_rate": "320670", + "probe_score": 51, + "tags": { + "prompt": "{\"1\": {\"class_type\": \"UNETLoader\", \"inputs\": {\"unet_name\": \"acestep_v1.5_turbo.safetensors\", \"weight_dtype\": \"default\"}}, \"2\": {\"class_type\": \"DualCLIPLoader\", \"inputs\": {\"clip_name1\": \"qwen_0.6b_ace15.safetensors\", \"clip_name2\": \"qwen_1.7b_ace15.safetensors\", \"type\": \"ace\", \"device\": \"default\"}}, \"3\": {\"class_type\": \"VAELoader\", \"inputs\": {\"vae_name\": \"ace_1.5_vae.safetensors\"}}, \"4\": {\"class_type\": \"ModelSamplingAuraFlow\", \"inputs\": {\"model\": [\"1\", 0], \"shift\": 3.0}}, \"5\": {\"class_type\": \"TextEncodeAceStepAudio1.5\", \"inputs\": {\"clip\": [\"2\", 0], \"tags\": \"instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums\", \"lyrics\": \"[Instrumental]\", \"seed\": 240142287226492, \"bpm\": 88, \"duration\": 90.0, \"timesignature\": \"4\", \"language\": \"unknown\", \"keyscale\": \"D major\", \"generate_audio_codes\": true, \"cfg_scale\": 2.0, \"temperature\": 0.85, \"top_p\": 0.9, \"top_k\": 0, \"min_p\": 0.0}}, \"6\": {\"class_type\": \"ConditioningZeroOut\", \"inputs\": {\"conditioning\": [\"5\", 0]}}, \"7\": {\"class_type\": \"EmptyAceStep1.5LatentAudio\", \"inputs\": {\"seconds\": 90.0, \"batch_size\": 1}}, \"8\": {\"class_type\": \"KSampler\", \"inputs\": {\"model\": [\"4\", 0], \"positive\": [\"5\", 0], \"negative\": [\"6\", 0], \"latent_image\": [\"7\", 0], \"seed\": 240142287226492, \"steps\": 8, \"cfg\": 1.0, \"sampler_name\": \"euler\", \"scheduler\": \"simple\", \"denoise\": 1.0}}, \"9\": {\"class_type\": \"VAEDecodeAudio\", \"inputs\": {\"samples\": [\"8\", 0], \"vae\": [\"3\", 0]}}, \"10\": {\"class_type\": \"SaveAudioMP3\", \"inputs\": {\"audio\": [\"9\", 0], \"filename_prefix\": \"hearthfire_episode_music/OP_\\u6cc9\\u4e0e\\u5f52\\u5904\", \"quality\": \"320k\"}}}", + "workflow": "{\"last_node_id\": 10, \"last_link_id\": 10, \"nodes\": [{\"id\": 1, \"type\": \"UNETLoader\", \"pos\": [40, 40], \"size\": [390, 300], \"flags\": {}, \"order\": 0, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [1]}], \"properties\": {\"Node name for S&R\": \"UNETLoader\"}, \"widgets_values\": [\"acestep_v1.5_turbo.safetensors\", \"default\"]}, {\"id\": 2, \"type\": \"DualCLIPLoader\", \"pos\": [40, 1150], \"size\": [390, 300], \"flags\": {}, \"order\": 1, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"CLIP\", \"type\": \"CLIP\", \"links\": [2]}], \"properties\": {\"Node name for S&R\": \"DualCLIPLoader\"}, \"widgets_values\": [\"qwen_0.6b_ace15.safetensors\", \"qwen_1.7b_ace15.safetensors\", \"ace\", \"default\"]}, {\"id\": 3, \"type\": \"VAELoader\", \"pos\": [40, 410], \"size\": [390, 300], \"flags\": {}, \"order\": 2, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"VAE\", \"type\": \"VAE\", \"links\": [9]}], \"properties\": {\"Node name for S&R\": \"VAELoader\"}, \"widgets_values\": [\"ace_1.5_vae.safetensors\"]}, {\"id\": 4, \"type\": \"ModelSamplingAuraFlow\", \"pos\": [550, 350], \"size\": [390, 300], \"flags\": {}, \"order\": 3, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 1}], \"outputs\": [{\"name\": \"MODEL\", \"type\": \"MODEL\", \"links\": [4]}], \"properties\": {\"Node name for S&R\": \"ModelSamplingAuraFlow\"}, \"widgets_values\": [3.0]}, {\"id\": 5, \"type\": \"TextEncodeAceStepAudio1.5\", \"pos\": [550, 720], \"size\": [390, 538], \"flags\": {}, \"order\": 4, \"mode\": 0, \"inputs\": [{\"name\": \"clip\", \"type\": \"CLIP\", \"link\": 2}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [3, 5]}], \"properties\": {\"Node name for S&R\": \"TextEncodeAceStepAudio1.5\"}, \"widgets_values\": [\"instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums\", \"[Instrumental]\", 240142287226492, \"fixed\", 88, 90.0, \"4\", \"unknown\", \"D major\", true, 2.0, 0.85, 0.9, 0, 0.0]}, {\"id\": 6, \"type\": \"ConditioningZeroOut\", \"pos\": [1060, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 5, \"mode\": 0, \"inputs\": [{\"name\": \"conditioning\", \"type\": \"CONDITIONING\", \"link\": 3}], \"outputs\": [{\"name\": \"CONDITIONING\", \"type\": \"CONDITIONING\", \"links\": [6]}], \"properties\": {\"Node name for S&R\": \"ConditioningZeroOut\"}, \"widgets_values\": []}, {\"id\": 7, \"type\": \"EmptyAceStep1.5LatentAudio\", \"pos\": [40, 780], \"size\": [390, 300], \"flags\": {}, \"order\": 6, \"mode\": 0, \"inputs\": [], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [7]}], \"properties\": {\"Node name for S&R\": \"EmptyAceStep1.5LatentAudio\"}, \"widgets_values\": [90.0, 1]}, {\"id\": 8, \"type\": \"KSampler\", \"pos\": [1570, 560], \"size\": [390, 370], \"flags\": {}, \"order\": 7, \"mode\": 0, \"inputs\": [{\"name\": \"model\", \"type\": \"MODEL\", \"link\": 4}, {\"name\": \"positive\", \"type\": \"CONDITIONING\", \"link\": 5}, {\"name\": \"negative\", \"type\": \"CONDITIONING\", \"link\": 6}, {\"name\": \"latent_image\", \"type\": \"LATENT\", \"link\": 7}], \"outputs\": [{\"name\": \"LATENT\", \"type\": \"LATENT\", \"links\": [8]}], \"properties\": {\"Node name for S&R\": \"KSampler\"}, \"widgets_values\": [240142287226492, \"fixed\", 8, 1.0, \"euler\", \"simple\", 1.0]}, {\"id\": 9, \"type\": \"VAEDecodeAudio\", \"pos\": [2080, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 8, \"mode\": 0, \"inputs\": [{\"name\": \"samples\", \"type\": \"LATENT\", \"link\": 8}, {\"name\": \"vae\", \"type\": \"VAE\", \"link\": 9}], \"outputs\": [{\"name\": \"AUDIO\", \"type\": \"AUDIO\", \"links\": [10]}], \"properties\": {\"Node name for S&R\": \"VAEDecodeAudio\"}, \"widgets_values\": []}, {\"id\": 10, \"type\": \"SaveAudioMP3\", \"pos\": [2590, 595], \"size\": [390, 300], \"flags\": {}, \"order\": 9, \"mode\": 0, \"inputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"link\": 10}], \"outputs\": [{\"name\": \"audio\", \"type\": \"AUDIO\", \"links\": []}], \"properties\": {\"Node name for S&R\": \"SaveAudioMP3\"}, \"widgets_values\": [\"hearthfire_episode_music/OP_\\u6cc9\\u4e0e\\u5f52\\u5904\", \"320k\"]}], \"links\": [[1, 1, 0, 4, 0, \"MODEL\"], [2, 2, 0, 5, 0, \"CLIP\"], [3, 5, 0, 6, 0, \"CONDITIONING\"], [4, 4, 0, 8, 0, \"MODEL\"], [5, 5, 0, 8, 1, \"CONDITIONING\"], [6, 6, 0, 8, 2, \"CONDITIONING\"], [7, 7, 0, 8, 3, \"LATENT\"], [8, 8, 0, 9, 0, \"LATENT\"], [9, 3, 0, 9, 1, \"VAE\"], [10, 9, 0, 10, 0, \"AUDIO\"]], \"groups\": [{\"title\": \"EP01 full episode - MiniMax H3 - native audio\", \"bounding\": [-5, -51, 3030, 1546], \"color\": \"#335159\", \"font_size\": 24}], \"config\": {}, \"extra\": {}, \"version\": 0.4}", + "encoder": "Lavf62.3.100" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/submission.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/submission.json new file mode 100644 index 0000000..715e8d0 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/submission.json @@ -0,0 +1,5 @@ +{ + "prompt_id": "d9e77145-0eff-4968-a3f8-415d9a19f232", + "number": 19, + "node_errors": {} +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/waveform.png b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/waveform.png new file mode 100644 index 0000000..b7a8a49 Binary files /dev/null and b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/waveform.png differ diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/workflow_api.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/workflow_api.json new file mode 100644 index 0000000..86e168b --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/workflow_api.json @@ -0,0 +1,124 @@ +{ + "1": { + "class_type": "UNETLoader", + "inputs": { + "unet_name": "acestep_v1.5_turbo.safetensors", + "weight_dtype": "default" + } + }, + "2": { + "class_type": "DualCLIPLoader", + "inputs": { + "clip_name1": "qwen_0.6b_ace15.safetensors", + "clip_name2": "qwen_1.7b_ace15.safetensors", + "type": "ace", + "device": "default" + } + }, + "3": { + "class_type": "VAELoader", + "inputs": { + "vae_name": "ace_1.5_vae.safetensors" + } + }, + "4": { + "class_type": "ModelSamplingAuraFlow", + "inputs": { + "model": [ + "1", + 0 + ], + "shift": 3.0 + } + }, + "5": { + "class_type": "TextEncodeAceStepAudio1.5", + "inputs": { + "clip": [ + "2", + 0 + ], + "tags": "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums", + "lyrics": "[Instrumental]", + "seed": 240142287226492, + "bpm": 88, + "duration": 90.0, + "timesignature": "4", + "language": "unknown", + "keyscale": "D major", + "generate_audio_codes": true, + "cfg_scale": 2.0, + "temperature": 0.85, + "top_p": 0.9, + "top_k": 0, + "min_p": 0.0 + } + }, + "6": { + "class_type": "ConditioningZeroOut", + "inputs": { + "conditioning": [ + "5", + 0 + ] + } + }, + "7": { + "class_type": "EmptyAceStep1.5LatentAudio", + "inputs": { + "seconds": 90.0, + "batch_size": 1 + } + }, + "8": { + "class_type": "KSampler", + "inputs": { + "model": [ + "4", + 0 + ], + "positive": [ + "5", + 0 + ], + "negative": [ + "6", + 0 + ], + "latent_image": [ + "7", + 0 + ], + "seed": 240142287226492, + "steps": 8, + "cfg": 1.0, + "sampler_name": "euler", + "scheduler": "simple", + "denoise": 1.0 + } + }, + "9": { + "class_type": "VAEDecodeAudio", + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "3", + 0 + ] + } + }, + "10": { + "class_type": "SaveAudioMP3", + "inputs": { + "audio": [ + "9", + 0 + ], + "filename_prefix": "hearthfire_episode_music/OP_泉与归处", + "quality": "320k" + } + } +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/workflow_gui.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/workflow_gui.json new file mode 100644 index 0000000..38d9729 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/workflow_gui.json @@ -0,0 +1,491 @@ +{ + "last_node_id": 10, + "last_link_id": 10, + "nodes": [ + { + "id": 1, + "type": "UNETLoader", + "pos": [ + 40, + 40 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader" + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 2, + "type": "DualCLIPLoader", + "pos": [ + 40, + 1150 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "DualCLIPLoader" + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 3, + "type": "VAELoader", + "pos": [ + 40, + 410 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader" + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 4, + "type": "ModelSamplingAuraFlow", + "pos": [ + 550, + 350 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3.0 + ] + }, + { + "id": 5, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 550, + 720 + ], + "size": [ + 390, + 538 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3, + 5 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums", + "[Instrumental]", + 240142287226492, + "fixed", + 88, + 90.0, + "4", + "unknown", + "D major", + true, + 2.0, + 0.85, + 0.9, + 0, + 0.0 + ] + }, + { + "id": 6, + "type": "ConditioningZeroOut", + "pos": [ + 1060, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 3 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 7, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + 40, + 780 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 90.0, + 1 + ] + }, + { + "id": 8, + "type": "KSampler", + "pos": [ + 1570, + 560 + ], + "size": [ + 390, + 370 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 4 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 5 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 6 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 7 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 8 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 240142287226492, + "fixed", + 8, + 1.0, + "euler", + "simple", + 1.0 + ] + }, + { + "id": 9, + "type": "VAEDecodeAudio", + "pos": [ + 2080, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 8 + }, + { + "name": "vae", + "type": "VAE", + "link": 9 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "SaveAudioMP3", + "pos": [ + 2590, + 595 + ], + "size": [ + 390, + 300 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 10 + } + ], + "outputs": [ + { + "name": "audio", + "type": "AUDIO", + "links": [] + } + ], + "properties": { + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "hearthfire_episode_music/OP_泉与归处", + "320k" + ] + } + ], + "links": [ + [ + 1, + 1, + 0, + 4, + 0, + "MODEL" + ], + [ + 2, + 2, + 0, + 5, + 0, + "CLIP" + ], + [ + 3, + 5, + 0, + 6, + 0, + "CONDITIONING" + ], + [ + 4, + 4, + 0, + 8, + 0, + "MODEL" + ], + [ + 5, + 5, + 0, + 8, + 1, + "CONDITIONING" + ], + [ + 6, + 6, + 0, + 8, + 2, + "CONDITIONING" + ], + [ + 7, + 7, + 0, + 8, + 3, + "LATENT" + ], + [ + 8, + 8, + 0, + 9, + 0, + "LATENT" + ], + [ + 9, + 3, + 0, + 9, + 1, + "VAE" + ], + [ + 10, + 9, + 0, + 10, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "title": "EP01 full episode - MiniMax H3 - native audio", + "bounding": [ + -5, + -51, + 3030, + 1546 + ], + "color": "#335159", + "font_size": 24 + } + ], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/cue_plan.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/cue_plan.json new file mode 100644 index 0000000..ae2eebe --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/cue_plan.json @@ -0,0 +1,30 @@ +[ + { + "id": "OP_泉与归处", + "seconds": 90, + "bpm": 88, + "key": "D major", + "tags": "instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums" + }, + { + "id": "ED_留给你的那一碗", + "seconds": 60, + "bpm": 68, + "key": "G major", + "tags": "instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion" + }, + { + "id": "BGM_晨光与日常", + "seconds": 120, + "bpm": 82, + "key": "D major", + "tags": "instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums" + }, + { + "id": "BGM_未被回答的问题", + "seconds": 120, + "bpm": 64, + "key": "B minor", + "tags": "instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion" + } +] \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/official_ace_step_1_5_split.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/official_ace_step_1_5_split.json new file mode 100644 index 0000000..4a04660 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/official_ace_step_1_5_split.json @@ -0,0 +1,732 @@ +{ + "id": "88ac5dad-efd7-40bb-84fe-fbaefdee1fa9", + "revision": 0, + "last_node_id": 108, + "last_link_id": 263, + "nodes": [ + { + "id": 104, + "type": "UNETLoader", + "pos": [ + -170, + -790 + ], + "size": [ + 380, + 82 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 260 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "UNETLoader", + "models": [ + { + "name": "acestep_v1.5_turbo.safetensors", + "url": "https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/diffusion_models/acestep_v1.5_turbo.safetensors", + "directory": "diffusion_models" + } + ] + }, + "widgets_values": [ + "acestep_v1.5_turbo.safetensors", + "default" + ] + }, + { + "id": 105, + "type": "DualCLIPLoader", + "pos": [ + -165, + -660 + ], + "size": [ + 380, + 130 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 261 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "DualCLIPLoader", + "models": [ + { + "name": "qwen_0.6b_ace15.safetensors", + "url": "https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/text_encoders/qwen_0.6b_ace15.safetensors", + "directory": "text_encoders" + }, + { + "name": "qwen_1.7b_ace15.safetensors", + "url": "https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/text_encoders/qwen_1.7b_ace15.safetensors", + "directory": "text_encoders" + } + ] + }, + "widgets_values": [ + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "ace", + "default" + ] + }, + { + "id": 106, + "type": "VAELoader", + "pos": [ + -165, + -470 + ], + "size": [ + 380, + 58 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 262 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "VAELoader", + "models": [ + { + "name": "ace_1.5_vae.safetensors", + "url": "https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/vae/ace_1.5_vae.safetensors", + "directory": "vae" + } + ] + }, + "widgets_values": [ + "ace_1.5_vae.safetensors" + ] + }, + { + "id": 102, + "type": "PrimitiveNode", + "pos": [ + -130, + -120 + ], + "size": [ + 268.39945903485034, + 82 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "INT", + "type": "INT", + "widget": { + "name": "seed" + }, + "links": [ + 257, + 258 + ] + } + ], + "title": "seed", + "properties": { + "Run widget replace on values": false + }, + "widgets_values": [ + 31, + "fixed" + ] + }, + { + "id": 99, + "type": "PrimitiveNode", + "pos": [ + -120, + -300 + ], + "size": [ + 278.97400302222843, + 82 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "FLOAT", + "type": "FLOAT", + "widget": { + "name": "seconds" + }, + "links": [ + 250, + 251 + ] + } + ], + "title": "Song Duration", + "properties": { + "Run widget replace on values": false + }, + "widgets_values": [ + 120, + "fixed" + ] + }, + { + "id": 98, + "type": "EmptyAceStep1.5LatentAudio", + "pos": [ + -150, + 10 + ], + "size": [ + 314.90390625, + 82 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "seconds", + "type": "FLOAT", + "widget": { + "name": "seconds" + }, + "link": 250 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 249 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "EmptyAceStep1.5LatentAudio" + }, + "widgets_values": [ + 120, + 1 + ] + }, + { + "id": 47, + "type": "ConditioningZeroOut", + "pos": [ + 670, + 50 + ], + "size": [ + 204.75, + 26 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 255 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 119 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 3, + "type": "KSampler", + "pos": [ + 930, + -680 + ], + "size": [ + 329.39477481889753, + 262 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 175 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 254 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 119 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 249 + }, + { + "name": "seed", + "type": "INT", + "widget": { + "name": "seed" + }, + "link": 258 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "slot_index": 0, + "links": [ + 256 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 31, + "fixed", + 8, + 1, + "euler", + "simple", + 1 + ] + }, + { + "id": 78, + "type": "ModelSamplingAuraFlow", + "pos": [ + 930, + -810 + ], + "size": [ + 329.39477481889753, + 60 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 260 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 175 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "ModelSamplingAuraFlow" + }, + "widgets_values": [ + 3 + ] + }, + { + "id": 18, + "type": "VAEDecodeAudio", + "pos": [ + 1280, + -800 + ], + "size": [ + 164.8375, + 46 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 256 + }, + { + "name": "vae", + "type": "VAE", + "link": 262 + } + ], + "outputs": [ + { + "name": "AUDIO", + "type": "AUDIO", + "links": [ + 263 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "VAEDecodeAudio" + }, + "widgets_values": [] + }, + { + "id": 107, + "type": "SaveAudioMP3", + "pos": [ + 1280, + -670 + ], + "size": [ + 700, + 136 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "audio", + "type": "AUDIO", + "link": 263 + } + ], + "outputs": [], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "SaveAudioMP3" + }, + "widgets_values": [ + "audio/ComfyUI", + "V0" + ] + }, + { + "id": 94, + "type": "TextEncodeAceStepAudio1.5", + "pos": [ + 270, + -790 + ], + "size": [ + 611.9184354063266, + 679.7643386829468 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 261 + }, + { + "name": "seed", + "type": "INT", + "widget": { + "name": "seed" + }, + "link": 257 + }, + { + "name": "duration", + "type": "FLOAT", + "widget": { + "name": "duration" + }, + "link": 251 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 254, + 255 + ] + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.11.1", + "Node name for S&R": "TextEncodeAceStepAudio1.5" + }, + "widgets_values": [ + "K-Pop: A slick, maximalist K-pop track that genre-hops with precision and style. The production shifts seamlessly between sections—a hard-hitting trap-influenced verse with rapid-fire rapping, a softer R&B pre-chorus with breathy vocals and lush harmonies, then an explosive, synth-driven pop chorus with an ear worm hook.", + "[Intro - Synth Rise & Vocal Chop]\nyeah—\nuh\nturn it up\n\n[Verse 1 - Trap Rap]\nClick-clack, camera flash, we don’t miss \nRun the board, every move calculated \nBig bass hit when I step in the frame \nToo fast, they can’t even say my name \n\nRadar locked, yeah I’m on that lane \nDrip so sharp, cut through champagne \nTalk cheap, but my sound heavyweight \nCountdown tickin’, watch me detonate \n\n[Verse 2 - Trap Rap]\n808 talk, let it shake the floor \nAll eyes on me when I hit that door \nToo bold, too cold, no rehearsal \nBuilt this crown from universal \n\nChain reaction when I breathe that fire \nOne line, whole room go higher \nNo pause, no fear, full ignition \nThis that global transmission \n\n[Pre-Chorus - R&B]\nPull me closer, slow it down \nHeartbeat under the sound \nWhen you whisper my name like that \nI forget where the edges are \n\nLights go low, voices melt \nEvery note just how I felt \nHold your breath, let it bloom \nSomething ’bout to break real soon \n\n[Chorus - Pop Explosion]\nBoom, boom, feel it in your chest \nWhen the beat drop, we the best \nHands up high, don’t overthink \nSay my name, make the whole world blink \n\nFlash, flash, colors collide \nWe don’t wait, we ignite \nRound and round, stuck in your brain \nThis that hook you won’t escape \n\n[Post-Chorus - Chant]\nHey! \nTurn it l\n", + 31, + "fixed", + 190, + 120, + "4", + "en", + "E minor" + ] + }, + { + "id": 108, + "type": "MarkdownNote", + "pos": [ + -730, + -830 + ], + "size": [ + 520, + 530 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "## Model Links\n\n- [Hugging Face:Comfy-Org/ace_step_1.5_ComfyUI_files](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files)\n- [ModelScope:Comfy-Org/ace_step_1.5_ComfyUI_files](https://modelscope.cn/models/Comfy-Org/ace_step_1.5_ComfyUI_files)\n\n**diffusion_models**\n\n- [acestep_v1.5_turbo.safetensors](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/diffusion_models/acestep_v1.5_turbo.safetensors) (4.46 GB)\n\n**text_encoders**\n\n- [qwen_0.6b_ace15.safetensors](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/text_encoders/qwen_0.6b_ace15.safetensors) (1.11 GB)\n- [qwen_1.7b_ace15.safetensors](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/text_encoders/qwen_1.7b_ace15.safetensors) (3.45 GB)\n\n**vae**\n\n- [ace_1.5_vae.safetensors](https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/split_files/vae/ace_1.5_vae.safetensors) (321.8 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ └── acestep_v1.5_turbo.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen_0.6b_ace15.safetensors\n│ │ └── qwen_1.7b_ace15.safetensors\n│ └── 📂 vae/\n│ └── ace_1.5_vae.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud will be updated after the stable release; nightly-supported models may not be included yet, please wait for the next stable release.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/Comfy-Org/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n" + ], + "color": "#222", + "bgcolor": "#000" + } + ], + "links": [ + [ + 119, + 47, + 0, + 3, + 2, + "CONDITIONING" + ], + [ + 175, + 78, + 0, + 3, + 0, + "MODEL" + ], + [ + 249, + 98, + 0, + 3, + 3, + "LATENT" + ], + [ + 250, + 99, + 0, + 98, + 0, + "FLOAT" + ], + [ + 251, + 99, + 0, + 94, + 2, + "FLOAT" + ], + [ + 254, + 94, + 0, + 3, + 1, + "CONDITIONING" + ], + [ + 255, + 94, + 0, + 47, + 0, + "CONDITIONING" + ], + [ + 256, + 3, + 0, + 18, + 0, + "LATENT" + ], + [ + 257, + 102, + 0, + 94, + 1, + "INT" + ], + [ + 258, + 102, + 0, + 3, + 4, + "INT" + ], + [ + 260, + 104, + 0, + 78, + 0, + "MODEL" + ], + [ + 261, + 105, + 0, + 94, + 0, + "CLIP" + ], + [ + 262, + 106, + 0, + 18, + 1, + "VAE" + ], + [ + 263, + 18, + 0, + 107, + 0, + "AUDIO" + ] + ], + "groups": [ + { + "id": 1, + "title": "Step 1 - Load Models", + "bounding": [ + -180, + -860, + 405, + 461.6 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + }, + { + "id": 2, + "title": "Step 2 - Duration", + "bounding": [ + -180, + -370, + 400, + 170 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + }, + { + "id": 3, + "title": "Step3 - Prompt", + "bounding": [ + 260, + -860, + 640, + 960 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + } + ], + "config": {}, + "extra": { + "ds": { + "scale": 0.5992758193607467, + "offset": [ + 881.9023825181996, + 1271.6978870460648 + ] + }, + "frontendVersion": "1.37.11", + "workflowRendererVersion": "LG", + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music_production.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music_production.py new file mode 100644 index 0000000..7e3f95a --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music_production.py @@ -0,0 +1,67 @@ +import sys,json,time,secrets,subprocess,os +from pathlib import Path +import requests +from production import ROOT,write,read,log,engine +MUSIC=ROOT/'music';MUSIC.mkdir(exist_ok=True) +CUES=[ + {'id':'OP_泉与归处','seconds':90,'bpm':88,'key':'D major','tags':'instrumental, lyrical orchestral anime opening, original melody, acoustic piano, delicate harp arpeggios, warm chamber strings, lyrical solo flute, 88 bpm, D major, tender curiosity becoming quiet determination, transparent natural concert-hall sound, soft introduction for twelve seconds, flowing melodic middle, brief warm lift near sixty seconds, resolved delicate ending, restrained dynamics, no vocals, no choir, no drums'}, + {'id':'ED_留给你的那一碗','seconds':60,'bpm':68,'key':'G major','tags':'instrumental, intimate lyrical anime ending, original melody, soft felt piano, solo cello, very light harp, 68 bpm, G major, bittersweet but reassuring, a quiet ordinary home waiting for someone, spacious phrasing and audible breath between phrases, gentle six-eight lilt, soft resolved ending with a natural piano decay, no vocals, no choir, no percussion'}, + {'id':'BGM_晨光与日常','seconds':120,'bpm':82,'key':'D major','tags':'instrumental, understated chamber acoustic anime slice-of-life underscore, original melody, piano, soft pizzicato cello, flute, 82 bpm, D major, practical kindness and small everyday mishaps, transparent sparse arrangement, gentle playful grace without comedy stingers, consistent low intensity, no vocals, no choir, no heavy drums'}, + {'id':'BGM_未被回答的问题','seconds':120,'bpm':64,'key':'B minor','tags':'instrumental, restrained emotional chamber anime underscore, original melody, soft piano and warm low strings, 64 bpm, B minor moving toward D major, quiet disappointment and someone choosing to continue everyday life, widely spaced piano notes, no climactic swell, no heroic march, natural room resonance, thin unobtrusive arrangement for dialogue, no vocals, no choir, no percussion'} +] +def produce(cue): + f=MUSIC/cue['id'];f.mkdir(exist_ok=True) + if (f/'outputs.json').exists():return + schema=engine.get('/object_info');seed=secrets.randbelow(2**48);g={} + def n(i,c,**kw):g[str(i)]={'class_type':c,'inputs':kw} + n(1,'UNETLoader',unet_name='acestep_v1.5_turbo.safetensors',weight_dtype='default') + n(2,'DualCLIPLoader',clip_name1='qwen_0.6b_ace15.safetensors',clip_name2='qwen_1.7b_ace15.safetensors',type='ace',device='default') + n(3,'VAELoader',vae_name='ace_1.5_vae.safetensors') + n(4,'ModelSamplingAuraFlow',model=['1',0],shift=3.0) + n(5,'TextEncodeAceStepAudio1.5',clip=['2',0],tags=cue['tags'],lyrics='[Instrumental]',seed=seed,bpm=cue['bpm'],duration=float(cue['seconds']),timesignature='4',language='unknown',keyscale=cue['key'],generate_audio_codes=True,cfg_scale=2.0,temperature=.85,top_p=.9,top_k=0,min_p=0.0) + n(6,'ConditioningZeroOut',conditioning=['5',0]) + n(7,'EmptyAceStep1.5LatentAudio',seconds=float(cue['seconds']),batch_size=1) + n(8,'KSampler',model=['4',0],positive=['5',0],negative=['6',0],latent_image=['7',0],seed=seed,steps=8,cfg=1.0,sampler_name='euler',scheduler='simple',denoise=1.0) + n(9,'VAEDecodeAudio',samples=['8',0],vae=['3',0]) + n(10,'SaveAudioMP3',audio=['9',0],filename_prefix='hearthfire_episode_music/'+cue['id'],quality='320k') + for node in g.values(): + assert node['class_type'] in schema + assert set(schema[node['class_type']]['input'].get('required',{}))<=node['inputs'].keys() + ui=engine.make_ui(g,schema);write(f/'workflow_gui.json',ui);write(f/'workflow_api.json',g);write(f/'brief.json',cue) + q=engine.get('/queue');assert not q['queue_running'] and not q['queue_pending'] + requests.post(engine.BASE+'/free',json={'unload_models':True,'free_memory':True},timeout=60).raise_for_status();time.sleep(2) + r=requests.post(engine.BASE+'/prompt',json={'prompt':g,'client_id':'EP01_SCORE','extra_data':{'extra_pnginfo':{'workflow':ui}}},timeout=60) + write(f/'submission.json',r.json());r.raise_for_status();pid=r.json()['prompt_id'] + write(f/'job.json',{'prompt_id':pid,'seed':seed,'cue':cue}) + with (ROOT/'job_ids.txt').open('a',encoding='utf-8') as out:out.write(cue['id']+'\t'+pid+'\n') + log('music_submit',cue=cue['id'],prompt_id=pid) + while True: + h=engine.get('/history/'+pid).get(pid) + if h:break + time.sleep(15) + write(f/'history.json',h) + assert h['status']['status_str']=='success',str(h['status']) + outputs=[] + for output in h['outputs'].values(): + for entries in output.values(): + if not isinstance(entries,list):continue + for e in entries: + if not isinstance(e,dict) or not e.get('filename','').endswith(('.mp3','.wav','.flac')):continue + d=requests.get(engine.BASE+'/view',params={k:e[k] for k in ('filename','subfolder','type')},timeout=180);d.raise_for_status();dest=f/e['filename'];dest.write_bytes(d.content);outputs.append(str(dest)) + assert outputs;write(f/'outputs.json',outputs);log('music_rendered',cue=cue['id'],outputs=outputs) + +if __name__=='__main__': + write(MUSIC/'cue_plan.json',CUES) + try: + while 'worker_stopped_after_current' not in (ROOT/'LOG.md').read_text(encoding='utf-8')[-1000:]:time.sleep(10) + while True: + q=engine.get('/queue') + if not q['queue_running'] and not q['queue_pending']:break + time.sleep(20) + for cue in CUES:produce(cue) + except Exception as e:log('music_error',error=str(e)) + finally: + (ROOT/'STOP_AFTER_CURRENT').unlink(missing_ok=True) + with (ROOT/'worker_stdout.log').open('a',encoding='utf-8') as out, (ROOT/'worker_stderr.log').open('a',encoding='utf-8') as err: + p=subprocess.Popen([sys.executable,'-u',str(ROOT/'production.py'),'work'],cwd=ROOT,stdout=out,stderr=err,creationflags=subprocess.CREATE_NO_WINDOW) + log('video_worker_resumed',pid=p.pid) diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/prepare_visitors.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/prepare_visitors.py new file mode 100644 index 0000000..1b19ec0 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/prepare_visitors.py @@ -0,0 +1,37 @@ +import json,pathlib,shutil,sys +ROOT=pathlib.Path(__file__).parent +MAN=pathlib.Path(r'F:\project\小说设计\06_AI动漫制作\03_分镜与镜头\S01E01_V05_制作包\08_镜头任务数据.json') +D=json.loads(MAN.read_text(encoding='utf-8-sig')) +SCENES=[8,9,10,11,13,14,15,18,19,20,21] +VOICES={'ELIAN':'(S1), Elian age15, gentle slightly dry low-mid adolescent male Mandarin voice','MATTHIAS':'(S2), Matthias age60, warm low baritone with mild age rasp','LUCIAN':'(S3), Lucian age14, bright middle-high adolescent male Mandarin voice, restrained confidence, never shouting','ADA':'(S4), Ada age13, gentle clear adolescent female middle register Mandarin voice, not babyish','CLERIC':'(S5), cleric age40, level clear professional restrained Mandarin male baritone','RAYMOND':'(S6), Raymond age43, calm resonant low male Mandarin voice, a reserved caring father','VIOLA':'(S7), Viola mature adult female Mandarin voice, calm controlled middle-low register, not childish','TOK':'(S8), Tok adult goblin male Mandarin voice, earthy practical mid register','CLERK':'(S9), adult goblin clerk male Mandarin voice, practical quiet mid register'} +STYLE='Fine hand-drawn 2D anime, delicate colored lines, clean cel shading, richly painted natural backgrounds, luminous light, restrained emotional acting. Preserve exact identities, ages, costumes, props and geography from the first frame. No subtitles or invented text. No 3D, no facial drift, no rubber limbs. ' +def shot(id):return next(s for s in D['shots'] if s['id']==id) +def prompt(s): + actions=json.loads((ROOT/'visitors_actions.json').read_text(encoding='utf8')) + action=actions[str(s['scene'])][int(s['id'].split('-C')[-1])-1] + dias=[d for d in D['dialogue'] if d['shot']==s['id']] + speech=[] + for i,d in enumerate(dias): + t=0.35+i*(s['seconds']-.85)/len(dias) + off=d['off'] or any(x in s['framing'] for x in ['纸页','手近景','盘与手','特写','肩后盘面']) or (s['id']=='E01-S20-C07' and d['speaker']=='LUCIAN') + voice=VOICES.get(d['speaker'],d['speaker']+', natural adult Mandarin voice') + speech.append(f"At {t:.2f} seconds, {voice} "+('says in an off-screen voiceover, any visible lips stay closed except the next designated speaker: ' if off else 'speaks naturally with subtle mouth movement only during own line: ')+f"[Chinese] {d['text']} Finish line by {0.35+(i+1)*(s['seconds']-.85)/len(dias):.2f} seconds.") + if not dias:speech=['No spoken words, no vocal improvisation. Visible characters keep lips closed.'] + ambience='Quiet room tone, subtle cloth rustles and natural small hand-object contact sounds. No audible crowd words.' + if s['scene'] in [8,11,14]:ambience='Gentle outdoor air, restrained hoofbeats and leather creaks when horses move, light cloth rustle. No audible crowd words.' + if s['scene']==13:ambience='Quiet grain depot, soft sack movement, footsteps and distant wheel creak. No audible crowd words.' + if s['scene']==15:ambience='Light outdoor wind, quiet water trickle by garden, soft wood creak and footsteps; subdued room tone inside store.' + return 'For the target video, at 0.00 seconds into the target video, (from [Shot 1]) is fully referenced.\n\nintegrated_multimodal_description: [Shot 1] '+STYLE+' '.join(speech)+f" Dialogue begins immediately, acting happens while speaking. One continuous shot lasting {s['seconds']} seconds. "+action+' Preserve established screen direction and window-light direction. Listeners keep mouths closed. Perform only motivated small movement, eyes lead head and weight leads steps, natural pauses. No one gains new powers; Elian has no magical circuits and no glow. Do not delay speech for preliminary actions.\n\noverall_soundscape: '+ambience+' No extra dialogue, no singing, no music.\n\nnon_diegetic_music: None.' +def complete(id,source,note,image_prompt=''): + s=shot(id); out=ROOT/'shots'/id;out.mkdir(parents=True,exist_ok=True) + dst=out/'first.png';shutil.copy2(source,dst) + if image_prompt:(out/'image_prompt.txt').write_text(image_prompt,encoding='utf8') + p=prompt(s);(out/'prompt.txt').write_text(p,encoding='utf8') + ready=dict(id=id,scene=s['scene'],seconds=max(5,s['seconds']),edit_seconds=s['seconds'],image=str(dst),prompt=p,dialogue_ids=s['dialogue_ids'],frame_qc=dict(passed=True,notes=note)) + tmp=out/'ready.tmp';tmp.write_text(json.dumps(ready,ensure_ascii=False,indent=2),encoding='utf8');tmp.replace(out/'ready.json') + print(id+' ready') +if __name__=='__main__': + if sys.argv[1]=='ready':complete(sys.argv[2],sys.argv[3],sys.argv[4],pathlib.Path(sys.argv[5]).read_text(encoding='utf8') if len(sys.argv)>5 else '') + elif sys.argv[1]=='list': + for s in D['shots']: + if s['scene'] in SCENES:print(s['id'],s['seconds'],s['framing'],s['action_performance']) diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/production.py b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/production.py new file mode 100644 index 0000000..7032bd9 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/production.py @@ -0,0 +1,111 @@ +"""Recoverable single-GPU episode production. No global queue interruption.""" +import json, os, sys, time, traceback, subprocess, shutil +from pathlib import Path +from datetime import datetime + +ROOT=Path(__file__).resolve().parent +PROJECT=ROOT.parents[2] +SOURCE=PROJECT/'03_分镜与镜头/S01E01_V05_制作包/08_镜头任务数据.json' +SAMPLE=PROJECT/'05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01' +FFMPEG=Path('C:/Users/zhang/.codex/tools/media-bin/ffmpeg.exe') +FFPROBE=FFMPEG.with_name('ffprobe.exe') +sys.path.insert(0,str(ROOT)); import h3_engine as engine +engine.HERE=ROOT/'shots' + +def read(p): return json.loads(p.read_text(encoding='utf-8-sig')) +def write(p,d): + p.parent.mkdir(parents=True,exist_ok=True) + tmp=p.with_suffix(p.suffix+'.tmp') + tmp.write_text(json.dumps(d,ensure_ascii=False,indent=2),encoding='utf-8') + tmp.replace(p) +def log(event,**data): + entry={'at':datetime.now().astimezone().isoformat(),'event':event,**data} + with (ROOT/'LOG.md').open('a',encoding='utf-8') as f: f.write(json.dumps(entry,ensure_ascii=False)+'\n') + print(json.dumps(entry,ensure_ascii=False),flush=True) +def cmd(args): + p=subprocess.run([str(x) for x in args],capture_output=True,encoding='utf-8',errors='replace') + if p.returncode: raise RuntimeError(p.stderr[-4000:]) + return p.stdout +def probe(src): return json.loads(cmd([FFPROBE,'-v','error','-show_streams','-show_format','-of','json',src])) +def media_qc(folder,src,seconds): + info=probe(src); write(folder/'probe.json',info) + video=next(s for s in info['streams'] if s['codec_type']=='video') + audio=next((s for s in info['streams'] if s['codec_type']=='audio'),None) + duration=float(info['format']['duration']) + assert duration>=seconds-.08,(duration,seconds) + assert audio, 'Missing native H3 audio' + assert video['width']>=900 and video['height']>=500 + cmd([FFMPEG,'-hide_banner','-loglevel','error','-y','-i',src,'-vf',f'fps=1/{max(duration/8,.1)},scale=480:-1,tile=4x2','-frames:v',1,folder/'review.jpg']) + write(folder/'media_qc.json',{'duration':duration,'width':video['width'],'height':video['height'],'fps':video.get('avg_frame_rate'),'audio':True,'technical_pass':True,'visual_review':'pending','dialogue_review':'pending'}) + return info +def status(manifest): + counts={}; rows=[] + for s in manifest['shots']: + folder=ROOT/'shots'/s['id'] + state='awaiting_first_frame' + if (folder/'ready.json').exists(): state='ready' + if (folder/'job.json').exists(): state='submitted' + if (folder/'error.json').exists(): state='error' + if (folder/'outputs.json').exists(): state='rendered_awaiting_qc' + if (folder/'accepted.json').exists(): state='accepted' + counts[state]=counts.get(state,0)+1 + rows.append({'id':s['id'],'scene':s['scene'],'seconds':s['seconds'],'state':state}) + result={'updated_at':datetime.now().astimezone().isoformat(),'body_seconds':1290,'program_target_seconds':1440,'counts':counts,'shots':rows} + write(ROOT/'status.json',result);return result +def initialize(): + manifest=read(SOURCE); write(ROOT/'source_manifest.json',manifest) + # Import the already-reviewed scene without rerendering or changing its timing. + images=['C01_chapel_first.png','C02_prayer_first.png','C03_ripple_first.png','C04_adele_first.png','C05_wait_first.png','C06_care_first.png','C07_continuation_first.png','C08_report_first.png'] + for i,s in enumerate(x for x in manifest['shots'] if x['scene']==6): + folder=ROOT/'shots'/s['id']; folder.mkdir(parents=True,exist_ok=True) + source_folder=SAMPLE/('C03R2' if i==2 else f'C{i+1:02}') + source=source_folder/'light_controlled.mp4' if i==2 else Path(read(source_folder/'outputs.json')[0]) + write(folder/'outputs.json',[str(source)]) + write(folder/'accepted.json',{'accepted':True,'source':'previous SC06 sample visual inspection and speech ASR','edit_seconds':s['seconds'],'stabilized_effect_insert':i==2}) + write(folder/'reuse.json',{'source':str(source),'image':str(SAMPLE/images[i]),'raw_job':str(source_folder/'job.json')}) + status(manifest) + log('initialize',body_shots=len(manifest['shots']),reused_scene=6) +def work(): + manifest=read(ROOT/'source_manifest.json') + (ROOT/'worker.pid').write_text(str(os.getpid()),encoding='ascii') + log('worker_started',pid=os.getpid()) + while not (ROOT/'STOP_AFTER_CURRENT').exists(): + progress=status(manifest) + ready=[] + for s in manifest['shots']: + f=ROOT/'shots'/s['id'] + if (f/'ready.json').exists() and not (f/'outputs.json').exists() and not (f/'error.json').exists(): ready.append(f) + if not ready: + if all((ROOT/'shots'/s['id']/'outputs.json').exists() for s in manifest['shots']): + log('all_body_shots_rendered_pending_visual_audio_qc'); return + time.sleep(20);continue + folder=ready[0]; shot=read(folder/'ready.json') + try: + assert shot['frame_qc']['passed'] is True + assert Path(shot['image']).is_file() + previous=read(folder/'job.json') if (folder/'job.json').exists() else None + own_active=False + if previous: + q=engine.get('/queue');own_active=any(x[1]==previous['prompt_id'] for x in q['queue_running']+q['queue_pending']) + if not own_active: + q=engine.get('/queue') + if q['queue_running'] or q['queue_pending']: time.sleep(20);continue + job=engine.submit(shot) + if not previous or previous['prompt_id']!=job['prompt_id']: + with (ROOT/'job_ids.txt').open('a',encoding='utf-8') as f: f.write(f"{shot['id']}\t{job['prompt_id']}\t{datetime.now().isoformat()}\n") + log('submit',shot=shot['id'],prompt_id=job['prompt_id'],seconds=shot['seconds']) + write(ROOT/'current_job.json',job) + while not engine.collect(shot['id']): time.sleep(25) + source=Path(read(folder/'outputs.json')[0]);media_qc(folder,source,shot['edit_seconds']) + log('rendered',shot=shot['id'],source=str(source),visual_review='pending') + except Exception as e: + write(folder/'error.json',{'error':str(e),'traceback':traceback.format_exc(),'at':datetime.now().isoformat()}) + log('error',shot=shot['id'],error=str(e)) + # Fail isolated: no job deletion, no server restart, next independent ready shot can proceed. + status(manifest) + log('worker_stopped_after_current') + +if __name__=='__main__': + if sys.argv[1]=='init': initialize() + elif sys.argv[1]=='work': work() + elif sys.argv[1]=='status': print(json.dumps(status(read(ROOT/'source_manifest.json')),ensure_ascii=False)) diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/recovered_assets_manifest.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/recovered_assets_manifest.json new file mode 100644 index 0000000..8360b19 --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/recovered_assets_manifest.json @@ -0,0 +1,3961 @@ +{ + "source_thread_id": "01a0ea08-3ade-7d80-af62-38540d47f5c3", + "source_thread_title": "用 H3 制作动漫首集 40 秒样片", + "recovery_checked_on": "2026-09-29", + "note": "对话报错中断后后台生产已将文件保存到本地。本次核对服务器内容与本地 SHA-256,未发现缺失下载。仅检查与索引,未启动新生成。", + "registered_shots": [ + { + "shot_id": "E01-S01-C01", + "scene": 1, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C01/E01-S01-C01_V01_00002_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C01/review.jpg", + "prior_review_record": true + }, + { + "shot_id": "E01-S01-C02", + "scene": 1, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C02/E01-S01-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C02/review.jpg", + "prior_review_record": true + }, + { + "shot_id": "E01-S01-C03", + "scene": 1, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C03/E01-S01-C03_V01_00002_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C03/review.jpg", + "prior_review_record": true + }, + { + "shot_id": "E01-S01-C04", + "scene": 1, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C04/E01-S01-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C04/review.jpg", + "prior_review_record": true + }, + { + "shot_id": "E01-S01-C05", + "scene": 1, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C05/E01-S01-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C05/review.jpg", + "prior_review_record": true + }, + { + "shot_id": "E01-S01-C06", + "scene": 1, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C06/E01-S01-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C01", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C01/E01-S02-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C02", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C02/E01-S02-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C03", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C03/E01-S02-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C04", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C04/E01-S02-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C05", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C05/E01-S02-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C06", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C06/E01-S02-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C07", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C07/E01-S02-C07_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C07/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C07/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C08", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C08/E01-S02-C08_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C08/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C08/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C09", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C09/E01-S02-C09_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C09/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C09/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C10", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C10/E01-S02-C10_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C10/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C10/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C11", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C11/E01-S02-C11_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C11/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C11/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S02-C12", + "scene": 2, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C12/E01-S02-C12_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C12/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C12/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S03-C01", + "scene": 3, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C01/E01-S03-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S03-C02", + "scene": 3, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C02/E01-S03-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S03-C03", + "scene": 3, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C03/E01-S03-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S03-C04", + "scene": 3, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C04/E01-S03-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S03-C05", + "scene": 3, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C05/E01-S03-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S04-C01", + "scene": 4, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C01/E01-S04-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S04-C02", + "scene": 4, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C02/E01-S04-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S04-C03", + "scene": 4, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C03/E01-S04-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S04-C04", + "scene": 4, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C04/E01-S04-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S05-C01", + "scene": 5, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C01/E01-S05-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S05-C02", + "scene": 5, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C02/E01-S05-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S05-C03", + "scene": 5, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C03/E01-S05-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S05-C04", + "scene": 5, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C04/E01-S05-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S05-C05", + "scene": 5, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C05/E01-S05-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S05-C06", + "scene": 5, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C06/E01-S05-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S06-C01", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C01/EP01_SC06_C01_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C02", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C02/EP01_SC06_C02_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C03", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C03R2/light_controlled.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C04", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C04/EP01_SC06_C04_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C05", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C05/EP01_SC06_C05_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C06", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C06/EP01_SC06_C06_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C07", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C07/EP01_SC06_C07_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S06-C08", + "scene": 6, + "videos": [ + "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C08/EP01_SC06_C08_V01_00001_.mp4" + ], + "first_frame": null, + "review": null, + "prior_review_record": true + }, + { + "shot_id": "E01-S07-C01", + "scene": 7, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C01/E01-S07-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S07-C02", + "scene": 7, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C02/E01-S07-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S07-C03", + "scene": 7, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C03/E01-S07-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S07-C04", + "scene": 7, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C04/E01-S07-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S07-C05", + "scene": 7, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C05/E01-S07-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S07-C06", + "scene": 7, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C06/E01-S07-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C01", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C01/E01-S08-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C02", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C02/E01-S08-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C03", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C03/E01-S08-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C04", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C04/E01-S08-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C05", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C05/E01-S08-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C06", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C06/E01-S08-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C07", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C07/E01-S08-C07_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C07/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C07/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C08", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C08/E01-S08-C08_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C08/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C08/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S08-C09", + "scene": 8, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C09/E01-S08-C09_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C09/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C09/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C01", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C01/E01-S09-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C02", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C02/E01-S09-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C03", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C03/E01-S09-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C04", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C04/E01-S09-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C05", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C05/E01-S09-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C06", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C06/E01-S09-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C07", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C07/E01-S09-C07_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C07/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C07/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C08", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C08/E01-S09-C08_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C08/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C08/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C09", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C09/E01-S09-C09_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C09/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C09/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C10", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C10/E01-S09-C10_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C10/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C10/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C11", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C11/E01-S09-C11_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C11/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C11/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C12", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C12/E01-S09-C12_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C12/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C12/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S09-C13", + "scene": 9, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C13/E01-S09-C13_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C13/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C13/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C01", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C01/E01-S10-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C02", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C02/E01-S10-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C02/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C03", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C03/E01-S10-C03_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C03/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C03/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C04", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C04/E01-S10-C04_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C04/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C04/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C05", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C05/E01-S10-C05_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C05/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C05/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C06", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C06/E01-S10-C06_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C06/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C06/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C07", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C07/E01-S10-C07_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C07/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C07/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S10-C08", + "scene": 10, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C08/E01-S10-C08_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C08/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C08/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S12-C01", + "scene": 12, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C01/E01-S12-C01_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C01/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C01/review.jpg", + "prior_review_record": false + }, + { + "shot_id": "E01-S12-C02", + "scene": 12, + "videos": [ + "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C02/E01-S12-C02_V01_00001_.mp4" + ], + "first_frame": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C02/first.png", + "review": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C02/review.jpg", + "prior_review_record": false + } + ], + "verified_server_outputs": [ + { + "source": { + "filename": "2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V01_00001.mp4", + "subfolder": "hearthfire_tests", + "type": "output" + }, + "prompt_ids": [ + "34f70d93-178a-43f5-9308-114f607e6b36" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_男主收手机/2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V01_00001.mp4", + "bytes": 1179360, + "sha256": "a377ba5eaf43089f77410967a56671e9e132da579a38bd49d32df26c69b2cefb", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 1024, + "height": 576 + } + ], + "format": { + "duration": "6.041667" + } + } + }, + { + "source": { + "filename": "2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V02_00001.mp4", + "subfolder": "hearthfire_tests", + "type": "output" + }, + "prompt_ids": [ + "59e817ba-001e-4dcd-be96-464f4640d1ab" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_男主收手机/V02_放下手机/2026-09-29_EP01_LOCKER_PHONE_WAN22_5B_V02_00001.mp4", + "bytes": 1324970, + "sha256": "4d96db5cd21dac9dada56c0f346c2420aa36b6e747b7455d7b5f2461433708e1", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 1024, + "height": 576 + } + ], + "format": { + "duration": "6.041667" + } + } + }, + { + "source": { + "filename": "2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V03_00001.mp4", + "subfolder": "hearthfire_tests", + "type": "output" + }, + "prompt_ids": [ + "f6c0810f-5a8a-49eb-8633-4b0c8ba0eeb2" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_男主收手机/V03_14B_无LoRA诊断/2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V03_00001.mp4", + "bytes": 435468, + "sha256": "9bd20c5e513378d33d58eaea36a7638168e9ecca71d256a6ccbe8275a88b5ac2", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 768, + "height": 432 + } + ], + "format": { + "duration": "3.062500" + } + } + }, + { + "source": { + "filename": "2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V04_00001.mp4", + "subfolder": "hearthfire_tests", + "type": "output" + }, + "prompt_ids": [ + "9da75712-dfc8-431c-9c47-6221be7ed021" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_男主收手机/V04_14B_画质对比/2026-09-29_EP01_LOCKER_PHONE_WAN22_14B_NO_LORA_V04_00001.mp4", + "bytes": 792278, + "sha256": "22fa292e424e82b126d29c3c82d4f9e75362890c98b84c0b802fc25058e2c1a2", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 1024, + "height": 576 + } + ], + "format": { + "duration": "5.062500" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C02_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "5fb37cc0-c25c-407b-adef-03757c6e9c44" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C02/EP01_SC06_C02_V01_00001_.mp4", + "bytes": 809814, + "sha256": "1983892905cf7a5e1d81be54a8828afc57d59a42848f0424093e06eebd6dcf31", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C03_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "a56f81ea-3c98-46da-bc2f-e7b901f75827" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C03/EP01_SC06_C03_V01_00001_.mp4", + "bytes": 941825, + "sha256": "0645cf29f26f747c9364c4fd67492aef36b7d541f7b0871a4d85dca10a9b57bf", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C05_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "050f1f2a-9b9e-4dc3-b7bf-a60725c4cbe4" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C05/EP01_SC06_C05_V01_00001_.mp4", + "bytes": 1022226, + "sha256": "c38250b5266e4f4ec7672a1a8cc171cd14047071fc8e238ff398d526e0d5f7b2", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C01_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "3833e5cd-1e50-40df-98c5-ddef23864a29" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C01/EP01_SC06_C01_V01_00001_.mp4", + "bytes": 865933, + "sha256": "7cc8f9aac64ad5c531e579a84de8fc039c9c521acae4154c91bb7c1ac14a4fae", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C04_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "339e26d2-eeb8-40b9-9e80-728411f64edd" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C04/EP01_SC06_C04_V01_00001_.mp4", + "bytes": 654433, + "sha256": "6efc9e3f5130d40b32cd0840d5c4810016e77f502c96ea6ccf0a55afc7b912df", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C06_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "f07d2e11-9648-4d56-bb15-2e86998b3fde" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C06/EP01_SC06_C06_V01_00001_.mp4", + "bytes": 808230, + "sha256": "3e06dcdf2fd876e73b2405353b830153b432db4ee68bb554515a0cc43bb6a9cb", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C07_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "1e8e45a8-02c7-460c-983b-0742397781eb" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C07/EP01_SC06_C07_V01_00001_.mp4", + "bytes": 1224266, + "sha256": "f71d137c7b0a4978548b03b73a11c5d4906f02610e51de86d8bb1705e5807609", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583008" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C08_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "4a1f052b-dbbb-436d-8ec4-e2b8f0d40f9c" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C08/EP01_SC06_C08_V01_00001_.mp4", + "bytes": 932861, + "sha256": "997cb1ea1a14dcbaf0c7d2d7531ebf7da0dff07abc544142cc7d6f5860be9948", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "EP01_SC06_C03R2_V01_00001_.mp4", + "subfolder": "hearthfire_h3", + "type": "output" + }, + "prompt_ids": [ + "2536949e-c355-4c02-b1d5-98e43117c66b" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_SC06_40秒_V01/C03R2/EP01_SC06_C03R2_V01_00001_.mp4", + "bytes": 1019196, + "sha256": "c010315c37be5b109024c66aa1875e6ed5c6e63d72dd5a6a74c052681ef6bdbd", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S01-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "5dceee7c-ef9e-4b1e-a9a9-b08e1b4d36b8" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C01/E01-S01-C01_V01_00001_.mp4", + "bytes": 968016, + "sha256": "2a9fb90b2bb955db44168762ac255f036975febd0ab7e8660b33bf196f6a4adf", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S04-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "6b3cdd51-5b3e-4de3-b320-10aa447de303" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C01/E01-S04-C01_V01_00001_.mp4", + "bytes": 923538, + "sha256": "c6dd477c918c3bdf700bb0a79fb6e671f957c961d47163c9edfe29f74834e08d", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "OP_泉与归处_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + }, + "prompt_ids": [ + "d9e77145-0eff-4968-a3f8-415d9a19f232" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/OP_泉与归处/OP_泉与归处_00001.mp3", + "bytes": 3608501, + "sha256": "d240b07019c68e7d0d8dc49de3ade51e20b23ac4572e35564aefe23243fde5f8", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "mp3", + "codec_type": "audio" + } + ], + "format": { + "duration": "90.024000" + } + } + }, + { + "source": { + "filename": "ED_留给你的那一碗_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + }, + "prompt_ids": [ + "0942ce8b-bb16-424a-9280-66979229ba87" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/ED_留给你的那一碗/ED_留给你的那一碗_00001.mp3", + "bytes": 2408397, + "sha256": "79c01bcd84034f7390b592bf6ffa82304981c3df15c85aeb576da370f668e31f", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "mp3", + "codec_type": "audio" + } + ], + "format": { + "duration": "60.024000" + } + } + }, + { + "source": { + "filename": "BGM_晨光与日常_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + }, + "prompt_ids": [ + "8c0d139c-ba93-4aaf-9b64-6ba7b97562a1" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_晨光与日常/BGM_晨光与日常_00001.mp3", + "bytes": 4808325, + "sha256": "1df11c86ed86859d428ff8452f501f2ac96951933cd17a1f6e1e49d844efae38", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "mp3", + "codec_type": "audio" + } + ], + "format": { + "duration": "120.024000" + } + } + }, + { + "source": { + "filename": "BGM_未被回答的问题_00001.mp3", + "subfolder": "hearthfire_episode_music", + "type": "output" + }, + "prompt_ids": [ + "5a968219-8656-4692-83f2-53c17b81fa41" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/music/BGM_未被回答的问题/BGM_未被回答的问题_00001.mp3", + "bytes": 4808459, + "sha256": "cda2caad20d91d11ea89b13557d23f57cc1f3f7061cc44f31fba9e1c85a6baee", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "mp3", + "codec_type": "audio" + } + ], + "format": { + "duration": "120.024000" + } + } + }, + { + "source": { + "filename": "E01-S01-C01_V01_00002_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "2245ce9b-77b2-4467-8c04-5c27c0e718e9" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C01/E01-S01-C01_V01_00002_.mp4", + "bytes": 1251240, + "sha256": "df20e45ac4e67cce14f27fd8ae9e606f498650d753f254221cbb527df6fa18fd", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S01-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "beb45f6a-8f6f-4180-91e5-bdfbe14f2c49" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C02/E01-S01-C02_V01_00001_.mp4", + "bytes": 720984, + "sha256": "6fe26264a8fadc57bedd87675b551978669b2d31419e4768ab755264deeabb90", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S01-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "51db9872-f1c1-428b-84ad-ba2e3315a548" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C03/E01-S01-C03_V01_00001_.mp4", + "bytes": 980978, + "sha256": "8af2d7eb36796e568a37d616d8b3ae3c0e856706ce6b28796a6adde962839b0b", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S01-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "bbf9227f-1369-43d7-b4d7-526d32c9a6bf" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C04/E01-S01-C04_V01_00001_.mp4", + "bytes": 1113058, + "sha256": "90bfa7b63be829a1773c5c8a82e45037346ed6240c01258d082cb62c101a1b91", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S01-C03_V01_00002_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "4c62e36d-2455-43db-8b26-f91b14d7d65f" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C03/E01-S01-C03_V01_00002_.mp4", + "bytes": 839302, + "sha256": "02d36317756497bf88ea04dc9ce5accc56273b24c89b09dc089b09dd0c0e27a4", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S01-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "c54e5b0a-bbbd-4094-8dff-f9c72e9f4744" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C05/E01-S01-C05_V01_00001_.mp4", + "bytes": 1042619, + "sha256": "75b079a934e344805de5e1cce22ca06555854f34b5a23e90174eb3e7f6cb0a9f", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S01-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "e99ad918-ad5f-4ed3-8614-0c72d2b82a0d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S01-C06/E01-S01-C06_V01_00001_.mp4", + "bytes": 1078516, + "sha256": "219acabc69777d9ef70fc897cec15bbd3a507e6924d01b2135c8f07d5dd76206", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S02-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "824b4b9c-e0c0-4ca0-990a-626e59150967" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C01/E01-S02-C01_V01_00001_.mp4", + "bytes": 618642, + "sha256": "0e6337ffebad855fcdaf64b4ef15467c91c4c1a8ebe29fa127f55cd9607740a6", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "a32b66a6-96a1-4aa3-bd3d-741fdb1a8bfe" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C02/E01-S02-C02_V01_00001_.mp4", + "bytes": 945005, + "sha256": "58906b94d89f152851e9659112f1c8a114aab174bee7c90f4a076d9d096a8f3b", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S02-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "9faaf3c6-5cfe-43e1-8dbe-596abe0fe996" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C03/E01-S02-C03_V01_00001_.mp4", + "bytes": 976682, + "sha256": "8411167e51e32a5fc371bda6dc5485a9f71d79b23463741d019224f94e8c0e39", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S02-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "541b14b9-26d0-4df7-bc08-7d3984ba22a8" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C04/E01-S02-C04_V01_00001_.mp4", + "bytes": 682732, + "sha256": "307a8b9faf3abf5ff74d8968f8caa6e003354bf3867296ec026ed76f733e97cd", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "df2f7880-eebc-4891-b030-a7a71100246d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C05/E01-S02-C05_V01_00001_.mp4", + "bytes": 673771, + "sha256": "42e9b890a393b688a621cee90693034eb3b55487231ceb77412b300365de25f2", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "f72e7d86-4748-43dc-bd6b-e87e7dad9dfb" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C06/E01-S02-C06_V01_00001_.mp4", + "bytes": 477855, + "sha256": "9674bdbd17235c3f8811cf2c30e4060c1f966e8f927050fe7f512afb488f58e3", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C07_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "789d0d47-6fda-410a-b905-aac0a8abda1d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C07/E01-S02-C07_V01_00001_.mp4", + "bytes": 414473, + "sha256": "5fc7d31c54a607fc7bf4ce7315d7274e17a9419ba33300f1865905c7d4ecfea4", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C08_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "bbc724b1-533b-46d3-9e80-321098e64b7d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C08/E01-S02-C08_V01_00001_.mp4", + "bytes": 473900, + "sha256": "07bd5988d60ac6d6aaa2e6937916bd9308e680d1d5642b1896608e1c0bf89525", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C09_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "6aecc9e0-a765-4fc0-8253-9514fd7c402d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C09/E01-S02-C09_V01_00001_.mp4", + "bytes": 488800, + "sha256": "bf0a9c44f2336fba48a18d4ae6cb1564b409fd671a58f8a1a89ccb46f4796d68", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C10_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "a6090c2b-1d69-43ee-85d8-b1894c8f16a5" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C10/E01-S02-C10_V01_00001_.mp4", + "bytes": 740932, + "sha256": "d8d8368147fc69b489c1af98d2bc577a86ea301483f5bbc6080408d7ac1c53c5", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C11_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "40b6556d-6378-46f8-b123-4faccf78619b" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C11/E01-S02-C11_V01_00001_.mp4", + "bytes": 756496, + "sha256": "18a6b614c37e2b80d4d62677e9b80b1438385c51e43d331e89fab84bc21a49be", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S02-C12_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "79c6bcff-11d9-47d8-9b93-15d121a25fc6" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S02-C12/E01-S02-C12_V01_00001_.mp4", + "bytes": 716637, + "sha256": "7e50225cbbede2b809a083e47606ec1a96653e3050bd1de65caea46f343ce51c", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S03-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "5e4e09c1-bb0e-4edc-bb20-d15fada31ad2" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C01/E01-S03-C01_V01_00001_.mp4", + "bytes": 1021144, + "sha256": "01a76068b3370d7f34f22371c04fddffde004216764270dc28e74eebcbd33215", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S03-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "f8270f44-e1d6-41c6-87da-fea872b0280f" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C02/E01-S03-C02_V01_00001_.mp4", + "bytes": 1146180, + "sha256": "401f7d25dd2d497deac6fd3ece569c312c9fa3236901baef0081ca0f5159d4dc", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S03-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "28e5afea-4bc8-4328-af04-8516840323fa" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C03/E01-S03-C03_V01_00001_.mp4", + "bytes": 896233, + "sha256": "bfa3346679487f49cb1cdd7aa708619a8376787821787db2f91bc51c8aeef827", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S03-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "67c3b370-12c1-481e-913d-be694a3e10c5" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C04/E01-S03-C04_V01_00001_.mp4", + "bytes": 429126, + "sha256": "1be4586ccd78e6b900ac4ad64eb2a20eb2c32613b8785156c7a9b07d48a42557", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S03-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "75263b64-5dee-4f57-8d3f-3c697ea81663" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S03-C05/E01-S03-C05_V01_00001_.mp4", + "bytes": 550860, + "sha256": "df31c614a80e09dac3ed39489811fa7c62a882ba1ac59a9ffea3ac5be71e296f", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S04-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "c61132b9-e60c-42e0-9c2b-5a159f80cbe1" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C02/E01-S04-C02_V01_00001_.mp4", + "bytes": 1775593, + "sha256": "6ea833dcf8c203cc50d9566ef640dfbe420ef3cf98d1c24aff1af21261a3b79e", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S04-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "5c6e9d7c-3074-4139-a986-46fabd71b679" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C03/E01-S04-C03_V01_00001_.mp4", + "bytes": 897785, + "sha256": "632d64cec6dc8671cd43ed73f3875eb6cae50771e8b08fd412595da1e108b607", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S04-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "5fa91325-4351-4951-b33f-8830f8b10d80" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S04-C04/E01-S04-C04_V01_00001_.mp4", + "bytes": 1988318, + "sha256": "f2e20d270444ff3dfaf4e5af9f4e282befe32f93bc81678818d26a1c770c0a26", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S05-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "94019a0d-1288-40db-b546-7fca24e2a031" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C01/E01-S05-C01_V01_00001_.mp4", + "bytes": 1031235, + "sha256": "a3b19815adc182f08dc88d6b9cc6b4b4b637c01666c108535749db36fdd423f0", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S05-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "d1cc37c0-2bc2-49c7-bd84-39082fe70295" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C02/E01-S05-C02_V01_00001_.mp4", + "bytes": 747596, + "sha256": "978496277f413e3d6a414f09495c0970d9c9b617f958ea809453e9d70b5af39d", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S05-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "d3e3def2-998e-4a8e-aed4-3e3205576a0a" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C03/E01-S05-C03_V01_00001_.mp4", + "bytes": 802626, + "sha256": "4de6d5af518436d99b509dcce05b8ebb7883d076802994642545f70b9bb54763", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S05-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "7f9f0a66-2c7c-462e-abff-03e68d9485bd" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C04/E01-S05-C04_V01_00001_.mp4", + "bytes": 865847, + "sha256": "688e16efd9a1202b81522a5076ceb85de94e9a1a6ba735341d0588bcd125ee63", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S05-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "2dc2f033-6b40-45f1-a957-6528bf4bdd8e" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C05/E01-S05-C05_V01_00001_.mp4", + "bytes": 1066771, + "sha256": "b9579ef31929c65b8624d65d09248be4e338a47ed96bda3c36c0482893d7a616", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S05-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "1e02b0e7-4a46-4b2b-a672-b5723eb23985" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S05-C06/E01-S05-C06_V01_00001_.mp4", + "bytes": 933326, + "sha256": "eb6f5254ae8be4cba7501dbc4f850ccc478cb8c64104488c27b1faed429c22f8", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S07-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "2ec645ea-d4ca-41a9-967c-3c2e60de2ddb" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C01/E01-S07-C01_V01_00001_.mp4", + "bytes": 1230556, + "sha256": "1ce26bcd2bfb0ff70535ad62fad994150e0bea0223ffe61cec054ad1987bf201", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S07-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "70596691-3042-40f9-98b6-5f06d2dd67ec" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C02/E01-S07-C02_V01_00001_.mp4", + "bytes": 769681, + "sha256": "420b8aa315349fb51405ac2e6d282e4ff04bb6b7f9cda55f56c4d7be274f597f", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S07-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "241bab0c-df07-44dd-a0f9-ae4c1834be63" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C03/E01-S07-C03_V01_00001_.mp4", + "bytes": 777925, + "sha256": "78c4fd55166da38e55f81f4cc51fe4786238209b0fdcba5e6348fbe5e799fc2d", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S07-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "5686e9e0-5eca-441c-87cb-5afd6886dabe" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C04/E01-S07-C04_V01_00001_.mp4", + "bytes": 897558, + "sha256": "57a2eadcd07e26f5e156ea438b06f449ba5a075a4964b7c4421aaeca04626569", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S07-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "0bcde7eb-5eb5-469e-9315-a67e29d88c7b" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C05/E01-S07-C05_V01_00001_.mp4", + "bytes": 1669637, + "sha256": "7c059d7ad03cff69325b91cd04a575a742146bcdabdb50d4b2c4d2c486a40664", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S07-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "db1004d9-9d25-4edb-831b-3a0c631b1dea" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S07-C06/E01-S07-C06_V01_00001_.mp4", + "bytes": 927822, + "sha256": "d0544190376f647d074ac967e0dfa8001d550cd2ed11e8703bfcf7544312b826", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S08-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "2ac1942f-6c87-4ffe-8353-9409eda90d79" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C01/E01-S08-C01_V01_00001_.mp4", + "bytes": 1856836, + "sha256": "51ee5ade847bc1e4cd0ff58abbbc0c0ad089ec0c77767812f5ae90cc2dd33a11", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S08-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "9d7f72df-d156-478d-b744-b1b06d0842ef" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C02/E01-S08-C02_V01_00001_.mp4", + "bytes": 1663069, + "sha256": "63865564e12ba8a2cf0b4c7e3406c9fd8055a9154cec89fd88f6fb88adb32d49", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S08-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "3ea3cceb-99cd-477a-8403-4b4b5aaaef32" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C03/E01-S08-C03_V01_00001_.mp4", + "bytes": 1330656, + "sha256": "53ea135adf95db84c385171aac6c38b19202669ff3d5271e0ad5b7c97529e0e4", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S08-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "53b35a5a-3995-495b-82c9-31f10cddbf1c" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C04/E01-S08-C04_V01_00001_.mp4", + "bytes": 1368859, + "sha256": "57c70ffbbc93048c216e2834221031d243be30d6a7209c4ea5580281f2ab2c18", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S08-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "03eb49c0-ec26-4451-a59a-d350304c79fe" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C05/E01-S08-C05_V01_00001_.mp4", + "bytes": 2528224, + "sha256": "32dc8d337c84da3a28a8d03b136fc6b6d18c99006d019879896be38271252f59", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S08-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "b7c0df69-a899-4f03-a9d4-b35102b0eb21" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C06/E01-S08-C06_V01_00001_.mp4", + "bytes": 1958367, + "sha256": "d4c53c7917e6916b52b2858bc853ae5c03609440aa576df91d6129827a05f612", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S08-C07_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "c1a5ac97-30f9-4122-b865-17eadd0da76b" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C07/E01-S08-C07_V01_00001_.mp4", + "bytes": 1753798, + "sha256": "c8ef072ac06efa69011b8045804e7374d4221eef258bc39e7673b99b488dc631", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S08-C08_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "1516e095-0257-46c0-99d3-b350810daa0e" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C08/E01-S08-C08_V01_00001_.mp4", + "bytes": 4559551, + "sha256": "442504ba07a099eea09068dc63f0b0bb9b7f2fa5143b196d7bb6f0b4b542c8cb", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S08-C09_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "f426b2b2-d401-469f-876d-bc0e4cd11f31" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S08-C09/E01-S08-C09_V01_00001_.mp4", + "bytes": 1815660, + "sha256": "be25b5cde94eb940c22a5b219f5880996ab63c964564248ccb4d8c88fa06a152", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "c82d4adc-3dc4-4341-8e36-8238f0a579b2" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C01/E01-S09-C01_V01_00001_.mp4", + "bytes": 1177370, + "sha256": "6c5c68c093a9817631fab69e8f149832ffea1eb2e8b2734f3c65388763e4e779", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "0f2a539b-7e1c-4d75-bcfb-ac3f3a4a1998" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C02/E01-S09-C02_V01_00001_.mp4", + "bytes": 2101408, + "sha256": "4e8e05d6396628f8489e49b85fa69b8edc563cae561836bc1c22aed3010346c2", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "36a45119-2801-4c78-a64b-072fb2ac5b8b" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C03/E01-S09-C03_V01_00001_.mp4", + "bytes": 1039335, + "sha256": "3ac21a08b20d37e22dd090f567dcc07034dd5d02e20c418720851aae6931e408", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "f3b0c3e6-8167-4cc4-b86d-ff1d3b805701" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C04/E01-S09-C04_V01_00001_.mp4", + "bytes": 1529735, + "sha256": "ff4d0ffcf6fb292b6454c7bf511d8d78d7c6de470ba7ad2628f32728f3e6e955", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "b61ed72e-b9b7-45b4-83cc-3690c2c881c8" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C05/E01-S09-C05_V01_00001_.mp4", + "bytes": 1070351, + "sha256": "a1d33cfba7e4e138e80ce819901936b84d6ead0e48c9613c139c5b682c66b5e1", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S09-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "bf0ec591-255d-4b9d-863f-c29279d9f1cc" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C06/E01-S09-C06_V01_00001_.mp4", + "bytes": 1031210, + "sha256": "2cb4e3540673855441a7d412552f64db11004478a0cff980e77a4d40f38b4a11", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S09-C07_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "5d655d5d-4e43-4484-8ffc-9b5cf9a44510" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C07/E01-S09-C07_V01_00001_.mp4", + "bytes": 1789036, + "sha256": "8a938a1a3cc8ae48468810791a733179c7fe429c0c3b3500d7fb5e08717c700a", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C08_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "c83b4101-bb5d-48c2-bb23-ea26f6d6c5c7" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C08/E01-S09-C08_V01_00001_.mp4", + "bytes": 2175016, + "sha256": "0e59b52fe76988951da5930316c14e604cc4b4a476239c627d13cc627b898272", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "9.417000" + } + } + }, + { + "source": { + "filename": "E01-S09-C09_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "77ab81ef-22e3-4632-9cff-a54381da4f4d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C09/E01-S09-C09_V01_00001_.mp4", + "bytes": 1828627, + "sha256": "43419219f98827bebfcc0e6b38e7678afd3d15b8efd44753cc7ba68a17ef326e", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C10_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "9a78626e-5dca-456c-b29f-f0e7f3ef4ed7" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C10/E01-S09-C10_V01_00001_.mp4", + "bytes": 1818796, + "sha256": "903405211cc70701de53441d24b162a474fe08ab6f38b649201434b8f6f01ce2", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S09-C11_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "8de492f8-55c1-4bcb-89e3-9dc288e7f518" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C11/E01-S09-C11_V01_00001_.mp4", + "bytes": 1575682, + "sha256": "d28c91fec64343f2e1bed49d45d66b5925fa66b0c3f7fd8d673a89a058176628", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S09-C12_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "0a741863-60fa-4a75-91c7-21343df7f2a5" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C12/E01-S09-C12_V01_00001_.mp4", + "bytes": 1410054, + "sha256": "9f76c3e14f184201960610932ad03c597165ecc020197e1e0da7fa87ce3ce474", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S09-C13_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "0e409392-01bc-4b7d-8fe5-a7b0fed91e9b" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S09-C13/E01-S09-C13_V01_00001_.mp4", + "bytes": 1308445, + "sha256": "f40485236b3a17f6c1de99f4161964bf710a7222e7cf57cee44d26597ab6d965", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S10-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "962cc794-95e3-471a-8a18-7df45fbcf015" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C01/E01-S10-C01_V01_00001_.mp4", + "bytes": 2007994, + "sha256": "3c21119f8b08457c765e83f407c3f3b56e4851ca83f5ce1c9c4c181b0d727d71", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S10-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "681a5997-b8d3-4051-a091-127e75b2ea28" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C02/E01-S10-C02_V01_00001_.mp4", + "bytes": 2532641, + "sha256": "3986084af5b004f9ad72b777f27a4821ef3c4e9b80c1112ba2c6d7614cf017d1", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S10-C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "59a818cd-5ea5-42f2-b5c4-abc56c8fc31d" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C03/E01-S10-C03_V01_00001_.mp4", + "bytes": 1387962, + "sha256": "aeebdfb812195168463a9845920413b278f42916910e8fcea6c4ff6bf03cfb40", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S10-C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "c24702e5-09d1-41d6-83ec-d21ce4ba8468" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C04/E01-S10-C04_V01_00001_.mp4", + "bytes": 1655456, + "sha256": "26fa86ee600c0916f7318d327e6c5893916efa72c9cdaa06e62ad7c5d223fc34", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S10-C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "44d1aea4-70d9-4282-872d-fd0551ff17b6" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C05/E01-S10-C05_V01_00001_.mp4", + "bytes": 1081091, + "sha256": "541e31dd7b9318854b452bf3cd27b5201d5dc5461b40bbc77ea180436647e436", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "E01-S10-C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "9be343e9-56ba-4b1d-abba-15fda09faaf0" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C06/E01-S10-C06_V01_00001_.mp4", + "bytes": 1436633, + "sha256": "706fc058c437724de5fe0a3b39020ed8a84ffe3700c743d89c0b8472b79c6537", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S10-C07_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "3287b9f9-8b4a-4c26-9954-3d0a25b910fe" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C07/E01-S10-C07_V01_00001_.mp4", + "bytes": 2165058, + "sha256": "d1b67f55c263665fc28d84520b5c2e5315ddebe112e8d28e1ba038183d921543", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "8.000000" + } + } + }, + { + "source": { + "filename": "E01-S10-C08_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "0ea1aced-92a6-4ce4-a625-4f2882d5fdc4" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S10-C08/E01-S10-C08_V01_00001_.mp4", + "bytes": 1701153, + "sha256": "5527c64619c55acf44470918c82979b75f2d6be4e65c7a1371629a83483b59da", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "E01-S12-C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "19f68dea-77a9-4264-bf8e-d873bef4e39b" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C01/E01-S12-C01_V01_00001_.mp4", + "bytes": 932993, + "sha256": "425d4de522d19b93e2e14ab280c4eaca8022e20806b16eeb64da732399cf4a17", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "E01-S12-C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "7e41f531-a918-4ac4-9533-0b6453fe772c" + ], + "local_path": "06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/shots/E01-S12-C02/E01-S12-C02_V01_00001_.mp4", + "bytes": 1472687, + "sha256": "0a141e78cda747718fccb1204902decba8bbba9f9d2f1254a3df65b5982d278f", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "7.292000" + } + } + }, + { + "source": { + "filename": "C03_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "503e2583-19b2-4a48-8f67-14e5aaa44caa" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C03/C03_V01_00001_.mp4", + "bytes": 980270, + "sha256": "1ea0292d548a4ba521f9df1623f844aa7b678b1bf8820271e598500b275a379c", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "C01_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "49e0cb0c-b103-4101-a8b1-dcbf0b776944" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C01/C01_V01_00001_.mp4", + "bytes": 1366467, + "sha256": "8889b125b235794f325afb619f44885604bce207864480456dbe6a5aebdda242", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "C02_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "045d5dfd-9071-4a0a-affc-3ca27ba2e9f9" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C02/C02_V01_00001_.mp4", + "bytes": 919002, + "sha256": "1c2f73538a2f8c05e7f80bed762567f136b6d543f22d0dad327da936d0581467", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "C04_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "f8aef7b3-f04a-411c-90ae-6c14583ef3fe" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C04/C04_V01_00001_.mp4", + "bytes": 910442, + "sha256": "828426236c0f65da4351a08ca27f64cc419b6c4a45063fdaa95051f809679641", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "5.167000" + } + } + }, + { + "source": { + "filename": "C05_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "7e79b980-e120-4be4-98cf-cde2362b2641" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C05/C05_V01_00001_.mp4", + "bytes": 949237, + "sha256": "bcd264eb988e67d80d611cea2cbb8723f5c48fd9103dd09d6ed9834a75016ad7", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "C06_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "db53ddab-6570-4b48-9769-d43e9d1ea69c" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C06/C06_V01_00001_.mp4", + "bytes": 782204, + "sha256": "f3c365f5a9250f15f05e7f0c6f689004c4fd0eda6ef186f7dd7da449f134b5ec", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + }, + { + "source": { + "filename": "C07_V01_00001_.mp4", + "subfolder": "hearthfire_episode", + "type": "output" + }, + "prompt_ids": [ + "aef0e157-7c64-4f67-937f-a55ac8df7d18" + ], + "local_path": "06_AI动漫制作/05_生产素材/视频测试/2026-09-29_H3_开篇40秒_柔光V02/C07/C07_V01_00001_.mp4", + "bytes": 857962, + "sha256": "fb34328e215d973d31f6011c5db18054085b5ecd625c33595a2dd62c5901f584", + "action": "existing_verified", + "auxiliary": false, + "media": { + "programs": [], + "streams": [ + { + "codec_name": "h264", + "codec_type": "video", + "width": 960, + "height": 544 + }, + { + "codec_name": "aac", + "codec_type": "audio" + } + ], + "format": { + "duration": "6.583333" + } + } + } + ] +} diff --git a/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/reference_pilot/server_template.json b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/reference_pilot/server_template.json new file mode 100644 index 0000000..3648cfd --- /dev/null +++ b/06_AI动漫制作/05_生产素材/正片/S01E01_H3_V01/reference_pilot/server_template.json @@ -0,0 +1,1760 @@ +{ + "id": "e3f2b845-8f2c-4b5a-9caf-eac1029d3e7e", + "revision": 1, + "last_node_id": 147, + "last_link_id": 291, + "nodes": [ + { + "id": 92, + "type": "SaveVideo", + "pos": [ + 750, + 4870 + ], + "size": [ + 1380, + 970 + ], + "flags": {}, + "order": 28, + "mode": 0, + "inputs": [ + { + "name": "video", + "type": "VIDEO", + "link": 260 + } + ], + "outputs": [ + { + "name": "video", + "type": "VIDEO", + "links": null + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.33.0" + }, + "widgets_values": [ + "video/MiniMax_H3", + "auto", + "auto" + ], + "widgets_values_named": { + "filename_prefix": "video/MiniMax_H3", + "format": "auto", + "codec": "auto" + } + }, + { + "id": 115, + "type": "ResolutionSelector", + "pos": [ + -1490, + 6060 + ], + "size": [ + 270, + 170 + ], + "flags": {}, + "order": 0, + "mode": 0, + "showAdvanced": false, + "inputs": [], + "outputs": [ + { + "name": "width", + "type": "INT", + "links": [ + 276 + ] + }, + { + "name": "height", + "type": "INT", + "links": [ + 277 + ] + } + ], + "title": "Resolution Selector (Size)", + "properties": { + "cnr_id": "comfy-core", + "ver": "0.33.0", + "Node name for S&R": "ResolutionSelector" + }, + "widgets_values": [ + "16:9 (Widescreen)", + 0.4, + 32 + ], + "widgets_values_named": { + "aspect_ratio": "16:9 (Widescreen)", + "megapixels": 0.4, + "multiple": 32 + }, + "color": "#322", + "bgcolor": "#533" + }, + { + "id": 116, + "type": "MarkdownNote", + "pos": [ + -2030, + 4850 + ], + "size": [ + 450, + 890 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [], + "title": "Note: MiniMax H3", + "properties": {}, + "widgets_values": [ + "## MiniMax H3\n\n[MiniMax H3](https://www.minimax.io/blog/minimax-h3) is MiniMax's general-purpose, omni-modal generation model. It jointly understands text, image, video, and audio, and generates video with **native stereo audio**: voice, sound effects, and music are modeled jointly in a single forward pass, not layered on afterward. Output is up to 2K resolution, 24fps, and up to about 15 seconds.\n\n## ComfyUI links\n- [ComfyUI#15224](https://github.com/Comfy-Org/ComfyUI/pull/15224)\n- [\ud83e\udd17 Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)\n\n## About this workflow\n\nThis template runs the **reference-to-video (ref2va)** task using the `MiniMaxH3ReferenceToVideo` node. It takes any mix of reference images, videos, and standalone audio, and weaves them into the generation to lock in a character's identity, a style, a motion, a camera move, or a voice.\n\n**Key inputs**\n\n- **ref_images / ref_videos / ref_video_audios / ref_audios**: up to 9 reference images, 3 reference videos (each may carry its own paired soundtrack), and 3 standalone reference audio clips\n- **prompt**: reference the inputs by tag, in the exact order they were connected, for example ``, `