
Rivya Journal

探索を続ける
Rivya チームによる関連ガイド、製品ノート、ワークフロー解説を続けて読めます。
著者
カテゴリ
よい Rivya API 連携は、1つのモデルに1回リクエストを送るだけではありません。
実際のプロダクトワークフローの多くは、小さなチェーンになります。適切なモデルを選び、入力を準備し、必要なら参照ファイルをアップロードし、ジョブを送信し、ステータスを監視し、クレジットを扱い、結果が準備できたらプロダクトへ通知します。
この記事では計画の形を示します。最短で実行できる経路には Rivya API Quickstart を使い、正確なリクエストフィールドは API ドキュメントを参照してください。
以下のワークフローは、実装済みの Public API 契約に基づいています。開発前に、デプロイとアカウントで Public API が有効であること、選んだモデルが API に対応していること、Webhook などの任意機能が実際に利用できることを確認してください。
エンドポイントを選ぶ前に、プロダクト上の瞬間を1文で説明します。
例:
出品者が出品ブリーフを送信したら、商品画像の下書きを作成する。
キャンペーン担当者が静止画の方向性を承認した後、短い動画コンセプトを生成する。
社内リサーチツール内で Chat turn を送り、レスポンスをユーザーへストリーミングで返す。
参照画像をアップロードし、対応モデルのリクエストを送信し、結果が準備できたらユーザーへ通知する。
この1文が、連携を API 呼び出しのゆるい寄せ集めにしないための軸になります。
リクエストスキーマを開く前に、この表を使います。
| ワークフロー手順 | プロダクト上の問い | API 領域 |
|---|---|---|
| アカウントアクセス | どの Rivya アカウントに使用量を紐づけるか? | API 認証 |
| モデル選択 | この作業に適した公開モデル ID はどれか? | API モデル |
| 参照入力 | モデルにアップロード済みメディアが必要か? | ファイル API |
| 生成 | これは非同期の画像、動画、音声タスクか? | 生成タスクの作成 |
| チャット | これは生成タスクではなく、チャットモデルとの応答か? | チャット API |
| ステータス | 結果の準備ができたことをプロダクトはどう知るか? | 生成ステータス |
| 完了イベント | 別システムが署名付きコールバックを受け取るべきか?Webhook は有効か? | API Webhook |
| クレジット | チームでコストをどう把握するか? | API クレジット |
各 API 領域に存在理由があると分かるくらい、ワークフローは明確であるべきです。
そのキーを使う特定のアプリ、環境、ワークフローごとに API キーを作成します。
1つのキーをすべてに使うのは避けます。目的別にキーへ名前を付けると、後のレビューが楽になります。
production-image-workflow
staging-video-tests
internal-chat-assistant
webhook-smoke-test
キーを保存する前にAPI 認証を読んでください。完全なシークレットは一度しか表示されないため、すぐに適切なサーバー側のシークレット保管先へ保存する必要があります。
手動テストで動いたからといって、モデルをハードコードしないでください。
API モデルとモデル別 API リファレンスを使って、次を確認します。
公開 model ID
API 経由で利用可能か
対応入力モード
プロンプトとパラメータの期待値
Files API が必要か
クレジット挙動と readiness notes
多くの連携はここで整理されます。手動の Studio テストに最適なモデルが、自動化されたプロダクトフローの最初のモデルとして正しいとは限りません。
モデルがテキスト入力だけで実行できるなら、初版は text-only に保ちます。
ワークフローが本当に参照メディアを必要とするときだけ、Files API を追加します。
追加する場合は、次を定義します。
プロダクトが受け付けるファイル種別
ファイルクリーンアップ手順の責任者
アップロード失敗時の処理
返された file data をモデルパラメータへどう渡すか
同じファイルを再利用するのか、再アップロードするのか
これにより、見た目はきれいな生成ボタンの裏に、壊れやすいファイル体験が隠れることを防げます。
画像、動画、音声生成では、通常のパターンは次のとおりです。
model ID、プロンプト、対応 params を準備する
安全な retry のために idempotency key を追加する
generation endpoint から送信する
public task ID を保存する
タスクが終端状態に到達するまでステータスを poll する
リクエスト形状には Create Generation を使い、結果処理には Generation Status を使います。
プロダクトは queued、processing、succeeded、failed をユーザーに見える状態として扱うべきです。ユーザーにシステム詳細を読ませたり、ジョブが遅い理由を推測させたりしないでください。
Chat モデルは generation endpoint ではなく、Chat API を使うべきです。
これは、chat 作業の挙動が異なるため重要です。
chat turn は API が作成した session に属せる
non-streaming と SSE streaming ではユーザー体験が異なる
画像添付は Files API からの file ID を使う
クレジット精算は通常の非同期メディアタスクではなく chat turn に従う
プロダクトが自前の画面内で assistant の回答を必要とするなら、Chat API が正しい経路かもしれません。ユーザーがまだアイデアを探索しているだけなら、Rivya Chat または Studio のほうが適している場合があります。
初版では、polling のほうが考えやすいです。
デプロイで Webhook が有効な場合は、次の状況で API Webhooks を追加します。
プロダクトに多くの非同期ジョブがある
待機中のクライアントが直接 poll すべきではない
下流システムが署名付き完了イベントを必要としている
retry と duplicate handling がすでに設計されている
Webhook receiver は退屈で厳格であるべきです。署名を検証し、重複しても安全なイベントを受け入れ、1つのプロダクトレコードだけを更新し、安全に記録できることだけをログに残します。
Rivya API は Studio と同じアカウントクレジットを使います。
連携側では、そのうちどれだけを表示するか決める必要があります。最低限、チームは次を知っているべきです。
どのアカウントが API key を所有しているか
どのワークフローがクレジットを消費できるか
クレジットが少なすぎる場合に何が起きるか
生成失敗状態をどう説明するか
クレジットと請求の質問をどこへ送るか
ユーザー向けのクレジット残高については、API クレジット、Rivya のクレジットと請求、Rivya のクレジット、パック、プランの考え方を参照してください。
よい初版は意図的に限定します。
例:
1つの API key
1つの選択済み画像モデル
まだファイルアップロードなし
1つの生成リクエスト
1つのステータス polling 経路
プロダクト内のシンプルな結果プレビュー
1つの明確なクレジットエラーメッセージ
このバージョンで接続を証明してから、動く部品を増やします。
初版が動いた後、より完全なワークフローでは次を追加できます。
参照画像や動画向けの Files API
モデル固有のパラメータ制御
プロダクトレコードに結び付いた冪等性
機能が有効な場合の、完了通知用署名付き Webhook
アシスタントの応答ターン向けの Chat API
チャットがリアルタイム出力を必要とする場合のサーバー側イベントストリーム
失敗したジョブを確認するための管理・サポート画面
それぞれの追加は、実際のプロダクト上の必要に答えるべきです。デモを大きく見せるだけなら、省きます。
次のパターンは避けます。
最初からすべての API 機能を入れる
アカウント所有者にクレジット使用量を見せない
Studio だけの前提を API フローへ持ち込む
ファイルアップロードを後付けの細部として扱う
idempotency なしで生成リクエストを retry する
非同期生成にすべきジョブに Chat API を使う
chat turn に generation endpoint を使う
API key、webhook secret、一時ファイル詳細の全体をログに残す
最も安全な API ワークフローは、所有、状態、失敗処理を明確にします。
公開 API ハブは Developers から始めます。
最初のリクエストを実行するには Rivya API Quickstart を使います。
モデル ID を選ぶ前にAPI モデルを確認します。
モデルが本当に参照メディアを必要とするときだけ Files API を使います。
chat turn と streaming chat responses には Chat API を使います。
ポーリングだけでは足りず、Webhook へのアクセスが有効な場合に API Webhooks を使います。
ワークフローにまだ人間の探索が必要なら、自動化する前に Rivya API を Studio の代わりに使うタイミング を読んでください。