統合クイックスタート
ベースURLとAPIキーを変更するだけで、無検閲LLM APIを数分で統合できます。このクイックスタートガイドでは、標準的なOpenAI互換クライアントを使用して、認証、チャット補完、ストリーミング、関数呼び出しの方法を解説します。
https://api.llmrouterapi.com/v1uncensored
認証とベースURL
まずは API キーを取得 でアカウントを作成してください。サインアップすると、一意な API キーがすぐに発行されます。トライアルにはクレジットカードの登録は不要で、プロンプトは学習に使用されません。このキーを使用して、ホストされたエンドポイントに対してリクエストの認証を行います。
すべてのリクエストのベースURLはhttps://api.llmrouterapi.com/v1です。このURLは公式のOpenAI SDKおよび標準的なOpenAI互換クライアントと互換性があります。クライアントの設定をこのベースURLに向け、ヘッダーをAuthorization: Bearer YOUR_API_KEYに設定するだけです。複雑なルーティングロジックは不要です。インフラストラクチャは当社が管理します。
最初のリクエスト:チャット補完
POST /v1/chat/completionsエンドポイントに最初のリクエストを送信してください。モデルIDは"uncensored"として指定する必要があります。このモデルは、法的な成人向け利用においてコンテンツ拒否なしで回答するように調整されたオープンウェイト大規模言語モデルです。プロンプトと補完の両方を含む100,000トークンのコンテキストウィンドウをサポートしています。
以下は、標準的なJSONペイロード構造を示すcurlを使用した基本的な例です。
curl https://api.llmrouterapi.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."}]
}'
Python SDKの使用
Python開発者向けに、公式のopenaiパッケージはそのまま動作します。クライアントを設定してベースURLとAPIキーを使用してください。これにより、ベースURLとAPIキーを変更するだけで既存のコードが即座に動作します。クライアントは直列化とエラー解析を自動的に処理します。
初期化またはリクエストでモデルをuncensoredとして指定してください。このアプローチにより統合の摩擦が解消され、既存のLLMツールの堅牢なエコシステムを活用できます。
from openai import OpenAI
client = OpenAI(base_url="https://api.llmrouterapi.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統合
Node.js開発者は、openainpmパッケージまたはfetchベースのクライアントを使用できます。baseURLをエンドポイントに設定し、ヘッダーにキーを提供してください。この方法は、リクエストライフサイクルに対してプログラム的な制御が必要なサーバーサイドアプリケーションやエッジ関数に最適です。
APIはツール呼び出しと関数呼び出しをサポートしており、チャット補完内でカスタム関数を定義できます。これにより、モデルのレスポンス構造から直接複雑なロジックとデータ取得が可能になります。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.llmrouterapi.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: trueを設定してストリーミングを有効にしてください。APIはサーバーサイドイベント(SSE)ストリームを返し、トークンが生成されるたびに配信します。これは、ユーザーが即時フィードバックを期待するチャットインターフェースに特に有用です。
各チャンクには部分的なコンテンツが含まれており、テキストを段階的にレンダリングできます。この機能は標準的なOpenAI互換ストリーミングクライアントとシームレスに動作し、イベント構造の追加解析ロジックは不要です。
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はキーごとに1分あたり300リクエスト、リクエストボディの制限は8 MBです。キーが無効な場合、401エラーが返されます。402ステータスは前払いクレジットが不足していることを示します。429エラーはレート制限を超えたことを示します。
利用可能なモデルはGET /v1/modelsで一覧表示でき、uncensoredモデルが返されます。なお、このサービスは埋め込み、画像、音声生成は提供しません。アカウント管理については、APIキーをいつでも再生成できます(以前のキーは無効になります)。クレジットは期限切れにならず、$10からチャージできます。
質問と回答
価格体系はどのようになっていますか?
月額料金なしの従量課金前払いクレジットを提供しています。入力は100万トークンあたり$0.25、出力は100万トークンあたり$1.00です。クレジットは期限切れにならず、$10から暗号通貨(USDTまたはUSDC)でチャージできます。
このAPIはツール呼び出しに対応していますか?
はい、<code>POST /v1/chat/completions</code>エンドポイントは関数呼び出しとツール呼び出しをサポートしています。リクエストでカスタム関数を定義でき、モデルは必要に応じて構造化されたJSONデータを返します。
コンテキストウィンドウはどのくらいのトークン数に対応していますか?
モデルは100,000トークンのコンテキストウィンドウをサポートしています。この合計にはプロンプト(入力)と補完(出力)の両方が含まれます。最適なパフォーマンスを得るために、トークンの合計数がこの制限内に収まるようにしてください。
技術仕様
購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。
| 項目 | 内容 |
|---|---|
| 形式 | OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作 |
| モデル ID | uncensored |
| Base URL | https://api.llmrouterapi.com/v1 |
| エンドポイント | POST /v1/chat/completions · GET /v1/models |
| 認証 | Authorization: Bearer YOUR_KEY |
| JSON モード | response_format: {"type": "json_object"} |
| コンテキスト長 | 100,000 トークン(入力+出力) |
| ストリーミング | 対応 — SSE、最後のチャンクにトークン使用量 |
| 最大出力 | 100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし) |
| パラメータ | temperature、top_p、stop、seed、presence_penalty、frequency_penalty |
| 関数呼び出し | 対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送 |
| レスポンスヘッダー | X-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency |
| 同時実行 | キーごとに同時 8 リクエストまで |
| レート制限 | キーごとに毎分 300 リクエスト |
| リクエストサイズ | 最大 8 MB |
| 有効期限 | 購入クレジットは失効なし、サブスクなし |
| ボーナス | $50 以上で +5%、$100 以上で +10% |
| チャージ | USDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額 |
| 料金 | 入力 100 万トークン $0.25 · 出力 100 万トークン $1.00 |
| 無料トライアル | $0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大 |
| 課金 | 前払いクレジットから実使用量で課金。エラーと拒否は無料 |
| コンテンツ | 成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否 |
| キー | アカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効 |
| ログイン | Google またはメール+パスワード |
エラーコード
エラーは固定の 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 | モデル混雑 — 数秒後に再試行 |