Skip to main content
ベース URL: https://router.flatkey.ai テキスト生成は POST /v1/chat/completions を通じて実行されます。これは OpenAI Chat Completions API と完全に一致します。ベース URL を変更するだけで、OpenAI 互換のクライアントはそのまま動作します。

書き換え不要

既存のリクエストコードをそのまま使い、base_urlhttps://router.flatkey.ai/v1 に向けるだけです。

1 つのキーで全モデル

model フィールドを変更するだけでモデルを切り替えられます。それ以外は何も変わりません。

最初の呼び出しを行う

モデルを選ぶ

アカウントからアクセスできるすべてのモデルを一覧表示し、テキストモデルを絞り込みます:
同じ一覧を、価格・コンテキスト長・レイテンシ付きでモデルディレクトリで確認できます。 実用的な出発点として:

レスポンスをストリーミングする

stream: true を設定すると、トークンが生成されるたびに受信できます:
各チャンクには、完全なメッセージではなく部分的な delta が含まれます。

独自の関数を呼び出す

ツール定義を渡すと、モデルがいつ呼び出すかを判断します:
ループを完了させるには、アシスタントメッセージを追加し、次に tool_call_id をキーとするツール結果を 1 メッセージずつ追加して、スレッド全体を送り返します。
ツールが実行されると、finish_reasonstop ではなく tool_calls になります。stop のみを確認するコードは、呼び出しを無言でスキップしてしまいます。
ツール呼び出しは Flatkey の機能ではなく、モデルの機能です。GPT、Claude、Gemini、Qwen、DeepSeek、GLM ファミリーがサポートしています。画像・動画・音声モデルは tools 配列を無視します。

JSON の形式を強制する

回答をパースする必要がある場合は response_format を使います:
{"type": "json_object"} は、固定スキーマなしで有効な JSON のみが必要な場合にも使えます。

トークン使用量を読み取る

すべてのレスポンスには課金対象のカウントが含まれています:
モデルファミリーによってトークン化の方法が異なるため、同じテキストでもモデルによってトークン数が変わります。文字数から推定するのではなく、usage を使ってください。リクエストごとのコストは使用ログでも確認できます。

トラブルシューティング

No available channel for model ... そのモデルは現在ルーティングできません。/v1/models から別の ID を選んでください。同じモデルをリトライしても解消しません。 レスポンスが文の途中で止まる finish_reasonlength になっています。max_tokens を増やしてください。 ツール呼び出しが一度も実行されない モデルがツールをサポートしているか確認し、tool_choicenone に設定されていないか確認してください。

次のステップ

API リファレンス

すべてのパラメータとレスポンスフィールド。

OpenAI SDK ガイド

既存の OpenAI プロジェクトに Flatkey を組み込む。