互換エンドポイント · 認証 · ストリーミング
開発者ドキュメント
互換エンドポイント、認証、リクエスト形式、ストリーミングレスポンス、エラー処理のリファレンスです。
クイックスタート
エンドポイントと Key を設定し、クライアントを連携して最初のリクエストを送信します。
エンドポイントを選択
クライアントが要求する形式を選択します。Chat Completions、Responses、Messages 互換ルートを利用できます。
Base URL: https://new.weeanno.shop/v1API Key を準備
有効な API Key をサーバー環境で使用し、ブラウザ側のコードには公開しないでください。
Authorization: Bearer sk-your-api-keyクライアントを連携
互換 SDK を使用するか、独自の base_url で REST API を直接呼び出します。
client = OpenAI(base_url='https://new.weeanno.shop/v1')呼び出しを開始
リクエストを送信して AI のレスポンスを受け取ります。ストリーミングにも対応しています。
POST /v1/chat/completions認証
すべての API リクエストには HTTP Authorization ヘッダーで API Key を指定する必要があります。
認証形式
すべてのリクエストで Authorization ヘッダーに API Key を追加してください。
POST
/v1/chat/completions認証付きリクエストの例
リクエスト例
json
curl https://new.weeanno.shop/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello!"}]
}'レスポンス例
json
{
"id": "chatcmpl_123",
"object": "chat.completion",
"choices": [{
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
}
}]
}推奨 Base URL
https://new.weeanno.shop/v1ほとんどのクライアントで使用します予備 Base URL
https://new.weeanno.shop検証時にクライアントが /v1 を拒否する場合のみ使用しますChat Completions 互換エンドポイント
/v1/chat/completionsChat Completions を要求するクライアント向けResponses 互換エンドポイント
/v1/responsesResponses 対応クライアントでは最初に使用しますMessages 互換エンドポイント
/v1/messagesMessages 互換クライアントでは最初に使用しますChat Completions API
複数のモデルエコシステムに対応する OpenAI 互換 Chat Completions エンドポイントです。
python
from openai import OpenAI
# クライアントを初期化
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://new.weeanno.shop/v1"
)
# チャットリクエストを送信
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "あなたは簡潔に回答するアシスタントです。"},
{"role": "user", "content": "自己紹介を一文で書いてください。"}
]
)
print(response.choices[0].message.content)リクエストパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | 必須 | モデル ID(例:gpt-4o-mini) |
messages | array | 必須 | チャットメッセージの配列 |
temperature | number | 任意 | 0〜2 のサンプリング温度。既定値は 1 |
max_tokens | integer | 任意 | 生成する Token の最大数 |
stream | boolean | 任意 | ストリーミング出力を有効にするか |
top_p | number | 任意 | Nucleus Sampling の値。既定値は 1 |
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
id | string | レスポンスの一意な識別子 |
object | string | オブジェクト種別。通常は chat.completion |
created | integer | 作成時刻のタイムスタンプ |
model | string | レスポンスに使用されたモデル ID |
choices | array | 生成されたレスポンス候補 |
usage | object | Token 使用量の統計 |
ストリーミング
ストリーミングを有効にすると生成 Token をリアルタイムで受信し、体感待ち時間を短縮できます。
ストリーミングの利点
- 体感待ち時間を短縮 - 完全なレスポンスを待たず、出力をすぐに確認できます。
- 長文で快適 - 長い回答がリアルタイム入力のように段階的に表示されます。
- 料金は同じ - 同期出力と料金は同じで、転送方式のみが異なります。
python
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://new.weeanno.shop/v1"
)
# ストリーミングを有効化
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "あなたは簡潔に回答するアシスタントです。"},
{"role": "user", "content": "自己紹介を一文で書いてください。"}
],
stream=True
)
# 受信した Token を順次表示
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
print() # 改行エラー
一般的な API エラーと推奨される対処方法です。
| HTTP ステータス | エラー名 | 説明 | 推奨対応 |
|---|---|---|---|
400 | INVALID_REQUEST | リクエスト本文の形式が不正、またはパラメータが無効です | リクエスト本文とパラメータを確認してください |
401 | UNAUTHORIZED | API Key が無効または期限切れです | API Key が正しいか確認してください |
429 | RATE_LIMIT | リクエストのレート制限を超えました | 指数バックオフで再試行してください |
500 | INTERNAL_ERROR | サービス内部エラーです | 時間をおいて再試行してください |
503 | SERVICE_UNAVAILABLE | サービスは一時的に利用できません | 時間をおいて再試行してください |
レート制限
サービスを安定させるため、API リクエストにはレート制限があります。
レート制限のルール
- API Key ごとに個別のリクエストレート制限があります
- 429 レスポンスを受け取った場合は指数バックオフで再試行してください
- ストリーミングと非ストリーミングのリクエストは同じレート制限枠を共有します
- 実際の上限は現在の Key 設定に従います
