{"record":{"id":"f679e4e0991ff314","repo":"Comfy-Org/ComfyUI","slug":"durations-over-10s-are-only-available-for-the-fast","errorCode":null,"errorMessage":"Durations over 10s are only available for the Fast model at 1920x1080 resolution and 25 FPS.","messagePattern":"Durations over 10s are only available for the Fast model at 1920x1080 resolution and 25 FPS\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"warning","filePath":"comfy_api_nodes/nodes_ltxv.py","lineNumber":278,"sourceCode":"            ],\n            is_api_node=True,\n            is_deprecated=True,\n            price_badge=PRICE_BADGE,\n        )\n\n    @classmethod\n    async def execute(\n        cls,\n        model: str,\n        prompt: str,\n        duration: int,\n        resolution: str,\n        fps: int = 25,\n        generate_audio: bool = False,\n    ) -> IO.NodeOutput:\n        validate_string(prompt, min_length=1, max_length=10000)\n        if duration > 10 and (model != \"LTX-2 (Fast)\" or resolution != \"1920x1080\" or fps != 25):\n            raise ValueError(\n                \"Durations over 10s are only available for the Fast model at 1920x1080 resolution and 25 FPS.\"\n            )\n        response = await sync_op_raw(\n            cls,\n            ApiEndpoint(\"/proxy/ltx/v1/text-to-video\", \"POST\"),\n            data=ExecuteTaskRequest(\n                prompt=prompt,\n                model=MODELS_MAP[model],\n                duration=duration,\n                resolution=resolution,\n                fps=fps,\n                generate_audio=generate_audio,\n            ),\n            as_binary=True,\n            max_retries=1,\n        )\n        return IO.NodeOutput(InputImpl.VideoFromFile(BytesIO(response)))\n","sourceCodeStart":260,"sourceCodeEnd":296,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_ltxv.py#L260-L296","documentation":"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.","triggerScenarios":"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.","commonSituations":"Users switching from the Pro model for quality and forgetting the long-duration restriction; portrait resolutions; fps left at 24 with duration 15.","solutions":["Select 'LTX-2 (Fast)', resolution 1920x1080, fps 25 for durations above 10s.","Or keep duration <= 10s to freely use Pro and other resolutions.","For long high-quality output, generate 10s Pro segments and stitch, or move to the v2.5 nodes with their own rules."],"exampleFix":"// before\nduration=15, model=\"LTX-2 (Pro)\", resolution=\"2560x1440\", fps=25\n// after\nduration=15, model=\"LTX-2 (Fast)\", resolution=\"1920x1080\", fps=25","handlingStrategy":"validation","validationCode":"LONG_DUR_OK = (model == \"LTX-2 (Fast)\", resolution == \"1920x1080\", fps == 25)\nif duration > 10 and not all(LONG_DUR_OK):\n    raise ValueError(\"duration > 10s requires LTX-2 (Fast) @ 1920x1080 @ 25fps\")","typeGuard":"def v1_long_duration_allowed(model: str, resolution: str, fps: int) -> bool:\n    return model == \"LTX-2 (Fast)\" and resolution == \"1920x1080\" and fps == 25","tryCatchPattern":null,"preventionTips":["Only use Fast/1080p/25fps for > 10s clips.","Cap duration widgets at 10 when using Pro or other resolutions."],"tags":["ltx","api-nodes","validation","duration","pre-flight"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}