Comfy-Org/ComfyUI · error · ValueError
This image cannot be upscaled by Bria at any multiplier: it
Error message
This image cannot be upscaled by Bria at any multiplier: it is {width}x{height}, and Bria first enlarges the short side to {BRIA_MIN_SHORT_SIDE} pixels, which pushes the long side past the {BRIA_MAX_OUTPUT_SIDE} pixel limit. Crop it to a squarer shape first. What it means
Hardest Bria upscale failure: Bria first enlarges the short side to BRIA_MIN_SHORT_SIDE pixels, and for extremely elongated images that enlargement alone pushes the long side past BRIA_MAX_OUTPUT_SIDE. No multiplier (not even after downscaling candidates) can satisfy the limit, so the node tells you to crop to a squarer shape.
Source
Thrown at comfy_api_nodes/nodes_bria.py:739
if _upscaled_output_side(height, width, multiplier) > BRIA_MAX_OUTPUT_SIDE:
candidates = [c for c in (4, 2) if c <= multiplier]
if not auto_downscale:
predicted = _upscaled_output_side(height, width, multiplier)
raise ValueError(
f"Bria can upscale up to a maximum output dimension of {BRIA_MAX_OUTPUT_SIDE} pixels: "
f"input is {width}x{height}, x{multiplier} would be {predicted} pixels on the long side. "
f"Enable auto_downscale, or use a smaller input image or a lower multiplier."
)
fitted = next(
(c for c in candidates if _upscaled_output_side(height, width, c) <= BRIA_MAX_OUTPUT_SIDE), None
)
if fitted is not None:
multiplier = fitted
else:
shrinkable = next((c for c in sorted(candidates) if _smallest_output_side(height, width, c)
<= BRIA_MAX_OUTPUT_SIDE), None)
if shrinkable is None:
raise ValueError(
f"This image cannot be upscaled by Bria at any multiplier: it is {width}x{height}, and "
f"Bria first enlarges the short side to {BRIA_MIN_SHORT_SIDE} pixels, which pushes the "
f"long side past the {BRIA_MAX_OUTPUT_SIDE} pixel limit. Crop it to a squarer shape first."
)
multiplier = shrinkable
image = downscale_image_tensor_by_max_side(image, max_side=BRIA_MAX_OUTPUT_SIDE // multiplier)
response = await sync_op(
cls,
ApiEndpoint(path="/proxy/bria/v2/image/edit/increase_resolution", method="POST"),
data=BriaIncreaseResolutionRequest(
image=await upload_image_to_comfyapi(cls, image, total_pixels=None, wait_label="Uploading image"),
desired_increase=multiplier,
visual_input_content_moderation=moderation.get("visual_input_moderation", False),
visual_output_content_moderation=moderation.get("visual_output_moderation", False),
),
response_model=BriaStatusResponse,
)
response = await poll_op(View on GitHub (pinned to 1c6d8d45b3)
Solutions
- Crop or split the image into squarer tiles, upscale each, and reassemble.
- Reduce the extreme aspect ratio before upscaling (letterbox or resize proportionally).
- Use a different upscaler (local model) for extreme aspect ratios.
Example fix
# before: 8192x1024 panorama straight into Bria upscale # after: tile it .tiles = split_horizontal(image, overlap=64); results = [bria_upscale(t) for t in tiles]; image = stitch_horizontal(results)
Defensive patterns
Strategy: validation
Validate before calling
h, w = get_image_dimensions(image)
# short side gets enlarged to BRIA_MIN_SHORT_SIDE; resulting long side must fit
worst_long = max(w, h) * (BRIA_MIN_SHORT_SIDE / min(w, h))
if worst_long > BRIA_MAX_OUTPUT_SIDE:
raise UserError('Image too elongated for Bria upscale - crop/tile first.') Prevention
- Check aspect ratio before Bria upscaling: extremely wide/tall images must be tiled.
- Keep the short side at or above BRIA_MIN_SHORT_SIDE so no enlargement is needed.
When it happens
Trigger: auto_downscale is on, no candidate multiplier (4, 2) fits, and even _smallest_output_side exceeds the cap - i.e. an image so wide/tall that short-side normalization blows the long-side budget.
Common situations: Panoramas, ultra-wide strips (e.g. 8000x200), or tall storyboard strips fed straight into the upscaler.
Related errors
- Bria accepts a width-to-height ratio between {BRIA_MIN_RATIO
- Bria can upscale up to a maximum output dimension of {BRIA_M
- Mask must have the same aspect ratio as the image: image is
- One of prompt or structured_prompt is required to be non-emp
- The mask is empty, so there is nothing to {action}. Masks ar
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/c5255659c9f46896.
Report an issue: GitHub.