ApiframeApiframe Docs
Image Editing

Topaz Image Upscale

Photo and forensic upscaler — best for realistic content.

Use in Apiframe Studio

POST /v2/images/upscalemodel: "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

ParameterTypeDescription
topazUpscaleParams.imagestringSource image URL.
topazUpscaleParams.model_typestringEnhancement preset. Values: "standard-v2", "low-res-v2", "cgi", "high-fidelity-v2", "text-refine", "redefine".
topazUpscaleParams.upscale_factorintegerOutput multiplier. Values: 1, 2, 4, 6.
topazUpscaleParams.face_enhancebooleanEnable Topaz's facial recovery pass for portraits.
topazUpscaleParams.face_enhance_strengthnumberStrength of the facial recovery (0–1).
topazUpscaleParams.face_enhance_creativitynumberCreative liberty for face details (0–1).
topazUpscaleParams.output_formatstringOutput container. Values: "jpg", "png".
topazUpscaleParams.seedintegerReproducibility 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 megapixelsCredits
≤ 12 MP9
≤ 24 MP9
≤ 36 MP17
≤ 48 MP17
≤ 60 MP26
≤ 96 MP34
≤ 132 MP41
≤ 168 MP50
≤ 336 MP91
≤ 512 MP140

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

On this page