SDK互換性とベースURLのセットアップ
既存のクライアントコードを専用エンドポイントに接続します。この openai compatible API コード変更なしで標準ヘッダーと SDK 設定を受け入れます。ダッシュボードから取得した API キーを提供し、ベース URL を更新するだけです。
https://api.openrouterratelimits.com/v1 すべてのリクエストの単一エントリポイントです。認証は、最新のLLMライブラリで一般的に使用される標準的なBearerトークン方式を使用します。キーを Authorization 身元を確認するためのヘッダー。このセットアップはOpenAIスタイルのインターフェースを想定するあらゆるクライアントと互換性があるため、ベンダーロックインに疲れたチームにとって移行は瞬時に完了します。
- ベースURL:
https://api.openrouterratelimits.com/v1 - Authヘッダー:
Authorization: Bearer YOUR_API_KEY - モデルID:
uncensored
SSEによるストリーミングレスポンス
streamをtrueに設定してストリーミングを有効にする stream: true リクエストペイロードに指定します。APIはリアルタイムのトークン配信のためにServer-Sent Events (SSE)を返します。各チャンクには生成されたテキストが含まれ、最終チャンクには使用統計が含まれます。このアプローチにより、長いコンテキストウィンドウでもUIの応答性を維持できます。
ストリーミングは、レイテンシーが重要なチャットインターフェースやロールプレイシナリオに最適です。テキストのレンダリングのために完了を待つ必要はありません。最終チャンクには正確な課金のためのトークン数が常に含まれます。ストリーミング中のエラーでも、即時の処理のために適切なHTTPステータスコードが返されます。
関数呼び出しとJSONモード
信頼性の高いデータ抽出やツール統合のために構造化出力を使用します。有効化 response_format と {"type": "json_object"} JSON準拠を強制します。このモードは、追加のクリーンアップロジックなしで複雑なネスト構造を解析するために不可欠です。関数呼び出しは、動的なエージェントワークフローのために標準的なテキスト生成と併用されます。
リクエストでツールを定義する tools 配列と指定 tool_choice 厳密な強制用です。モデルは標準のOpenAI形式で関数呼び出しを返します。この機能は、1つのターン内で単一または複数のツール呼び出しをサポートします。外部APIやデータベースと信頼性高く連携するエージェントの構築に使用してください。
トークンとパラメータの管理
temperatureやtop_pなどの標準的なパラメータを使用して生成挙動を制御します。 temperature, top_p、および stopコンテキストウィンドウは、プロンプトと補完を合わせて最大100,000トークンをサポートします。これにより、単一のリクエストで広範な履歴コンテキストや大規模なドキュメント処理が可能になります。
設定 max_tokens 出力長を制限します(未指定の場合はデフォルト2,048)。モデルは presence_penalty および frequency_penalty スタイル制御用です。トークン使用量は実際の入力と出力の数に基づいて課金されます。エラーはトークンを消費しないため、失敗したリクエストに対しても公正な課金が保証されます。
キーごとのレート制限について
各APIキーは1分あたり300リクエストをサポートし、同時に8つのリクエストの並列制限があります。この制限はキーごとに適用されるため、複数のキーを作成することでスループットを線形に拡張できます。最大リクエストボディサイズは8 MBで、ほとんどのユースケースにおいてコンテキストウィンドウ内に収まります。
レート制限はスライディングウィンドウに基づいて継続的にリセットされます。制限を超えると、APIは429エラーを返します。優先アクセスを維持するためにプリペイドクレジットをアップグレードしてください。共有ティアとは異なり、専用サーバーは近隣ノイズの影響を受けません。一貫したパフォーマンスを得るために、使用状況ダッシュボードを監視してこれらの範囲内に収めてください。
一般的なエラーのトラブルシューティング
HTTPステータスコードとレスポンスボディを確認してエラーを処理します。401エラーはAPIキーが無効または欠落していることを示します。認証に失敗した場合はダッシュボードからキーを再生成してください。402エラーは前払い済みのクレジットが枯渇したことを意味します。サービス再開のため暗号通貨でチャージしてください。
429 エラーはレート制限を超えたことを示します。リクエスト頻度を減らすか、複数のキーにワークロードを分割してください。これらのエラーに対してトークンは課金されないため、再試行でクレジットを失うことはありません。堅牢性のために、クライアントライブラリが指数関数的バックオフで再試行を処理していることを確認してください。
cURL
curl https://api.openrouterratelimits.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Process one million logs"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterratelimits.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterratelimits.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);ストリーミング
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)