feat: LTX-2 model compatibility for video travel pipeline#17
Merged
peteromallet merged 4 commits intomainfrom Feb 18, 2026
Merged
feat: LTX-2 model compatibility for video travel pipeline#17peteromallet merged 4 commits intomainfrom
peteromallet merged 4 commits intomainfrom
Conversation
LTX-2 (ltx2_19B) has different requirements from Wan models: - Frame quantization: 8N+1 (vs Wan's 4N+1) - FPS: 24 (vs Wan's 16) - VAE block size: 64px (vs 16px) - Minimum frames: 17 (vs 5) - Native sliding window (incompatible with SVI) - Returns audio alongside video Changes: - Make frame quantization model-aware via _get_frame_step() helper - Add model-aware FPS defaulting via _get_model_fps() helper - Make resolution grid snapping accept configurable grid size (64 for LTX-2) - Make minimum frame safety floor query model's frames_minimum - Add ltx2_19B to is_t2v() model type detection - Add ltx2 to task type registry (WGP_TASK_TYPES, DIRECT_QUEUE, model mapping) - Add ltx2 LoRA path routing (loras/ltx2) - Add LTX-2 video_prompt_type handling in travel segment processor - Disable SVI mode for LTX-2 (uses Wan-specific LoRAs, breaks native sliding window) - Preserve audio through travel stitch: extract from segments and mux onto stitched video Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The VACE indicator list included "lightning", "cocktail", "controlnet" which caused non-VACE I2V models like wan_2_2_i2v_lightning_baseline_2_2_2 to be misidentified as VACE. This led to unnecessary guide video/mask creation and incompatible VACE parameters being sent to WGP, causing generations to hang for 25+ minutes until timeout. All actual VACE models have "vace" in their name, so a simple substring check is both correct and sufficient. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
Core model support:
ltx2_19Btois_t2v()detectionltx2to task type registry (WGP_TASK_TYPES,DIRECT_QUEUE_TASK_TYPES,TASK_TYPE_TO_MODEL)ltx2LoRA path routing (loras/ltx2)Frame quantization (CRITICAL):
4N+1quantization with model-awarestep*N+1via_get_frame_step()helper8N+1(frames_steps=8), Wan uses4N+1(frames_steps=4)FPS handling:
_get_model_fps()(24 for LTX-2, 16 for Wan)fps_helpersfrom model FPS when not explicitly providedResolution:
snap_resolution_to_model_grid()now accepts configurable grid sizeget_model_grid_size()helper queries model handlerSafety:
frames_minimum(17 for LTX-2, 5 for Wan)SVI exclusion:
Video prompt type:
video_prompt_typehandling in segment processorTSEVtypes (not Wan'sU/UM)Audio preservation:
mux_audio_from_segments()in ffmpeg_ops.pyTest plan
🤖 Generated with Claude Code