Makes LTX-2.3 a first-class, faithful card (was wrongly merged into the single-stage base): - LTX23DenoiseLoop (loop.py): single-pass joint A/V denoise — one DiT forward per step cross-attends video<->audio via the adapter's (v_vel,a_vel) return; full-res video latent + a [8,T,16] audio latent; distilled few-step schedule (BASE_SIGMAS). Video-only when no audio requested. - build_ltx2_3_card (model_id 'ltx2.3-distilled' — the name now correctly names the REAL 2.3): 5 components incl. audio_vae (AudioDecoder) + vocoder (required_for t2vs, optional_for t2v); caps T2V + T2VS. build_ltx2_3_program: dual-connector text-encode -> joint denoise -> video + audio decode. - registry.py routes FastVideo/LTX-2.3-Distilled-Diffusers -> this card (split from the base entry). - Toy support: ToyTextEncoder.encode_av (separate video/audio text), ToyDiT joint A/V (audio now a keyword-only arg so positional callers like the talker are unaffected), channel-agnostic ToyAudioVAE (np.resize identity for the existing 2-stage T2VS). - CPU-verified: toy T2VS -> video+audio (8 steps), T2V -> video-only; CPU suite green (202+2). GPU audio-VAE/vocoder loaders + the real-T2VS GPU verify are the next step.
16 lines
674 B
Python
16 lines
674 B
Python
"""LTX2.3 — two-stage distilled video diffusion (base → upsample → refine)."""
|
|
from __future__ import annotations
|
|
|
|
from .card import build_ltx2_3_card, build_ltx2_base_card, build_ltx2_card
|
|
from .loop import BASE_SIGMAS, REFINE_SIGMAS, LTX2DenoiseLoop, LTX23DenoiseLoop
|
|
from .program import (
|
|
build_ltx2_3_program,
|
|
build_ltx2_av_program,
|
|
build_ltx2_base_program,
|
|
build_ltx2_program,
|
|
)
|
|
|
|
__all__ = ["build_ltx2_card", "build_ltx2_base_card", "build_ltx2_3_card", "build_ltx2_program",
|
|
"build_ltx2_base_program", "build_ltx2_3_program", "build_ltx2_av_program",
|
|
"LTX2DenoiseLoop", "LTX23DenoiseLoop", "BASE_SIGMAS", "REFINE_SIGMAS"]
|