Base URL と認証
まず、OpenAI 互換クライアントを Mimo API の Base URL にポイントしてください。Google またはメールでサインアップすると、すぐに API キーが発行されます。このキーを標準の Authorization ヘッダーに渡してください。モデル識別子は uncensored で、法的な成人コンテンツに対する拒否が少ないように調整されたオープンウェイトモデルを実行します。
サブスクリプションサービスとは異なり、課金は暗号資産による前払いです。エラーはクレジットを消費しません。モデルの一覧表示や簡単なテキストプロンプトの送信により、接続を確認できます。キーは安全に保管してください。新しいキーを生成すると、1 アカウントにつき 1 つのキーが前のキーを置き換えます。
標準チャット完了エンドポイント
チャット完了エンドポイントに標準の POST リクエストを送信します。モデルを uncensored に設定し、必要な配列形式でメッセージを提供してください。API はプロンプトに基づいてテキスト出力を返します。temperature や top_p などのパラメータを調整して創造性を制御できます。
curl https://api.mimoapi.top/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."}]
}'このエンドポイントはテキスト入力・出力の相互作用を処理します。埋め込み、画像、ファインチューニングはサポートしていません。それらの機能が必要な場合は、別のサービスを使用する必要があります。コンテキストウィンドウは、プロンプトと completion を合計して 100,000 トークンまで許可します。
Python SDK 統合
公式の OpenAI Python ライブラリを使用して API と対話します。Base URL をオーバーライドして Mimo API エンドポイントにポイントします。これにより、GPT-4 や他のモデルに使用するのと同じ SDK メソッドを使用できます。API キーとターゲットモデルをクライアント設定に設定してください。
from openai import OpenAI
client = OpenAI(base_url="https://api.mimoapi.top/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)このアプローチにより、コードのポータビリティが維持されます。プロバイダを変更する場合、Base URL とキーのみを変更すればよいです。Python SDK はシリアライズとリトライを自動的に処理します。決定論的な出力のために seed などのパラメータを設定することもできます。
Node SDK 統合
OpenAI Node.js パッケージをインストールし、Base URL を設定します。構成オブジェクトに API キーを渡します。クライアントはリクエストを無検閲モデルのエンドポイントにルーティングします。これは CommonJS と ES モジュールのインポートの両方で機能します。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mimoapi.top/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);Node 開発者は、他の OpenAI 互換サービスで使用するのと同じ非同期パターンを使用できます。SDK はストリーミングの解析と JSON エンコーディングを処理します。出力長を制御するために max_tokens を設定できます。指定しない場合はデフォルトで 2,048 になります。
ストリーミングレスポンス(SSE)
リクエストで stream: true を設定してストリーミングを有効にします。API は部分的なトークンを含む Server-Sent Events (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 はストリーミング中の正確なトークン数を保証しませんが、最終チャンクには正確な使用データが含まれます。これは課金の透明性に役立ちます。
レート制限、エラー、JSON モード
API はキーあたり 1 分あたり 300 リクエストの制限を適用し、8 つの同時リクエストを許可します。これを超えると、429 エラーが発生します。401 エラーは、無効または期限切れのキーを示します。前払いクレジットは実際のトークン使用量に対してのみ課金され、エラーと拒否は無料です。
構造化出力には、response_format を json_object に設定して JSON モードを使用します。これにより、モデルは有効な JSON のみを返すように強制されます。これは関数呼び出しやデータ抽出に役立ちます。コンテキストウィンドウは、リクエストごとに最大 32,000 トークンの出力をサポートします。