Mukenetsu AI API クイックスタート
Mukenetsu AI APIは、OpenAI互換の標準エンドポイントを持つ検閲なしLLMサービスです。Base URLの変更とAPIキーの設定だけで、既存のSDKやクライアントに即座に統合し、コンテンツ制限なくテキストを生成できます。
- ベースURL
https://api.mukenetsuapi.com/v1- モデル
uncensored
基本設定とベースURL
Mukenetsu AIは、OpenAI互換のREST APIとして設計されています。これにより、既存のOpenAIクライアントやSDKをわずかな変更だけで使用できます。APIとの通信には、以下のベースURLを使用します。
https://api.mukenetsuapi.com/v1
他のLLMサービスとは異なり、複雑なエンドポイントの選定や追加の設定は不要です。単一のチャット補完エンドポイントとモデル一覧エンドポイントのみが提供されます。このシンプルな構造により、開発は迅速に進みます。
APIキーは、Get API keyページでメールアドレスとパスワードを使って登録する際に、サインアップ直後に即座に取得できます。ダッシュボードの操作は不要です。また、プライバシーを重視し、プロンプトデータはモデル学習用に使用されません。
認証とAPIキー
APIへのアクセスには、ヘッダーAuthorization: Bearer <API_KEY>による認証が必要です。Mukenetsu AIのAPIキーは、アカウント作成時に生成されたものを使用します。一つのアカウントにつき一つのAPIキーが割り当てられますが、必要に応じていつでも再生成できます。キーを再生成すると、それ以前のキーは無効化されるため、注意してください。
認証エラーが発生した場合、通常は401(Unauthorized)または402(Payment Required)レスポンスが返されます。401はキーが間違っているか無効化されたことを示し、402はアカウントのクレジット残高が不足していることを意味します。クレジットは前払い式で、カードまたは暗号通貨で$10以上からチャージできます。
チャット補完エンドポイント
テキスト生成の主要なエンドポイントはPOST /v1/chat/completionsです。このエンドポイントにリクエストを送信することで、会話履歴やシステムプロンプトを含めてテキストを生成できます。モデルIDとしてuncensoredを指定してください。これは、OpenAIのGPTや他のベンダーのモデルとは異なる、独自のオープンウェイトモデルです。
以下の例は、curlを使用して基本的なテキスト生成を行う方法を示しています。必要なパラメータはモデルID、メッセージ、そしてオプションでストリーミングの有効化です。
curl https://api.mukenetsuapi.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."}]
}'このエンドポイントでは、埋め込み(embeddings)や画像生成、音声変換などの機能は提供されません。純粋なテキストの補完と生成に特化しています。
ストリーミング(SSE)
生成されたテキストをリアルタイムで取得したい場合、ストリーミングモードを使用できます。リクエストに"stream": trueを含めると、サーバーはサーバー送信イベント(SSE)形式でデータを逐次返します。これにより、ユーザーは生成が完了する前にテキストの一部を表示できます。
PythonのOpenAI SDKやNode.jsのクライアントライブラリを使用している場合、stream=Trueオプションを指定するだけで自動的にストリーミング処理が行われます。イベントハンドラは、トークンごとのチャンクを受け取ります。
from openai import OpenAI
client = OpenAI(base_url="https://api.mukenetsuapi.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)ストリーミングは、長い応答や対話型アプリケーションにおいて、ユーザーエクスペリエンスを向上させるための重要な機能です。ただし、ストリーミング中に接続が切断された場合、以降のイベントは受信できなくなります。
ツール/関数呼び出し
Mukenetsu AI APIは、ツール(関数)呼び出しをサポートしています。これにより、外部のAPIやデータベースとの連携が容易になります。リクエストボディにtoolsフィールドとtool_choiceパラメータを含めることで、モデルに特定の関数を実行させることができます。
モデルは、必要に応じて関数を呼び出すか、通常のテキストを返すかを判断します。呼び出しが完了すると、関数の結果をmessagesに追加してモデルに渡すことで、さらに詳細な回答を得ることができます。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mukenetsuapi.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);この機能は、エージェント型アプリケーションや複雑なタスクの自動化に特に有用です。OpenAI互換の形式を採用しているため、既存のツール呼び出しのロジックをそのまま流用できます。
レートリミットと制約
APIの利用には、以下の制限があります。1分間に最大300リクエスト、リクエストボディの最大サイズは8MBです。これらを超えると429(Too Many Requests)エラーが返されます。また、コンテキストウィンドウは64,000トークン(プロンプト+生成テキストの合計)です。これを超える長い会話や文書は、適切に分割して送信する必要があります。
ストリーミングレスポンスを受信する際は、以下のイベントフローに従います。
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キーはどこで取得できますか?
APIキーは、サイトの「Get API key」ページでメールアドレスとパスワードを使ってサインアップする際に、直ちに取得できます。ダッシュボードの操作は不要で、キーはサインアップ直後に画面に表示されます。
どのモデルが使用されていますか?
モデルID「uncensored」で、独自のオープンウェイトモデルが使用されています。これはGPT、Claude、Geminiなどの他社モデルとは異なり、当社のGPUサーバー上で動作しています。モデルの詳細なアーキテクチャやベンチマークスコアは現在公開されていません。
ストリーミング中にエラーが発生した場合、どうなりますか?
ストリーミング中に接続が切断されると、それ以降のイベントは受信できなくなります。必要な場合は、切断された位置からリクエストを再送するか、通常の(ストリーミングではない)リクエストを送信して完全なレスポンスを取得してください。
APIキーはフォーム1つで入手可能
アカウント作成、キーのコピー、ベースURLの変更。これだけですべて設定完了です。