API 文档
Babel Mesh 提供兼容 OpenAI 的接口。改一下接口地址和密钥,你现有的工具和 SDK 就能用。
快速开始
| 接口地址 | https://babelmesh.ai/v1 |
|---|---|
| 认证 | 请求头 Authorization: Bearer YOUR_KEY。密钥以 sk-fab- 开头。 |
| 获取密钥 | 打开账户控制台创建账户和密钥。密钥只在创建时显示一次,请保存好。你可以随时在那里创建和停用密钥。 |
任何时候都可以列出当前可用的模型:
curl https://babelmesh.ai/v1/models \ -H "Authorization: Bearer $BABEL_KEY"
不知道选哪个模型,就用 auto。Babel Mesh 会看这个请求:闲聊和简单问题交给快速模型;代码交给代码模型;推理、超长材料、工具调用或结构化输出交给最强的模型;某个模型没有节点或排队太久时,改用另一个。判断只读请求本身(长度、有没有代码、工具或结构化输出格式),什么都不保存。响应头 X-Gateway-Model 说明由哪个模型回答,X-Gateway-Auto 说明原因。auto 只会选你的账户有权使用的模型。
你也可以指定一个:chat-default(快速)、chat-strong(强)、embedding-default(嵌入)、video-default(视频)。图像请用模型名 z-image-turbo(图像请求也可以用 auto)。别名指向当前最合适的模型;直接写模型本身的名字也可以。
聊天
接口是 POST /v1/chat/completions;设置 stream: true 可以流式返回答案。
curl https://babelmesh.ai/v1/chat/completions \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Introduce yourself in one sentence"}]
}'用 OpenAI 的 Python SDK:
from openai import OpenAI
client = OpenAI(base_url="https://babelmesh.ai/v1", api_key="sk-fab-...")
stream = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Write a Python function that checks for palindromes"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")嵌入
接口是 POST /v1/embeddings;input 是一个字符串或字符串列表。
curl https://babelmesh.ai/v1/embeddings \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "embedding-default", "input": ["a lighthouse at dawn", "a paper boat on a pond"]}'图像
接口是 POST /v1/images/generations;图片以 base64 返回(data[0].b64_json)。
curl https://babelmesh.ai/v1/images/generations \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "z-image-turbo", "prompt": "a lighthouse at dawn, watercolor", "n": 1}'视频
视频需要几分钟,所以是异步任务:提交、查询状态、再取回文件。
# 1. Submit; the answer holds a job id
curl https://babelmesh.ai/v1/videos \
-H "Authorization: Bearer $BABEL_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "video-default", "prompt": "a paper boat on a pond", "seconds": "3"}'
# 2. Poll: queued, in_progress, completed or failed
curl https://babelmesh.ai/v1/videos/VIDEO_ID -H "Authorization: Bearer $BABEL_KEY"
# 3. When completed, fetch the video (mp4)
curl https://babelmesh.ai/v1/videos/VIDEO_ID/content -H "Authorization: Bearer $BABEL_KEY" -o out.mp4每个账户同时进行的视频任务数量有限。生成好的视频保留一天。
在其他应用里使用
因为接口兼容 OpenAI,所以可以用在 Open WebUI、Cherry Studio、Chatbox 这类聊天软件,以及编辑器里的 AI 插件上。把它添加为“OpenAI 兼容”的服务商,只需要两项设置:
| 接口地址 | https://babelmesh.ai/v1 |
|---|---|
| API 密钥 | 你的密钥,以 sk-fab- 开头。 |
- 这些应用不了解视频任务接口(提交、查询、取回);生成视频请像上面那样直接调用 API。
- 对话历史留在你自己的应用里,Babel Mesh 不保存。内容按账户的数据级别处理,默认是“公开”,可能在贡献者的电脑上运行:不要输入私密或机密材料。
- 如果你为多个人部署这样的应用,他们会共用同一把密钥的积分和限额。
客户端的本机接口
Babel Mesh 客户端装好后,还可以在这台电脑上提供接口,让电脑上的其他程序像用本地大模型一样使用网络。它默认是关着的,要在客户端的“账户”页打开“本机接口”。它只监听这台电脑(默认端口 18650,客户端会显示具体地址),程序用客户端显示的令牌,不用你的账户密钥。
| OpenAI 兼容 | http://127.0.0.1:18650/v1:聊天、补全、图像、视频和模型列表。 |
|---|---|
| Ollama 兼容 | http://127.0.0.1:18650:/api/chat、/api/generate、/api/tags、/api/show、/api/ps、/api/version、/api/embed。 |
| Anthropic 兼容 | http://127.0.0.1:18650:POST /v1/messages,给 Claude Code 这类工具用。 |
- 只认 Ollama 默认端口 11434 的工具也能用:但只有这台电脑上没有安装、也没有运行 Ollama 的时候,客户端才会在 11434 上应答,两边不会抢端口。
- 可以接 Claude Code、Open WebUI、Continue、Cursor、Cherry Studio、LobeChat,以及 OpenAI 和 Ollama 的 SDK。
- 请求会以你的账户送到网络里,所以照常扣积分,数据级别也照旧。
在别的地方,用同一个账户
公网地址 https://babelmesh.ai/v1 在任何地方都能用你账户的密钥访问,所以另一台电脑、服务器或手机上的软件都可以直接连。目前这个地址提供的是 OpenAI 兼容接口。要在另一台电脑上用 Ollama 或 Anthropic 风格的工具,请在那台电脑上装客户端、用同一个账户登录,再用上面说的本机接口。客户端不开放入站端口,所以它的本机接口从别的机器是连不上的。
计划中,没有日期:公网地址上也提供 Anthropic 风格和 Ollama 风格的接口。
错误与限制
400 | 请求格式有误,或者比任何可用模型能处理的都长(context_length_exceeded),或者所选模型是嵌入模型而请求不是嵌入请求。 |
|---|---|
401 | 没有密钥,或密钥无效。 |
402 | 积分用完了,或者这把密钥的额度用完了。 |
404 | 模型名称有误,或者现在没有节点提供该模型。 |
429 | 超过了账户每分钟请求数或词元数的限制。请稍等片刻。 |
503 | 现在太忙了。响应头 Retry-After 会告诉你要等多少秒。 |
错误的格式与 OpenAI 一致:{"error": {"message": "...", "type": "..."}}。你的余额和限额:GET /v1/account。