OpenAPI и контракт схемы
Проверьте источники схем Rivya API v1, правила совместимости, публичные поля и read-only контракт OpenAPI JSON.
Последняя проверка: 2026/08/26
Rivya API v1 предоставляет read-only контракт схемы здесь:
https://rivya.ai/api/v1/openapi.jsonЭтот route является публичным выводом контракта. Он не читает данные пользовательской session, не отправляет задачи моделей и не раскрывает приватные данные аккаунта.
Источники контракта
Контракт формируется из:
публичных схем запросов API
публичных кодов ошибок
публичного слоя справочника моделей API
того же каталога моделей, который используется
/api/v1/models
Список моделей динамический. Не стройте интеграции, зависящие от вручную записанного количества моделей.
Политика версий
Текущая версия API - v1.
Обратно совместимые изменения могут включать:
добавление модели в
/api/v1/modelsдобавление необязательного поля ответа
добавление необязательного параметра запроса для модели
добавление нового публичного кода ошибки
Ломающие изменения требуют новой версии или документированного пути миграции.
Граница публичных полей
Публичные поля схемы используют публичные имена:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Не полагайтесь на внутренние поля хранения задач. Они не входят в публичный контракт.
Схема запроса
POST /api/v1/generations принимает:
model: обязательный публичный ID моделиprompt: необязательная строка, требуется многими моделямиparams: необязательный объект с параметрами конкретной моделиclient_request_id: необязательная строка для вашего ID трассировки
Модельные params см. в справочнике Model API.
Справочные медиа, возвращенные /api/v1/files, помещаются внутрь params.referenceMediaItems. Схема документирует url, kind, необязательный name, необязательный mimeType, необязательные durationSeconds / durationToken, необязательные width / height / sizeBytes / imageDimensionsToken и необязательные framesPerSecond / videoBitrateMbps / videoMetadataToken. Для каждого справочного изображения Image5, Grok Imagine Image 2.0 или Wan 3.0 требуется подписанный токен изображения и привязанный размер в байтах из исходного ответа на загрузку с привязкой к модели; Layer Decomposition также применяет свои документированные геометрические ограничения. Для каждого справочного видео Video8 или Wan 3.0 требуются подписанный токен длительности и подписанные видеометаданные из исходного ответа на загрузку, привязанную к модели. Rivya не принимает поле верхнего уровня files в POST /api/v1/generations.
POST /api/v1/files принимает данные multipart-формы с file, kind, необязательным model и необязательным client_request_id. Ответ — PublicApiFile, включающий size_bytes, размеры изображения, которые могут иметь пустое значение, image_dimensions_token, а также допускающие пустое значение video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes и video_metadata_token. GET /api/v1/files/{fileId} возвращает публичные метаданные файлов, принадлежащих API-аккаунту, но неподдержанный при хранении подписанный токен метаданных может вернуться как null; в таком случае файл нужно загрузить повторно.
video_metadata_token привязан к API-аккаунту, целевой модели, URL, MIME-типу, размерам, частоте кадров, битрейту и размеру загрузки в байтах. Он не заменяет duration_token; видеореференсы Video8 и Wan 3.0, использующие оба контракта, должны передавать оба токена. Токены длительности аудио Wan 3.0 также привязаны к MIME-типу и размеру загрузки в байтах.
Для wan-3-0-video в params разрешены только seedance_scene, variant, resolution, aspect_ratio, duration, audio, seed и referenceMediaItems. Сцены текста, кадров и референсов взаимоисключающие. Интеллектуальная длительность задается как -1, резервирует 30 секунд и недопустима со справочным видео; произвольные ключи, неподписанные медиафайлы и быстрые пути преобразования файла в видео или ссылки в видео отклоняются по принципу закрытого отказа.
POST /api/v1/chat/completions принимает model, message, необязательный session_id, необязательные элементы управления, необязательные вложения file_id из Files API и необязательный client_request_id. Он возвращает одно полное сообщение ассистента без стриминга.
POST /api/v1/chat/completions/stream принимает ту же схему запроса и возвращает text/event-stream с событиями session.created, message.delta, message.completed, usage.completed, heartbeat, error и done. Chat API v1 не принимает raw-массив messages.
Схемы ответов
Вывод OpenAPI документирует эти публичные формы ответов:
ModelListдляGET /api/v1/modelsPublicApiModelиModelParamдля выбора модели и форм параметровPublicApiFileдляPOST /api/v1/filesиGET /api/v1/files/{fileId}ReferenceMediaItemдля параметров генерации с файловыми ссылкамиPublicGenerationдля ответов создания и статусаGenerationResultиGenerationErrorдля завершенных задачChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsи схемы событий стрима чата для Chat APICreditBalanceдляGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryиWebhookTestResultдля подписанных API-вебхуковPublicApiErrorдля стабильных ответов об ошибках
Схему можно безопасно использовать для клиентской валидации и внутренних интеграционных тестов. Бета TypeScript SDK остается ограничена этой схемой.
Управление примерами
Примеры curl, JavaScript и Python в этих документах используют те же публичные имена полей, что и схема:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Примеры Chat дополнительно используют:
chat:createchat:readfile_id
Примеры webhook дополнительно используют:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Когда параметр модели меняется, сначала обновите каталог моделей и публичный сериализатор. Документация и отладчик должны использовать тот же публичный слой, а не копировать отдельную таблицу.
Связанные страницы
Аутентификация API
Аутентифицируйте запросы Rivya API с помощью Bearer API-ключей, ограниченных прав доступа, одноразового показа секрета, отзыва и ротации.
Rivya TypeScript SDK
Используйте закрытую бета-версию Rivya TypeScript SDK для вызова моделей, генераций, файлов, кредитов, вебхуков и Chat через Public API v1, включая SSE.
