Bria Increase Resolution API Documentation
Playground
Try it on WaveSpeedAI!Bria Increase Resolution upscales images with a method that preserves original content without regeneration, producing sharper, higher-quality output. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Features
Bria Increase Resolution upscales images while preserving the original content structure. Upload an image, choose a 2× or 4× resolution increase, and optionally preserve transparent areas for images with an alpha channel.
Why Choose This?
-
Image upscaling
Increase image resolution without regenerating the full image from scratch. -
2× and 4× scale options
Choose2for moderate enlargement or4for a stronger resolution increase. -
Content-preserving enhancement
Improve image size while keeping the original subject, composition, and visual structure. -
Alpha preservation
Preserve fully and partially transparent regions when working with images that include an alpha channel. -
Simple production workflow
Upload an image, select the desired increase, and generate the upscaled result.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Input image to upscale. Upload an image or provide a public image URL. |
| desired_increase | No | Resolution increase factor. Options: 2 or 4. |
| preserve_alpha | No | Preserve fully and partially transparent areas from the input image. When disabled, the output is fully opaque. Has no effect on images without an alpha channel. |
How to Use
- Upload an image — Provide the image you want to upscale.
- Choose desired increase — Select
2or4depending on the target output size. - Configure alpha preservation optional — Keep
preserve_alphaenabled when the input image contains transparency that should remain transparent. - Submit — Generate the upscaled image and retrieve the output.
Pricing
Pricing is fixed at $0.04 per run.
| Output | Cost |
|---|---|
| One upscaled image | $0.04 |
Best Use Cases
- Image resolution enhancement — Upscale images for higher-resolution use.
- Design assets — Increase the size of graphics, illustrations, and creative assets.
- Product visuals — Upscale product images for sharper presentation.
- Marketing materials — Prepare higher-resolution images for ads, banners, thumbnails, and social media.
- Transparent assets — Preserve alpha channels for logos, cutouts, stickers, and compositing workflows.
Pro Tips
- Use clean, reasonably sharp input images for better upscaling results.
- Choose
2×when you need a moderate size increase. - Choose
4×when the target layout needs significantly more pixels. - Enable
preserve_alphafor images with transparent or semi-transparent areas. - Disable
preserve_alphawhen you want the final output to be fully opaque. - Avoid using extremely blurry or heavily compressed images when detail preservation matters.
Notes
imageis required.desired_increasesupports2and4.preserve_alphaonly affects images with an alpha channel.- When
preserve_alphais disabled, the output is fully opaque. - This model is best suited for images that are already reasonably clean and need additional resolution.
Related Models
- Ultimate Image Upscaler — Upscale and enhance images with a more general-purpose image upscaling workflow.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
set -euo pipefail
export WAVESPEED_API_KEY="your-api-key"
REQUEST_BODY=$(cat <<'JSON'
{
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"desired_increase": 2,
"preserve_alpha": true
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/bria/increase-resolution" \
-H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
-H "Content-Type: application/json" \
-d "${REQUEST_BODY}")
TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/${PREDICTION_ID}/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body \
"${RESULT_URL}" \
-H "Authorization: Bearer ${WAVESPEED_API_KEY}")
RESULT=$(printf '%s' "${RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')
case "${STATUS}" in
completed) printf '%s\n' "${RESULT}" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "${RESULT}" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneParameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| image | string | Yes | - | The URL of the image to upscale. | |
| desired_increase | integer | No | 2 | 2, 4 | Resolution multiplier. Possible values are 2 or 4. Maximum total area is 8192x8192 pixels |
| preserve_alpha | boolean | No | true | - | Preserve fully and partially transparent areas from the input image. When false, the output is fully opaque. Has no effect on images without an alpha channel. |
| enable_sync_mode | boolean | No | false | - | If set to `true`, the request attempts to wait for the generated result and return outputs in the same response. If the result is not ready within the sync wait window, the API can return a timeout body while the task continues processing. This option is only available via the API and is supported only by some models. |
| enable_base64_output | boolean | No | false | - | If set to `true`, the prediction's `output` strings are returned as **naked base64** (no `data:<mime>;base64,` prefix). When `false` (default), outputs are returned as URLs pointing to our CDN. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Output values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.status | string | Task status. completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses. |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction |
| data.model | string | Model ID used for the prediction |
| data.outputs | array<string | object> | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.status | string | Status: completed is successful; failed, cancelled, timeout, and deleted are failure terminal statuses |
| data.created_at | string | ISO timestamp of when the request was created |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |