Extract Attachment
const url = 'https://api.cloud.agentums.ru/v1/chat/attachment';const form = new FormData();form.append('file', 'example');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.cloud.agentums.ru/v1/chat/attachment \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --form file=exampleИзвлекает текст из ЛОКАЛЬНОГО файла для разового контекста чата.
В отличие от POST /objects файл не появляется в сетке и не обрабатывается конвейером:
текст извлекается здесь и возвращается клиенту, а тот отправит его модели вместе с
вопросом. Поэтому ДО извлечения файл сохраняется служебной копией (services/store_first,
решение владельца от 03.10.2026: сначала облако, потом нейросеть); не сохранился — 502,
и текст не извлекается. Скоуп/лимит — как у остальных дорогих ручек (rate_limit); размер
режем ДО чтения всего файла в память.
Authorizations
Заголовок раздела «Authorizations»Request Bodyrequired
Заголовок раздела «Request Bodyrequired»object
Responses
Заголовок раздела «Responses»Successful Response
Ответ POST /chat/attachment: извлечённый текст локального файла. Клиент шлёт этот
текст обратно как inline_attachments к вопросам. Сам файл лежит в облаке служебной
копией (object_id) — вне сетки файлов и без обработки.
Имя НЕ ChatAttachmentOut: так называется схема вложения сообщения в
schemas/chats.py, и два одноимённых класса заставляли FastAPI разводить их в
OpenAPI полными путями модулей — генераторы клиентов получали тип с именем
backend__app__api__routers__chat__ChatAttachmentOut. Схемы разные по смыслу
(текст без файла против ссылки на файл), поэтому и имена разные.
object
Example
{ "truncated": false}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}