API Documentation

Integrate AI image upscaling into your app with a single API call.

Overview

The API lets you upscale images programmatically. Submit a URL and we return a high-resolution version powered by SeedVR2.

Base URL

https://your-domain.com/api/v1

API access is included with the Ultra plan ($29/mo). Your 800 monthly images work via both the web app and API. After 800, additional images are $0.05 each.

Authentication

All requests require a Bearer token. Generate your API key from the Settings page.

header
Authorization: Bearer kn_live_your_api_key_here

Upscale an Image

POST /api/v1/upscale

Submit an image URL for upscaling. Processing takes 5-15 seconds.

Request body

url
stringrequired

Public URL of the image. Max 25MB. JPG, PNG, WebP.

scale
number

2 or 4. Default: 2.

webhook
string

Optional callback URL for completion.

Example

curl
curl -X POST https://your-domain.com/api/v1/upscale \
  -H "Authorization: Bearer kn_live_abc..." \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/photo.jpg","scale":4}'

Response

json
{
  "id": "cm2abc123",
  "status": "processing",
  "scale": 4,
  "poll_url": "/api/v1/upscale/cm2abc123"
}

Check Job Status

GET /api/v1/upscale/:id

Poll a job. When complete, output_url has your image.

response
{
  "id": "cm2abc123",
  "status": "complete",
  "output_url": "https://cdn.example.com/results/cm2abc123.png",
  "dimensions": {"width": 4096, "height": 4096},
  "processing_ms": 8432
}

Statuses

pending

Queued, waiting.

processing

Currently upscaling.

complete

Done. output_url ready.

failed

Error. Check error field.

Errors

CodeMeaning
400Bad request
401Invalid API key
403Plan lacks API access
413Image too large (25MB max)
429Monthly limit reached
500Server error

Rate Limits

PlanImages/moAPIOverage
Free5NoNo
Pro100NoNo
Ultra800Yes$0.05/img

Usage resets on the 1st of each month (UTC).