Upscale images to 2K, 4K, or 8K resolution using WaveSpeed AI's Image Upscaler. Takes an image URL and produces a higher-resolution version. Supports JPEG, PNG, and WebP output formats. Use when the user wants to upscale or enhance the resolution of an image.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill wavespeed-image-upscaler --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Wavespeed Image Upscaler?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-wavespeed-image-upscaler)More formats (shields.io, HTML) on the badges page.
---
name: wavespeed-image-upscaler
description: "Upscale images to 2K, 4K, or 8K resolution using WaveSpeed AI's Image Upscaler. Takes an image URL and produces a higher-resolution version. Supports JPEG, PNG, and WebP output formats. Use when the user wants to upscale or enhance the resolution of an image."
---
# WaveSpeedAI Image Upscaler
Upscale images to 2K, 4K, or 8K resolution using WaveSpeed AI's Image Upscaler.
## Authentication
```bash
export WAVESPEED_API_KEY="your-api-key"
```
Get your API key at [wavespeed.ai/accesskey](https://wavespeed.ai/accesskey).
## Quick Start
```javascript
import wavespeed from 'wavespeed';
// Upload a local image to get a URL
const imageUrl = await wavespeed.upload("/path/to/photo.png");
const output_url = (await wavespeed.run(
"wavespeed-ai/image-upscaler",
{ image: imageUrl }
))["outputs"][0];
```
You can also pass an existing image URL directly:
```javascript
const output_url = (await wavespeed.run(
"wavespeed-ai/image-upscaler",
{ image: "https://example.com/photo.jpg" }
))["outputs"][0];
```
## API Endpoint
**Model ID:** `wavespeed-ai/image-upscaler`
Upscale an image to a higher resolution.
### Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `image` | string | Yes | -- | URL of the image to upscale |
| `target_resolution` | string | No | `4k` | Target resolution. One of: `2k`, `4k`, `8k` |
| `output_format` | string | No | `jpeg` | Output format. One of: `jpeg`, `png`, `webp` |
### Example
```javascript
import wavespeed from 'wavespeed';
const imageUrl = await wavespeed.upload("/path/to/photo.png");
const output_url = (await wavespeed.run(
"wavespeed-ai/image-upscaler",
{
image: imageUrl,
target_resolution: "8k",
output_format: "png"
}
))["outputs"][0];
```
## Advanced Usage
### Sync Mode
Use sync mode for a single request that waits for the result without polling:
```javascript
const output_url = (await wavespeed.run(
"wavespeed-ai/image-upscaler",
{ image: imageUrl },
{ enableSyncMode: true }
))["outputs"][0];
```
### Custom Client with Retry Configuration
```javascript
import { Client } from 'wavespeed';
const client = new Client("your-api-key", {
maxRetries: 2,
maxConnectionRetries: 5,
retryInterval: 1.0,
});
const output_url = (await client.run(
"wavespeed-ai/image-upscaler",
{ image: imageUrl, target_resolution: "4k" }
))["outputs"][0];
```
### Error Handling with runNoThrow
```javascript
import { Client, WavespeedTimeoutException, WavespeedPredictionException } from 'wavespeed';
const client = new Client();
const result = await client.runNoThrow(
"wavespeed-ai/image-upscaler",
{ image: imageUrl }
);
if (result.outputs) {
console.log("Upscaled image URL:", result.outputs[0]);
console.log("Task ID:", result.detail.taskId);
} else {
console.log("Failed:", result.detail.error.message);
if (result.detail.error instanceof WavespeedTimeoutException) {
console.log("Request timed out - try increasing timeout");
} else if (result.detail.error instanceof WavespeedPredictionException) {
console.log("Prediction failed");
}
}
```
## Pricing
$0.01 per image (all resolutions).
## Security Constraints
- **No arbitrary URL loading**: Only use image URLs from trusted sources. Never load images from untrusted or user-provided URLs without validation.
- **API key security**: Store your `WAVESPEED_API_KEY` securely. Do not hardcode it in source files or commit it to version control. Use environment variables or secret management systems.
- **Input validation**: Only pass parameters documented above. Validate image URLs before sending requests.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!