Documentation menu

Quickstart

Upscale your first image in five minutes: create a key, submit a job, wait for it to finish, download the result.

1. Create an API key

Create a key from Dashboard → API keys. The full key is shown once, at creation. Export it as an environment variable and never commit it to source control.

export UPSCALR_API_KEY="usk_..."

2. Submit an image

Post the file as multipart form data. The response arrives immediately with a queued job while the upscale runs in the background.

curl -X POST https://upscalr.app/api/v1/upscale \
  -H "Authorization: Bearer $UPSCALR_API_KEY" \
  -F image=@photo.png \
  -F target=4k

Response · 202 Accepted

{
  "id": "cmrw0iqm8000bdcs3um6ii7fa",
  "object": "job",
  "status": "queued",
  "target": "4k",
  "filename": "photo.png",
  "credits": 3,
  "created_at": "2026-07-25T09:30:00Z"
}

3. Wait for it to finish

Fetch the job every second or two until status becomes succeeded or failed. Most jobs finish in a few seconds; production integrations should prefer webhooks over polling.

curl https://upscalr.app/api/v1/jobs/cmrw0iqm8000bdcs3um6ii7fa \
  -H "Authorization: Bearer $UPSCALR_API_KEY"

4. Download the result

The result endpoint redirects to a signed URL valid for five minutes. Follow the redirect and save the bytes.

curl -L https://upscalr.app/api/v1/jobs/cmrw0iqm8000bdcs3um6ii7fa/result \
  -H "Authorization: Bearer $UPSCALR_API_KEY" \
  -o upscaled.png

Next steps