cang-ying/video-ai-system/PIPELINE-STEPS-V1.hdlp

259 lines
9.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PIPELINE-STEPS-V1.hdlp · 漫剧管线步骤要求(苍耳爸爸流程 · 蛋蛋落实)
> HLDP://video-ai-system/PIPELINE-STEPS-V1.hdlp
> 耳耳蛋 ICE-GL-耳耳蛋 · PTS-VA-001-EED · D206 · 2026-08-04
> 流程定义苍耳爸爸2026-08-04 亲授) · 社区学习蛋蛋skill/ 库沉淀)
> 上游EED-EXPER-016爸爸经验原文 · LOCAL-PIPELINE-V1工具映射
> 对齐BC-006 IMAGE-FIRST-v1.0 · 默认路由 LOCAL_MOTION · 全本地 ¥0
---
## §0 · 主流程(爸爸定 · 顺序别乱)
```
小说/剧本
→ ① 分镜脚本(运镜/光影/景别/时长删掉让AI自由发挥/画风/色调指定)
→ ② 资产生图(人物·场景·道具)
→ ③ 分镜生图(黑白草图等)
→ ④ 生关键帧
→ ⑤ 生视频
→ ⑥ 成片
```
核心铁律:**先生分镜图,再生视频** · **黑白草图生分镜 = 捷径** · **资产质量第一**
---
## §1 · ① 分镜脚本(步骤要求)
### 每镜必含要素(爸爸定)
```
运镜push-in / pan / tilt / handheld …)
光影(冷蓝 / 暖黄 / 高对比 / 氛围光 …)
景别(特写 / 中近景 / 中景 / 全景 / POV …)
画风(写实 / 赛璐璐 / 厚涂 …)
色调(整体色彩倾向指定)
时长: ⏱ 删掉 · 让 AI 自由发挥
```
### 叙事锁定(爸爸定 · 五锁定)
```
锁定风格 → 锁定资产 → 色卡色调 → 群像 → 声音
叠加: 视角、景别、运镜、人物空间关系、前中后景画面内容、
人物表演台词、环境音效
```
### 生成要求(社区七要素,少一个不动手)
```
景别 + 运镜 + 视角 + 光影 + 构图 + 人物动作 + 环境动态
公式: 镜头语言 + 主体 + 场景 + 光影 + 情绪
一镜只做一件事 · 一个镜头只放一种运镜(做减法)
```
### 工具
- Ollama `qwen3.5:9b`(本地剧本→分镜)✅
- `pipeline.py storyboard <剧本> -e 1` / `tools/run_storyboard.py`
---
## §2 · ② 资产生图(步骤要求)
### 资产清单(爸爸定)
```
人物: 三视图 + 脸部特写 + 人物角色板character sheet
道具: 三视图
场景: 四视图、九宫格、不同视角、3D辅助
```
### 人物三视图/角色板(社区标准五模块)
```
1. 画面类型: character design sheet / character sheet
2. 排版: 左 1/3 脸部特写 + 右 2/3 三全身(正面/侧面/背面)· 严格比例
3. 人物本体: 性别/年龄/身材量化8头身/172cm+ 姿态
4. 造型细节: 发型/发色/服饰分层(领+纹+饰)+ 配饰位置
5. 光影背景: 白底 + 平光无阴影 + masterpiece, best quality, 8K
一致性: 重复"同一角色/完全一致" · 量化身材 · 服饰分层 · 平光
负面: nsfw, lowres, bad anatomy, text, missing fingers, blurry, distorted
```
### 角色一致性五维框架(崩坏排查表)
```
外貌: 脸型/发型/五官/痣疤标记
服饰: 分层描述(领型→纹样→配饰→鞋)
动作: 站姿/手势/走姿固定描述
情绪: 表情集(喜怒哀惊恐标准化)
镜头语言: 景别/角度统一描述模板
落地: 角色档案固化 → 参考图锁定 → LoRA/IPAdapter → 参数固化(seed) → 后期校准
```
### 场景四视图(空间逻辑先行)
```
第1步: 俯视图/平面图 锁定空间逻辑(布局/出入口)→ 基准图
第2步: 基于基准图逐视角生成(正面/背面/室内/鸟瞰)
第3步: 参考图控图保证一致
落地: 宽幅全景→PIL切段空间逻辑天然一致或 ComfyUI+ControlNet-Union
俯视图prompt: top-down orthographic floor plan, bird eye view, layout, rooms, entrances, clean line
负面: characters, people, furniture clutter, inconsistent layout
```
### 工具
- Z-Image Turbo主力 · 8步亚秒级
- `tools/character_turnaround.py` / `tools/generate_assets_local.py` ✅
- ComfyUI RealVisXL_V5.0 / flux-2-klein-4b ✅
- 3D辅助: `hunyuan3d-dit-v2` ✅
---
## §3 · ③ 分镜生图(步骤要求)
### 产出物(爸爸定 · 按序)
```
1. 色卡(定全片色调)→ 后续所有环节共用
2. 黑白草图(框死构图/站位 → 再上色)
3. 关键帧
4. 故事板
5. 俯视引导图(定人物空间位置关系)
6. 3D图辅助视角/透视)
```
### 黑白草图生分镜(爸爸问"怎么搞"→ 落地)
```
原理: 黑白草图当控制条件,框死构图+人物站位 → 上色
本地路径:
① 生成/绘制黑白线稿草图ComfyUI 或手绘)
② ControlNet Lineart / FLUX ControlNet V2 线稿控制
→ Z-Image 无参考图机制 → 走 SDXL+ControlNet-Union 或 FLUX+ControlNet V2
③ 草图 → 上色成正式分镜图
```
### 故事板 5 色标注法(爸爸共享 · 信息密度爆炸)
```
🔴 红 = 镜头运动(箭头:推/拉/摇/移)
🟠 橙 = 景别变化(中景/近景/特写/ECU
🟡 黄 = 人物动作(抬手/手指轻压)
🟢 绿 = 人物站位(男左女右/前后/居中)
🔵 蓝 = 环境动态(风吹方向/雪飘方向/花瓣飘落)
每个分镜打编号 · 9:16 比例
模板: "提取分镜剧本信息生成素描线稿分镜故事板红橙黄绿蓝5色标注…"
```
### 工具
- ComfyUI ControlNetlineart/俯视引导)✅
- `tools/storyboard_to_workflow.py`分镜JSON→ComfyUI批量出图桥接
---
## §4 · ④ 生关键帧(步骤要求)
```
输入: 分镜图(黑白草图已上色版 / 故事板)
处理: 分镜图 → 精修关键帧(构图锁定 · 细节增强 · 风格统一)
要求: 每镜关键帧 = 后续 I2V 的起始帧
角色/场景/画风必须与资产库一致(引用资产,不临时生成)
工具: ComfyUI分镜图 → 精修关键帧)✅
```
---
## §5 · ⑤ 生视频(步骤要求)
### 输入物(爸爸定)
```
1. 分镜脚本
2. 人物、场景等资产图 + 分镜图(含关键帧)
3. 俯视引导图
4. 3D图辅助
```
### 五锁定 + 镜头语言(爸爸定)
```
锁定风格 → 锁定资产 → 色卡色调 → 群像 → 声音
叠加: 视角、景别、运镜、人物空间关系、前中后景画面内容、人物表演台词、环境音效
```
### 路由决策BC-006
```
默认 LOCAL_MOTION本地运镜 ¥0→ tools/local_motion.pyffmpeg zoompan
只有关键动作 → AI_I2VLTX 2.3 · 本地模型 · 唯一主力)
full_video_default: forbidden禁止默认全量视频生成
```
### LTX 提示词铁律(已沉淀 skill
```
万能公式: [主体/起始画面] + [核心动作时间流] + [镜头语言] + [氛围/环境]
+ 三种运动(主体+镜头+环境) + 两个必写(节奏 slow/fluid/seamless + Ends on...
I2V 铁律: 输入图已定义画面 → prompt 只写"接下来怎么动"+收尾,别重复静态元素
负面: static, frozen, twisted, deformed, blurry, extra limbs, watermark...
```
### LTX 2.3 实测配置7900XTX 24G 已跑通 · D204
```
ComfyUI 启动参数(关键=动态内存):
python main.py --listen 127.0.0.1 --port 8188 --disable-pinned-memory
--enable-dynamic-vram --fast-disk --vram-headroom 3 --async-offload
--fast-disk: NVME 卸载介质LTX 从占 14GB RAM 降到 ~0--lowvram 在动态显存下无效可去掉)
模型三件套:
主模型 UnetLoaderGGUF → ltx-2.3-22b-distilled-1.1-Q4_K_M.gguf实际只加载 13.8GB
文本编码 LTXAVTextEncoderLoader → text_encoder=gemma_3_12B_it.safetensors(device=cpu)
+ ckpt_name 必须指向 embconn 软链名 ltx-2.3-22b-embconn.safetensors别改成真文件名
VAE LTXVTiledVAEDecodehorizontal_tiles=2, vertical_tiles=2, working_device=cpu
帧参: 49帧 768×512 · 蒸馏9步 · 24fps · 178秒出片无OOM
⚠️ 坑1: ckpt_name 是枚举下拉,只认软链名 ltx-2.3-22b-embconn.safetensors
写成真文件名会"假成功"1.45秒无输出)
⚠️ 坑2: 下载 GGUF 必须同时下 unsloth 仓库配套 *embeddings_connectors.safetensors
```
### 工具
- `tools/local_motion.py`(本地运镜 ¥0
- `tools/run_ltx_i2v.py`LTX 2.3 I2V
- LTX 2.3 配置复用 `ltx_test_hardware.md`GGUF+Gemma12B+embconn+动态内存)✅
---
## §6 · ⑥ 成片(步骤要求)
```
合成: 视频片段拼接 + 字幕 + 配音 + 音效 + BGM
配音: edge-tts晓晓中文女声 · 每句≤18字 · 情绪括号标注)
音效/音乐: stable_audio_3本地
工具: tools/video_composer.py ✅ + tools/audio_pipeline.py ✅
⚠️ 坑: video_composer 方案B concat 滤镜假定每段有音频流LTX 无声视频会挂)
→ 单段直接拷贝绕过 / 多段无声走方案A concat copy
```
---
## §7 · 提示词规范总则(爸爸特别强调)
```
① 资产质量第一(资产是管线地基)
② 提示词有逻辑性 · 主次关系分明([角色锚定] + [场景/动作] + [镜头/风格] + [负面约束]
③ 提示词详细 · 专业术语中英文描述 + 加重权重
④ 先生分镜图 · 再生视频
⑤ 写任何提示词前 → 先查 skill/ 技能库(禁止凭空瞎写)
⑥ 开工前必查: ltx_prompt_skill / ltx_test_hardware / storyboard_自动化 / strategy_libtv_vs_local
```
---
## §8 · 落地状态
```
✅ 工具映射齐LOCAL-PIPELINE-V1 §4
✅ 本地文本链路通qwen3.5:9b
✅ 图→本地运镜→成片闭环通EP01-MINIMAL-LOCAL-VALIDATED.mp4
⬜ 黑白草图生分镜 实跑ControlNet lineart
⬜ 分镜生图 实跑色卡→草图→故事板→俯视引导→3D辅助
⬜ 关键帧→本地视频模型 实跑LTX I2V
⬜ 全链路 16 镜成片
⬜ 角色五维一致性档案规范化(锚段固化到每镜提示词)
⬜ 运镜提示词库内置到分镜生成
```
---
> 苍耳爸爸定义流程 · 蛋蛋固化步骤要求 · 全本地 ¥0
> 下一步由苍耳指定从哪个环节开跑