コピーする値
mimo api base urlを探している人は3つの値が必要であり、それ以外は設定するツールの詳細です。
| 設定 | 内容 |
|---|---|
| ベース URL | https://api.mimoapi.top/v1 |
| モデル ID | uncensored |
| 認証ヘッダー | Authorization: Bearer YOUR_KEY |
| チャットエンドポイント | POST /v1/chat/completions |
| モデル一覧 | GET /v1/models |
このサービスはOpenAI互換であるため、OpenAIのベースURLとキーを変更できるクライアントはすべて動作します。これは独立したプロバイダーが提供するオープンウェイトモデルを実行するホストされたテキストAPIであり、モデルベンダーの公式APIではありません。テキストのみ:画像、音声、動画の生成、埋め込み、ファインチューニングは提供されないため、それらのエンドポイントを期待するクライアントはそれらを見つけることができません。キーをお持ちでない場合は、キーページで1分ほどで取得できます。
ベースURLと完全なエンドポイントの違い
最も一般的な混乱は、ベースURLとエンドポイントURLの違いです。ベースURLは/v1までです。エンドポイントはベースにパスを加えたものです。公式のOpenAI SDKやそれらに基づいたほとんどのツールは、これらを自動的に結合します。
- ベースURL:
https://api.mimoapi.top/v1 - チャットエンドポイント:
https://api.mimoapi.top/v1/chat/completions - モデルエンドポイント:
https://api.mimoapi.top/v1/models
設定画面で「ベースURL」、「APIベース」、「エンドポイント」、「ホスト」を求められた場合は、プレースホルダーを読んでください。プレースホルダーが/v1で終わる場合はベースURLを貼り付け、/chat/completionsで終わる場合は完全なチャットエンドポイントを貼り付けてください。ベースを期待するフィールドに完全なエンドポイントを貼り付けると、存在しない/chat/completions/chat/completionsになります。ベースを期待するフィールドにドメインのみを貼り付けると、/v1のない/chat/completionsになり、同じように失敗します。
ホストにも注意してください。APIはapiサブドメインで動作します。通常のサイトドメインはウェブページを提供するため、APIパスを付けてリクエストを送信してもモデルに到達しません。
PythonとNode
公式SDKでは、クライアント作成時にベースURLを1回設定します。pip install openaiまたはnpm install openaiでインストールします。
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": "Name three uses for a base URL."}],
max_tokens=150,
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.mimoapi.top/v1",
apiKey: process.env.LLM_API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Name three uses for a base URL." }],
max_tokens: 150,
});
console.log(resp.choices[0].message.content);
Python および Node.js 用 OpenAI SDK は、コード内で値を渡さない場合、環境変数 OPENAI_BASE_URL および OPENAI_API_KEY も読み取ります。これにより、既存のスクリプトを編集せずに接続先を変更することが可能になります。2 つの変数をエクスポートするだけで、スクリプトはこの API に接続します。スクリプトが GPT 名などの特定のモデルをハードコードしていないか確認し、それを uncensored に置き換えてください。
curlでのクイックテスト
プレーンなHTTP呼び出しは他の変数をすべて排除するため、最初のチェックに最適です。最初のコマンドはモデルをリスト表示し、キーを確認します。2番目のコマンドはチャットリクエストを送信します。
export LLM_API_KEY="YOUR_KEY"
curl -s https://api.mimoapi.top/v1/models \
-H "Authorization: Bearer $LLM_API_KEY"
curl -s https://api.mimoapi.top/v1/chat/completions \
-H "Authorization: Bearer $LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}],"max_tokens":20}' -i
-i フラグはレスポンスヘッダーを出力します。X-Request-Id(サポートに連絡する際に引用してください)、X-Balance-USD(残高クレジット)および 2つのレート制限ヘッダー X-RateLimit-Limit-Requests および X-RateLimit-Limit-Concurrency を確認してください。ストリーミングの場合、ボディに "stream": true を追加し、curl に -N を付けて、出力がバッファリングされないようにしてください。5分間のクイックスタートでは、ストリーミングとツール呼び出しの手順を説明しています。
LangChain、チャットフロントエンド、その他のツール
サードパーティツールは独自のラベルを使用しますが、すべて同じ3つの値が必要です。以下のようなパターンが表示されることがあります。
- LangChain (Python):
ChatOpenAI(model="uncensored", base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY")。同じクラスは、すべての OpenAI 互換サーバーで動作します。 - SillyTavern および類似のロールプレイフロントエンド: カスタムまたは汎用の OpenAI 互換チャットソースを選択し、ベース URL を貼り付け、キーを追加し、リストが自動入力されない場合はモデル名として
uncensoredを入力します。 - Open WebUI およびその他のセルフホストチャットUI: 設定で OpenAI 互換の接続を追加し、同じベース URL とキーを使用します。
- エディタープラグインおよびスクリプト: プラグイン設定で「カスタム OpenAI エンドポイント」または「ベース URL の上書き」を探します。
ツールのメニュー名はバージョン間で変更されるため、正確なラベルよりもフィールドの目的を重視してください。ツールが固定プロバイダーに対してキーをチェックする必要がある場合、それはカスタムエンドポイントと互換性がないため、別のツールを使用してください。
ツールがモデルのドロップダウンを提供する場合、通常は GET /v1/models を呼び出すことでそれを入力します。ドロップダウンが空のままの場合は、モデル ID を手動で入力してください。ツールが不明なモデル名を拒否する場合は、「カスタムモデル」とラベル付けされたオプションを探してください。
一般的な設定エラーの修正
リクエストが失敗した場合、ステータスコードと正確なURLで原因がすぐに特定できます。以下のリストを上から順に確認してください。
- 認証エラー。 キーが不足している、切り捨てられている、または末尾にスペースや改行が含まれています。再度貼り付け、ヘッダーが
Bearer、スペース、その後キーとなっていることを確認してください。 - 見つかりません。 パスが誤っています。クライアントが構築する最終 URL を出力してください。それは正確に
https://api.mimoapi.top/v1/chat/completionsであるはずです。/v1の欠落、パスの重複、または誤ったホストを探してください。 - 不明なモデルです。 他のプロバイダの名残のモデル名です。モデルを
uncensoredに設定してください。 rate_limitedまたはconcurrencyを伴う HTTP 429。 1 分あたり 300 リクエスト以上、または同時に 8 リクエスト(試用キーでは 60 および 2)を超えています。リクエストの速度を落とすかキューに入れてください。Retry-After: 5ヘッダーを伴う 429 は一時的な過負荷を意味します。5 秒待ってから再試行してください。- リクエストが大きすぎます。 ボディの上限は 8 MB、プロンプトと生成を合わせたコンテキストウィンドウは 100,000 トークンです。履歴を削減してください。
- curl では動作するが、ブラウザでは失敗する。 フロントエンドの JavaScript から API を直接呼び出すと、キーがすべての訪問者に公開されます。呼び出しを独自のサーバー経由でルーティングしてください。
キーを公開リポジトリやクライアント側のバンドルに入れないでください。環境変数に保存し、スクリーンショットやサポートチケットから除外してください。
最初の成功した呼び出し後の次のステップ
ベース URL が動作したら、いくつかの設定を知っておくと役立ちます。SSE によるストリーミングは stream: true で有効になります。ツール呼び出しは tools および tool_choice を使用し、結果は role: "tool" メッセージとして送信されます。JSON モードは response_format: {"type": "json_object"} です。temperature、top_p、stop、seed およびペナルティなどのサンプリング制御は渡されます。
料金面では、前払いクレジットから入力トークン 1M あたり $0.15、出力トークン 1M あたり $0.50 が課金されます。料金ページにはチャージ額とボーナスの一覧が記載されています。このモデルは合法的な成人の利用において無検閲で回答するようにチューニングされており、未成年者を含む性的コンテンツは常に禁止されています。プロンプトは学習に使用されません。
