Comfy-Org/ComfyUI · warning · ValueError

Durations over 10s are only available for the Fast model at

Error message

Durations over 10s are only available for the Fast model at 1920x1080 resolution and 25 FPS.

What it means

Client-side validation in the v1 LTX text-to-video node: durations over 10 seconds are only supported by the 'LTX-2 (Fast)' model at exactly 1920x1080 and 25 FPS. Any other model/resolution/fps combination with duration > 10 raises this ValueError before the request is sent.

Source

Thrown at comfy_api_nodes/nodes_ltxv.py:278

            ],
            is_api_node=True,
            is_deprecated=True,
            price_badge=PRICE_BADGE,
        )

    @classmethod
    async def execute(
        cls,
        model: str,
        prompt: str,
        duration: int,
        resolution: str,
        fps: int = 25,
        generate_audio: bool = False,
    ) -> IO.NodeOutput:
        validate_string(prompt, min_length=1, max_length=10000)
        if duration > 10 and (model != "LTX-2 (Fast)" or resolution != "1920x1080" or fps != 25):
            raise ValueError(
                "Durations over 10s are only available for the Fast model at 1920x1080 resolution and 25 FPS."
            )
        response = await sync_op_raw(
            cls,
            ApiEndpoint("/proxy/ltx/v1/text-to-video", "POST"),
            data=ExecuteTaskRequest(
                prompt=prompt,
                model=MODELS_MAP[model],
                duration=duration,
                resolution=resolution,
                fps=fps,
                generate_audio=generate_audio,
            ),
            as_binary=True,
            max_retries=1,
        )
        return IO.NodeOutput(InputImpl.VideoFromFile(BytesIO(response)))

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Select 'LTX-2 (Fast)', resolution 1920x1080, fps 25 for durations above 10s.
  2. Or keep duration <= 10s to freely use Pro and other resolutions.
  3. For long high-quality output, generate 10s Pro segments and stitch, or move to the v2.5 nodes with their own rules.

Example fix

// before
duration=15, model="LTX-2 (Pro)", resolution="2560x1440", fps=25
// after
duration=15, model="LTX-2 (Fast)", resolution="1920x1080", fps=25
Defensive patterns

Strategy: validation

Validate before calling

LONG_DUR_OK = (model == "LTX-2 (Fast)", resolution == "1920x1080", fps == 25)
if duration > 10 and not all(LONG_DUR_OK):
    raise ValueError("duration > 10s requires LTX-2 (Fast) @ 1920x1080 @ 25fps")

Type guard

def v1_long_duration_allowed(model: str, resolution: str, fps: int) -> bool:
    return model == "LTX-2 (Fast)" and resolution == "1920x1080" and fps == 25

Prevention

When it happens

Trigger: Executing LtxvApiTextToVideo (v1 route /proxy/ltx/v1/text-to-video) with duration > 10 while model != 'LTX-2 (Fast)', resolution != '1920x1080', or fps != 25 — e.g. 'LTX-2 (Pro)' at 12s, or Fast at 2560x1440 at 12s.

Common situations: Users switching from the Pro model for quality and forgetting the long-duration restriction; portrait resolutions; fps left at 24 with duration 15.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/f679e4e0991ff314. Report an issue: GitHub.