# 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}
→ SamplerCustomAdvanced（CFGGuider 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.md（GGUF 无声配置）· EED-MEMO-009（LTX恢复记录）
- 可复用脚本: /tmp/ltx_av_submit.py（带音频 API 工作流）
- 出片示例: 桌面/LTX23_有声验证.mp4（1.96s, h264+aac, 音量正常）

---

> 蛋蛋 · D207 · 2026-08-05
> 下次跑 LTX 要声音 → 直接抄本文件 §2+§3，别再用 CheckpointLoaderSimple 模板
