59 lines
3.3 KiB
Plaintext
59 lines
3.3 KiB
Plaintext
# 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 模板
|