Developer Docs

API Documentation

Integrate AI image upscaling into your applications with our simple REST API.

Authentication

All API requests require a WaveSpeed API key passed in the Authorization header.

curl -X POST https://api.wavespeed.ai/api/v3/wavespeed-ai/image-upscaler \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{
    "image": "https://example.com/image.jpg",
    "target_resolution": "4k",
    "output_format": "jpeg"
  }'

Quick Start

Submit an image URL for upscaling. The API processes asynchronously — poll for results.

// Node.js Example
const response = await fetch("https://api.wavespeed.ai/api/v3/wavespeed-ai/image-upscaler", {
  method: "POST",
  headers: {
    Authorization: \`Bearer \${process.env.WAVESPEED_API_KEY}\`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    image: "https://example.com/image.jpg",
    target_resolution: "4k",
    output_format: "jpeg",
  }),
});

const task = await response.json();
// Poll `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`
// until status is "completed"

Parameters

Configure your upscaling with these request parameters.

{
  "image": "https://example.com/image.jpg",
  "target_resolution": "2k | 4k | 8k",
  "output_format": "jpeg | png | webp",
  "enable_base64_output": false,
  "enable_sync_mode": false,
  "enable_safety_checker": false
}

Rate Limits

API rate limits apply. Our proxy handles retries and rate limiting automatically.

# Rate Limits
- 50 requests per 15 minutes (general API)
- 20 uploads per hour
- Max file size: 10MB
- Supported formats: PNG, JPEG, WEBP

Need a WaveSpeed API key? Get started with their generous free tier.

Get API Key