{"record":{"id":"55e4b35402863db8","repo":"Comfy-Org/ComfyUI","slug":"kling-video-o1-does-not-support-audio-generation","errorCode":null,"errorMessage":"kling-video-o1 does not support audio generation.","messagePattern":"kling-video-o1 does not support audio generation\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy_api_nodes/nodes_kling.py","lineNumber":703,"sourceCode":"\n    @classmethod\n    async def execute(\n        cls,\n        model_name: str,\n        prompt: str,\n        aspect_ratio: str,\n        duration: int,\n        resolution: str = \"1080p\",\n        storyboards: dict | None = None,\n        generate_audio: bool = False,\n        seed: int = 0,\n    ) -> IO.NodeOutput:\n        _ = seed\n        if model_name == \"kling-video-o1\":\n            if duration not in (5, 10):\n                raise ValueError(\"kling-video-o1 only supports durations of 5 or 10 seconds.\")\n            if generate_audio:\n                raise ValueError(\"kling-video-o1 does not support audio generation.\")\n            if resolution == \"4k\":\n                raise ValueError(\"kling-video-o1 does not support 4k resolution.\")\n        stories_enabled = storyboards is not None and storyboards[\"storyboards\"] != \"disabled\"\n        if stories_enabled and model_name == \"kling-video-o1\":\n            raise ValueError(\"kling-video-o1 does not support storyboards.\")\n        validate_string(prompt, strip_whitespace=True, min_length=0 if stories_enabled else 1, max_length=2500)\n\n        multi_shot = None\n        multi_prompt_list = None\n        if stories_enabled:\n            count = int(storyboards[\"storyboards\"].split()[0])\n            multi_shot = True\n            multi_prompt_list = []\n            for i in range(1, count + 1):\n                sb_prompt = storyboards[f\"storyboard_{i}_prompt\"]\n                sb_duration = storyboards[f\"storyboard_{i}_duration\"]\n                validate_string(sb_prompt, field_name=f\"storyboard_{i}_prompt\", min_length=1, max_length=512)\n                multi_prompt_list.append(","sourceCodeStart":685,"sourceCodeEnd":721,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_kling.py#L685-L721","documentation":"Client-side capability guard: enabling generate_audio with kling-video-o1 raises immediately, because the o1 model has no audio-generation support in this node's contract. Checked before any request is sent.","triggerScenarios":"Workflow with model=kling-video-o1 and generate_audio=True (checkbox enabled); reusing a workflow built for an audio-capable model after switching the model dropdown to o1.","commonSituations":"Model switch without revisiting option toggles; copied community workflows with audio enabled by default.","solutions":["Disable the generate_audio option when using kling-video-o1","Switch to a Kling model that supports audio generation if audio is required","Generate audio in a separate node/pipeline (e.g. a TTS or audio model) and mux afterwards"],"exampleFix":"// before\nmodel_name = \"kling-video-o1\"; generate_audio = True\n\n// after\nmodel_name = \"kling-video-o1\"; generate_audio = False","handlingStrategy":"validation","validationCode":"def o1_audio_ok(model_name: str, generate_audio: bool) -> bool:\n    return model_name != \"kling-video-o1\" or not generate_audio\n\nassert o1_audio_ok(model_name, generate_audio)","typeGuard":"def audio_allowed(model_name: str) -> bool:\n    return model_name != \"kling-video-o1\"","tryCatchPattern":"try:\n    out = await kling_t2v_node(model_name=model, generate_audio=True, ...)\nexcept ValueError as e:\n    if \"does not support audio\" in str(e):\n        out = await kling_t2v_node(model_name=model, generate_audio=False, ...)\n    else:\n        raise","preventionTips":["Reset option toggles when changing models","Plan audio as a separate pipeline stage when the chosen model lacks it"],"tags":["kling","model-constraints","audio","validation","pre-flight"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}