快速开始

三步完成接入:注册获取 API Key替换 base_url。平台提供 OpenAI 兼容接口,只需将客户端的 base_url 指向本平台即可。

cURL
# 测试连接
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)

Python
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)

Node.js
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 进行身份认证:

HTTP Header
Authorization: Bearer sk-你的APIKey

获取 API Key:登录 用户中心 → API Keys → 创建新 Key。每个账户最多创建 5 个 API Key。

安全提示:请妥善保管 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 格式

JSON
{
  "messages": [
    {"role": "system", "content": "你是一个有用的AI助手。"},
    {"role": "user", "content": "帮我翻译这段话:Hello World"},
    {"role": "assistant", "content": "你好,世界"},
    {"role": "user", "content": "换一种更文艺的翻译"}
  ]
}

响应格式

JSON
{
  "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 流式示例

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 流式示例

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 流式

bash
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 / Python
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

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)

Java
// 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
<?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

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)

Python (LangChain)
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)

JavaScript (LangChain.js)
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,自由使用平台上的所有模型。

前置条件:需要先拥有一个 OpenAI 账号(免费注册即可),用于登录 Codex 桌面端。如果无法直接访问 OpenAI,可使用 Google 或 Microsoft 账号登录。

第一步:下载安装 Codex

Codex 官方下载地址:

下载后正常安装即可。首次打开需要用 OpenAI API Key 或 Google/Microsoft 账号登录。

第二步:下载安装 Codex++ 管理工具

Codex++ 是一个第三方开源的 Codex 增强管理工具,支持接入自定义 API 供应商。

下载渠道地址
GitHub 开源github.com/BigPizzaV3/CodexPlusPlus
夸克网盘pan.quark.cn/s/9fed9c3dfbee
中文导航站codexdown.cn(含 Codex++ 下载入口)
原理:Codex++ 不修改 Codex 原始文件,而是通过 Chromium DevTools Protocol (CDP) 在运行时动态注入增强脚本,基本不受 Codex 版本更新影响。

第三步:登录 Codex

先打开原版 Codex 桌面端执行一次登录(后续通过 Codex++ 启动即可,无需重复登录):

  1. 打开 Codex App,点击 "Sign in another way"
  2. 输入你的 OpenAI API Key(在 OpenAI 控制台 创建),点击 Continue
  3. 或用 Google / Microsoft / Apple 账号直接登录

第四步:获取平台 API Key

登录本站 用户中心 → API Keys → 创建新 Key,复制 API Key 备用。

第五步:在 Codex++ 管理工具中配置供应商

⚠ 配置前请完全退出 Codex(包括任务栏图标)。然后双击桌面上的 "Codex++ 管理工具" 快捷方式:

  1. 点击左侧菜单 "供应商配置",再点击右侧 "添加供应商"
  2. 按下表填写配置信息:
配置项填写内容说明
名称AI Token 中转站自定义供应商名称,随意填写
接入模式纯 API选择「纯 API」模式
配置模型gpt-4o-mini选择一个平台支持的模型名
Base URLhttp://ylxunlapi.top/v1注意末尾的 /v1 不可省略
Keysk-你的APIKey在用户中心创建的 API Key
上游协议Chat CompletionsOpenAI 兼容格式
模型列表填完 Key 后点击"从上游获取"自动拉取可用模型列表
更多选项说明:点击「更多选项」可设置测试模型(用于连通性测试)、上下文大小(根据模型最大上下文字数填写,如 gpt-4o-mini 填 128000)和压缩上下文大小
配置示例(JSON参考)
名称:AI Token 中转站
接入模式:纯 API
配置模型:gpt-4o-mini
Base URL:http://ylxunlapi.top/v1
Key:sk-你的平台APIKey
上游协议:Chat Completions
模型列表:点击「从上游获取」自动填充

第六步:测试连接并使用

  1. 在供应商列表中找到刚创建的供应商,点击右侧 "发送 hi 测试" 按钮
  2. 看到 HTTP 200 和回复内容即表示连通成功
  3. 关闭管理工具,双击 "Codex++"快捷方式(非管理工具)启动增强版 Codex
  4. 界面右上角出现 Codex++ 绿点标识,对话框下方出现模型选择器,即可切换使用平台模型
重要提示:
  • 必须通过 Codex++ 快捷方式 启动才能使用自定义供应商,打开原版 Codex 只能看到默认模型。
  • 如果 Codex++ 菜单未出现,确认是从 Codex++ 入口启动,而非原版 Codex。可在管理工具的「诊断」页面查看注入状态。
  • 模型列表从上游获取后,Codex++ 会自动识别所有可用模型,对话时可随时切换。

推理模型说明

平台支持 DeepSeek-R1 / deepseek-reasoner 等推理模型。推理模型会先进行内部思考再输出最终回答。

Python
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)
注意:推理模型的思考过程(reasoning_content)会消耗大量 token,建议 max_tokens 设置为 1024 以上。平台会自动为推理模型设置最小 1024 的 max_tokens。

错误码说明

HTTP 状态码错误类型说明
401authentication_errorAPI Key 无效或未提供
402insufficient_quota余额不足,请充值
403permission_error该 API Key 没有调用此模型的权限
429rate_limit_error请求频率过高,请稍后重试
500server_error平台内部错误
502upstream_error上游服务不可用
503no_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 指向本平台即可。

更多问题?请通过页面右下角的客服按钮联系我们,或发送邮件至管理员邮箱。