注册并充值
打开控制台注册账号,完成邮箱验证后充值余额。没有余额时无法创建可用的 API Key。
DOCUMENTATION
b0api 兼容 OpenAI API 格式。把 Base URL 换成 https://b0api.cc/v1,使用用户 API Key 即可。
QUICK START
按下面四步完成第一次模型调用。
打开控制台注册账号,完成邮箱验证后充值余额。没有余额时无法创建可用的 API Key。
登录控制台,在“我的 API Key”区域生成密钥。完整密钥只会显示一次,请立即复制保存。
将 OpenAI 客户端的 Base URL 设置为 https://b0api.cc/v1,并用刚生成的 Key 作为 Bearer Token。Claude 使用 Anthropic Messages 格式,把 Base URL 设为 https://b0api.cc。
从模型广场选择公开模型,然后调用对应的 OpenAI 兼容端点。下面的 cURL、Python 和 JavaScript 示例可直接作为模板。
Xcode 26 自定义供应商最稳填法:URL 填 https://b0api.cc/sk-live-你的完整密钥(密钥直接放进网址,不要再加 /v1),API Key Header 填 Authorization,API Key 只填 sk-live-你的完整密钥(Xcode 会自己加 Bearer;写成 Bearer sk-live-... 也可以)。Xcode 聊天请求经常完全不带头,必须把密钥放进 URL。填好后关掉设置窗口再发一次聊天。
https://b0api.cc/v1/models列出模型https://b0api.cc/v1/chat/completions对话补全https://b0api.cc/v1/messagesAnthropic Messages,Claude 模型https://b0api.cc/v1/responsesOpenAI Responses,支持 Responses API 的模型https://b0api.cc/v1/images/generations图片生成模型https://b0api.cc/v1/videos视频生成模型,兼容 /v1/videos/generations使用 Claude 模型时,将 Base URL 指向 https://b0api.cc,请求格式遵循 Anthropic Messages API;OpenAI 客户端使用 https://b0api.cc/v1,即 OpenAI API 兼容格式。
curl https://b0api.cc/v1/messages \
-H "x-api-key: sk-live-your-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 512,
"messages": [{"role": "user", "content": "你好"}]
}'
使用 gpt-image-2-1K、grok-imagine-image-2.0 等图片模型时,请求 OpenAI 兼容的 Images API。按次计费。
curl https://b0api.cc/v1/images/generations \
-H "Authorization: Bearer sk-live-your-key" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2-1K","prompt":"一只宇航员猫"}'
视频模型使用异步任务:先调用 POST /v1/videos(也支持 /v1/videos/generations),再用返回的任务 ID 调用 GET /v1/videos/{id} 轮询。已配置方舟 Seedance 2.0 时,网关会将请求转换为 contents/generations/tasks;未配置时保留现有 mmapi 视频渠道。Seedance 支持 prompt、content、duration(4–15 秒,自动限制)、resolution(480p/720p/1080p)、ratio、generate_audio 以及 HTTPS 参考媒体。任务进入 succeeded 后,从响应的 content.video_url 获取视频;只有 queued 状态允许 DELETE /v1/videos/{id} 取消,running 不可取消。
curl https://b0api.cc/v1/videos \
-H "Authorization: Bearer sk-live-your-key" \
-H "Content-Type: application/json" \
-d '{"model":"doubao-seedance-2-0","prompt":"夕阳下的城市街景,电影感运镜","duration":5,"resolution":"720p","ratio":"16:9","generate_audio":true}'
# response: {"id":"...","object":"video","status":"queued"}
curl https://b0api.cc/v1/videos/TASK_ID \
-H "Authorization: Bearer sk-live-your-key"
# cancel only while status is queued
curl -X DELETE https://b0api.cc/v1/videos/TASK_ID \
-H "Authorization: Bearer sk-live-your-key"
以下示例调用同一个 OpenAI 兼容端点。
curl https://b0api.cc/v1/chat/completions \
-H "Authorization: Bearer sk-live-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "你好"}
],
"stream": false
}'
import requests
response = requests.post(
"https://b0api.cc/v1/chat/completions",
headers={
"Authorization": "Bearer sk-live-your-key",
"Content-Type": "application/json",
},
json={
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "你好"}
],
"stream": False,
},
timeout=120,
)
response.raise_for_status()
print(response.json()["choices"][0]["message"]["content"])
from openai import OpenAI
client = OpenAI(
base_url="https://b0api.cc/v1",
api_key="sk-live-your-key",
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "你好"}
],
)
print(response.choices[0].message.content)
const response = await fetch("https://b0api.cc/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer sk-live-your-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "deepseek-chat",
messages: [
{ role: "user", content: "你好" },
],
stream: false,
}),
});
if (!response.ok) throw new Error(await response.text());
const data = await response.json();
console.log(data.choices[0].message.content);