Skip to content



This page describes API for upscaling/super-resolution service for images. The API follows the general rules of Ximilar API as described in Section First steps.

This service API has two endpoints running at URLs:

In beta ...

  • This service is right now in beta stage.

Upscaling endpoint: /[2x|4x|8x]/upscale

Given a list of image records, this method enhance resolution for each of them. The upscaled image are stored temporarily for 24 in _upscaled_image_url field of json record. Right now two endpoints which increase resolution by 2, 4 or 8 times are available.


  • records: list of photos to upscale for
    • must contain either of _url or _base64 field - see section image data for details
  • mode: settings of the upscaling process (default no mode)
    • artifact_removal - remove artifacts
    • ironed_out - the features and edges are more smooth
    • high_fidelity - getting as much details as possible

$ curl -H "Content-Type: application/json" -H "Authorization: Token __API_TOKEN__" -d '{
    "records": [
        { "_url": "" }


  • HTTP error code 2XX, if the method was OK and other HTTP error code, if the method failed.
  • Body of the response is a JSON object (map) with the following fields:
    • status - a JSON map with a status of the method processing. It contains these subfields:
      • code - a numeric code of the operation status; it follows the concept of HTTP status codes (2XX, 4XX). Specific codes are described for each type of answer (or operation) (see below).
      • text - a text describing the status code
      • error_description - in case of the processing ended with error (codes 4XX), this field contains a detailed description of the error; this might include Java stack traces.
    • Example of statuses that can be returned:
      "status": {"code": 200, "text": "OK"}
      "status": {"code": 402, "text": "aborted by error", error_description="..."}
      "status": {"code": 500, "text": "unknown error", "error_description": "..."}
    • statistics - a map of various statistics about the processing. The only statistic included every time is
      • processing time - time of actual processing of the query [in seconds]
    • records - JSON array with the input records, each record enriched by field _upscaled_image_url with url path to the upscaled image. This image is available for download for 24 hours.

  "records": [
      "_status": {
        "code": 200,
        "text": "OK",
        "request_id": "722c88b5-bcba-4892-b38c-4934f8c45206"
      "_url": "",
      "_id": "2b0e486d-41a4-4035-8854-d8bae4137b0a",
      "_width": 1380,
      "_height": 868,
      "_upscaled_height": 1736,
      "_upscaled_width": 2760,
      "_upscaled_image_url": ""
  "statistics": {
    "processing time": 3.422583818435669
  "status": {
    "code": 200,
    "text": "OK",
    "request_id": "722c88b5-bcba-4892-b38c-4934f8c45206",
    "proc_id": "073c4119-2523-41bb-aa74-9b56cb4f5876"