認証とベースURL
キーを Authorization ヘッダーを Bearer トークンとして使用します。
ベースURLは https://api.howtogetcodexapikey.com/v1.
すべてのリクエストにはアカウントを検証するためのこのヘッダーが必要です。
401は無効なキーを示します。
アカウントごとに1つのアクティブなキーを取得します。
Googleまたはメールで入手。
電話番号不要。
SDK設定にキーを使用します。
チャット完了エンドポイント
メッセージを送信 POST /v1/chat/completions.
モデルID uncensored.
テキスト入力とテキスト出力を処理します。
埋め込みや画像はありません。
ツールとJSONモードをサポートします。
温度とtop_pを調整する。
停止シーケンスを簡単に設定します。
必要に応じて結果をストリーミングします。
パラメータに関するドキュメントを確認してください。
高速で直接的です。
curl https://api.howtogetcodexapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List my active api keys for the codex service."}]
}'
モデルリストとID
呼び出し GET /v1/models 利用可能なオプションを確認するため。
id が表示されます uncensored.
オープンウェイトモデルです。
当社のサーバー上で実行します。
Not GPT or Claude.
ここではベンダーロックインはありません。
詳細についてはエンドポイントを確認してください。
モデルのバージョンをリストします。
クライアントを最新に保ってください。
標準的なリスト形式を使用してください。
from openai import OpenAI
client = OpenAI(base_url="https://api.howtogetcodexapikey.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)
ストリーミングとトークン使用量
ストリーミングを stream: true.
SSEチャンクを介してデータを受信します。
トークン使用量は最後のチャンクに表示されます。
トークンを正確にカウントします。
使用した分だけお支払いください。
エラーは無料です。
設定 max_tokens 最大16000。
欠落している場合、デフォルトは2048です
部分的なレスポンスを適切に処理してください。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.howtogetcodexapikey.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);
エラー処理と制限
レートリミットは1分間あたり300リクエストです。
キーごとに最大8つの同時リクエスト。
リクエストボディは8 MB未満である必要があります。
402は、より多くのクレジットが必要であることを意味します。
429は制限に到達したことを意味します。
401はキーが間違っていることを意味します。
指数関数的バックオフでリトライします。
エラーコードをログに記録します。
残高を頻繁に確認してください。
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)
コンテキストウィンドウと制約
コンテキストウィンドウは100,000トークンです。
プロンプトと補完が含まれます。
出力の最大は16,000トークンです。
長い入力は容易に収まります。
拒否は未成年者のコンテンツの場合のみ発生します。
アダルトコンテンツは許可されています。
適切なモデルIDを使用します。
プロンプトを簡潔に保ってください。
まずは小さなチャンクからテストしてください。
準備ができたらスケールアップ。