ベースURLと認証
ベースURLにリクエストを送信します https://api.codexapipricing.com/v1 APIキーを使用してアクセスします。このエンドポイントは標準的なOpenAI SDKと互換性があるため、ベースURLを更新し、APIキーを指定するだけでご利用いただけます。認証にはヘッダーを付与してください。 Authorization: Bearer YOUR_API_KEY すべてのリクエストに。Googleまたはメールとパスワードでサインインすることで、すぐにキーを生成できます。キーは作成後に1回だけ表示されるため、安全に保存してください。プロンプトはトレーニングに使用されないため、データのプライバシーが保証されます。
チャット完了エンドポイント
を使用 POST /v1/chat/completions テキストを生成するためのエンドポイント。これはプロンプトを送信し応答を受信するための主要なインターフェースです。モデルIDは常に uncensored、サーバー上で実行されているモデルのバージョンに関係なく。利用可能なモデルは GET /v1/models. メッセージ履歴を messages
対応パラメータとJSONモード
temperatureやtop_pなどのパラメータを使用して生成を制御します temperature, top_p、および stop. 使用 response_format に設定 {"type": "json_object"} JSON出力を強制します。これは構造化されたデータ抽出や関数呼び出しに役立ちます。また、 max_tokens 出力長を制限します(未指定の場合はデフォルト2,048)。コンテキストウィンドウはプロンプトと補完を合わせて最大100,000トークンをサポートします。 seed 決定論的な結果のため、または presence_penalty および frequency_penalty 反復を調整します。これらのパラメータにより、複雑な設定なしでモデルの動作を微調整できます。JSONモードはアプリケーションでの信頼性の高い解析のために厳格なフォーマットを保証します。
SSEによるストリーミングレスポンス
streamをtrueに設定してストリーミングを有効にする stream: true リクエストに含まれます。APIはトークンが生成されるたびにサーバー送信イベント(SSE)を返します。これにより、長い応答の知覚レイテンシが削減されます。ストリームを処理してテキストを増分的に表示します。この機能はすべてのOpenAI互換SDKで動作します。ストリーミングは、ユーザーが即時フィードバックを期待するチャットインターフェースに最適です。最後のチャンクには、請求の正確さのための総トークン数が含まれます。この方法を使用して、完全な応答を待たずに大きな出力を適切に処理します。
レート制限とリクエストボディ
各APIキーは1分あたり300リクエストと8つの同時リクエストに制限されます。最大のリクエストボディサイズは8 MBです。これらの制限を超えると、429エラーが発生します。既存のキーを置き換えるために新しいキーを生成できますが、アカウントごとにアクティブなキーは1つだけです。エラーと拒否はレート制限の対象外です。100,000トークンのコンテキストウィンドウにより、広範な会話履歴が可能になります。サイズ制限内に留めるためにリクエストボディを簡潔に保ってください。ピーク時に中断を避けるために使用量を監視してください。これらの制限により、すべての前払い顧客間で公平な使用が保証されます。
エラー処理とトラブルシューティング
HTTPステータスコードを確認してエラーを処理します。401エラーはAPIキーが無効または欠落していることを示します。402エラーは前払い済みのクレジットが枯渇したことを意味します。429エラーはレートリミットを超えたことを示します。Use the error レスポンス内のフィールド。詳細を取得するために使用します。二重請求などのミスはサポートページを介して修正されます。クレジットは期限切れにならないため、後でチャージできます。コンテンツポリシー違反による拒否は無料です。この予測可能なエラー構造により、原因を推測することなく、統合の問題をすばやくデバッグできます。
cURL
curl https://api.codexapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the hourly rates for the large model."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.codexapipricing.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.codexapipricing.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)