需复制的值
寻找 mimo api base url 的人需要三个值,其余都是你配置工具时的细节。
| 设置 | 说明 |
|---|---|
| 基础 URL | https://api.mimoapi.top/v1 |
| 模型 ID | uncensored |
| Auth 头 | Authorization: Bearer YOUR_KEY |
| 聊天接口 | POST /v1/chat/completions |
| 模型列表 | GET /v1/models |
该服务兼容 OpenAI,因此任何允许你修改 OpenAI 基础 URL 和密钥的客户端均可使用。这是一个托管文本 API,由独立供应商提供,运行单一开放权重模型;它并非任何模型厂商的官方 API。仅支持文本:无图像、音频或视频生成,无嵌入和微调,因此期望这些接口的客户端将找不到它们。如果你还没有密钥,密钥页面只需一分钟即可搞定。
基础 URL 与完整接口
最常见的混淆在于基础 URL 和接口 URL 之间。基础 URL 在 /v1 处停止。接口是基础 URL 加上路径。官方 OpenAI SDK 以及大多数基于它们构建的工具会自动将两者连接。
- 基础 URL:
https://api.mimoapi.top/v1 - Chat 接口:
https://api.mimoapi.top/v1/chat/completions - Models 接口:
https://api.mimoapi.top/v1/models
当设置界面要求输入“基础 URL”、“API 基础”、“接口”或“主机”时,请阅读其占位符。如果占位符以 /v1 结尾,请粘贴基础 URL。如果它以 /chat/completions 结尾,请粘贴完整的聊天接口。将完整接口粘贴到期望基础 URL 的字段中会产生 /chat/completions/chat/completions,该路径不存在。将裸域名粘贴到期望基础 URL 的字段中会产生 /chat/completions 而没有 /v1,同样会失败。
注意主机。API 位于 api 子域上。纯站点域名用于提供网页,因此向它发送带有 API 路径的请求将无法到达模型。
Python 和 Node
使用官方 SDK 时,在创建客户端时设置一次基础 URL。使用 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 OpenAI SDK 还会读取环境变量 OPENAI_BASE_URL 和 OPENAI_API_KEY。这使得无需编辑脚本即可重新指向现有脚本:导出这两个变量,脚本即可与该 API 通信。检查脚本是否硬编码了模型(如 GPT 名称);将其替换为 uncensored。
使用 curl 进行快速测试
纯 HTTP 调用消除了其他变量,因此是最好的首次检查。第一个命令列出模型并确认密钥。第二个发送聊天请求。
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(你的剩余额度)以及两个速率限制头 X-RateLimit-Limit-Requests 和 X-RateLimit-Limit-Concurrency。对于流式输出,在请求体中添加 "stream": true,并在 curl 命令中添加 -N 以避免缓冲输出。五分钟快速入门将带你完成流式输出和函数调用的操作。
LangChain、聊天前端和其他工具
第三方工具使用自己的标签,但它们都需要相同的三个值。你会看到一些模式:
- LangChain (Python):
ChatOpenAI(model="uncensored", base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY")。该类适用于任何与 OpenAI 兼容的服务器。 - SillyTavern 及类似角色扮演前端: 选择自定义或通用的 OpenAI 兼容聊天源,粘贴基础 URL,添加密钥,如果列表未自动填充,请将模型名称输入为
uncensored。 - Open WebUI 及其他自托管聊天界面: 在设置中添加 OpenAI 兼容连接,使用相同的基础 URL 和密钥。
- 编辑器插件和脚本: 在插件设置中查找“自定义 OpenAI 接口”或“覆盖基础 URL”。
每个工具的菜单名称在不同版本之间会有所变化,因此请依赖字段的用途而不是确切的标签。如果工具坚持针对固定提供商检查密钥,则它与自定义接口不兼容,需要使用其他工具进行修复。
当工具提供模型下拉菜单时,它通常通过调用 GET /v1/models 来填充。如果下拉菜单保持为空,请手动输入模型 ID。如果工具拒绝未知模型名称,请查找标记为“自定义模型”的选项。
修复常见的配置错误
当请求失败时,状态代码和确切的 URL 会迅速缩小原因。按此列表进行操作。
- 身份验证错误。 密钥缺失、被截断或在末尾包含空格或换行符。重新粘贴它,并确保头读取为
Bearer、一个空格,然后是密钥。 - 未找到。 路径错误。打印你的客户端生成的最终 URL。它应恰好为
https://api.mimoapi.top/v1/chat/completions。查找缺失的/v1、重复的路径或错误的主机。 - 未知模型。 来自其他提供商的遗留模型名称。将模型设置为
uncensored。 - HTTP 429 带有
rate_limited或concurrency。 你每分钟超过 300 个请求或同时 8 个(试用密钥为 60 和 2)。减慢速度或排队请求。带有Retry-After: 5头的 429 表示临时过载;等待五秒并重试。 - 请求过大。 请求体限制为 8 MB,上下文窗口为 100,000 token,用于提示词和补全。修剪历史记录。
- curl 中有效,浏览器中失败。 直接从前端 JavaScript 调用 API 会将你的密钥暴露给每个访问者。通过你自己的服务器路由调用。
切勿将密钥放在公开代码仓库或客户端包中。将其存储在环境变量中,并避免在截图和支持工单中出现。
首次成功调用后的后续步骤
一旦基础 URL 生效,有几个设置值得了解。通过 SSE 的流式输出通过设置 stream: true 开启。函数调用使用 tools 和 tool_choice,结果以 role: "tool" 消息形式返回。JSON 模式通过 response_format: {"type": "json_object"} 设置。采样控制参数如 temperature、top_p、stop、seed 以及惩罚参数均会透传。
在资金方面,你从预付额度中支付每 1M 输入 token $0.15 和每 1M 输出 token $0.50;定价页面 列出了充值档位和赠送额度。该模型经过调整,可为合法成人用途提供无内容拒绝的回答,且绝不允许涉及未成年人的性内容。提示词不用于训练。
