API version 2026-09-03

Документация 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-коды.

Выберите раздел

Статусы

queuedЗадание принято и ожидает начала обработки, максимум 60 секунд.
processingОбработка началась; 60-секундный предел больше не действует.
succeededРезультат готов и хранится 12 часов.
failedТерминальная ошибка, резерв токенов освобожден.
capacity_timeoutОбработка не началась за 60 секунд; включите fallback.
expired12-часовой срок скачивания закончился.

Переходы статусов однонаправленные: 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».