akuspace-ltx25 / scripts /WORKING_CONFIG.md
KoshiMazaki's picture
scripts: add WORKING_CONFIG.md
d24d832 verified
|
Raw
History Blame Contribute Delete
3.48 kB
# LTX-2.5 first-and-last-frame β€” the config that actually works
Extracted from `video_ltx2_5_flf2v fresg.json`, the workflow Radek confirmed
produces good output. Recorded because getting this wrong looks like a broken
model rather than a wrong preset.
## The trap
There are **two LTX-2.5 transformers and they need opposite sampling regimes.**
Running one at the other's settings produces soft, washed-out, distorted frames
that read as a bad model or bad anchors. It is neither.
| | distilled (what the preset uses) | dev |
|---|---|---|
| transformer | `ltx-2.5-22b-distilled-transformer-comfy-int8-convrot` | `ltx-2.5-22b-dev-transformer-bf16` |
| text encoder | `gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot` | `gemma4-12b-with-proj-ltx-2.5-bf16` |
| steps | **8** | ~24 |
| guidance | `LTXVDualCFGGuider` at **1, 1** | CFG ~4 |
| sampler | `SamplerEulerAncestral` (eta 0, s_noise 1) | euler |
| sigmas | `ManualSigmas`, explicit 9-value list | `LTXVScheduler` |
## Verified working values
```
UNETLoader ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors, default
CLIPLoader gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors, type=ltxv
VAELoader ltx-2.5-video-vae-bf16.safetensors (video)
VAELoader ltx-2.5-audio-vae-bf16.safetensors (audio)
ManualSigmas 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0
SamplerEulerAncestral eta 0, s_noise 1
LTXVDualCFGGuider 1, 1
LTXVAddGuide frame_idx 0, strength 0.7 (first frame)
LTXVAddGuide frame_idx -1, strength 0.7 (last frame, chained off the first)
LTXVPreprocess img_compression 18
size / length 1280 x 720, 5 s @ 24 fps
audio LTXVEmptyLatentAudio β€” the model generates its own audio
```
Both guides run at strength **0.7**, not 1.0, and the second consumes the
first's conditioning *and* latent. `LTXVCropGuides` strips the guide frames
before decode.
## prompt_enhance
The preset ships it **on**, loading `gemma4_e2b_it_bf16.safetensors` as a second
CLIP. It rewrites the prompt through Gemma before encoding.
**Turn it off when the prompt contains dialogue you need spoken verbatim, or a
trigger word.** The rewriter will paraphrase both. It is also the documented
reason a Comfy Cloud test destroyed the `AKUSPACE` trigger and the level words.
Leave it on only for loose scene prompts where wording does not matter.
## The AKUSPACE LoRA does not belong in this graph
Tested and confirmed on 2026-08-13: the adapter is **reference-conditioned**. It
was trained to transform a reference audio input, so with no reference present
it is off-distribution and produces near-silence at any strength. In a graph
where audio is pinned by a zero noise mask it never runs at all.
The working chain is **video render β†’ take its generated audio β†’ a2a pass with
the LoRA β†’ remux onto the same frames**. That also gives the before/after pair
for free: the untouched render is the base-model baseline.
Note `loras/ltx-2.5-22b-distilled-lora-450-bf16.safetensors` in the LTX repo is
an unrelated distillation-acceleration LoRA, not ours.
## Serving
ComfyUI on **8189** (8188 is a proxy on some templates). Reachable across a
tailnet as `http://<host>:8189`. ComfyUI holds its weights in VRAM after a run β€”
call `POST /free {"unload_models":true,"free_memory":true}` before running the
trainer on the same GPU, or the a2a pass dies with CUDA OOM while Comfy sits on
66 GB.