---
title: "Upscale an image"
method: POST
path: "/api/upscale"
tags: ["Upscale"]
---

# Upscale an image

`POST /api/upscale`

## Request

- Base URL: `https://www.zestio.de`
- URL: `https://www.zestio.de/api/upscale`
- Auth: one of:
  - API key in header `Authorization`
  - API key in cookie `sb-access-token`

Upscale low-resolution images using AI while maintaining quality.

## Request body

- UpscaleRequest
  - `image` string, uri, required: Public URL of the image to upscale
  - `scale` 2 | 4: Scale factor

## Response `200`

Upscale successful

- UpscaleResponse
  - `success` boolean
  - `output` string, uri: URL to the upscaled image. URL is signed and valid for 1 hour — download or store the image promptly; request the endpoint again if you need a fresh link. (Authenticated browser sessions receive an app-internal URL instead.)
  - `scale` integer
  - `creditsUsed` integer

## Other responses

- `400`: Bad request - invalid parameters
- `401`: Unauthorized - invalid or missing credentials
- `402`: Payment required - insufficient credits
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/zestio/apis/zestio-api.md) · [All operations](https://skmtc.dev/zestio/apis/zestio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zestio/apis/zestio-api/revisions/d291848b1175?raw)
