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
- Resize the video so total pixels land in [409600, 927408], e.g. scale 1080p down to ~1280x704 (901,120 px).
- 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
- Downscale 1080p-class clips to ~1280x704 before upload.
- Upscale tiny clips above the 409,600 px floor; the 300-6000px dimension check alone is not sufficient.
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
- Asset video aspect ratio (W/H) must be in [0.4, 2.5], got {r
- Asset video FPS must be in [24, 60], got {fps:.2f}.
- Reference video {index} is too small: {w}x{h} = {pixels:,} t
- Reference video {index} is too large: {w}x{h} = {pixels:,} t
- Asset {aid} is not an Image asset.
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/28825f6f070c2a77.
Report an issue: GitHub.