認証とベースURLのセットアップ
APIキーの生成はダッシュボードから開始します。ベースURLは HTTPS://api.apiaicheap.com/v1 です。キーはAuthorizationヘッダーにベアートークンとして送信してください。
- 「APIキーの取得」をクリックし、Googleまたはメールでサインインします。
- キーを直ちにコピーしてください。一度だけ表示されます。
このキーはチャット完了エンドポイントへのすべてのリクエストを認証します。
Example Header
認証:Bearer YOUR_API_KEY
cURLを使用した最初のリクエスト
セットアップをテストするための基本的なチャット完了を送信します。モデル「uncensored」を使用してPOST /v1/chat/completionsエンドポイントを使用します。
クレジット残高とレイテンシーを確認します。
- roleを"user"に設定します。
- 最初のテストにはメッセージをシンプルに保つこと。
レスポンス内の生成されたテキストフィールドを確認してください。
- "content"値を探す。
200 OKが返された場合、統合が正常に動作しています。
curl https://api.apiaicheap.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fix the null pointer in the login handler"}]
}'
Python SDK の統合
統合を容易にするために、公式のOpenAI Pythonライブラリを使用してください。ベースURLをポイントし、APIキーを設定します。
このアプローチにより、リトライとJSONパー싱が自動的に処理されます。
- pip経由でライブラリをインストール。
- base_url パラメータをエンドポイントに設定してください。
chat.completions.create メソッドを呼び出します。
引数としてメッセージリストを渡してください。
- モデル名 "uncensored" を含めます。
オブジェクトの属性を介して応答テキストにアクセスします。
この方法は、本番スクリプトにとってクリーンで読みやすいものです。
from openai import OpenAI
client = OpenAI(base_url="https://api.apiaicheap.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 SDKのセットアップ
Node.js SDKはPython版と同様に動作します。キーと当社のベースURLでクライアントを初期化します。
おなじみのasync/awaitパターンを使用できます。
- OpenAIパッケージをインポートします。
- コンストラクタでベースURLを設定。
メッセージを使用して完了リクエストを作成します。
結果を取得するためのプロミスを処理します。
- レスポンスからメッセージコンテンツを抽出します。
モデルが正しく応答しているか確認するために出力をログに記録します。
この構成は、Webサーバーやバックエンドサービスに最適です。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiaicheap.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);
SSEによるストリーミングレスポンス
リクエストに stream: true を設定してストリーミングを有効にします。APIは生成されたチャンクをServer-Sent Events経由で返します。
これはチャットアプリにおけるユーザーの知覚されるレイテンシーを削減します。
- ペイロードでstreamをtrueに設定します。
- 到着するたびに各チャンクを処理します。
チャンクを結合して最終応答を形成します。
トークン使用量は最後のチャンクに表示されます。
- 最終チャンクの"usage"フィールドを確認してください。
このアプローチは、長時間の生成中にユーザーインターフェースをレスポンシブに保ちます。
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)
制限、エラー、コンテキストウィンドウ
アカウントにはキーあたり1分あたり300リクエストの制限があります。コンテキストウィンドウは、プロンプトと補合を合わせて合計100,000トークンをサポートします。
エラーは標準的なHTTPステータスコードで処理されます。
- 401は無効または欠落したAPIキーを示します。
- 402は、前払いクレジットが枯渇したことを意味します。
- 429はレートリミットを超えたことを示します。
拒否にはクレジットがかかりません。エラーも無料です。
最大出力はリクエストごとに16,000トークンです。必要に応じてmax_tokensを設定してください。
この構造は、予測可能な課金とパフォーマンスを保証します。
よくある質問
API キーは即時に生成されますか?
はい。Googleまたはメールでサインインすると、キーがすぐに表示されます。電話番号の確認は不要です。
レート制限を超えた場合どうなりますか?
429 Too Many Requestsエラーが発生します。再試行する前に数秒待ってください。新しいキーを作成して並列リクエストの容量を増やすことができます。
APIはストリーミングをサポートしていますか?
はい。streamパラメータをtrueに設定してServer-Sent Eventsを受け取ります。トークン使用量はストリームの最終チャンクに含まれます。
APIキーを今すぐ取得
サインアップしてキーを取得し、ベースURLを更新するだけ。これだけです。