You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The LTX-2.5 generative video upscale is code complete on both backends and verified end to end on macOS MLX (#6514). The Windows / Linux CUDA runner (scripts/upscale_ltx25_cuda.py, shipped in #6520 and corrected in #6534) carries the same recipe, argv, grid and adapter contract (scripts/_upscale_contract.py) and is covered without a GPU, but nobody has yet run it on an NVIDIA card. Until that evidence exists the backend is deliberately documented as unverified and stays capability-gated per host.
This is the one hands-on task that closes the loop. It needs an NVIDIA host with the LTX-2.5 CUDA runtime installed (requirements-ltx25-cuda.txt), the ltx25_cuda_distilled base pack cached, the Lightricks license accepted and the gated Lightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscaler weight downloaded through the model download/verify surface.
What to do
Run the verification matrix from docs/features/video-upscale.md "Readiness" through the real route → media-job queue → scripts/upscale_ltx25_cuda.py → gallery row path. The macOS pass in Verify the generative video upscale end to end on both backends and advertise it as ready #6514 (comment of 2026-09-07) is the template: conforming source with audio, frame-padded source with audio, spatially padded source without audio, cancellation mid-render, legacy Lanczos before and after, the refusal codes, the pre-submit plan, and provenance against ffprobe.
Confirm the existing LTX-2.5 text-to-video and image-conditioned paths through scripts/generate_ltx25_cuda.py still render unchanged on the same host.
Record source/output dimensions, frame count, duration, audio sync, seed, runtime fingerprint and wall-clock render time per case in a comment here.
Flip the CUDA row of the readiness table in docs/features/video-upscale.md to verified and supported, mirroring the MLX row, in a PR that closes this issue.
Acceptance
At least one real generative upscale rendered on an NVIDIA card with the numbers above posted here.
The readiness table no longer describes the CUDA backend as unverified.
No change to the shared contract; if the render exposes a runner defect, fix it in the same PR with a GPU-free regression test as in scripts/upscale_ltx25_cuda.test.js.
Why needs-input
This needs a licensed NVIDIA machine with at least 64 GB of system memory — not merely any NVIDIA card. ltx25_cuda_distilled declares minMemoryGb: 64, and a dispatch to a 32 GB / RTX 3090 host on 2026-09-07 confirmed the floor is real: every download and pre-submit check passed, but both LTX-2.5 CUDA runners die in ltx_core's safetensors loader ~18 s in, on the pack's 26 GB text encoder. See the comment of 2026-09-07 for the full evidence and the six-line repro.
Remove the label only when dispatching from (or with access to) a machine that meets BOTH requirements. PortOS now refuses the upscale up front on a host below the floor (#6541), so a wrong-host dispatch fails fast at submit instead of after a queued GPU job.
The LTX-2.5 generative video upscale is code complete on both backends and verified end to end on macOS MLX (#6514). The Windows / Linux CUDA runner (
scripts/upscale_ltx25_cuda.py, shipped in #6520 and corrected in #6534) carries the same recipe, argv, grid and adapter contract (scripts/_upscale_contract.py) and is covered without a GPU, but nobody has yet run it on an NVIDIA card. Until that evidence exists the backend is deliberately documented as unverified and stays capability-gated per host.This is the one hands-on task that closes the loop. It needs an NVIDIA host with the LTX-2.5 CUDA runtime installed (
requirements-ltx25-cuda.txt), theltx25_cuda_distilledbase pack cached, the Lightricks license accepted and the gatedLightricks/LTX-2.5-22b-IC-LoRA-Pixel-Spatial-Upscalerweight downloaded through the model download/verify surface.What to do
docs/features/video-upscale.md"Readiness" through the real route → media-job queue →scripts/upscale_ltx25_cuda.py→ gallery row path. The macOS pass in Verify the generative video upscale end to end on both backends and advertise it as ready #6514 (comment of 2026-09-07) is the template: conforming source with audio, frame-padded source with audio, spatially padded source without audio, cancellation mid-render, legacy Lanczos before and after, the refusal codes, the pre-submit plan, and provenance againstffprobe.scripts/generate_ltx25_cuda.pystill render unchanged on the same host.docs/features/video-upscale.mdto verified and supported, mirroring the MLX row, in a PR that closes this issue.Acceptance
scripts/upscale_ltx25_cuda.test.js.Why
needs-inputThis needs a licensed NVIDIA machine with at least 64 GB of system memory — not merely any NVIDIA card.
ltx25_cuda_distilleddeclaresminMemoryGb: 64, and a dispatch to a 32 GB / RTX 3090 host on 2026-09-07 confirmed the floor is real: every download and pre-submit check passed, but both LTX-2.5 CUDA runners die inltx_core's safetensors loader ~18 s in, on the pack's 26 GB text encoder. See the comment of 2026-09-07 for the full evidence and the six-line repro.Remove the label only when dispatching from (or with access to) a machine that meets BOTH requirements. PortOS now refuses the upscale up front on a host below the floor (#6541), so a wrong-host dispatch fails fast at submit instead of after a queued GPU job.
Refs #6502, #6513, #6514