Language

APIリファレンス

apikey.sh は OpenAI プロトコルに対応しています。OpenAI で動作するSDK・フレームワーク・ツールは、base_url を変えるだけでそのまま使えます。

クイックスタート

ダッシュボードでキーを作成し、環境変数に設定して、base URL を指定します。
from openai import OpenAI

client = OpenAI(
    api_key="sk-ak-...",                  # your key from apikey.sh
    base_url="https://apikey.sh/v1",      # change only this line
)

resp = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

Base URL

以下のどのドメインでも同じAPIキーが使えます。好きなものをお選びください。
https://apikey.sh/v1稼働中
https://api.onie.net/v1稼働中
Anthropic SDK では /v1 を付けない base URL を使います(例: https://apikey.sh)。

認証

キーをヘッダーで送信します。
Authorization: Bearer sk-ak-...

# or, with the Anthropic SDK:
x-api-key: sk-ak-...
キーは作成時に一度だけ表示されます。紛失した場合は新しいキーを作成し、古いキーを失効させてください。失効は即座に反映されます。

Endpoints

POST/v1/chat/completionsテキスト生成(SSE streaming と tool calling に対応)
POST/v1/embeddingsRAG やセマンティック検索向けの embeddings を生成
POST/v1/images/generations画像生成(gpt-image-* モデル)
GET/v1/models現在のキーで利用できるモデルの一覧

Streaming

stream: true を指定すると、SSEでトークンをリアルタイムに受け取れます。
stream = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Write a short poem"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

Prompt caching

対応モデル(GPT-5.x 系)では、プロンプトの繰り返し部分が自動でキャッシュされ、キャッシュ単価で課金されます。新規トークンより約90%安く、コードの変更は不要です。キャッシュされたトークン数はダッシュボードの「使用状況」で確認できます。レスポンスには usage.prompt_tokens_details.cached_tokens が含まれるため、ご自身でも照合できます。

キーごとの制限

キーごとに上限額と利用可能モデルを設定できます。プロジェクトやチームでキーを共有しても、誰かが予算を使い切る心配がありません。設定は「ダッシュボード → APIキー」から行えます。

エラーコード

401キーが無効・失効、またはアカウント停止中
402クレジット不足 — ダッシュボードでチャージしてください
403このキーの許可モデルに含まれていません
429キーのレート制限を超えました
5xx上流プロバイダーのエラー — 数秒後に再試行してください

利用可能なモデル

37 モデルが稼働中です。機械可読な一覧は GET /v1/models または /api/models(JSON、認証不要)で取得できます。