Batch API Reference

Batch image edit contract

Batch endpoint allows batch processing of images by specifying a cloud Storage directory as input. See Storage overview for more info.

In other aspects, the Batch endpoint behaves like the Async endpoint, returning a response without waiting for an actual result that should be queried with another request.

By default, it is expected that the images will be located in the root of the cloud directory that is specified in the input field. To retrieve all images from subdirectories recursively, the input field should have the recursive parameter as following:

{
  "input": {
    "source": "storage://storage_1/input_folder/",
    "recursive": true
  },
  ...
}

In the Batch endpoint you could also set input as list of publicly accessible URLs, so our service can fetch and process them:

{
  "input": ["https://image.site/image.png", "https://image.site/image.png"],
  ...
}

Request image processing

The request body for Batch endpoint is the same as for regular image edit operation, except Storage directories are allowed for input and output parameters. See Image edit contract for more info.

Request

POST /v1-beta1/image/edit/batch HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}
Content-Type: application/json

{
  "input": "storage://storage_1/input_folder/",
  "operations": {
    "resizing": {
      "width": 1000
    },
    "background": {
      "remove": false
    }
  },
  "output": "storage://storage_1/output_folder/"
}

Read a response

Once you have made the request to https://api.claid.ai/v1-beta1/image/edit/batch you will get a response with information about request status and other details, see the Read a response part of the Async endpoint page for more info.

Response body

{
  "data": {
    "id": 1,
    "status": "ACCEPTED",
    "result_url": "http://api.claid.ai/v1-beta1/image/edit/batch/1",
    "created_at": "2023-03-13T11:37:09.160554+00:00",
    "request": {
      "input": "storage://storage_1/input_folder/",
      "operations": {
        "resizing": {
            "width": 1000
        },
        "background": {
            "remove": false
        }
      },
      "output": "storage://storage_1/output_folder/"
    }
  }
}

See the Request Headers and Response Headers to learn about headers.

Result of request processing contract

To get Batch image editing result, you need to know the ID of the processing request. Or you can take a ready-to-use link from the result_url property of the response body described above.

Request

GET /v1-beta1/image/edit/batch/1 HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}

Read a response

Once you have made the request to https://api.claid.ai/v1-beta1/image/edit/batch/<task_id> you will get a response with information about the request, input, and output images.

Image information shown in the response:

See input_object and output_object properties description at the Read a response part of the Async endpoint page.

Response body

{
  "data": {
    "id": 1,
    "status": "DONE",
    "created_at": "2023-03-13T11:37:09.160554+00:00",
    "request": {
      "input": "storage://storage_1/input_folder/",
      "operations": {
        "resizing": {
            "width": 1000
        },
        "background": {
            "remove": false
        }
      },
      "output": "storage://storage_1/output_folder/"
    },
    "errors": [],
    "results": [
      {
        "input_object": {
          "ext": "pnj",
          "mps": 0.04,
          "mime": "image/jpeg",
          "format": "JPEG",
          "width": 200,
          "height": 200
        },
        "output_object": {
          "ext": "jpeg",
          "mps": 1.0,
          "mime": "image/jpeg",
          "format": "JPEG",
          "width": 1000,
          "height": 1000
        }
      },
      {
        "input_object": {
          "ext": "pnj",
          "mps": 0.09,
          "mime": "image/jpeg",
          "format": "JPEG",
          "width": 300,
          "height": 300
        },
        "output_object": {
          "ext": "jpeg",
          "mps": 1.0,
          "mime": "image/jpeg",
          "format": "JPEG",
          "width": 1000,
          "height": 1000
        }
      }
    ]
  }
}

See Response headers to learn about headers.

Last updated