
Журнал Rivya

Автор
Категории
Содержание
Продолжайте изучать
Продолжайте читать связанные руководства, продуктовые заметки и разборы рабочих процессов от команды Rivya.
Хорошая интеграция Rivya API — это не один запрос к одной модели.
Большинство реальных продуктовых процессов образуют небольшую цепочку: выбрать подходящую модель, подготовить исходные данные, при необходимости загрузить референсные файлы, отправить задачу, отслеживать ее состояние, учитывать кредиты и уведомить продукт о готовности результата.
Эта статья показывает, как спланировать такую цепочку. Кратчайший рабочий путь приведен в быстром старте Rivya API, а точные поля запросов — в документации API.
Описанный ниже процесс соответствует реализованному контракту Public API. До разработки убедитесь, что доступ к Public API включен для развертывания и аккаунта, выбранная модель готова к API, а дополнительные функции, например вебхуки, действительно доступны.
Перед выбором эндпоинтов опишите продуктовый сценарий одним предложением.
Примеры:
Создать черновик изображения продукта, когда продавец отправляет бриф для карточки товара.
Сгенерировать короткую видеоконцепцию после утверждения направления статичного изображения руководителем кампании.
Отправить сообщение чата из внутреннего исследовательского инструмента и передавать ответ пользователю потоком.
Загрузить референсное изображение, отправить запрос поддерживаемой модели и уведомить пользователя о готовности результата.
Такое предложение не дает интеграции превратиться в произвольный набор вызовов API.
Используйте эту таблицу до изучения схемы запроса.
| Этап процесса | Продуктовый вопрос | Раздел API |
|---|---|---|
| Доступ к аккаунту | Какой аккаунт Rivya отвечает за использование? | Аутентификация API |
| Выбор модели | Какой публичный ID модели подходит задаче? | Модели API |
| Референсные данные | Нужны ли модели загруженные медиафайлы? | Files API |
| Генерация | Это асинхронная задача изображения, видео или аудио? | Создание генерации |
| Чат | Это сообщение чат-модели, а не задача генерации? | Chat API |
| Состояние | Как продукт узнает о готовности результата? | Статус генерации |
| Событие завершения | Должна ли другая система получить подписанный обратный вызов и включены ли вебхуки? | API-вебхуки |
| Кредиты | Как команда узнает стоимость? | Кредиты API |
Процесс должен быть достаточно ясным, чтобы каждый раздел API использовался по определенной причине.
Создайте API-ключ для конкретного приложения, окружения или процесса, который будет его использовать.
Не используйте один ключ для всего. Имена по назначению упрощают последующую проверку:
production-image-workflow
staging-video-tests
internal-chat-assistant
подписанные вебхуки о завершении, если эта функция включена
До сохранения ключа прочитайте раздел «Аутентификация API». Полный секрет показывается один раз, поэтому команда должна сразу поместить его в подходящее серверное хранилище секретов.
Не прописывайте модель жестко только потому, что она сработала в ручном тесте.
Используйте разделы «Модели API» и «Справочник моделей API», чтобы подтвердить:
публичный ID модели
доступна ли модель через API
поддерживаемый режим входных данных
требования к промпту и параметрам
требуется ли Files API
правила списания кредитов и примечания о готовности
На этом этапе многие интеграции становятся понятнее. Модель, идеально подходящая для ручного теста в Studio, может оказаться не лучшим первым выбором для автоматизированного продуктового процесса.
Если модель может работать с текстовыми данными, оставьте первую версию только текстовой.
Добавляйте Files API, только когда процесс действительно требует референсных медиафайлов.
Когда это нужно, определите:
какие типы файлов принимает продукт
кто отвечает за подготовку файлов
что происходит при ошибке загрузки
как данные загруженного файла передаются в параметры модели
должен ли тот же файл переиспользоваться или загружаться заново
Так хрупкий процесс работы с файлами не будет скрыт за аккуратной кнопкой генерации.
Для генерации изображений, видео и аудио обычно используется такая схема:
подготовьте ID модели, промпт и поддерживаемые параметры
добавьте ключ идемпотентности для безопасных повторов
отправьте запрос через эндпоинт генерации
сохраните публичный ID задачи
опрашивайте состояние, пока задача не перейдет в конечное состояние
Используйте Создание генерации для формы запроса и Статус генерации для обработки результата.
Продукт должен отображать queued, processing, succeeded и failed как понятные пользователю состояния. Не заставляйте людей разбираться в системных деталях или гадать, почему задача выполняется медленно.
Чат-модели должны использовать Chat API, а не эндпоинт генерации.
Это важно, потому что работа с чатом устроена иначе:
сообщения чата могут относиться к сессиям, созданным через API
обычные ответы и потоковая передача SSE создают разный пользовательский опыт
вложения изображений используют ID файлов из Files API
окончательное списание кредитов связано с сообщением чата, а не с обычной асинхронной медиазадачей
Если продукту нужен ответ ассистента в собственном интерфейсе, Chat API может быть правильным выбором. Если пользователь все еще исследует идеи, лучше могут подойти Rivya Chat или Studio.
Для первой версии опрос состояния проще реализовать и проверить.
Если вебхуки включены для этого развертывания, добавьте API-вебхуки, когда:
у продукта много асинхронных задач
ожидающие клиенты не должны напрямую опрашивать состояние
зависимым системам нужны подписанные события завершения
обработка повторов и дубликатов уже спроектирована
Обработчики вебхуков должны быть простыми и строгими: проверять подпись, безопасно принимать повторные события, обновлять одну запись продукта и журналировать только безопасные данные.
Rivya API использует те же кредиты аккаунта, что и Studio.
Ваша интеграция должна решить, какую часть этого показывать. Как минимум команда должна знать:
какому аккаунту принадлежит API-ключ
какой процесс может расходовать кредиты
что происходит при нехватке кредитов
как объясняются состояния неудачной генерации
куда направить пользователя с вопросами о кредитах и биллинге
Для понятного пользователю описания кошелька используйте разделы «Кредиты API», «Rivya: руководство по кредитам и биллингу» и «Кредиты, пакеты и планы Rivya: как это работает».
Хорошая первая версия намеренно ограничена.
Например:
один API-ключ
одна выбранная модель изображений
без загрузки файлов на первом этапе
один запрос генерации
один путь опроса состояния
простой предварительный просмотр результата в продукте
одно ясное сообщение об ошибке кредитов
Такая версия подтверждает работоспособность соединения до добавления новых компонентов.
После запуска первой версии более полный процесс может включать:
Files API для референсных изображений или видео
элементы управления параметрами конкретной модели
идемпотентность, связанную с записью продукта
подписанные вебхуки для событий завершения
Chat API для сообщений ассистента
серверный поток событий, когда чату нужен вывод в реальном времени
представления для администраторов или поддержки по неудачным задачам
Каждое дополнение должно отвечать реальной потребности продукта. Если оно лишь увеличивает демонстрационную версию, отложите его.
Избегайте таких подходов:
начинать сразу со всех возможностей API
скрывать расход кредитов от владельца аккаунта
переносить в API допущения, применимые только к Studio
считать загрузку файлов второстепенной деталью
повторять запросы генерации без идемпотентности
использовать Chat API для задач, которые должны быть асинхронной генерацией
использовать эндпоинты генерации для сообщений чата
журналировать полные API-ключи, секреты вебхуков или сведения о временных файлах
Самый безопасный процесс API явно определяет владельца, состояния и обработку ошибок.
Начните со страницы Developers, чтобы открыть публичный центр API.
Используйте быстрый старт Rivya API, чтобы выполнить первый запрос.
Изучите модели API до выбора ID моделей.
Используйте Files API, только когда модели действительно нужны референсные медиафайлы.
Используйте Chat API для сообщений чата и потоковых ответов.
Используйте API-вебхуки, когда опроса уже недостаточно и доступ к вебхукам включен.
Если процесс все еще требует человеческого исследования, перед автоматизацией прочитайте «Когда использовать Rivya API вместо Studio».