API キー
キーを作成し、キーごとに利用額と呼び出せる範囲を制限して、ダウンタイムなしでローテーションや失効を行います。
API キーはリクエストを認証し、アカウントの残高から料金を差し引きます。キーはいくつでも作成でき、それぞれに個別の制限を設定できます。すべてのキーは同じ残高を共有します。
キーを作成する#
API キーを開く
ダッシュボードの API キーを開き、新しいキーをクリックします。
キーに名前を付け、チャネルグループを選ぶ
checkout-prodやeval-runnerのように、キーを使う場所が分かる名前を付けます。このキーからのすべてのリクエストを特定の 1 つのグループで処理する必要がない限り、チャネルグループは 自動 — 最適な経路 のままにしてください。チャネルグループを参照してください。制限を設定する(任意)
上限と制限を開くと、利用額、レート、同時実行数、モデル、有効期間に上限を設定できます。各オプションの説明は下記にあり、どれも後から変更できます。
キーをコピーする
作成をクリックします。完全なキーはページ上部のバナーに一度だけ表示されます。コピーするか、ツールで使う… をクリックして Claude Code、Codex CLI などのクライアントにこのキーを設定します。完了をクリックした後は、
lr-a1b2c3…のようにキーの先頭の数文字しか表示されません。
キーは一度しか表示されません
Lovely Router は各キーのハッシュのみを保存します。キーを紛失した場合は、そのキーを失効させて新しいキーを作成してください。
キーのオプション#
| オプション | デフォルト | 機能 |
|---|---|---|
| 名前 | — | キーの一覧とログに表示されるラベルです。最大 60 文字。 |
| チャネルグループ | 自動 | このキーからのすべてのリクエストを 1 つのチャネルグループで処理します。自動では、リクエストごとに利用可能な最適なグループが選ばれます。作成時にのみ設定できます。 |
| 利用上限(USD) | 上限なし | モデルのリクエスト、ツールの実行、ブラウザ実行を合わせて、このキーが使える金額の上限です(1 ドル単位)。月ごとの予算ではなく、キーの存続期間全体にわたる上限です。 |
| 有効期限 | なし | この日の終わりを過ぎるとキーは使えなくなります。日付はブラウザのタイムゾーンで判定されます。 |
| 1分あたりのリクエスト数 | 無制限 | このキーが 1 分間に開始できるモデルリクエストの数です。 |
| 最大同時リクエスト数 | 無制限 | このキーで同時に進行できるモデルリクエストの数です。長いストリームは終了するまでカウントされます。 |
| 特定のモデルのみ許可 | すべてのモデル | このキーが呼び出せるモデルの許可リストです。claude-sonnet-5-5 のようなエイリアスは、解決先のモデルとして扱われます。 |
キーの一覧には、各キーのグループ、制限、合計の利用額、最終使用日時が表示されます。
制限に達したときの動作#
拒否されたリクエストは課金されず、ログにも表示されません。レスポンスボディは、呼び出した API の形式に従います。
| 状況 | ステータス | Anthropic の type | OpenAI の type | メッセージ |
|---|---|---|---|---|
| キーの有効期限切れ | 401 | authentication_error | authentication_error | This API key has expired |
| キーが失効済み | 401 | authentication_error | authentication_error | Invalid or revoked API key |
| モデルが許可リストにない | 403 | permission_error | permission_denied | This API key is not allowed to use 'gpt-6.1-sol'. |
| 利用上限に到達 | 402 | billing_error | insufficient_quota | This API key has reached its spend limit. |
| 1 分あたりのリクエスト数または同時実行数の上限に到達 | 429 | rate_limit_error | rate_limit_exceeded | This API key has reached its rate or concurrency limit. |
Gemini 形式のリクエストには、同じステータスコードが Gemini のエラー形式で返ります。キーの制限による 429 には、待機すべき秒数を示す Retry-After ヘッダーが付きます。以下は利用上限エラーの両形式の例です。その他のボディと再試行の方法はエラーにまとめています。
{
"type": "error",
"error": {
"type": "billing_error",
"message": "This API key has reached its spend limit."
}
}ツールとブラウザ実行に適用される制限#
| 制限 | モデルのリクエスト | データツールとブラウザエージェント |
|---|---|---|
| 有効期限と失効 | 適用 | 適用 |
| 利用上限 | 適用 | 適用 |
| 1 分あたりのリクエスト数 | 適用 | 適用外 |
| 最大同時リクエスト数 | 適用 | 適用外 |
| モデル許可リスト | 適用 | 適用外 |
利用上限は各リクエストの開始前にチェックされます。すでに進行中のモデルリクエストは必ず最後まで処理されるため、キーの合計額が上限をわずかに超えることがあります。ツールやブラウザの実行は最大費用を最初に仮押さえするため、その最大額でキーが上限を超える場合は 402 で拒否されます。
キーを編集する#
キーの編集をクリックすると、名前、利用上限、有効期限、レートと同時実行数の制限、モデル許可リストを変更できます。変更は次のリクエストから適用されます。フィールドを空にすると、その制限は解除されます。
キーを別のチャネルグループに移すには、そのグループで新しいキーを作成し、新しいキーにローテーションしてください。
キーを失効させる#
失効をクリックし、続けて失効を確認をクリックします。キーは次のリクエストから使えなくなり、失効は取り消せません。失効したキーは利用履歴とともにグレー表示で一覧に残り、そのリクエストもログに残ります。
キーをローテーションする#
ダウンタイムなしでキーを置き換えるには、次の手順に従います。
- 同じグループと制限で新しいキーを作成します。
- 新しいキーをアプリまたはシークレットマネージャーにデプロイします。
- 古いキーの最終使用日時が更新されなくなるまで待ちます。
- 古いキーを失効させます。
ローテーションは定期的に行うほか、アクセス権を持つ人が離れたときにも行い、キーが漏洩した可能性がある場合はただちに行ってください。
キーをツールで使う#
任意のキーのツールで使うをクリックすると、Claude Code、Codex CLI、Gemini CLI、Cherry Studio、DeepChat、AionUI 向けの設定が用意されています。対応アプリではワンクリックでインポートできます。お使いのツールで使うを参照してください。
ベストプラクティス#
- アプリと環境ごとに 1 つのキー。 本番、ステージング、CI、手元の PC でキーを分けると、キーごとの利用額が把握しやすくなり、他に影響を与えずに 1 つだけ失効させることもできます。
- 無人で動くキーには上限を設ける。 エージェント、バッチジョブ、CI パイプラインはループに陥ることがあります。利用上限で被害を抑え、1 分あたりのリクエスト数の制限で暴走したループを減速させましょう。
- キーに必要なモデルだけを許可する。 要約ジョブ用のキーに、最も高価なモデルは必要ありません。
- 一時的なキーには有効期限を設定する。 デモ、外部の協力者、評価用には、後で忘れずに失効させるのではなく、有効期限付きのキーを渡しましょう。
- キーはサーバー側に保管する。 フロントエンドやモバイルのコードにキーを含めて配布しないでください。キーを安全に保つを参照してください。