{"record":{"id":"28825f6f070c2a77","repo":"Comfy-Org/ComfyUI","slug":"asset-video-total-pixels-w-h-must-be-in-409600","errorCode":null,"errorMessage":"Asset video total pixels (W×H) must be in [409600, 927408], got {pixels:,} ({w}x{h}).","messagePattern":"Asset video total pixels \\(W×H\\) must be in \\[409600, 927408\\], got (.+?) \\((.+?)x(.+?)\\)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy_api_nodes/nodes_bytedance.py","lineNumber":3053,"sourceCode":"    async def execute(\n        cls,\n        video: Input.Video,\n        group_id: str = \"\",\n        # name: str = \"\",\n    ) -> IO.NodeOutput:\n        # if len(name) > 64:\n        #     raise ValueError(\"Name of asset can not be greater then 64 symbols\")\n        validate_video_duration(video, min_duration=2, max_duration=15)\n        validate_video_dimensions(video, min_width=300, max_width=6000, min_height=300, max_height=6000)\n\n        w, h = video.get_dimensions()\n        if h > 0:\n            ratio = w / h\n            if not (0.4 <= ratio <= 2.5):\n                raise ValueError(f\"Asset video aspect ratio (W/H) must be in [0.4, 2.5], got {ratio:.3f} ({w}x{h}).\")\n        pixels = w * h\n        if not (409_600 <= pixels <= 927_408):\n            raise ValueError(\n                f\"Asset video total pixels (W×H) must be in [409600, 927408], \" f\"got {pixels:,} ({w}x{h}).\"\n            )\n\n        fps = float(video.get_frame_rate())\n        if not (24 <= fps <= 60):\n            raise ValueError(f\"Asset video FPS must be in [24, 60], got {fps:.2f}.\")\n\n        resolved_group = await _resolve_group_id(cls, group_id)\n        asset_id = await _create_seedance_asset(\n            cls,\n            group_id=resolved_group,\n            url=await upload_video_to_comfyapi(cls, video),\n            name=\"\",\n            asset_type=\"Video\",\n        )\n        await _wait_for_asset_active(cls, asset_id, resolved_group)\n        PromptServer.instance.send_progress_text(\n            f\"Please save the asset_id and group_id for reuse.\\n\\nasset_id: {asset_id}\\n\\n\"","sourceCodeStart":3035,"sourceCodeEnd":3071,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_bytedance.py#L3035-L3071","documentation":"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.","triggerScenarios":"Uploading a 1920x1080 clip (2,073,600 px > cap) or a 512x512 clip (262,144 px < floor) to the video asset creation node.","commonSituations":"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.","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."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"w, h = video.get_dimensions()\nif not (409_600 <= w * h <= 927_408):\n    raise ValueError(\"resize so total pixels are in [409600, 927408]\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["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."],"tags":["bytedance","seedance","asset","video","resolution","validation"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}