---
title: "Upscale image"
method: POST
path: "/v1/images/upscale"
tags: ["Image"]
---

# Upscale image

`POST /v1/images/upscale`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/images/upscale`
- Auth: HTTP bearer

Upscales an image using bundled CoreML models. Two models available:
purephoto-span-x4 (4x, default) and pipersr-2x (2x, faster, ANE-native).
Accepts base64-encoded image data, returns PNG.

## Request body

- object
  - `image` string, required: Base64-encoded image data
  - `model` 'purephoto-span-x4' | 'pipersr-2x': Upscale model to use (default purephoto-span-x4)

## Response `200`

Upscaled PNG image

## Other responses

- `400`: Invalid request
- `404`: Unknown upscale model
- `413`: Payload too large (max 10MB) or image dimensions exceed 8192px
- `503`: Image upscale service not available

---

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