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(强)、code-default(代码)、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 不保存。内容按账户的数据级别处理,默认是“公开”,可能在贡献者的电脑上运行:不要输入私密或机密材料。
- 如果你为多个人部署这样的应用,他们会共用同一把密钥的积分和限额。
错误与限制
400 | 请求格式有误,或者比任何可用模型能处理的都长(context_length_exceeded),或者所选模型是嵌入模型而请求不是嵌入请求。 |
|---|---|
401 | 没有密钥,或密钥无效。 |
402 | 积分用完了,或者这把密钥的额度用完了。 |
404 | 模型名称有误,或者现在没有节点提供该模型。 |
429 | 超过了账户每分钟请求数或词元数的限制。请稍等片刻。 |
503 | 现在太忙了。响应头 Retry-After 会告诉你要等多少秒。 |
错误的格式与 OpenAI 一致:{"error": {"message": "...", "type": "..."}}。你的余额和限额:GET /v1/account。