API Docs

Upscale images to print-ready TIFF, PNG and JPG from your own apps. Calls draw from your credit balance — buy credits in the app, spend them via the API or the dashboard.

Authentication

Create a key at Dashboard → API keys and send it as a Bearer token. Base URL: https://printscale.app.

Authorization: Bearer psk_live_xxxxxxxx

Quickstart

1. Get an upload URL

curl -X POST https://printscale.app/api/v1/uploads \
  -H "Authorization: Bearer psk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"filename":"photo.jpg","contentType":"image/jpeg"}'

# → { "upload_url": "...", "image_url": "...", "content_type": "image/jpeg" }

2. Upload the file, then start the upscale

# upload the bytes to the presigned URL
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @photo.jpg

# start the upscale (this is where credits are charged)
curl -X POST https://printscale.app/api/v1/upscale \
  -H "Authorization: Bearer psk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"<image_url>","target":{"mode":"print","cm":60,"dpi":300}}'

# → { "id":"...", "status":"processing", "credits_charged":2 }

3. Poll for the result

curl https://printscale.app/api/v1/jobs/<id> \
  -H "Authorization: Bearer psk_live_xxx"

# → { "status":"done", "width":5315, "height":7087,
#     "outputs": { "tiff":"...", "png":"...", "jpg":"..." } }

Endpoints

POST /api/v1/uploads

Returns a presigned upload_url (PUT your file there) and the image_url to use for the upscale. You can skip this and pass any public https image URL directly.

POST /api/v1/upscale

Body: image_url (required) and target:

{"mode":"factor","factor":"auto"}   // auto (3x small / 2x large)
{"mode":"factor","factor":2}        // or 3
{"mode":"print","cm":60,"dpi":300}  // exact print size (dpi 150/300/600)

Returns { id, status, credits_charged } and processes asynchronously. On failure the credits are refunded automatically.

GET /api/v1/jobs/{id}

Returns status (processing / done / failed / expired), dimensions, credits_charged, and download outputs when done.

Credit cost

Charged by output size, shown in the response:

Notes

Use it from AI agents (MCP)

PrintScale ships an MCP server, so AI agents (Claude Desktop, Cursor, Claude Code) can upscale images as a tool — e.g. “upscale this photo to 60 cm for print.”

{
  "mcpServers": {
    "printscale": {
      "command": "npx",
      "args": ["-y", "printscale-mcp"],
      "env": { "PRINTSCALE_API_KEY": "psk_live_xxx" }
    }
  }
}

Tools: printscale_upscale, printscale_job, printscale_credits. Works with a local file path or an image URL.

Ready to build?

Create an API key