Comfy-Org/ComfyUI · error · ValueError
Asset video FPS must be in [24, 60], got {fps:.2f}.
Error message
Asset video FPS must be in [24, 60], got {fps:.2f}. What it means
Asset videos must have a frame rate between 24 and 60 FPS, checked last among the geometric validations in the Create Seedance Asset video node. get_frame_rate() is coerced to float, so both sub-24 sources (e.g. 23.976 or stop-motion) and high-refresh exports (120 FPS screen recordings) fail.
Source
Thrown at comfy_api_nodes/nodes_bytedance.py:3059
# 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"
f"group_id: {resolved_group}",
cls.hidden.unique_id,
)
return IO.NodeOutput(asset_id, resolved_group)
View on GitHub (pinned to 1c6d8d45b3)
Solutions
- Re-encode the clip at 24, 25, or 30 FPS before uploading.
- For 120 FPS sources, drop frames or conform to 60 FPS first.
Defensive patterns
Strategy: validation
Validate before calling
fps = float(video.get_frame_rate())
if not (24 <= fps <= 60):
raise ValueError("re-encode the clip at 24-60 FPS") Prevention
- Conform 23.976 FPS film sources to 24 or 25 FPS.
- Re-encode high-FPS captures (120) down to 60 or lower before upload.
When it happens
Trigger: Uploading a 23.976 FPS film export, a 15 FPS animation, or a 120 FPS game capture to the video asset creation node.
Common situations: Film-source references at 23.976; slow stylistic animations; screen recordings; variable-frame-rate files reporting an outlier FPS via get_frame_rate().
Related errors
- Asset video aspect ratio (W/H) must be in [0.4, 2.5], got {r
- Asset video total pixels (W×H) must be in [409600, 927408],
- 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/7458b942b94c0e8b.
Report an issue: GitHub.