チャット
Zurelay Auto
1つのモデル名 zurelay-auto で、リクエストごとに適したモデルが回答します。料金は回答したモデルの価格で計算され、回答にはそのモデル名が示されます。通常のモデル ID と同じ場所で使え、ストリーミング、ツール、推論レベルにも対応しています。
import osfrom openai import OpenAIclient = OpenAI( base_url="https://api.zurelay.com/v1", api_key=os.environ["ZURELAY_API_KEY"],)response = client.chat.completions.create( model="zurelay-auto", messages=[ { "role": "user", "content": "Summarize this in one sentence: Zurelay is one API for many models." } ],)print(response.choices[0].message.content)モデルの選び方
Auto はリクエストの内容を読み取り、別のモデルを呼び出さずに選択します。そのため、追加の遅延も料金もありません。リクエストは次の3つの階層のいずれかに分類されます:
該当する階層から、リクエストに含まれる画像、PDF、音声、動画をすべて読み取れ、プロンプトと max_tokens がコンテキストウィンドウに収まり、指定した推論レベルに対応する最初のモデルを選びます。reasoning_effort は、そのモデルが対応する最も近いレベルで実行されます。
選択対象のモデル
各階層で Auto が試す順に、入力・出力それぞれの 1M トークンあたりの価格を示します。より高性能または低価格なモデルが登場すると一覧は変わりますが、コードを変更する必要はありません。
料金
各リクエストには、回答したモデルの Zurelay での料金が適用され、選択による追加料金はありません: 現在、入力 1M トークンあたり $0.025~$3.50、出力 1M トークンあたり $0.12~$17.50。失敗したリクエストは、ほかのモデルと同様に無料です(請求を参照)。
回答したモデル
回答の model フィールドと x-zurelay-model ヘッダーに回答したモデル名が示され、x-zurelay-routed-from: zurelay-auto には Auto が選択したことが示されます。ダッシュボードのリクエスト一覧でも確認できます。
HTTP/1.1 200 OKx-zurelay-model: deepseek-v4.1-flashx-zurelay-routed-from: zurelay-auto{ "model": "deepseek-v4.1-flash", "choices": [{ "message": { "role": "assistant", "content": "…" } }], …}モデルが回答できない場合
Auto は、回答を返せるよう次の順で試します:
- 選択されたモデルは、Zurelay のほかのモデルと同様に、まず再試行し、次にそのモデルのバックアップルートを使用します。
- それでも回答できない場合、Auto は同じ階層の残りのモデル、上の階層、下の階層の順に、合計で最大5つのモデルを試します。
- すべて失敗した場合に限り、
model_unavailableを含む503とretry-afterヘッダーが返されます。
これはスマートルーティングの設定に関係なく常に実行されます。x-zurelay-fallback ヘッダーやリクエストの models リストによって動作が変わることもありません。
Anthropic 形式
POST /v1/messages は zurelay-auto にも対応しています。この場合、Auto は Anthropic 形式に対応する Claude モデルから選択するため、Anthropic の SDK やそれを利用するツールも、ほかの Claude モデルと同様に動作します。
API キー
zurelay-auto のみに制限されたキー(キーのルールを参照)でも、Auto が選択したモデルを使用できます。利用額の上限とレート制限は通常どおり適用されます。短い ID の auto も使用できます。
エラー
- 400
unsupported_content: リクエストに含まれるメディアをまとめて読み取れるモデルがありません。たとえば、音声と PDF を1つのリクエストで送った場合です。別々に送るか、両方に対応するモデルを選んでください。 - 400
context_length_exceeded: リクエストが、対象となるどのモデルの読み取り可能な長さも超えています。短くするか、出力を減らしてください。 - 503
model_unavailable: 試したモデルがすべて失敗しました。retry-afterヘッダーに示された時間が経過してから再試行してください。
毎回同じモデルを使いたい場合
ご質問や不足している情報はありますか? サポートチームにお問い合わせください。通常1分以内にメールで回答します。