互換エンドポイント · 認証 · ストリーミング

開発者ドキュメント

互換エンドポイント、認証、リクエスト形式、ストリーミングレスポンス、エラー処理のリファレンスです。

クイックスタート

エンドポイントと Key を設定し、クライアントを連携して最初のリクエストを送信します。

エンドポイントを選択

クライアントが要求する形式を選択します。Chat Completions、Responses、Messages 互換ルートを利用できます。

Base URL: https://new.weeanno.shop/v1

API 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)

リクエストパラメータ

パラメータ必須説明
modelstring必須モデル ID(例:gpt-4o-mini)
messagesarray必須チャットメッセージの配列
temperaturenumber任意0〜2 のサンプリング温度。既定値は 1
max_tokensinteger任意生成する Token の最大数
streamboolean任意ストリーミング出力を有効にするか
top_pnumber任意Nucleus Sampling の値。既定値は 1

レスポンスフィールド

フィールド説明
idstringレスポンスの一意な識別子
objectstringオブジェクト種別。通常は chat.completion
createdinteger作成時刻のタイムスタンプ
modelstringレスポンスに使用されたモデル ID
choicesarray生成されたレスポンス候補
usageobjectToken 使用量の統計

ストリーミング

ストリーミングを有効にすると生成 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 ステータスエラー名説明推奨対応
400INVALID_REQUESTリクエスト本文の形式が不正、またはパラメータが無効ですリクエスト本文とパラメータを確認してください
401UNAUTHORIZEDAPI Key が無効または期限切れですAPI Key が正しいか確認してください
429RATE_LIMITリクエストのレート制限を超えました指数バックオフで再試行してください
500INTERNAL_ERRORサービス内部エラーです時間をおいて再試行してください
503SERVICE_UNAVAILABLEサービスは一時的に利用できません時間をおいて再試行してください

レート制限

サービスを安定させるため、API リクエストにはレート制限があります。

レート制限のルール
  • API Key ごとに個別のリクエストレート制限があります
  • 429 レスポンスを受け取った場合は指数バックオフで再試行してください
  • ストリーミングと非ストリーミングのリクエストは同じレート制限枠を共有します
  • 実際の上限は現在の Key 設定に従います

ご不明な点はサポートへお問い合わせいただくか、FAQ をご覧ください。