Spaces:
Running on Zero
Running on Zero
Commit History
-
faster inference: pre-warm video client, configurable TTS stepsβ
- pre-warm gradio_client to victor/LongCat-Video-Avatar-1.5 at module load, alongside TTSServer. saves ~0.5-2s of TLS+/info handshake on the first request. falls back to a lazy retry if boot-time connect fails, so a temporarily-unreachable LongCat doesn't take this Space down - inference_server.generate() now takes a steps param (default 30 to keep existing call-sites unchanged); the hardcoded 30 in LTX2Scheduler.execute() now uses it - new TTS steps slider in Advanced (range 10-40, default 22). lower steps trade quality for speed; 22 is usually fine for short prompts - GPU duration callable scales its base window with steps so we don't over-budget when users reduce step count09fbec0
-
Long-form chunking + RE-USE on referenceβ
Port long-form generation from the upstream DramaBox repo (commit 382a37c) to the HF Space: - Auto chunk-and-stitch when the prompt's estimated (or explicit) duration exceeds the max_chunk_duration cap; quote-aware sentence splitter (new src/text_chunker.py) and shared duration estimator (new src/duration_estimator.py). Chunks are stitched with an equal-power crossfade so independently-generated joins are inaudible. - RE-USE input-side voice-reference denoise (new src/super_resolution.py). Applied to the *reference* before VAE encoding so the model conditions on a clean speaker / style anchor; the generated paralinguistic content (laughs, breaths, sighs) stays untouched. Cached per session so chunked runs don't re-denoise the same reference per chunk. Silently falls back if the mamba_ssm / causal-conv1d kernels can't be loaded. - /generate_audio API gains denoise_ref + chunking knobs with sensible defaults, so the existing index.html client (which sends only the β¦6293c36
-
Add explicit Target Duration slider (0β60s) + gen_duration kwargβ
Manmay Nakhashi- TTSServer.generate gains gen_duration: float = 0.0 (override estimator) - Gradio app exposes a 'Target duration (s)' slider (0 = auto) - inference.py --gen-duration help text expanded - Auto-rescale and end-of-clip patch already active for long outputs For music / multi-section scenes set the slider to 20β60 s and the auto-rescale schedule keeps the output safe at any cfg.a98b3c2 -
Patch end-of-clip silence prior at latent frame 513 for >20s outputsβ
Manmay NakhashiBase LTX-2.3 22B was trained on audio β€~20s and learned a strong 'clip-end silence' prior that lands at the next patchifier-aligned latent boundary (frame 513 = 8*64+1). For longer generations this leaks through as a ~30ms silence dip near 20.4s. Linear interpolation of frames 512-513 between neighbours 511 and 514 removes the dip cleanly. Only triggers when latent has >513 frames so shorter outputs remain byte-identical.0501c05
-
Use richer duration estimator in warm server (sentence + non-verbal aware)β
Manmay NakhashiThe simple len*0.065+1.5 formula in inference_server.py undercounted long expressive prompts (e.g. 09_villain_sinister_laugh estimated 19.2s but actual content needs ~28s, so output was clipped). Delegate to inference.estimate_speech_duration which budgets per-sentence pauses, laugh repetitions, sighs/gasps and a 2s base padding.ac76f1c -
Fetch unsloth bnb-4bit Gemma + Dramabox checkpoints from HF on startupβ
Manmay NakhashiReplaces hardcoded local paths (which only existed on the dev machine) with model_downloader.get_all_paths(). Gemma now resolves to unsloth/gemma-3-12b-it-bnb-4bit, matching the bnb_4bit=True path.e893eeb -
DramaBox Space β initial app + vendored ltx2
Unverified signatureef20ddf