AI API クイックスタート
OpenAI 互換インターフェースを持つ無検閲 AI API: base_url とキーを変更し、コードはそのまま維持できます。
https://api.aiapisource.com/v1uncensored
認証
API キーを Authorization ヘッダーに使用してください。キーはサインアップ直後に生成され、いつでも再生成できます。再生成すると以前のキーは無効になります。前払いクレジットは期限切れにならず、キーはクレジット残高とは独立して期限切れになりません。
専用エンドポイントにリクエストを送信してください:
https://api.aiapisource.com/v1
認証は標準的なベアートークン形式で処理されます。
チャット補完エンドポイント
POST /v1/chat/completionsへ、modelをuncensoredに設定し、messagesを含むJSONボディでリクエストします。モデルはテキスト入力に対してテキストを返します。
- コンテキストウィンドウ: 100,000 トークン (プロンプト + 補完)。
- リクエスト本文の制限: 8 MB。
- 埋め込み、画像、ファインチューニングのエンドポイントは利用できません。
リクエストの例:
curl https://api.aiapisource.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
ストリーミングレスポンス
リクエストに "stream": true を追加して、サーバー送信イベント (SSE) を受信してください。ストリーミングはモデルがテキストを生成する際にチャンクを配信します。ストリーミングはモデルがレスポンスを完了するかエラーが発生したときに終了します。ファクトシートには、ハードな 100,000 トークンのウィンドウを超えた場合のストリーミングの動作については明記されていません。
クライアントで SSE イベントを処理し、部分的なレスポンスを蓄積または処理してください。
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)
関数呼び出し
APIは関数呼び出しをサポートしています。toolsパラメータに関数を定義してください。モデルはレスポンスにtool_calls配列を返す場合があります。クライアント側で関数を実行し、その結果を後続のメッセージで送信する必要があります。
これは標準的な OpenAI 互換の動作です。抽象化レイヤーは必要ありません。
from openai import OpenAI
client = OpenAI(base_url="https://api.aiapisource.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)
モデル情報
モデルIDはuncensoredです。これは当社のGPUサーバーで動作するオープンウェイトモデルで、法的な成人向け利用においてコンテンツ拒否なしで回答するようにチューニングされています。GPT、Claude、Gemini、Grok、DeepSeek、またはその他のベンダーのモデルではありません。
利用可能なモデルは GET /v1/models で確認してください。提供されるモデルは 1 つだけです。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.aiapisource.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リクエスト。コンテンツ制限:未成年者を含む性的コンテンツは不可。
一般的なエラー:
401: API キーが無効または未設定。必要に応じて再生成してください。402:前払いクレジットが不足しています。$10からチャージしてください。429: レート制限超過 (1 分あたり 300 リクエスト)。
プロンプトはトレーニングに使用されません。SLA や認証は主張されていません。
API 仕様
購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。
| 項目 | 内容 |
|---|---|
| 形式 | OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作 |
| 認証 | Authorization: Bearer YOUR_KEY |
| モデル ID | uncensored |
| Base URL | https://api.aiapisource.com/v1 |
| エンドポイント | POST /v1/chat/completions · GET /v1/models |
| ストリーミング | 対応 — SSE、最後のチャンクにトークン使用量 |
| 関数呼び出し | 対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送 |
| 最大出力 | 1 リクエスト最大 16,000 トークン(既定 2,048) |
| コンテキスト長 | 64,000 トークン(入力+出力) |
| パラメータ | temperature、top_p、stop、seed、presence_penalty、frequency_penalty |
| JSON モード | response_format: {"type": "json_object"} |
| レート制限 | キーごとに毎分 300 リクエスト |
| 同時実行 | キーごとに同時 8 リクエストまで |
| リクエストサイズ | 最大 8 MB |
| レスポンスヘッダー | X-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency |
| 課金 | 前払いクレジットから実使用量で課金。エラーと拒否は無料 |
| チャージ | USDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額 |
| ボーナス | $50 以上で +5%、$100 以上で +10% |
| 無料トライアル | $0.50、7 日間、カード不要 |
| 有効期限 | 購入クレジットは失効なし、サブスクなし |
| 料金 | 入力 100 万トークン $0.25 · 出力 100 万トークン $1.00 |
| ログイン | Google またはメール+パスワード |
| キー | アカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効 |
| コンテンツ | 成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否 |
エラーコード
エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。
| コード | タイプ | 意味 |
|---|---|---|
400 | bad_request | JSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過 |
401 | missing_key · invalid_key · key_revoked | キーなし・誤り・新しいキーに置換済み |
402 | no_credit | 残高ゼロ — チャージすれば即再開 |
403 | content_blocked | 未成年者を含む性的コンテンツ — 拒否、課金なし |
404 | not_found | 不明なエンドポイント |
413 | request_too_large | 本文が 8 MB 超 |
429 | rate_limited · concurrency | 毎分 300 回または同時 8 件を超過 — 待って再試行 |
503 | upstream_busy | モデル混雑 — 数秒後に再試行 |
質問と回答
API キーは期限切れになりますか?
いいえ、API キーは単独では期限切れになりません。前払いクレジットも期限切れになりません。キーはいつでも再生成でき、再生成すると古いキーは直ちに無効になります。
トークン使用量はレスポンスに含まれますか?
ファクトシートには、レスポンスオブジェクトにトークン使用量の統計情報が含まれることは明記されていません。コンテキストウィンドウサイズが 100,000 トークンであることのみが指定されています。
ストリーミングはいつ終了しますか?
ストリーミングは、モデルがレスポンスを完了するかエラーが発生したときに終了します。ファクトシートには、コンテキスト制限に達した時点でストリーミングが終了するとは明記されていません。
キーはフォーム 1 つで手に入ります
アカウントを作成し、キーをコピーし、base URL を変更します。セットアップはこれだけです。