メインコンテンツへスキップ
YouRouter はプレーンテキストのチャットに加えて、マルチモーダルなモデル呼び出しにも対応します。画像、視覚理解、プロバイダー固有のマルチモーダル形式、動画生成タスクが必要な場合はこのページを使います。

どの API を使うべきか

多くのチャットとビジョン用途では、https://api.yourouter.ai/v1 と OpenAI 互換の Chat Completions 形式から始めるのが最短です。

Chat Completions で画像入力する

messages[].content をブロック配列にします。通常は text と 1 つ以上の image_url を並べます。
生成された回答は次から読み取ります。

Base64 画像入力

非公開画像は data URL を使います。
ペイロードが大きくなりすぎないよう注意してください。大きい画像は一時的な HTTPS URL を推奨します。

Python 例

PDF / 文書入力

PDF の対応可否は対象モデルと上流プロバイダーに依存します。リクエストを送る前に、選択したモデルが文書または視覚理解に対応していることを確認してください。PDF 非対応のモデルでは上流エラーが返ります。 OpenAI 互換のファイルコンテンツブロックに対応するモデルでは、messages[].contentfile ブロックを追加できます。file_data には PDF の生バイト列を base64 エンコードした値を入れます。data:application/pdf;base64, プレフィックスは付けません。
特定の上流プロバイダーの文書機能に依存する場合は、provider-native 形式を使います。
  • Gemini: inlineData.mimeType: "application/pdf" を使います。詳細は Google Generate Content を参照してください。
  • Claude: media_type: "application/pdf" を指定した document コンテンツブロックを使います。詳細は Anthropic Messages を参照してください。
PDF は通常、より多くのコンテキストウィンドウとリクエスト本文サイズを消費します。本番環境ではファイルサイズとページ数を制限してください。大きいファイルは分割するか、対象上流のファイル API が連携で利用できることを確認してからアップロード型フローを使ってください。

Gemini ネイティブマルチモーダル

Gemini ネイティブのリクエストフィールドに依存する連携では、Google の generateContent 形式を使います。
参照: Google Generate Content

Claude ネイティブ Messages

Claude ネイティブの挙動が必要な場合に使います。
参照: Anthropic Messages

動画生成タスク

動画生成はタスク型です。タスクを作成し、完了するまでポーリングします。
作成リクエストはタスク id を返します。そのタスクが完了するまで id で問い合わせます。
詳細は Ark テキストから動画生成 を参照してください。

実装のコツ

  • モデル ID は設定化しておくと、コード変更なしでビジョンモデルやマルチモーダルモデルを切り替えやすくなります。
  • vendor はプロバイダー固有フォーマットや挙動が必要なときだけ使います。
  • 大きいファイルでは HTTPS URL または分割処理を優先し、非公開/ローカル検証の画像や小さな PDF では base64 を使います。
  • PDF 対応はモデルと上流能力によって変わります。公開前に対象モデルで実ファイルのテストを行ってください。
  • プロバイダー固有のマルチモーダル問題を調査するときは、レスポンスのリクエスト ID を残します。