API 文档

Babel Mesh 提供兼容 OpenAI 的接口。改一下接口地址和密钥,你现有的工具和 SDK 就能用。

快速开始

接口地址https://babelmesh.ai/v1
认证请求头 Authorization: Bearer YOUR_KEY。密钥以 sk-fab- 开头。
获取密钥打开账户控制台创建账户和密钥。密钥只在创建时显示一次,请保存好。你可以随时在那里创建和停用密钥。

任何时候都可以列出当前可用的模型:

curl
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
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:

python
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
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
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}'

视频

视频需要几分钟,所以是异步任务:提交、查询状态、再取回文件。

curl
# 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。