Загрузить файл
https://api.souz.ai/v1/filesРеференс для генераций: картинка (png/jpeg/webp, до 50 МиБ, JPEG до 300 Мп), ролик
(mp4/mov, до 200 МиБ), звук (wav/mp3, до 15 МиБ). Полученный file_…
подставляется в поля запросов вместо байтов. Файл живёт 1 день. Тяжёлые
картинки-референсы загружайте так заранее: тело запроса генерации остаётся маленьким, и
запрос принимается сразу. Загрузки аккаунта, срок которых ещё не вышел, — не больше
10 ГБ, после первого пополнения — не больше 50 ГБ; сверх — 413 storage_limit_exceeded.
Файлы, присланные в самом запросе, в квоту не входят.
Авторизация
BearerAuthAPI-ключ из кабинета souz.ai — запускает модели. Ключ управления здесь не подходит: 403 forbidden с detail[].reason: requires_api_key.
Тело запроса обязательно
multipart/form-datafilestringобязательноФайл; имя берётся из части формы.
application/octet-streampurposestringПоле SDK OpenAI; принимается и ни на что не влияет.
Ответы
201Файл сохранён.
application/jsonbytesinteger · int64обязательноcontent_typestringобязательно"image/png"created_atstring · date-timeобязательноexpiredbooleanобязательноexpires_atstring · date-timeобязательноfilenamestringобязательноheightintegerТолько у картинок.
idstringобязательно"file_9f8e7d6c5b4a"kindstringобязательноupload, reference, resultobjectstringобязательно"file"urlstring · uriwidthintegerТолько у картинок.
400Запрос отклонён; `error.detail[]` называет поля и допустимые значения.
application/json401Нет ключа или ключ недействителен.
application/json403Нельзя: у ключа не тот вид (модели запускает API-ключ, аккаунт — ключ управления), у роли
Нельзя: у ключа не тот вид (модели запускает API-ключ, аккаунт — ключ управления), у роли
участника нет права или подпись ссылки на файл не сходится. detail[].reason говорит,
что именно: requires_api_key, requires_management_key, cabinet_only (только в
кабинете), insufficient_role (в allowed — роли, которым можно), not_key_author
(секрет ключа открывает только тот, кто его создал).
application/json413Тело или файл больше предела (`invalid_input`, `detail[].reason: too_large`) или — только у `POST /v1/files` — загрузки аккаунта заняли квоту (`storage_limit_exceeded`).
application/json415Тип тела не тот, что принимает метод: `Content-Type: application/json` (у загрузки файла и транскрибации — `multipart/form-data`). В `detail[]` — `{"path": "body", "reason": "unsupported_format"}` и принимаемые типы.
application/json429Слишком часто — повторите через `Retry-After` секунд. Запуск моделей, задачи и файлы результатов частотой не ограничены (их ограничивают баланс и лимиты трат); здесь 429 — на поток запросов с ключом, который сервер не знает, с одного адреса, и на потоки сверх 1000 одновременных на аккаунт (события задачи, чат с `stream: true`). Пределы — раздел «Лимиты» руководства.
application/json503Сервер занят большими запросами (`overloaded`) — повторите через `Retry-After`. На
Сервер занят большими запросами (overloaded) — повторите через Retry-After. На
плановых работах — maintenance (ответ Maintenance).
application/json