REST API
Форматы ввода
Массив input — то, что отправляет пользователь в текущем ходе. Каждый элемент — один из трёх типов: text, file или voice.
input обязателен и содержит от 1 элемента. Типы можно смешивать в одном массиве — например,
текстовый вопрос и файл к нему.
text
Текстовый запрос — основной формат.
{ "type": "text", "text": "Переведи документ на английский" }
file
Файл для анализа. Сначала загрузите его через POST /api/files,
затем вставьте возвращённый объект в input. Модель сама решит, каким инструментом его
обработать (чтение документа, распознавание изображения и т.д.).
{
"type": "file",
"file": {
"id": "42", // строка, не число
"name": "report.pdf",
"mime_type": "application/pdf",
"provider_data": { "path": "…" }
}
}
voice
Голосовое сообщение. Транскрибируется в текст перед обработкой. Загружается так же, как файл.
{
"type": "voice",
"voice": {
"id": "7",
"name": "message.ogg",
"mime_type": "audio/ogg",
"duration": 12.5 // секунды, опционально
}
}
Пример: текст + файл
"input": [ { "type": "text", "text": "Резюмируй документ" }, { "type": "file", "file": { "id": "42", "name": "report.pdf", "mime_type": "application/pdf" } } ]
id всегда строка
В input[].file.id и input[].voice.id идентификатор передаётся как
строка, даже если POST /api/files вернул его числом. Поля
id, name, mime_type обязательны.