Documentation Index
Fetch the complete documentation index at: https://apixo.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Image Upscaler is an asynchronous image-to-image API for enlarging and enhancing one source image. Use it when you already have an image URL and want a higher-resolution output without writing a text prompt.| Capability | Value |
|---|---|
| Model ID | image-upscaler |
| Mode | image-to-image only |
| Input images | Exactly 1 public image URL |
| Prompt | Not supported |
| Resolution tiers | 2k, 4k, 8k |
| Output formats | jpg, png, webp |
Endpoint and authentication
Base URL:| Method | Endpoint | Purpose |
|---|---|---|
POST | /generateTask/image-upscaler | Submit an upscaling task |
GET | /statusTask/image-upscaler?taskId={taskId} | Poll task status and retrieve results |
Copy-paste async quickstart
This minimal request submits a 4k JPG upscaling task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Parse
resultJson only after state becomes success.Request body
Default 4k JPG
8k WebP
Parameters
Result delivery mode. Use
async for polling with statusTask, or callback for webhook delivery.Required when
request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.Image Upscaler input parameters.
Response format
Submit task response
POST /generateTask/image-upscaler returns a task ID when the task is accepted:
API status code.
200 means the task was accepted.Human-readable status message.
Unique task identifier used with the status endpoint.
Status response fields
Unique task identifier.
Current task state:
pending, processing, success, or failed.JSON string containing the upscaled image URL in
resultUrls. Present when state is success.Machine-readable failure code. Present when
state is failed.Human-readable failure message. Present when
state is failed.Task creation timestamp in Unix milliseconds.
Task completion timestamp in Unix milliseconds. Present after completion.
Processing duration in milliseconds when available. For polling success responses, Image Upscaler reads this from the upstream inference timing.
Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.Billing
Image Upscaler is billed per submitted image at$0.01 / image. In the current backend implementation, billing is fixed for the model and does not vary by resolution or output_format.
| Billing dimension | Value |
|---|---|
| Unit | PER_IMAGE |
| APIXO price | $0.01 / image |
| Parameter-based tiers | None |
Affected by resolution | No |
Affected by output_format | No |
Latency and polling
Image Upscaler tasks run asynchronously. Actual latency varies by source image size, selected target resolution, upstream queue load, and result storage time.| Phase | Status you may see | Client behavior |
|---|---|---|
| Upstream processing | processing | Keep polling |
| Completed | success | Parse resultJson |
| Failed | failed | Read failCode and failMsg |
| Use case | Recommended first poll | Poll interval |
|---|---|---|
| Normal workloads | 10s-15s after task creation | 5s-10s |
| 8k or high-concurrency workloads | Prefer callback mode | If polling, use 10s or longer |
429, slow down requests and retry with backoff. For account-level details, see System APIs.
Errors and troubleshooting
HTTP errors
| Code | Meaning | What to do |
|---|---|---|
400 | Invalid request body, mode, image URL shape, resolution, or output format | Fix the request before retrying |
401 | Missing or invalid API key | Check the Authorization header |
402 | Insufficient balance or quota | Add balance or switch account/key |
403 | Key or route cannot access the model | Check permissions and route strategy |
404 | Task not found | Verify the taskId and model ID |
429 | Rate limit or concurrency limit reached | Retry with exponential backoff |
500 | Server or unmapped upstream error | Retry with backoff |
502 | Upstream service error | Retry with backoff |
504 | Upstream timeout | Retry or use callback mode for long-running jobs |
Request validation
| Condition | Backend behavior |
|---|---|
Missing input | Returns The required parameter {{input}} is missing. |
Invalid mode | Returns Invalid mode type. Supported: image-to-image |
Missing image_urls | Returns The required parameter {{image_urls}} is missing. |
image_urls is not an array | Returns The parameter {{image_urls}} must be Array type. |
image_urls length is not 1 | Returns The parameter {{image_urls}} must contain exactly 1 image. |
image_urls[0] is not a string | Returns The parameter {{image_urls}} Array elements must be String type. |
image_urls[0] is empty | Returns The parameter {{image_urls}} cannot contain empty string. |
Invalid resolution | Returns The parameter {{resolution}} must be either '2k', '4k' or '8k'. |
Invalid output_format | Returns The parameter {{output_format}} must be either 'jpg', 'png' or 'webp'. |
Task failure codes
| Fail code | Meaning | What to do |
|---|---|---|
ImageFormatIncorrect | The upstream service rejected the input image format | Use a direct public JPG, PNG, or WebP image URL |
SensitiveContent | Input or generated content was rejected by safety checks | Use a different image |
RateLimited | Upstream rate limit was reached | Retry with backoff |
Timeout | Upstream service did not finish in time | Retry or use callback mode |
Unknown error | Upstream service returned an unmapped failure | Retry with backoff or contact support with the taskId |