{"record":{"id":"c39b8bda52893dc7","repo":"Comfy-Org/ComfyUI","slug":"durations-over-10s-require-a-720p-or-1080p-resolut","errorCode":null,"errorMessage":"Durations over 10s require a 720p or 1080p resolution and 24/25 FPS.","messagePattern":"Durations over 10s require a 720p or 1080p resolution and 24/25 FPS\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"warning","filePath":"comfy_api_nodes/nodes_ltxv.py","lineNumber":217,"sourceCode":"\n\ndef _v25_seed_input() -> IO.Int.Input:\n    return IO.Int.Input(\n        \"seed\",\n        default=42,\n        min=0,\n        max=0xFFFFFFFF,\n        control_after_generate=True,\n        tooltip=\"Seed to determine if node should re-run; \"\n        \"actual results are nondeterministic regardless of seed.\",\n    )\n\n\ndef _v25_validate_settings(model: dict) -> None:\n    if int(model[\"duration\"]) > 10 and (\n        int(model[\"fps\"]) > 25 or model[\"resolution\"] in (\"2560x1440\", \"1440x2560\", \"3840x2160\", \"2160x3840\")\n    ):\n        raise ValueError(\"Durations over 10s require a 720p or 1080p resolution and 24/25 FPS.\")\n\n\nclass TextToVideoNode(IO.ComfyNode):\n    @classmethod\n    def define_schema(cls):\n        return IO.Schema(\n            node_id=\"LtxvApiTextToVideo\",\n            display_name=\"LTXV Text To Video\",\n            category=\"partner/video/LTXV\",\n            description=\"Professional-quality videos with customizable duration and resolution.\",\n            inputs=[\n                IO.Combo.Input(\"model\", options=list(MODELS_MAP.keys())),\n                IO.String.Input(\n                    \"prompt\",\n                    multiline=True,\n                    default=\"\",\n                ),\n                IO.Combo.Input(\"duration\", options=[6, 8, 10, 12, 14, 16, 18, 20], default=8),","sourceCodeStart":199,"sourceCodeEnd":235,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_ltxv.py#L199-L235","documentation":"Client-side settings validation for LTX v2.5 nodes: durations above 10 seconds are only allowed at 720p/1080p resolutions and FPS of 24 or 25. If duration > 10 and fps > 25 or the resolution is 1440p/4K, a ValueError is raised before any API call.","triggerScenarios":"Executing a v2.5 LTX node with model['duration'] > 10 while model['fps'] > 25 (e.g. 30) or model['resolution'] in {2560x1440, 1440x2560, 3840x2160, 2160x3840}. Note the check allows fps <= 25 but the message says 24/25 — fps below 24 may still be rejected by the API.","commonSituations":"Copying a short-form 30fps preset then raising duration to 12s; switching resolution widget to 4K without lowering duration; workflows that compute duration dynamically exceeding 10s only for some inputs.","solutions":["Set duration <= 10s, or keep duration > 10s with 1280x720/1920x1080 (portrait variants) and fps 25.","If you need 30fps, keep duration at or below 10 seconds.","For 4K/1440p output, generate at 1080p long-form and upscale elsewhere."],"exampleFix":"// before\nmodel = {\"duration\": 12, \"fps\": 30, \"resolution\": \"1920x1080\"}\n// after\nmodel = {\"duration\": 12, \"fps\": 25, \"resolution\": \"1920x1080\"}","handlingStrategy":"validation","validationCode":"dur, fps, res = int(model[\"duration\"]), int(model[\"fps\"]), model[\"resolution\"]\nif dur > 10 and (fps not in (24, 25) or res in (\"2560x1440\", \"1440x2560\", \"3840x2160\", \"2160x3840\")):\n    raise ValueError(\"Long durations need 720p/1080p at 24/25 FPS\")","typeGuard":"def v25_settings_valid(model: dict) -> bool:\n    if int(model[\"duration\"]) <= 10:\n        return True\n    return int(model[\"fps\"]) <= 25 and model[\"resolution\"] not in (\n        \"2560x1440\", \"1440x2560\", \"3840x2160\", \"2160x3840\",\n    )","tryCatchPattern":null,"preventionTips":["Pair duration increases with a resolution/fps downgrade check.","Remember 1440p/4K and fps > 25 are long-duration blockers.","Compute duration dynamically with a clamp to 10s for unsafe combos."],"tags":["ltx","api-nodes","validation","settings","pre-flight"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}