快速开始
三步完成接入:注册 → 获取 API Key → 替换 base_url。平台提供 OpenAI 兼容接口,只需将客户端的 base_url 指向本平台即可。
# 测试连接
curl http://ylxunlapi.top/v1/models \
-H "Authorization: Bearer sk-你的APIKey"
# 发送对话
curl http://ylxunlapi.top/v1/chat/completions \
-H "Authorization: Bearer sk-你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "你好,请介绍一下你自己"}],
"temperature": 0.7
}'
Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-你的平台APIKey",
base_url="http://ylxunlapi.top/v1"
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "你好,请介绍一下你自己"}],
temperature=0.7,
max_tokens=1024
)
print(response.choices[0].message.content)
# 查看用量
print(f"消耗 tokens: {response.usage.total_tokens}")
Node.js (OpenAI SDK)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-你的平台APIKey",
baseURL: "http://ylxunlapi.top/v1",
});
const completion = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "你好" }],
temperature: 0.7,
max_tokens: 1024,
});
console.log(completion.choices[0].message.content);
认证方式
所有 API 请求必须在请求头中携带 API Key 进行身份认证:
Authorization: Bearer sk-你的APIKey
获取 API Key:登录 用户中心 → API Keys → 创建新 Key。每个账户最多创建 5 个 API Key。
对话补全接口
接口地址:POST /v1/chat/completions,完全兼容 OpenAI Chat Completions API。
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
| model必填 | string | 模型名称,如 gpt-4o、deepseek-chat 等 |
| messages必填 | array | 对话消息列表,每条包含 role 和 content |
| temperature可选 | number | 采样温度,0-2,默认 1。越高越随机 |
| max_tokens可选 | integer | 最大输出 token 数,默认不限制 |
| top_p可选 | number | 核采样参数,0-1,默认 1 |
| stream可选 | boolean | 是否流式输出,默认 false |
| stop可选 | string / array | 停止词,遇到即停止生成 |
| frequency_penalty可选 | number | 频率惩罚,-2.0 到 2.0 |
| presence_penalty可选 | number | 存在惩罚,-2.0 到 2.0 |
Messages 格式
{
"messages": [
{"role": "system", "content": "你是一个有用的AI助手。"},
{"role": "user", "content": "帮我翻译这段话:Hello World"},
{"role": "assistant", "content": "你好,世界"},
{"role": "user", "content": "换一种更文艺的翻译"}
]
}
响应格式
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1700000000,
"model": "gpt-4o-mini",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是一个AI助手..."
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 45,
"total_tokens": 63
}
}
流式传输 (SSE)
设置 "stream": true 即可启用 SSE 流式输出,适合聊天场景的逐字输出体验。
Python 流式示例
from openai import OpenAI
client = OpenAI(
api_key="sk-你的APIKey",
base_url="http://ylxunlapi.top/v1"
)
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "写一首关于夏天的诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print() # 流结束换行
Node.js 流式示例
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-你的APIKey",
baseURL: "http://ylxunlapi.top/v1",
});
const stream = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "写一首关于夏天的诗" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
直接 cURL 流式
curl http://ylxunlapi.top/v1/chat/completions \
-H "Authorization: Bearer sk-你的APIKey" \
-H "Content-Type: application/json" \
-N \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Hello"}],"stream":true}'
模型列表接口
GET /v1/models — 获取当前可用的模型列表(仅返回你的 API Key 有权限调用的模型)。
curl http://ylxunlapi.top/v1/models \
-H "Authorization: Bearer sk-你的APIKey"
# Python
models = client.models.list()
for m in models.data:
print(m.id)
各语言 SDK 接入
Go
package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig("sk-你的APIKey")
config.BaseURL = "http://ylxunlapi.top/v1"
client := openai.NewClientWithConfig(config)
resp, err := client.CreateChatCompletion(context.Background(), openai.ChatCompletionRequest{
Model: "gpt-4o-mini",
Messages: []openai.ChatCompletionMessage{
{Role: "user", Content: "Hello!"},
},
})
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}
Java (Spring Boot + OpenAI4J)
// application.yml
openai:
api-key: sk-你的APIKey
base-url: http://ylxunlapi.top/v1
// ChatService.java
@Service
public class ChatService {
private final OpenAiClient client;
public ChatService(OpenAiClient client) {
this.client = client;
}
public String chat(String prompt) {
var request = ChatCompletionRequest.builder()
.model("gpt-4o-mini")
.messages(List.of(
new ChatMessage("user", prompt)
))
.build();
return client.chatCompletion(request)
.execute()
.choices().get(0).message().content();
}
}
PHP
<?php
require 'vendor/autoload.php';
$client = OpenAI::factory()
->withApiKey('sk-你的APIKey')
->withBaseUri('http://ylxunlapi.top/v1')
->make();
$result = $client->chat()->create([
'model' => 'gpt-4o-mini',
'messages' => [
['role' => 'user', 'content' => 'Hello!'],
],
]);
echo $result->choices[0]->message->content;
Rust
use async_openai::{
Client,
config::OpenAIConfig,
types::CreateChatCompletionRequestArgs,
};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = OpenAIConfig::default()
.with_api_key("sk-你的APIKey")
.with_api_base("http://ylxunlapi.top/v1");
let client = Client::with_config(config);
let request = CreateChatCompletionRequestArgs::default()
.model("gpt-4o-mini")
.messages(vec![
("user", "Hello!").into(),
])
.build()?;
let response = client.chat().create(request).await?;
println!("{}", response.choices[0].message.content
.as_ref().unwrap_or(&"".to_string()));
Ok(())
}
主流框架接入
LangChain (Python)
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4o-mini",
openai_api_key="sk-你的APIKey",
openai_api_base="http://ylxunlapi.top/v1",
temperature=0.7,
)
response = llm.invoke("Hello!")
print(response.content)
LangChain (JavaScript)
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({
model: "gpt-4o-mini",
apiKey: "sk-你的APIKey",
configuration: {
baseURL: "http://ylxunlapi.top/v1",
},
});
const response = await model.invoke("Hello!");
console.log(response.content);
LobeChat
LobeChat 是最流行的开源 ChatGPT 前端之一,可直接对接本平台:
# .env
OPENAI_API_KEY=sk-你的APIKey
OPENAI_PROXY_URL=http://ylxunlapi.top/v1
或在 LobeChat 设置中手动填写 API Key 和代理地址。
NextChat (ChatGPT-Next-Web)
OPENAI_API_KEY=sk-你的APIKey
BASE_URL=http://ylxunlapi.top
Cursor / Windsurf 等 AI 编辑器
在 Cursor / Windsurf 的 Models 设置中添加自定义 OpenAI 兼容端点:
API Base URL: http://ylxunlapi.top/v1
API Key: sk-你的APIKey
Codex + Codex++ 接入教程
Codex 是 OpenAI 出品的 AI 编程智能体,能直接读取本地文件、重构代码并执行终端命令。 通过 Codex++(第三方开源增强工具)可以将 Codex 接入本站 API,自由使用平台上的所有模型。
第一步:下载安装 Codex
Codex 官方下载地址:
- 中文镜像站(推荐):https://codexdown.cn/
- macOS:
brew install --cask codex - Windows:从镜像站下载
.exe安装包
下载后正常安装即可。首次打开需要用 OpenAI API Key 或 Google/Microsoft 账号登录。
第二步:下载安装 Codex++ 管理工具
Codex++ 是一个第三方开源的 Codex 增强管理工具,支持接入自定义 API 供应商。
| 下载渠道 | 地址 |
|---|---|
| GitHub 开源 | github.com/BigPizzaV3/CodexPlusPlus |
| 夸克网盘 | pan.quark.cn/s/9fed9c3dfbee |
| 中文导航站 | codexdown.cn(含 Codex++ 下载入口) |
第三步:登录 Codex
先打开原版 Codex 桌面端执行一次登录(后续通过 Codex++ 启动即可,无需重复登录):
- 打开 Codex App,点击 "Sign in another way"
- 输入你的 OpenAI API Key(在 OpenAI 控制台 创建),点击 Continue
- 或用 Google / Microsoft / Apple 账号直接登录
第四步:获取平台 API Key
登录本站 用户中心 → API Keys → 创建新 Key,复制 API Key 备用。
第五步:在 Codex++ 管理工具中配置供应商
⚠ 配置前请完全退出 Codex(包括任务栏图标)。然后双击桌面上的 "Codex++ 管理工具" 快捷方式:
- 点击左侧菜单 "供应商配置",再点击右侧 "添加供应商"
- 按下表填写配置信息:
| 配置项 | 填写内容 | 说明 |
|---|---|---|
| 名称 | AI Token 中转站 | 自定义供应商名称,随意填写 |
| 接入模式 | 纯 API | 选择「纯 API」模式 |
| 配置模型 | gpt-4o-mini | 选择一个平台支持的模型名 |
| Base URL | http://ylxunlapi.top/v1 | 注意末尾的 /v1 不可省略 |
| Key | sk-你的APIKey | 在用户中心创建的 API Key |
| 上游协议 | Chat Completions | OpenAI 兼容格式 |
| 模型列表 | 填完 Key 后点击"从上游获取" | 自动拉取可用模型列表 |
名称:AI Token 中转站
接入模式:纯 API
配置模型:gpt-4o-mini
Base URL:http://ylxunlapi.top/v1
Key:sk-你的平台APIKey
上游协议:Chat Completions
模型列表:点击「从上游获取」自动填充
第六步:测试连接并使用
- 在供应商列表中找到刚创建的供应商,点击右侧 "发送 hi 测试" 按钮
- 看到 HTTP 200 和回复内容即表示连通成功
- 关闭管理工具,双击 "Codex++"快捷方式(非管理工具)启动增强版 Codex
- 界面右上角出现 Codex++ 绿点标识,对话框下方出现模型选择器,即可切换使用平台模型
- 必须通过 Codex++ 快捷方式 启动才能使用自定义供应商,打开原版 Codex 只能看到默认模型。
- 如果 Codex++ 菜单未出现,确认是从 Codex++ 入口启动,而非原版 Codex。可在管理工具的「诊断」页面查看注入状态。
- 模型列表从上游获取后,Codex++ 会自动识别所有可用模型,对话时可随时切换。
推理模型说明
平台支持 DeepSeek-R1 / deepseek-reasoner 等推理模型。推理模型会先进行内部思考再输出最终回答。
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[{"role": "user", "content": "9.11 和 9.8 哪个大?"}],
max_tokens=4096 # 推理模型建议设置较大值
)
# 仅输出最终回答,思考过程已由平台过滤
print(response.choices[0].message.content)
max_tokens 设置为 1024 以上。平台会自动为推理模型设置最小 1024 的 max_tokens。
错误码说明
| HTTP 状态码 | 错误类型 | 说明 |
|---|---|---|
| 401 | authentication_error | API Key 无效或未提供 |
| 402 | insufficient_quota | 余额不足,请充值 |
| 403 | permission_error | 该 API Key 没有调用此模型的权限 |
| 429 | rate_limit_error | 请求频率过高,请稍后重试 |
| 500 | server_error | 平台内部错误 |
| 502 | upstream_error | 上游服务不可用 |
| 503 | no_channel_error | 该模型暂无可用渠道 |
常见问题
Q: 平台支持哪些模型?
平台聚合了多个上游渠道,支持 GPT 系列、Claude 系列、DeepSeek 系列、通义千问系列等主流模型。具体可在 模型广场 查看完整列表和实时定价。
Q: 如何计费?
按实际消耗的 Token 精确计费,输入和输出分别计价。调用 API 后可在用户中心查看详细用量记录和余额变动。
Q: 如何充值?
在用户中心支持三种充值方式:兑换码充值、固定金额扫码充值、支付宝在线支付。
Q: base_url 应该填什么?
填写 http://ylxunlapi.top/v1,注意末尾的 /v1 不可省略。
Q: 如何限制模型访问?
创建 API Key 时可以指定允许调用的模型白名单,未在白名单中的模型将无法通过该 Key 调用。
Q: 支持图片/多模态输入吗?
支持。部分模型(如 gpt-4o、claude-3-5-sonnet)支持图片输入,按 OpenAI Vision API 格式传入即可。
Q: Anthropic Messages API 兼容吗?
是的,平台同时提供了 /v1/messages 端点(Anthropic 格式)和 /v1/chat/completions 端点(OpenAI 格式)。
Q: 请求有频率限制吗?
平台目前不限制请求频率(取决于上游限制),但建议合理控制并发,避免触发上游限流。
Q: 出现 "No channel available" 是什么原因?
表示该模型目前没有可用的上游渠道,通常是渠道维护或临时下线。请稍后重试或联系管理员。
Q: 可以对接企业微信/飞书等吗?
可以。任何支持 OpenAI 兼容接口的中间件或 Bot 框架都可以对接。只需将 API endpoint 指向本平台即可。