# Справочник API

> Все эндпоинты Slicer API v1 по группам — метод, путь, области доступа, лимит, цена, параметры, ответы и примеры на curl, JavaScript и Python.

Источник: https://docs.slicer.media/api/reference/

Справочник строится из спецификации OpenAPI 3.1, которую отдаёт сам сервер, — описание и поведение API не расходятся. Скачать спецификацию для генератора клиентов или Postman можно без токена: [`https://api.slicer.media/v1/openapi.json`](https://api.slicer.media/v1/openapi.json).

## Группы

| Группа | Что внутри |
| --- | --- |
| [Аккаунт](https://docs.slicer.media/api/reference/account/) | профиль, баланс, токен, операции кошелька |
| [Каталог и цены](https://docs.slicer.media/api/reference/catalog/) | стили и настройки монтажа, пресеты экспорта, цена операции, спецификация |
| [Загрузки](https://docs.slicer.media/api/reference/uploads/) | загрузка файлов целиком, по частям, по ссылке и по адресу |
| [Проекты](https://docs.slicer.media/api/reference/projects/) | монтаж, статус, версии, пересборка, повтор, остановка, скачивание |
| [Правки](https://docs.slicer.media/api/reference/editing/) | текст ролика, операции правок, документ монтажа, ИИ-помощник, перевод, стиль |
| [Экспорт и публикация](https://docs.slicer.media/api/reference/export/) | рендер ролика, публикации, подключённые соцсети |
| [Вебхуки](https://docs.slicer.media/api/reference/webhooks/) | адреса уведомлений, проверка и журнал доставок |

## Как читать описание эндпоинта

-   **Метод и путь** — относительно `https://api.slicer.media`; параметры пути — в фигурных скобках.
-   **Области** — какие [области доступа](https://docs.slicer.media/api/authentication/) нужны токену. «Любая» — достаточно любого действующего токена.
-   **Лимит** — корзина [лимита запросов](https://docs.slicer.media/api/rate-limits/): обычные, платные или части загрузки.
-   **Цена** — у платных эндпоинтов: без `confirmCost` ответ — цена `Quote`, ничего не запускается ([Монтаж и цена](https://docs.slicer.media/api/montage/)). У субтитров из речи, ИИ-помощника и перевода цена — себестоимость ИИ: в `Quote` есть `estimate` (ожидаемая) и `atCost: true`, а `cost` — предельная цена ([Правки ролика](https://docs.slicer.media/api/editing/#assistant)).
-   **Ответ** — содержимое поля `data` успешного ответа `{ "ok": true, "data": … }`. Ошибки — в общем формате ([Ошибки](https://docs.slicer.media/api/errors/)).

Все запросы с телом отправляют JSON (`Content-Type: application/json`), кроме загрузки файлов — там тело — байты файла (`application/octet-stream`).

## Общие схемы

`Quote`

| Поле | Тип | Описание |
| --- | --- | --- |
| `status` _(обязательное)_ | `"quote"` |     |
| `cost` _(обязательное)_ | `integer` | Цена в токенах; повторите запрос с `confirmCost`, равным ей. У операции по себестоимости (`atCost`) — предельная: спишется фактическая себестоимость, не больше |
| `free` _(обязательное)_ | `boolean` | Операция бесплатна (первый ролик, бесплатный повтор) |
| `estimate` | `number` | Операция по себестоимости: ожидаемая цена в токенах (дробно) |
| `atCost` | `boolean` | Цена — себестоимость ИИ-сервисов без наценки: списывается фактическая, не больше `cost` |
| `available` _(обязательное)_ | `integer` | Сколько токенов доступно сейчас |
| `enough` _(обязательное)_ | `boolean` | Токенов хватает |
| `spendLimitLeft` _(обязательное)_ | `integer \| null` | Остаток месячного лимита расходов токена; `null` — без лимита |

`Error`

| Поле | Тип | Описание |
| --- | --- | --- |
| `ok` _(обязательное)_ | `false` |     |
| `error` _(обязательное)_ | `object` |     |
| `error.code` _(обязательное)_ | `string` | Стабильный код ошибки в snake\_case |
| `error.message` _(обязательное)_ | `string` | Понятный текст на языке аккаунта |
| `error.fields` | `Record<string, string>` | Ошибки по полям |
| `error.retryAfterSec` | `integer` | Через сколько секунд повторить |

## Что дальше

[Быстрый стартВесь путь ролика на примерах.](https://docs.slicer.media/api/quickstart/)[ПроектыГлавная группа: монтаж и результат.](https://docs.slicer.media/api/reference/projects/)
