cang-ying/eererdan/experience/EED-EXPER-030.hdlp

59 lines
3.3 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.

# EED-EXPER-030 · LTX 2.3 带音频工作流跑通(音画一起生成 · D207
> trigger: 爸爸问"LTX恢复后视频没声音" → 蛋蛋排查发现 LTX 2.3 支持音画一起生成,之前工作流只接了视频 VAE 漏了音频 VAE
> emergence: 2026-08-05 · D207 · 音频 VAE 下载ModelScope 快源)+ GGUF 拆分方案 + 带音频 API 工作流
> lock: LTX 2.3 带音频出片已跑通h264 视频 + aac 音频)· 复用本文件配置即可
> why: 音频 VAE 缺失 + 工作流模板CheckpointLoaderSimple与本地 GGUF 拆分方案冲突 = 没声音/报错根源
---
## §1 · 核心结论
LTX 2.3 是音画一起生成的模型,**不是**"视频模型没声音后期加"。只要工作流接上音频 VAE + 音频 latent出片自带声音。
## §2 · 正确方案 = GGUF 拆分(别再被模板误导)
模板 `ltx_t2v_example.json` 用 CheckpointLoaderSimple 加载 `ltx-2.3-22b-dev.safetensors`(完整模型方案),但本机 dev 软链已被占用(指向 audio_vae**CheckpointLoaderSimple 会把音频 VAE 当主模型加载 → 报错**。
正确组合(已验证跑通):
```
主模型 UnetLoaderGGUF → ltx-2.3-22b-distilled-1.1-Q4_K_M.gguf
文本编码 LTXAVTextEncoderLoader → text_encoder=comfy_gemma_3_12B_it.safetensors,
ckpt_name=ltx-2.3-22b-embconn.safetensors软链名
视频VAE VAELoader → LTX23_video_vae_bf16.safetensors软链→distilled_video_vae
音频VAE LTXVAudioVAELoader → ckpt_name=ltx-2.3-22b-dev.safetensors枚举名软链→distilled_audio_vae
```
## §3 · 音频链节点49帧 768×512 实测)
```
LTXVEmptyLatentAudio {frames_number:49, frame_rate:25, batch_size:1, audio_vae:[audio_loader,0]}
→ LTXVConcatAVLatent {video_latent, audio_latent}
→ SamplerCustomAdvancedCFGGuider cfg=1.0 + KSamplerSelect euler + ManualSigmas 4步 + RandomNoise seed=42
→ LTXVSeparateAVLatent {av_latent:[sampler,0]} → 分离 video[0] / audio[1]
→ 视频: LTXVTiledVAEDecode {vae:[video_vae_loader,0], latents:[separate,0], tiles 2,2}
→ 音频: LTXVAudioVAEDecode {samples:[separate,1], audio_vae:[audio_loader,0]}
→ CreateVideo {images, audio, fps:25}
→ SaveVideo {video, filename_prefix, format:auto, codec:h264} ⚠️ codec 必填!
```
## §4 · 关键坑
```
坑1: SaveVideo 必须带 codec="h264"(缺了报 TypeError: missing 'codec'
坑2: dev 软链 = 音频 VAE 枚举占位绝不用于主模型加载CheckpointLoaderSimple 会错)
坑3: LTXAVTextEncoderLoader.ckpt_name 必须用 embconn 软链名(枚举下拉),写真文件名=假成功
坑4: 音频帧数 frames_number 与视频 length 对齐49帧视频→49帧率 frame_rate=25
```
## §5 · 下载源(快)
```
音频 VAE: ModelScope unsloth/LTX-2.3-GGUF/vae/ltx-2.3-22b-distilled_audio_vae.safetensors (348MB, 117MiB/s)
软链: checkpoints/ltx-2.3-22b-dev.safetensors → models/vae/ltx-2.3-22b-distilled_audio_vae.safetensors
```
## §6 · 相关
- ltx_test_hardware.mdGGUF 无声配置)· EED-MEMO-009LTX恢复记录
- 可复用脚本: /tmp/ltx_av_submit.py带音频 API 工作流)
- 出片示例: 桌面/LTX23_有声验证.mp41.96s, h264+aac, 音量正常)
---
> 蛋蛋 · D207 · 2026-08-05
> 下次跑 LTX 要声音 → 直接抄本文件 §2+§3别再用 CheckpointLoaderSimple 模板