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/v1API 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.
Authorization: Bearer kn_live_your_api_key_hereUpscale an Image
POST /api/v1/upscaleSubmit an image URL for upscaling. Processing takes 5-15 seconds.
Request body
urlPublic URL of the image. Max 25MB. JPG, PNG, WebP.
scale2 or 4. Default: 2.
webhookOptional callback URL for completion.
Example
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
{
"id": "cm2abc123",
"status": "processing",
"scale": 4,
"poll_url": "/api/v1/upscale/cm2abc123"
}Check Job Status
GET /api/v1/upscale/:idPoll a job. When complete, output_url has your image.
{
"id": "cm2abc123",
"status": "complete",
"output_url": "https://cdn.example.com/results/cm2abc123.png",
"dimensions": {"width": 4096, "height": 4096},
"processing_ms": 8432
}Statuses
pendingQueued, waiting.
processingCurrently upscaling.
completeDone. output_url ready.
failedError. Check error field.
Errors
| Code | Meaning |
|---|---|
| 400 | Bad request |
| 401 | Invalid API key |
| 403 | Plan lacks API access |
| 413 | Image too large (25MB max) |
| 429 | Monthly limit reached |
| 500 | Server error |
Rate Limits
| Plan | Images/mo | API | Overage |
|---|---|---|---|
| Free | 5 | No | No |
| Pro | 100 | No | No |
| Ultra | 800 | Yes | $0.05/img |
Usage resets on the 1st of each month (UTC).