一个中转站,三种协议:OpenAI(/v1/chat/completions)、Anthropic(/v1/messages)、Gemini(/v1beta),都支持流式输出和工具调用。 三种协议共用同一把 Key、同一份余额;用博客账号创建 Key,按 token 扣余额。 管理端可以接多个上游、给每个模型单独定价,也可以把模型设成免费 + 每日额度。
接入信息
支持三种协议,同一把 Key、同一份余额。把对应地址填进客户端的「自定义接口地址 / 自定义服务商」 即可,剩下那段路径由客户端自己拼。
https://api.blog.1zyq1.com/openapi/v1自动拼 /chat/completionshttps://api.blog.1zyq1.com/openapi自动拼 /v1/messageshttps://api.blog.1zyq1.com/openapi自动拼 /v1beta/models/…鉴权(三种协议各认自己的头,值都是同一把 sk-...):Authorization: Bearer sk-...、x-api-key: sk-...、x-goog-api-key: sk-...(Gemini 也可用 ?key=sk-...)。 Key 在下面创建,网页登录态不能直接调。
模型与价格
API Key
登录后可以创建 Key。Key 只存哈希,创建后只显示一次,丢了就删掉重建。
调用示例
服务商地址见上方「接入信息」;推理只能 POST,列模型才是 GET。
curl(OpenAI 协议)
curl https://api.blog.1zyq1.com/openapi/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "你的模型名",
"messages": [{"role": "user", "content": "你好"}],
"stream": false
}'Python(openai SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://api.blog.1zyq1.com/openapi/v1",
)
resp = client.chat.completions.create(
model="你的模型名",
messages=[{"role": "user", "content": "你好"}],
stream=True,
)
for chunk in resp:
print(chunk.choices[0].delta.content or "", end="")JavaScript(openai SDK)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-...",
baseURL: "https://api.blog.1zyq1.com/openapi/v1",
});
const resp = await client.chat.completions.create({
model: "你的模型名",
messages: [{ role: "user", content: "你好" }],
});Python(anthropic SDK → /v1/messages)
from anthropic import Anthropic
client = Anthropic(
api_key="sk-...", # 就是这里创建的 Key
base_url="https://api.blog.1zyq1.com/openapi", # SDK 自己拼 /v1/messages
)
resp = client.messages.create(
model="你的模型名",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
)
print(resp.content[0].text)Claude Code 只要设两个环境变量:ANTHROPIC_BASE_URL=https://api.blog.1zyq1.com/openapi、ANTHROPIC_API_KEY=sk-...
Python(google-genai SDK → /v1beta)
from google import genai
client = genai.Client(
api_key="sk-...",
http_options={"base_url": "https://api.blog.1zyq1.com/openapi"}, # SDK 自己拼 /v1beta/models/...
)
resp = client.models.generate_content(
model="你的模型名",
contents="你好",
)
print(resp.text)