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

Загрузить изображения для сборки PDF

POST
/api/v1/upload-images
curl --request POST \
--url https://passports.dev.techcon-ml.ru/api/v1/upload-images \
--header 'Content-Type: multipart/form-data' \
--form files=example

Принимает изображения через multipart/form-data. Поддерживаемые форматы: jpg, jpeg, png, tiff, bmp, webp. Возвращает список изображений с превью (base64 data URL, ~10–30 КБ на изображение) для drag-and-drop упорядочивания. Файлы с неподдерживаемым расширением или повреждённые пропускаются. Возвращает 400 если ни один файл не прошёл валидацию.

Media typemultipart/form-data
Body_upload_images_api_v1_upload_images_post
object
files
required
Files

Изображения для сборки PDF

Array<string>

Список загруженных изображений с превью

Media typeapplication/json
ImageUploadResponse
object
images
required
Images
Array<object>
ImageUploadItem
object
id
required
Id

UUID изображения во временном хранилище

string
filename
required
Filename

Оригинальное имя файла

string
thumb_url
required
Thumb Url

Data URL превью (data:image/jpeg;base64,…)

string
order
required
Order

Начальный порядок (по имени файла, 0-based)

integer
Example
{
"images": [
{
"filename": "scan_page1.png",
"id": "3f1a2b4c-1234-5678-abcd-ef1234567890",
"order": 0,
"thumb_url": "data:image/jpeg;base64,/9j/4AAQ..."
}
]
}

Нет допустимых изображений или превышен лимит

Media typeapplication/json
ApiErrorResponse
object
ok
Ok
boolean
error
required
ApiErrorDetail
object
code
required
Code

Машиночитаемый код ошибки (UPPER_SNAKE_CASE)

string
message
required
Message

Человекочитаемое описание ошибки

string
Example
{
"ok": false
}

Не авторизован или токен истёк

Media typeapplication/json
ApiErrorResponse
object
ok
Ok
boolean
error
required
ApiErrorDetail
object
code
required
Code

Машиночитаемый код ошибки (UPPER_SNAKE_CASE)

string
message
required
Message

Человекочитаемое описание ошибки

string
Example
{
"ok": false
}

Validation Error

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