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

Принять асинхронный запрос defectoscopy

POST
/predict
curl --request POST \
--url https://defects.techcon-ml.ru/predict \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "image_url": "https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpg", "priority": "batch", "webhook_url": "https://integrator.example/hooks/defectoscopy" }'

Принимает задачу в общий постоянно доступный слой приёма. После 202 Accepted интегратор должен сохранить task_id, status_url и estimated_wait_seconds. При cold state выбранного worker-а estimated_wait_seconds уже включает cost-delay window перед фактическим cold start.

Media typeapplication/json
object
image_url
required

HTTPS URL на поддерживаемом хосте storage.yandexcloud.net или storage.yc.yandex.net.

string format: uri
Example
https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpg
priority

Приоритет постановки задачи в очередь.

string
default: batch
Allowed values: realtime batch
Example
batch
webhook_url

Дополнительный URL для уведомления о результате. Разрешены https:// и локальные loopback-адреса http://localhost, http://127.0.0.1 и http://[::1].

string format: uri
Example
https://integrator.example/hooks/defectoscopy
Example
{
"image_url": "https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpg",
"priority": "batch",
"webhook_url": "https://integrator.example/hooks/defectoscopy"
}

Запрос принят слоем приёма и поставлен в очередь.

Media typeapplication/json
object
ok
required
boolean
data
required
object
task_id
required
string
status
required
string
status_url
required
string
estimated_wait_seconds
required
integer
Example
{
"data": {
"status": "queued",
"status_url": "/result/def-123",
"estimated_wait_seconds": 300
}
}

Bearer-токен отсутствует или неверен.

Media typeapplication/json
object
ok
required
boolean
error
required
object
code
required
string
message
required
string
Example
{
"ok": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Bearer-токен отсутствует или неверен."
}
}

Входные данные не прошли проверку.

Media typeapplication/json
object
ok
required
boolean
error
required
object
code
required
string
message
required
string
Example
{
"ok": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Поле image_url должно указывать на поддерживаемый HTTPS-хост."
}
}

Запрос не был зафиксирован: либо очередь на стороне контроллера недоступна, либо не настроен канонический набор Bearer-токенов.

Media typeapplication/json
object
ok
required
boolean
error
required
object
code
required
string
message
required
string
Example
{
"ok": false,
"error": {
"code": "QUEUE_UNAVAILABLE",
"message": "Запрос не был зафиксирован: очередь сейчас недоступна."
}
}