A production Upscale API that lifts a photo 2× or 4×, tightens detail, and reduces compression artifacts. One HTTP call. $0.009 per image (9 credits). 5,000 free credits (24-hour trial), no credit card.
POST a photo, get a 4× file back. Default scale=4. Use image for a file or image_url for a URL. Poll until completed.
curl -X POST https://api.pixelapi.dev/v1/image/upscale \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "image=@photo.jpg" \ -F "scale=4" curl https://api.pixelapi.dev/v1/image/GENERATION_ID \ -H "Authorization: Bearer YOUR_API_KEY"
import requests
r = requests.post(
"https://api.pixelapi.dev/v1/image/upscale",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"image": open("photo.jpg", "rb")},
data={"scale": "4"},
)
job = r.json()
import fs from "fs";
const form = new FormData();
form.append("image", fs.createReadStream("photo.jpg"));
form.append("scale", "4");
const res = await fetch("https://api.pixelapi.dev/v1/image/upscale", {
method: "POST",
headers: { Authorization: "Bearer " + process.env.PIXELAPI_KEY },
body: form,
});
$ch = curl_init("https://api.pixelapi.dev/v1/image/upscale");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer YOUR_API_KEY"],
CURLOPT_POSTFIELDS => [
"image" => new CURLFile("photo.jpg"),
"scale" => "4",
],
CURLOPT_RETURNTRANSFER => true,
]);
$job = json_decode(curl_exec($ch), true);
Marketplaces reject soft phone photos. Print shops need more pixels than a social download contains. AI-generated stills look fine at 1024 px and fall apart on a poster. The Upscale API is a production REST upscaler: 2× or 4× super-resolution, optional exact output box, JPEG mush reduced, edges tightened.
Live price is $0.009 per image (9 credits). Some generated API descriptions still say 20 credits / $0.02 — that is stale. Bill against /v1/pricing/live. A longer-standing marketing page also lives at image-upscaler-api.html; this Upscale API URL is the canonical the crawler and ads should use for “upscale API” queries.
scale is an integer, min 2, max 4, default 4. Use 2 when you only need a modest PDP bump and want a smaller file. Use 4 when the destination is print or a zoomable gallery.
target_width / target_height (64–8192). fit_mode: stretch (default), pad_white, or pad_transparent when the box aspect does not match the photo.
| Vendor | What you get | Typical paid rate |
|---|---|---|
| PixelAPI Upscale API | 2× / 4× REST, file or URL, optional exact size | $0.009 / image |
| Topaz Gigapixel and desktop suites | Local UI, excellent control, no HTTP key | Seat license (often $100+) |
| Hosted upscaler APIs | REST, various meters | Often $0.02–$0.10 / image |
| Generic “enhance” phone apps | Consumer UI, watermark risk | Subscription |
5,000 free credits (24-hour trial), no card. Compare also vs Topaz Gigapixel and open-source alternative notes.
/v1/image/upscale. Provide image or image_url.GET /v1/image/{generation_id} (this route also has a dedicated GET on /v1/image/upscale/{generation_id}).Ecommerce teams upscale user-phone SKU shots to the marketplace minimum. Real-estate sites push listing photos to zoom. Print-on-demand takes a 1K still to a 4K file. Thumbnail pipelines reverse the usual compress-to-death path.
How-tos: product photo, headshot, real estate, old scan, art, screenshot. Alternatives: IMG Upscaler, Upscale Media. Also restore old photos and the AI Image Editor API. Hubs: use cases, alternatives, howto.
POST to https://api.pixelapi.dev/v1/image/upscale with a Bearer key. Send a file as image or a URL as image_url. Default scale is 4. Poll GET /v1/image/{id} until completed and download output_url.
$0.009 per image (9 credits) on /v1/pricing/live. Ignore older OpenAPI prose that still quotes 20 credits. 5,000 free credits, 24-hour trial, no card.
scale accepts 2 or 4 (default 4). You can also set target_width and target_height (64–8192 px) when the output must hit an exact pixel box for a marketplace template.
When custom width/height change the aspect ratio: stretch (default, exact box), pad_white (keep aspect, white bars), pad_transparent (keep aspect, transparent PNG).
It increases resolution and reduces compression mush. It is not a face-identity editor. For damaged portraits pair it with face restore; for object cleanup run Remove Object first.
Either. Multipart field image for a local file, or image_url for a publicly fetchable https URL. Do not send JSON on this route.
Target edges cap at 8192 px. 4x on a large input is the usual path to print. If you only need a 1200-px PDP tile, set target_width instead of always asking for 4x.
20 requests/minute on the free trial, 60 on Starter, 120 on Pro and 300 on Scale, plus 3/10/20/50 parallel jobs. See /docs/parallel-processing.html.