{"record":{"id":"fc68b867d1b9d541","repo":"Comfy-Org/ComfyUI","slug":"up-to-seed-max-videos-videos-are-supported-per-r","errorCode":null,"errorMessage":"Up to {SEED_MAX_VIDEOS} videos are supported per request.","messagePattern":"Up to (.+?) videos are supported per request\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy_api_nodes/nodes_bytedance_llm.py","lineNumber":208,"sourceCode":"    async def execute(\n        cls,\n        prompt: str,\n        model: dict,\n        seed: int,\n        system_prompt: str = \"\",\n    ) -> IO.NodeOutput:\n        validate_string(prompt, strip_whitespace=True, min_length=1)\n        model_label = model[\"model\"]\n        temperature = model[\"temperature\"]\n        model_id = SEED_MODELS[model_label]\n\n        image_tensors: list[Input.Image] = [t for t in (model.get(\"images\") or {}).values() if t is not None]\n        if sum(get_number_of_images(t) for t in image_tensors) > SEED_MAX_IMAGES:\n            raise ValueError(f\"Up to {SEED_MAX_IMAGES} images are supported per request.\")\n\n        video_inputs: list[Input.Video] = [v for v in (model.get(\"videos\") or {}).values() if v is not None]\n        if len(video_inputs) > SEED_MAX_VIDEOS:\n            raise ValueError(f\"Up to {SEED_MAX_VIDEOS} videos are supported per request.\")\n\n        content: list[BytePlusMessageContent] = []\n        if image_tensors:\n            content.extend(await _build_image_content_blocks(cls, image_tensors))\n        if video_inputs:\n            content.extend(await _build_video_content_blocks(cls, video_inputs))\n        content.append(BytePlusInputText(text=prompt))\n\n        response = await sync_op(\n            cls,\n            ApiEndpoint(path=BYTEPLUS_RESPONSES_ENDPOINT, method=\"POST\"),\n            response_model=BytePlusResponseObject,\n            data=BytePlusResponseCreateRequest(\n                model=model_id,\n                input=[BytePlusInputMessage(role=\"user\", content=content)],\n                instructions=system_prompt or None,\n                temperature=temperature,\n                store=False,","sourceCodeStart":190,"sourceCodeEnd":226,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_bytedance_llm.py#L190-L226","documentation":"Raised by the ByteDanceSeedNode before any request when more than SEED_MAX_VIDEOS (4) video inputs are connected. Unlike images, the limit counts video objects, not frames. It fires during execute() validation, before uploads start.","triggerScenarios":"len of the non-None entries in the node's videos dict > 4 — i.e. five or more VIDEO outputs wired into the node's video inputs.","commonSituations":"Wiring a whole directory of clips into one prompt; chaining multiple Load Video nodes for a compare-and-contrast query; forgetting that Autogrow video sockets make it easy to add many inputs.","solutions":["Disconnect videos so at most 4 remain connected.","Split the analysis across multiple Seed node runs (4 videos each) and merge the text outputs.","Concatenate extra clips into a single video upstream if sequential rather than parallel analysis is acceptable."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"SEED_MAX_VIDEOS = 4\n\nconnected_videos = [v for v in videos.values() if v is not None]\nassert len(connected_videos) <= SEED_MAX_VIDEOS, f\"max {SEED_MAX_VIDEOS} videos per Seed request\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Count video inputs (not frames) before queueing: at most 4.","Concatenate extra clips upstream or split across runs for more coverage."],"tags":["comfyui","bytedance","seed-llm","validation","limit","video"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}