Comfy-Org/ComfyUI · error · ValueError

Up to {SEED_MAX_VIDEOS} videos are supported per request.

Error message

Up to {SEED_MAX_VIDEOS} videos are supported per request.

What it means

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.

Source

Thrown at comfy_api_nodes/nodes_bytedance_llm.py:208

    async def execute(
        cls,
        prompt: str,
        model: dict,
        seed: int,
        system_prompt: str = "",
    ) -> IO.NodeOutput:
        validate_string(prompt, strip_whitespace=True, min_length=1)
        model_label = model["model"]
        temperature = model["temperature"]
        model_id = SEED_MODELS[model_label]

        image_tensors: list[Input.Image] = [t for t in (model.get("images") or {}).values() if t is not None]
        if sum(get_number_of_images(t) for t in image_tensors) > SEED_MAX_IMAGES:
            raise ValueError(f"Up to {SEED_MAX_IMAGES} images are supported per request.")

        video_inputs: list[Input.Video] = [v for v in (model.get("videos") or {}).values() if v is not None]
        if len(video_inputs) > SEED_MAX_VIDEOS:
            raise ValueError(f"Up to {SEED_MAX_VIDEOS} videos are supported per request.")

        content: list[BytePlusMessageContent] = []
        if image_tensors:
            content.extend(await _build_image_content_blocks(cls, image_tensors))
        if video_inputs:
            content.extend(await _build_video_content_blocks(cls, video_inputs))
        content.append(BytePlusInputText(text=prompt))

        response = await sync_op(
            cls,
            ApiEndpoint(path=BYTEPLUS_RESPONSES_ENDPOINT, method="POST"),
            response_model=BytePlusResponseObject,
            data=BytePlusResponseCreateRequest(
                model=model_id,
                input=[BytePlusInputMessage(role="user", content=content)],
                instructions=system_prompt or None,
                temperature=temperature,
                store=False,

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Disconnect videos so at most 4 remain connected.
  2. Split the analysis across multiple Seed node runs (4 videos each) and merge the text outputs.
  3. Concatenate extra clips into a single video upstream if sequential rather than parallel analysis is acceptable.
Defensive patterns

Strategy: validation

Validate before calling

SEED_MAX_VIDEOS = 4

connected_videos = [v for v in videos.values() if v is not None]
assert len(connected_videos) <= SEED_MAX_VIDEOS, f"max {SEED_MAX_VIDEOS} videos per Seed request"

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


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