JA ▾
API キーを取得
  1. Nsfwchat
  2. NSFW チャット:クイックスタート:無検閲 LLM の統合

NSFW チャット:クイックスタート:無検閲 LLM の統合

標準的な OpenAI 互換エンドポイントを使用して、無検閲 LLM API を統合します。このクイックスタートでは、認証、リクエスト形式、および大量のテキスト生成用のストリーミングをカバーします。

ベース URL と認証

すべてのリクエストに専用のベース URL を使用してください。認証はサインアップ時に生成された単一の API キーに依存します。キーを Authorization ヘッダーに Bearer トークンとして含めてください。キーは作成直後に表示されます。各アカウントにはアクティブなキーが 1 つあり、新しいキーを生成すると古いキーが置き換えられます。

ベース URL は次の通りです:https://api.nsfwchat.cc/v1。追加のルーティングやプロキシレイヤーは必要ありません。この設定は、ベース URL と API キーを調整することで、あらゆる OpenAI 互換クライアントで動作します。

チャット補完

テキストプロンプトを POST /v1/chat/completions エンドポイントに送信します。モデル ID は uncensored です。このエンドポイントは標準的なチャットメッセージを受け取り、生成されたテキストを返します。埋め込み、画像、音声はサポートしていません。このモデルは、法的な大人向けコンテンツに対して無検閲な応答を行うように調整されています。

ペイロードにモデル ID とメッセージ履歴を含めてください。API はテキスト入力を処理し、テキスト出力を直接返します。

curl https://api.nsfwchat.cc/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

統合には公式の OpenAI Python SDK を使用してください。base_url を API エンドポイントに設定し、API キーを提供してください。SDK はシリアライゼーションとエラー解析を自動的に処理します。temperature や top_p などのパラメータを設定して、出力のランダム性を制御します。

キーとベース URL でクライアントを初期化します。モデル ID とメッセージを指定して chat.completions.create() を呼び出します。このアプローチは、単純なテキスト生成タスクのボイラープレートコードを削減します。

from openai import OpenAI

client = OpenAI(base_url="https://api.nsfwchat.cc/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 SDK

Node.js OpenAI SDK は Python 版と同じように動作します。カスタムベース URL と API キーでクライアントを設定します。chat.completions.create メソッドを使用してリクエストを送信します。

この方法はサーバー側の統合に最適です。SDK は接続プーリングとリトライを管理します。モデルを uncensored に設定して、無検閲な応答を確保します。メッセージをロールとコンテンツのオブジェクトの配列として渡します。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.nsfwchat.cc/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)を返します。各チャンクには部分的なテキストが含まれます。トークン使用の詳細は最終チャンクに表示されます。

ストリーミングは長い出力の知覚遅延を削減します。完全なレスポンスを再構築するために、各チャンクを順次処理します。この方法はリアルタイムの UI 更新に不可欠です。ストリームイベント内でエラーを処理して、接続の安定性を維持してください。

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つの同時リクエストを許可します。最大リクエストボディサイズは8 MBです。401ステータスは、無効または欠落したAPIキーを示します。429ステータスは、レート制限を超えたことを示します。

コンテキストウィンドウは、プロンプトと補完を合わせて100,000トークンです。この制限を超えると、リクエストは拒否されます。切り捨ては行われません。入力がウィンドウ内に収まるようにしてください。402ステータスは、前払いクレジットの残高不足を示します。エラーや拒否はクレジットを消費しません。

技術仕様

購入前に確認できるよう、API の実際の制限と機能をすべてまとめました。

項目内容
形式OpenAI 互換:どの OpenAI SDK でも base URL とキーを変えるだけで動作
モデル IDuncensored
認証Authorization: Bearer YOUR_KEY
Base URLhttps://api.nsfwchat.cc/v1
エンドポイントPOST /v1/chat/completions · GET /v1/models
JSON モードresponse_format: {"type": "json_object"}
コンテキスト長100,000 トークン(入力+出力)
ストリーミング対応 — SSE、最後のチャンクにトークン使用量
パラメータtemperature、top_p、stop、seed、presence_penalty、frequency_penalty
関数呼び出し対応 — tools、tool_choice。応答に tool_calls(ストリーミングでも)、結果は role: tool で返送
最大出力100,000 トークンのウィンドウの残りまで。max_tokens は任意(個別の上限なし)
リクエストサイズ最大 8 MB
レスポンスヘッダーX-Request-Id、X-Balance-USD、X-RateLimit-Limit-Requests、X-RateLimit-Limit-Concurrency
同時実行キーごとに同時 8 リクエストまで
レート制限キーごとに毎分 300 リクエスト
有効期限購入クレジットは失効なし、サブスクなし
課金前払いクレジットから実使用量で課金。エラーと拒否は無料
チャージUSDT(TRC20)または USDC(Base)、$10〜$500 の任意の整数額
無料トライアル$0.50、7 日間、カード不要 · トライアルキー: 同時2件、毎分60件。初回チャージ後に上限が8件・300件へ拡大
ボーナス$50 以上で +5%、$100 以上で +10%
料金入力 100 万トークン $0.25 · 出力 100 万トークン $1.00
キーアカウントごとに有効なキーは 1 つ。新しいキーで旧キーは無効
ログインGoogle またはメール+パスワード
コンテンツ成人向けコンテンツ可。未成年者を含む性的コンテンツは拒否

エラーコード

エラーは固定の type を持つ JSON で返ります。失敗・拒否されたリクエストは課金されません。

コードタイプ意味
400bad_requestJSON 不正、メッセージ空、パラメータ誤り、またはコンテキスト超過
401missing_key · invalid_key · key_revokedキーなし・誤り・新しいキーに置換済み
402no_credit残高ゼロ — チャージすれば即再開
403content_blocked未成年者を含む性的コンテンツ — 拒否、課金なし
404not_found不明なエンドポイント
413request_too_large本文が 8 MB 超
429rate_limited · concurrency毎分 300 回または同時 8 件を超過 — 待って再試行
503upstream_busyモデル混雑 — 数秒後に再試行

質問と回答

API は関数呼び出しに対応していますか?

はい、API は <code>tools</code> および <code>tool_choice</code> パラメータを介して関数呼び出しをサポートしています。リクエストでツールを定義すると、モデルはツール使用のために構造化された JSON を返します。この機能は標準的な OpenAI 互換クライアントで動作します。

コンテキストウィンドウのサイズは?

コンテキストウィンドウは100,000トークンで、プロンプトと補完の両方を合計したものです。1回あたりのリクエストで生成できる最大トークン数は32,000で、<code>max_tokens</code>が設定されていない場合は2,048です。このウィンドウを超えるリクエストは拒否されます。

エラーはどのように処理されますか?

エラーレスポンスにはステータスコードとメッセージが含まれます。<code>401</code> コードは API キーが無効であることを意味します。<code>429</code> コードはレート制限に達したことを意味します。<code>402</code> コードは前払い残高が不足していることを示します。エラーはトークンクレジットを消費しません。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベース URL を変更します。それだけです。