Comfy-Org/ComfyUI · error · ValueError

Asset video total pixels (W×H) must be in [409600, 927408],

Error message

Asset video total pixels (W×H) must be in [409600, 927408], got {pixels:,} ({w}x{h}).

What it means

Asset videos must have a total pixel count between 409,600 (640x640 equivalent) and 927,408 pixels, enforced after the aspect-ratio check in the Create Seedance Asset video node. This is effectively a resolution window (roughly 720p-class) that the provider accepts for reusable reference assets; out-of-window videos are rejected before upload.

Source

Thrown at comfy_api_nodes/nodes_bytedance.py:3053

    async def execute(
        cls,
        video: Input.Video,
        group_id: str = "",
        # name: str = "",
    ) -> IO.NodeOutput:
        # if len(name) > 64:
        #     raise ValueError("Name of asset can not be greater then 64 symbols")
        validate_video_duration(video, min_duration=2, max_duration=15)
        validate_video_dimensions(video, min_width=300, max_width=6000, min_height=300, max_height=6000)

        w, h = video.get_dimensions()
        if h > 0:
            ratio = w / h
            if not (0.4 <= ratio <= 2.5):
                raise ValueError(f"Asset video aspect ratio (W/H) must be in [0.4, 2.5], got {ratio:.3f} ({w}x{h}).")
        pixels = w * h
        if not (409_600 <= pixels <= 927_408):
            raise ValueError(
                f"Asset video total pixels (W×H) must be in [409600, 927408], " f"got {pixels:,} ({w}x{h})."
            )

        fps = float(video.get_frame_rate())
        if not (24 <= fps <= 60):
            raise ValueError(f"Asset video FPS must be in [24, 60], got {fps:.2f}.")

        resolved_group = await _resolve_group_id(cls, group_id)
        asset_id = await _create_seedance_asset(
            cls,
            group_id=resolved_group,
            url=await upload_video_to_comfyapi(cls, video),
            name="",
            asset_type="Video",
        )
        await _wait_for_asset_active(cls, asset_id, resolved_group)
        PromptServer.instance.send_progress_text(
            f"Please save the asset_id and group_id for reuse.\n\nasset_id: {asset_id}\n\n"

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Resize the video so total pixels land in [409600, 927408], e.g. scale 1080p down to ~1280x704 (901,120 px).
  2. Upscale very small clips above the 409,600 px floor before upload.
Defensive patterns

Strategy: validation

Validate before calling

w, h = video.get_dimensions()
if not (409_600 <= w * h <= 927_408):
    raise ValueError("resize so total pixels are in [409600, 927408]")

Prevention

When it happens

Trigger: Uploading a 1920x1080 clip (2,073,600 px > cap) or a 512x512 clip (262,144 px < floor) to the video asset creation node.

Common situations: Reusing full-HD source footage as a reference asset; small upscaled thumbnails falling under the floor; assuming any 300-6000px dimension video is acceptable because the dimension check passed.

Related errors


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