Документация Corporate API
REST API работает асинхронно. Базовый URL: https://corp.aitale.ru/api/v1. Создайте ключ в личном кабинете и передавайте его только в Bearer-заголовке. Машиночитаемая спецификация: OpenAPI 3.1 JSON.
API поддерживает CORS для браузерных запросов, включая загрузку и скачивание файлов. Не публикуйте постоянный API-ключ в открытом frontend-коде: для пользовательских приложений безопаснее выполнять запросы через свой backend или выдавать им краткоживущий доступ на своей стороне.
Контракт интеграции
Этот раздел содержит все обязательные правила, чтобы разработчик или ИИ-ассистент мог собрать клиент без знания внутренней реализации сервиса.
| Авторизация | Authorization: Bearer sk_corp_… во всех API-запросах, включая скачивание результата. |
| Формат | JSON для создания и polling; multipart/form-data только для загрузки файла; результат — бинарное изображение или MP4. |
| Идемпотентность | Один уникальный Idempotency-Key на одну бизнес-операцию. При неопределённом сетевом результате повторите то же тело с тем же ключом. |
| Асинхронность | POST /images/generations и POST /videos/generations возвращают задание, а не готовый файл. Опрашивайте его id до терминального статуса. |
| Терминальные статусы | succeeded, failed, capacity_timeout, expired. Только succeeded содержит доступный result.url. |
| Денежные значения | cost_tokens, цены и поля баланса возвращаются decimal-строками; не обрабатывайте их как бинарный float. |
| Fallback | Немедленно включайте собственный маршрут при 503 service_unavailable и после терминальной технической ошибки задания. |
Для автоматической генерации типов и клиента передайте ИИ ссылку https://corp.aitale.ru/api/v1/openapi.json вместе с этой страницей. OpenAPI содержит все маршруты, схемы запросов и ответов, enum-значения и HTTP-коды.
Выберите раздел
Изображения
Nano Banana 2.1, Nano Banana Pro: параметры, цены и примеры.
Видео
Grok Video 2: создание роликов, параметры и получение MP4.
Статусы
queued | Задание принято и ожидает начала обработки, максимум 60 секунд. |
processing | Обработка началась; 60-секундный предел больше не действует. |
succeeded | Результат готов и хранится 12 часов. |
failed | Терминальная ошибка, резерв токенов освобожден. |
capacity_timeout | Обработка не началась за 60 секунд; включите fallback. |
expired | 12-часовой срок скачивания закончился. |
Переходы статусов однонаправленные: queued → processing → succeeded/failed либо queued → capacity_timeout. API отмены задания нет. Клиентский таймаут не отменяет уже принятое или обрабатываемое задание и сам по себе не освобождает зарезервированные токены.
Лимиты и дополнительные методы
Базовый лимит — 300 API-запросов в минуту на ключ; создание заданий и загрузка файлов дополнительно ограничены 60 запросами в минуту на каждый тип. JSON создания задания — до 64 КиБ. При 429 соблюдайте Retry-After. Лимиты могут снижаться для защиты сервиса.
GET /models возвращает модели и текущие цены. GET /balance — общий, зарезервированный и доступный баланс. X-Request-Id из ответа сохраните для обращения в поддержку. Не передавайте API-ключ в query string и не публикуйте его в frontend-коде.
Подробные правила обработки ошибок — на странице «Ошибки и fallback».