Перейти к содержимому

Image Op

POST
/v1/objects/{object_id}/image/{op}
curl --request POST \
--url https://api.cloud.agentums.ru/v1/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/image/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "angle": 1, "box": [ 1 ], "max_side": 1, "mode": "", "quality": 1 }'

Операция над изображением: compress|resize|rotate|flip|crop. Параметры — в теле (quality/max_side/angle/mode/box, нужны по операции). Доступно только для картинок (jpg/png/webp). Ставит Celery-задачу image_ops.run; результат перезапишет исходный объект. Валидацию параметров делает image_ops.build_params (422 при ошибке).

object_id
required
Object Id
string format: uuid
op
required
Op
string
x-hidden-token
Any of:
string
Media typeapplication/json
ImageOpRequest

Параметры операции над изображением (сама операция — в пути /image/{op}). Поля опциональны, нужны по операции: quality — compress/resize (для jpg/webp); max_side — resize (длинная сторона, px); angle — rotate (90/180/270); mode — flip («h»/«v»); box — crop (нормализованная рамка [left, top, right, bottom] в долях 0..1).

object
angle
Any of:
integer
box
Any of:
Array<number>
>= 4 items <= 4 items
max_side
Any of:
integer
>= 16 <= 10000
mode
Mode
string
"" <= 1 characters
quality
Any of:
integer
>= 10 <= 100

Successful Response

Media typeapplication/json
ImageOpAccepted

Операция над изображением принята: результат перезапишет исходный объект (Celery). task_id — для опроса /image-status.

object
op
Op
string
""
status
Status
string
default: accepted
task_id
Any of:
string
Example
{
"op": "",
"status": "accepted"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}