API Indonesia docsAPI referenceGet an API keyllms.txt

Image upscale

Documentation index for AI agents: /llms.txt. Every page is also available as markdown: add .md to the URL.

Enlarge an image 2x, 4x or 8x as an async job, then download the result.

Submit the image as a data URI to get a job_id, poll the job status, then download the file from the job endpoint. Results are kept for 1 hour after the job finishes.

All endpoints need the x-api-key header (see Authentication) and return the standard envelope. A successful request costs 2 credits.

Endpoints on this page

Image Upscale (Super Resolution)

Enlarge an image 2x, 4x, or 8x with detail reconstruction rather than plain interpolation.

POST /api/v1/image/upscale/2x

Upscale 2x (up to 4 MP output). Upscales an image 2x, accepting up to 1 MP of input and returning at most 4 MP. Costs 250 credits per job. A failed job is refunded in full, and an account that has never topped up can run this tier at most 4 times from the signup bonus (failed jobs do not count).

Body fieldRequiredTypeDescription
imageyesstringThe image as a data URI: data:image/png;base64,... (PNG, JPEG, or WebP, 1 MB maximum after decoding; use JPEG or WebP). A plain http URL is rejected.
curl -X POST "https://use.apiindonesia.id/api/v1/image/upscale/2x" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{"image":"data:image/jpeg;base64,/9j/4AAQSkZJRg..."}'

POST /api/v1/image/upscale/4x

Upscale 4x (up to 16 MP output). Upscales an image 4x, accepting up to 1 MP of input and returning at most 16 MP. Costs 1,000 credits per job. This tier requires an account that has topped up at least once.

Body fieldRequiredTypeDescription
imageyesstringThe image as a data URI (PNG, JPEG, or WebP, 1 MB maximum).
curl -X POST "https://use.apiindonesia.id/api/v1/image/upscale/4x" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{"image":"data:image/png;base64,iVBORw0KGgo..."}'

POST /api/v1/image/upscale/8x

Upscale 8x (up to 64 MP output). Upscales an image 8x, accepting up to 1 MP of input and returning at most 64 MP. Costs 4,000 credits per job, and this tier also requires an account that has topped up. The output file is large, so plan for the download time and your own storage.

Body fieldRequiredTypeDescription
imageyesstringThe image as a data URI (PNG, JPEG, or WebP, 1 MB maximum).
curl -X POST "https://use.apiindonesia.id/api/v1/image/upscale/8x" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{"image":"data:image/png;base64,iVBORw0KGgo..."}'

GET /api/v1/image/jobs/{id}

Job status. Returns the job status (pending, succeeded, or failed) with the result resolution, the failure reason, and the download expiry. This endpoint is free: polling does not consume credits.

ParameterInRequiredTypeDescription
idpathyesstringThe job_id returned by the submit call.
curl "https://use.apiindonesia.id/api/v1/image/jobs/6f1c1f0e-6a8f-4f2b-9a1e-0d6b3f0f9a11" \
  -H "x-api-key: YOUR_API_KEY"

Example response (shortened):

{
  "success": true,
  "data": {
    "id": "6f1c1f0e-6a8f-4f2b-9a1e-0d6b3f0f9a11",
    "status": "succeeded",
    "tier": "2x",
    "scale": 2,
    "credits_charged": 250,
    "source": {
      "width": 1000,
      "height": 1000
    },
    "result": {
      "width": 2000,
      "height": 2000
    },
    "download_url": "https://use.apiindonesia.id/api/v1/image/jobs/6f1c1f0e-6a8f-4f2b-9a1e-0d6b3f0f9a11/file",
    "download_expires_at": "2026-10-23T15:20:11.000Z",
    "error": null,
    "created_at": "2026-10-23T14:20:11.000Z",
    "completed_at": "2026-10-23T14:20:19.000Z"
  }
}

GET /api/v1/image/jobs/{id}/file

Download the result. Streams the result file from the processing CDN to your client.

ParameterInRequiredTypeDescription
idpathyesstringA job_id owned by your account.
curl "https://use.apiindonesia.id/api/v1/image/jobs/id/file" \
  -H "x-api-key: YOUR_API_KEY"