Image Editing
Topaz Image Upscale
Photo and forensic upscaler — best for realistic content.
POST /v2/images/upscale — model: "topaz-image-upscale"
Topaz Labs' image upscaler. Specialised in realistic photographs and forensic content — preserves detail conservatively rather than inventing it. Use Clarity Upscaler instead when you want creative "hi-res fix" behaviour for AI art.
See Image Editing overview for common request fields, response format, and error codes.
Model-specific parameters
| Parameter | Type | Description |
|---|---|---|
topazUpscaleParams.image | string | Source image URL. |
topazUpscaleParams.model_type | string | Enhancement preset. Values: "standard-v2", "low-res-v2", "cgi", "high-fidelity-v2", "text-refine", "redefine". |
topazUpscaleParams.upscale_factor | integer | Output multiplier. Values: 1, 2, 4, 6. |
topazUpscaleParams.face_enhance | boolean | Enable Topaz's facial recovery pass for portraits. |
topazUpscaleParams.face_enhance_strength | number | Strength of the facial recovery (0–1). |
topazUpscaleParams.face_enhance_creativity | number | Creative liberty for face details (0–1). |
topazUpscaleParams.output_format | string | Output container. Values: "jpg", "png". |
topazUpscaleParams.seed | integer | Reproducibility seed. |
Credit cost
Pricing is tiered by output megapixels — the API computes image_dims × upscale_factor², rounds up to the next configured tier, and charges accordingly.
| Output megapixels | Credits |
|---|---|
| ≤ 12 MP | 9 |
| ≤ 24 MP | 9 |
| ≤ 36 MP | 17 |
| ≤ 48 MP | 17 |
| ≤ 60 MP | 26 |
| ≤ 96 MP | 34 |
| ≤ 132 MP | 41 |
| ≤ 168 MP | 50 |
| ≤ 336 MP | 91 |
| ≤ 512 MP | 140 |
Code examples
curl -X POST https://api.apiframe.ai/v2/images/upscale \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"model": "topaz-image-upscale",
"topazUpscaleParams": {
"image": "https://example.com/photo.jpg",
"upscale_factor": 4,
"model_type": "standard-v2",
"face_enhance": true
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/images/upscale",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"model": "topaz-image-upscale",
"topazUpscaleParams": {
"image": "https://example.com/photo.jpg",
"upscale_factor": 4,
"model_type": "standard-v2",
"face_enhance": True,
},
},
)
print(response.json())const response = await fetch("https://api.apiframe.ai/v2/images/upscale", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "topaz-image-upscale",
topazUpscaleParams: {
image: "https://example.com/photo.jpg",
upscale_factor: 4,
model_type: "standard-v2",
face_enhance: true,
},
}),
});
console.log(await response.json());Try it
POST
/v2/images/upscaleTry it