1x, 2x, 4x, or 8x while keeping the original aspect ratio. Detail is restored generatively, and text regions are upscaled with a fidelity pass so the text is never rewritten.upscale_factor multiplies both width and height. 1 enhances quality at the same size (denoise, sharpen, preserve text) without changing dimensions.input width × input height × upscale_factor² exceeds it, the request is rejected with 422 and no task is created or charged. Lower upscale_factor and retry| Input | upscale_factor | Output | Output MP |
|---|---|---|---|
| 1024×1024 | 1 | 1024×1024 | 1.05 |
| 1024×1024 | 2 (default) | 2048×2048 | 4.19 |
| 1024×1024 | 4 | 4096×4096 | 16.78 |
| 1024×1024 | 8 | 8192×8192 | 67.11 |
| 1646×1646 | 8 | — | 173 → 422 |
upscale_factor (exact integers, nothing is cropped)| Tier | Output total pixels |
|---|---|
| 2K | ≤ 4.19 MP |
| 4K | ≤ 16.78 MP |
| 8K | ≤ 67.11 MP |
1 (same-size enhancement) is tiered by the input size. For current prices, see kie.ai/pricing.model=image/upscale on the unified task endpoint.callBackUrl parameter so your service can receive completion notifications instead of polling for task status. Callbacks may be delivered more than once — deduplicate by taskId.curl --location 'https://api.kie.ai/api/v1/jobs/createTask' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "image/upscale",
"callBackUrl": "https://your-domain.com/api/callback",
"input": {
"image_url": "https://static.aiquickdraw.com/tools/example/1794319554733_LhkHjUSS.png",
"upscale_factor": "2"
}
}'{
"code": 200,
"msg": "success",
"data": {
"taskId": "task_kie_image_upscale_example"
}
}