Batch API Reference
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
},
...
}
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. post
/v1-beta1/image/edit/batch
Process Batch Image Edit
POST /v1-beta1/image/edit/batch HTTP/1.1
Host: api.claid.ai
Authorization: Bearer 12354567890
Content-Type: application/json
Content-Length: 174
{
"input": "storage://storage_1/input_folder/",
"operations": {
"resizing": {
"width": 1000
},
"background": {
"remove": false
}
},
"output": "storage://storage_1/output_folder/"
}
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. {
"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/"
}
}
}
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.get
/v1-beta1/image/edit/batch/{task_id}
Image Edit Batch Async Results
GET /v1-beta1/image/edit/batch/1 HTTP/1.1
Host: api.claid.ai
Authorization: Bearer 12354567890
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:
Parameter | Type | Description |
---|---|---|
id | integer | Task ID. |
status | string | Request processing status. Can have values: ACCEPTED , PROCESSING , ERROR , DONE . |
created_at | string | Exact time when the processing was requested. |
request | object | The body of the request that was used for processing. |
errors | list | List of errors, if any are occurred during image processing ( status will have ERROR value), in other cases - will be empty. |
results | list | List of results in form of input_object and output_object pairs, in case of processing errors - will be empty. Details are listed below. |
See
input_object
and output_object
properties description at the Read a response part of the Async endpoint page. {
"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
}
}
]
}
}