⚡ 按次计费、不限 token($0.003 ~ $0.10 / 次)|充值需加 QQ 群 917580534 把注册账号发给群主,本站无自助在线支付 开通与充值说明 →

APIM 中转站接入文档

服务地址(Base URL):https://apim.eu.cc/v1
控制台 / 注册地址:https://apim.eu.cc(域名打不开时用备用入口 http://154.201.81.122)
协议:OpenAI 兼容(另有 Anthropic、Gemini 协议入口,见协议支持矩阵)
API Key:在控制台自行注册账号后创建,格式 sk-...
充值方式:注册后加 QQ 群 917580534,把注册账号发给群主充值(本站无自助在线支付)
本文档中的端点、鉴权方式与报错形态均为 2026-09-25 对 https://apim.eu.cc 实测结果。
各客户端界面的菜单名称可能随版本变化,认准「Base URL / 接口地址」「API Key / 密钥」「模型 ID」这三类字段即可。

目录


1. 三分钟接入速查表

客户端需要填的字段填什么
绝大多数工具(OpenAI 兼容)Base URL / API Basehttps://apim.eu.cc/v1
API Keysk- 开头的密钥
Model / 模型 ID用 GET /v1/models 查出来的 id,如 gpt-5.6-luna
Claude CodeANTHROPIC_BASE_URLhttps://apim.eu.cc(注意:不带 /v1,详见 6.3)
ANTHROPIC_AUTH_TOKENsk- 开头的密钥
Codex CLIbase_url(config.toml)https://apim.eu.cc/v1
CursorOverride OpenAI Base URLhttps://apim.eu.cc/v1
开通账号注册 + 充值自行注册 → 加 QQ 群 917580534 → 发账号给群主充值(见 第 3 章)

四条最容易踩的坑(后面每个章节都在重复这四条):

  1. Base URL 粒度因客户端而异:多数填到 /v1 为止,不要把 https://apim.eu.cc/v1/chat/completions 整条贴进去;而 Claude Code 走的是 Anthropic 协议,只能填到域名。填错粒度必然 404。
  2. 模型可用范围由 Key 所属「分组」决定,不是全站模型都能调。所以第一次接入务必用 GET /v1/models 确认自己有哪些模型。
  3. /v1/messages(Anthropic 协议)需要分组单独放开,默认分组会返回 403。
  4. 充值由群主人工完成,控制台没有自助在线支付入口。没充值时接口会报额度/权限类错误,别当成代码问题排查。

2. 协议支持矩阵

同一个域名下挂了三套协议入口,能不能用取决于你 Key 所属分组的平台类型和权限:

协议端点方法实测状态说明
OpenAI/v1/chat/completionsPOST✅ 可用主用接口,所有客户端都走这条
OpenAI/v1/modelsGET✅ 可用只返回当前 Key 分组可用的模型
OpenAI/v1/responsesPOST⚠️ 视分组需分组放开,Codex 类工具可尝试
OpenAI/v1/embeddingsPOST⚠️ 视分组路由存在,当前分组上游返回 502
OpenAI/v1/images/generationsPOST⚠️ 视分组路由存在,是否可用取决于分组
Anthropic/v1/messagesPOST⛔ 需权限当前分组返回 403 This group does not allow /v1/messages dispatch
Anthropic/v1/messages/count_tokensPOST⛔ 需权限同上
Gemini/v1beta/models/{model}:generateContentPOST⛔ 需权限非 gemini 平台分组返回 400 API key group platform is not gemini
—/v1/completionsPOST❌ 不支持旧版补全接口,已移除
—/v1/audio/*POST❌ 不支持语音接口未开放

鉴权方式

三种任选其一,都已实测通过:

Shell
Authorization: Bearer sk-xxxxxxxx      # 标准 OpenAI 用法,推荐
x-api-key: sk-xxxxxxxx                 # Anthropic 风格
x-goog-api-key: sk-xxxxxxxx            # Gemini 风格

未带认证时返回:

JSON
{"code":"API_KEY_REQUIRED","message":"API key is required in Authorization header (Bearer scheme), x-api-key header, or x-goog-api-key header"}

3. 第一步:注册、充值、创建 API Key

3.1 入口

入口地址说明
主入口(推荐)https://apim.eu.cchttps 加密,API 调用请用这个
备用入口http://154.201.81.122域名被墙/解析失败时用,同一套服务,实测可正常调用 API
⚠️ 备用入口是 http 明文,没有 https。用它访问控制台应急没问题,但不要把 API 调用指向它——Authorization: Bearer sk-... 会在链路上明文传输,密钥有被中间人截获的风险。API Base URL 始终用 https://apim.eu.cc/v1。

3.2 注册账号(自助)

打开入口后会看到站点弹框提示,内容就是下面这份开通说明:

ip http://154.201.81.122 或者 https://apim.eu.cc
进入之后自己注册 → 注册好之后进群联系群主发注册账号 → 群主进行充值
模型广场都有对应的模型,按次收费不限 token
QQ 群号:917580534
充值的钱全站的模型都是可以查看的

按提示操作即可:进入站点 → 自行注册账号 → 用账号登录控制台。

3.3 充值:加 QQ 群联系群主

本站没有自助在线支付,余额由群主人工充值:

  1. 加入 QQ 群 917580534(群名「起个破名想半天 2 群」)。
  2. 把你的注册账号发给群主,说明要充值的金额。
  3. 群主充值到账后,余额全站通用,模型广场里所有分组的模型都能查看和调用。
QQ 群二维码:917580534
QQ 群二维码:917580534
充值前请先确认自己要用哪个分组:不同分组的按次单价不同($0.003 ~ $0.10 / 次,见第 4 章价格表),选错分组会多花钱。

3.4 创建 API Key

  1. 登录控制台,进入 API 密钥 / Keys 页面 → 新建密钥。
  1. 复制生成的 sk- 密钥。密钥只在创建时完整展示一次,请立即保存到密码管理器。
  2. 在用量 / 订阅页面确认余额与调用状态——模型是否可用、是否会被限流,都取决于此。

控制台常用页面直达:

页面地址
API 密钥管理(新建 / 删除密钥)https://apim.eu.cc/keys
模型广场(全站模型、渠道分组与计费)https://apim.eu.cc/model-plaza
订阅 / 套餐https://apim.eu.cc/subscriptions
用量明细https://apim.eu.cc/key-usage
⚠️ 不要把密钥写进会提交到 Git 的文件。若怀疑泄露,回到控制台立即删除并重建。

4. 第二步:确认你这个 Key 能用哪些模型

权威做法:直接问接口。 GET /v1/models 返回的就是当前 Key 实际可调用的模型列表(不是全站列表):

Shell
curl https://apim.eu.cc/v1/models \
  -H "Authorization: Bearer sk-xxxxxxxx"

实测某个标准分组的 Key 只返回了 2 个模型(真实响应,已截断):

JSON
{
  "data": [
    {
      "id": "gpt-5.6-luna",
      "object": "model",
      "created": 1780876800,
      "owned_by": "openai",
      "type": "model",
      "display_name": "GPT-5.6 Luna"
    },
    { "id": "gpt-6-luna", "object": "model", "display_name": "GPT-6 Luna" }
  ]
}

到处要填的「模型 ID」就是这个 id 字段(gpt-5.6-luna),不是 display_name。

模型广场(https://apim.eu.cc → 模型广场)展示的是全站可售模型,分 11 个渠道分组,全部为 OpenAI 平台 + 按次计费(per_request):按次收费、不限 token,单次请求里输入输出多少 token 都不影响这一笔的价格。下表为 2026-09-25 快照,按单价升序排列。

按次单价(全站分组)

分组模型 ID按次单价官方参考价(输入 / 输出,$/1M)
代理专用 glm-5.3-flashglm-5.3-flash$0.003 / 次$0.15 / $0.50
代理专用线路 DS(纯血 flash、pro)分流计费deepseek-v4-pro-0813、deepseek-v4-pro、deepseek-v4-flash、deepseek-v4-flash-0731、deepseek-v4-flash-vision-exp$0.004 / 次$0.15 / $0.60
代理专用线路 DS(纯血 flash、pro)计费同上 5 个$0.004 / 次$0.15 / $0.60
代理专用 ds exp 计费同上 5 个$0.004 / 次$0.15 / $0.60
代理专用线路 glm 计费glm-5.2、glm5.2$0.005 / 次$1.179 / $4.127
代理专用 deepseek-v4.1deepseek-v4.1-flash、deepseek-v4.1-flash-expires-on-0910、deepseek-flash$0.006 / 次$0.15 / $0.60
代理专用 dp 专用官方渠道deepseek-v4-pro、deepseek-v4-flash、deepseek-v4-flash-0731$0.008 / 次$0.15 / $0.60
代理专用 gpt(纯血)gpt-5.6-luna$0.008 / 次≤272K $0.20/$1.20,>272K $0.40/$1.80
代理专用 gpt(纯血)gpt-6-luna$0.008 / 次≤272K $0.10/$0.50,>272K $0.20/$0.75
代理专用 kimi-k3kimi-k3$0.01 / 次$2.948 / $14.740
代理专用 glm5.3xglm-5.3-flashx$0.015 / 次$0.15 / $0.50
代理专用 GLM5.3(纯血)glm-5.3$0.016 / 次$1.40 / $4.40
代理专用 gpt(纯血)gpt-5.6-terra$0.03 / 次≤272K $2.00/$12.00,>272K $4.00/$18.00
代理专用 gpt(纯血)gpt-5.6-sol$0.10 / 次≤272K $5.00/$30.00,>272K $10.00/$45.00

怎么读这张表:

上表会随站点调整而变化,以 /v1/models(你 Key 实际可用模型)与模型广场(全站价格)为准。

5. 第三步:连通性验证

建议按顺序跑通这四条,再进客户端配置。

5.1 列表(确认鉴权 OK)

Shell
curl https://apim.eu.cc/v1/models -H "Authorization: Bearer sk-xxxxxxxx"

5.2 对话补全(确认模型可用)

Shell
curl https://apim.eu.cc/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{"role": "user", "content": "只回复两个字:收到"}],
    "max_tokens": 32
  }'

5.3 流式(确认 SSE 正常)

Shell
curl -N https://apim.eu.cc/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{"role": "user", "content": "数到五"}],
    "stream": true
  }'

正常会持续输出 data: {...} 行,最后以 data: [DONE] 结束。

5.4 Python / Node SDK

Python
# pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxx",
    base_url="https://apim.eu.cc/v1",
)

resp = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

# 流式
for chunk in client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "数到五"}],
    stream=True,
):
    print(chunk.choices[0].delta.content or "", end="", flush=True)
JavaScript
// npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-xxxxxxxx",
  baseURL: "https://apim.eu.cc/v1",
});

const resp = await client.chat.completions.create({
  model: "gpt-5.6-luna",
  messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);

5.5 验证通过的标准


6. 各客户端接入配置

所有客户端的「密钥」栏都填 sk-xxxxxxxx;下文只强调各自的 Base URL 粒度与模型填写方式。
模型 ID 请填 /v1/models 返回的原始 id(如 gpt-5.6-luna),不要加 openai/ 之类前缀,除非该客户端明确要求。

6.1 ZCode

ZCode 支持 OpenAI Chat Completions 协议的自定义供应商,两种配置方式任选。

方式 A:界面配置(推荐)

设置 → 模型 / 供应商 → 添加自定义供应商:

字段填写值
供应商名称任意,例如 apim
协议 / API 类型OpenAI Chat Completions(配置项名 openai-chat-completions)
Base URL / 接口地址https://apim.eu.cc/v1
API Keysk-xxxxxxxx
模型 IDgpt-5.6-luna、gpt-6-luna(按 /v1/models 实测结果逐个添加)

方式 B:配置文件

配置文件位于 ~/.zcode/v2/provider_config.json。在 providerRules 数组里追加一条(providerId 用任意 UUID,apiKey 换成你自己的):

JSON
{
  "providerId": "00000000-0000-0000-0000-000000000001",
  "providerName": "apim",
  "config": {
    "group": "standard-personal",
    "access": {
      "type": "api-key",
      "apiKey": "sk-xxxxxxxx"
    },
    "api": {
      "type": "openai-chat-completions",
      "baseUrl": "https://apim.eu.cc/v1"
    },
    "personalModelIds": [
      "gpt-5.6-luna",
      "gpt-6-luna"
    ],
    "modelOrder": [
      "gpt-5.6-luna",
      "gpt-6-luna"
    ]
  }
}
该文件由 ZCode 管理,手改后如被界面覆盖,请以界面配置为准。

6.2 DSH Desktop

DSH Desktop(io.dsh.desktop)在 设置 → Models 页面管理供应商,支持手写声明自定义路由。

方式 A:界面配置(推荐)

  1. 打开 设置 → Models。
  2. 点 「新增」→「添加自定义提供方」(该入口用于声明 pi-ai 目录未内置的路由)。
  3. 按提示填写:
字段填写值
Provider ID小写连字符标识,例如 apim
接口地址(Base URL)https://apim.eu.cc/v1
API 协议openai-completions
模型至少填一个,例如 gpt-5.6-luna
API 密钥sk-xxxxxxxx
  1. 创建卡片里的 「获取可用模型」 可以直接查询该端点的模型候选,选中后点 「添加所选」 写入。
  2. 密钥是只写存储的:写入后界面只显示状态点(绿色=已配置),不再回显明文。

方式 B:配置文件

YAML
llm-pi-ai:
  providers:
    apim:
      displayName: APIM
      apiKeyEnv: APIM_API_KEY        # 密钥引用名,明文存在 .credentials.yaml
      api: openai-completions
      baseURL: https://apim.eu.cc/v1
      models:
        - id: gpt-5.6-luna
        - id: gpt-6-luna

需要某个模型支持图片输入时,在该模型下加 input: [ text, image ]。

api、baseURL、非空 models 三者对自定义路由是必填;缺一个会在保存时被拒绝并点名具体路由与模型。

6.3 Claude Code

Claude Code 走的是 Anthropic 协议(/v1/messages),与本中转站的 OpenAI 协议入口不同,因此这里有前置条件。

前置检查:你的 Key 所属分组必须允许 /v1/messages。实测标准分组会返回:

CODE
403 {"error":{"message":"This group does not allow /v1/messages dispatch","type":"permission_error"}}

出现这个 403 就说明不能直连,请直接看下面的「方案 B」。

方案 A:分组已放开 /v1/messages 时直连

Shell
export ANTHROPIC_BASE_URL="https://apim.eu.cc"     # 只到域名,不要带 /v1
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxx"
export ANTHROPIC_DEFAULT_SONNET_MODEL="gpt-5.6-luna"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="gpt-6-luna"
export ANTHROPIC_MODEL="gpt-5.6-luna"

claude

也可以写进 ~/.claude/settings.json,避免每次 export:

JSON
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://apim.eu.cc",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxx",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "gpt-5.6-luna",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "gpt-6-luna",
    "ANTHROPIC_MODEL": "gpt-5.6-luna"
  }
}
Base URL 粒度:Claude Code 内部会自己拼接 /v1/messages,所以这里填 https://apim.eu.cc;填成 https://apim.eu.cc/v1 会请求到 /v1/v1/messages 而 404。
ANTHROPIC_AUTH_TOKEN 会以 Authorization: Bearer <值> 发出,正好匹配本中转站的鉴权方式。
ANTHROPIC_API_KEY 走的是 x-api-key 头,用它会覆盖你的 Pro/Max 订阅登录,两者只用一个。

方案 B:分组未放开 /v1/messages 时,用协议转换层

思路是把 Anthropic 协议转成中转站支持的 OpenAI 协议,常见工具是 claude-code-router:

JSON
{
  "Providers": [
    {
      "name": "apim",
      "api_base_url": "https://apim.eu.cc/v1/chat/completions",
      "api_key": "sk-xxxxxxxx",
      "models": ["gpt-5.6-luna", "gpt-6-luna"]
    }
  ],
  "Router": {
    "default": "apim,gpt-5.6-luna",
    "background": "apim,gpt-6-luna",
    "think": "apim,gpt-5.6-luna",
    "longContext": "apim,gpt-5.6-luna"
  }
}

(写入 ~/.claude-code-router/config.json,字段名以你所装版本为准。)同理也可用 LiteLLM 之类的网关做 Anthropic ↔ OpenAI 转换。

6.4 Codex CLI

配置文件 ~/.codex/config.toml:

TOML
model = "gpt-5.6-luna"
model_provider = "apim"

[model_providers.apim]
name = "APIM"
base_url = "https://apim.eu.cc/v1"
env_key = "APIM_API_KEY"
wire_api = "chat"
Shell
export APIM_API_KEY="sk-xxxxxxxx"
codex

6.5 Cursor

  1. Settings → Models → API Keys,填入 OpenAI API Key:sk-xxxxxxxx。
  2. 打开 Override OpenAI Base URL,填 https://apim.eu.cc/v1(填到 /v1 为止,Cursor 会自己拼 /chat/completions)。
  3. 点 Verify 验证;如失败,对照第 7 章看返回码。
  4. 在 Models 列表里 Add model,把 /v1/models 查到的 id 逐个加入(如 gpt-5.6-luna),并把不用的内置模型关闭,避免请求被路由到你没额度的地方。

6.6 Cline / Roo Code / Kilo Code(VS Code 系)

三者配置项基本一致:

字段填写值
API ProviderOpenAI Compatible
Base URLhttps://apim.eu.cc/v1
API Keysk-xxxxxxxx
Model IDgpt-5.6-luna

展开 Model Configuration 建议同时设置:Max Output Tokens(如 32768)、Context Window(如 262144)、是否支持图片。Context Window 留空或设得过小会导致长任务提前截断。

6.7 Continue

~/.continue/config.yaml:

YAML
models:
  - name: APIM gpt-5.6-luna
    provider: openai
    model: gpt-5.6-luna
    apiBase: https://apim.eu.cc/v1
    apiKey: sk-xxxxxxxx
    contextLength: 262144

(旧版 config.json 对应字段为 models[].provider: "openai"、apiBase、apiKey、model。)

6.8 Aider

Shell
export OPENAI_API_BASE="https://apim.eu.cc/v1"
export OPENAI_API_KEY="sk-xxxxxxxx"

aider --model openai/gpt-5.6-luna

注意 --model 里的 openai/ 只是 Aider 的 provider 前缀,后面的模型名仍用中转站的真实 id。

6.9 OpenCode

~/.config/opencode/opencode.json:

JSON
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apim": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "APIM",
      "options": {
        "baseURL": "https://apim.eu.cc/v1",
        "apiKey": "sk-xxxxxxxx"
      },
      "models": {
        "gpt-5.6-luna": {},
        "gpt-6-luna": {}
      }
    }
  }
}

6.10 其他 IDE / 编辑器的支持情况

工具是否支持自填中转站说明
JetBrains AI Assistant部分版本支持在 AI Assistant 设置里选 OpenAI 兼容 / 自定义模型端点,填 https://apim.eu.cc/v1;不同 IDE 版本入口差异较大
VS Code Copilot(BYOK)受限只允许特定官方供应商,通常无法指向第三方中转站
Windsurf一般不支持不支持自定义 Base URL,只能用它自带的模型
Kiro不支持基于 AWS Bedrock 体系,无自定义端点
Trae / Qoder视版本若设置中存在「自定义模型 / OpenAI 兼容」入口即可用;没有就只能等官方开放
Zed支持settings.json 里配置 OpenAI 兼容 provider,api_url 填 https://apim.eu.cc/v1
Neovim / Emacs 系插件多数支持认准能填 base URL 的 OpenAI 兼容插件即可
这一类工具的自定义端点支持变化很快,判断标准很简单:设置里能填 Base URL 就能接,能填 https://apim.eu.cc/v1 就对了。

6.11 聊天客户端

客户端配置方式
Cherry Studio设置 → 模型服务 → 添加提供商 → 类型选 OpenAI → API 地址 https://apim.eu.cc/v1 + 密钥 → 手动添加模型
ChatBox设置 → 模型 → API 类型 OpenAI API → API 域名 https://apim.eu.cc(部分版本需要含 /v1,两种都试)
LobeChat设置 → 语言模型 → OpenAI → 接口代理地址 https://apim.eu.cc/v1
Open WebUI设置 → 连接 → OpenAI API:URL https://apim.eu.cc/v1 + 密钥;或环境变量 OPENAI_API_BASE_URL
NextChat设置 → 自定义接口 https://apim.eu.cc(NextChat 会拼 /v1/chat/completions,按提示填)

6.12 应用平台与工作流

平台说明
Dify模型供应商 → OpenAI-API-compatible → API Base URL 填 https://apim.eu.cc/v1 + 密钥 + 模型名
n8n / Coze / FastGPT走 OpenAI 兼容节点,Base URL 同上
One API / New API(自建网关)渠道类型选 OpenAI,代理地址 https://apim.eu.cc,模型名填真实 id;注意「模型映射」不要引入多余前缀
LiteLLMmodel_list[].litellm_params.api_base = "https://apim.eu.cc/v1",model 用 openai/gpt-5.6-luna

6.13 自研代码接入

任何兼容 OpenAI 的 SDK 都只需改两个参数:

Python
base_url = "https://apim.eu.cc/v1"
api_key  = "sk-xxxxxxxx"

环境变量约定(多数框架/工具会自动读取):

Shell
export OPENAI_BASE_URL="https://apim.eu.cc/v1"
export OPENAI_API_BASE="https://apim.eu.cc/v1"   # 部分老框架用这个名字
export OPENAI_API_KEY="sk-xxxxxxxx"

注意:不要把密钥硬编码进前端代码或提交到仓库;服务端调用建议从环境变量/密钥管理服务注入。


7. 错误码与排障手册

7.1 错误对照表

HTTP响应体特征含义该怎么办
401{"code":"API_KEY_REQUIRED",...}没带密钥检查 Authorization: Bearer sk-... 是否发送成功
401密钥无效Key 错误/被删控制台重新创建并替换
403"This group does not allow /v1/messages dispatch"分组未放行 Anthropic 协议换 OpenAI 协议接入,或用协议转换层(见 6.3 方案 B)
404{"code":"model_not_found","message":"Model \"xxx\" is not available for this group"}该模型不在你分组内用 GET /v1/models 查自己的可用模型,改成列表里的 id
404404 page not found路径写错(多数是 Base URL 粒度错)见 7.2
400{"error":{"message":"API key group platform is not gemini",...}}分组平台与协议不匹配用 OpenAI 协议的端点,别走 /v1beta
429{"error":{"message":"Upstream rate limit exceeded, please retry later","type":"rate_limit_error"}}上游限流退避重试;持续出现说明该模型渠道拥挤,换模型或换时段
502{"error":{"message":"Upstream service temporarily unavailable","type":"upstream_error"}}上游通道故障等几分钟重试;与你的配置无关
503{"error":{"message":"Service temporarily unavailable","type":"api_error"}}中转站/上游临时不可用同上,重试;长时间不恢复联系站长
504 / 超时无响应体长上下文或上游卡住降低 max_tokens / 缩短上下文后重试
重要:429 / 502 / 503 是上游通道层面的问题,不是你客户端配置错了。遇到这三类先重试、换模型、错峰,不要反复改配置。
每次响应都带 X-Request-Id / X-Client-Request-Id 头,向站长反馈时附上这个 id 最有帮助。

7.2 「404 page not found」自查清单

这是接入阶段最高频的错误,几乎全是 URL 拼接问题:

客户端类型正确填法错误填法
多数 OpenAI 兼容工具https://apim.eu.cc/v1https://apim.eu.cc(少 /v1)、.../v1/chat/completions(多路径)
Claude Codehttps://apim.eu.cchttps://apim.eu.cc/v1(会变成 /v1/v1/messages)
少数工具(NextChat 等)https://apim.eu.cc按工具提示,两种都可试一次

规律:客户端自己拼 /chat/completions 的,你填到 /v1;客户端自己拼 /v1/messages 的,你只填域名。

7.3 常见症状速查

症状大概率原因
列表能查,一对话就失败模型名不在你分组内(404 model_not_found)或上游限流(429/502)
客户端「测试连接」通过,但聊天报错测试通常只调 /v1/models,聊天才真正扣模型权限
流式输出中断 / 卡住上游抖动或中间层缓冲;先试非流式确认接口本身通
上下文一长就报错客户端 Context Window 设置过大,或模型实际容量更小;调小重试
工具调用(tools)失效该模型或渠道不支持 function calling,换模型验证
突然全部 401Key 被删/额度耗尽,去控制台看用量与订阅状态
刚注册就调不通、模型列表为空还没充值。充值需加 QQ 群 917580534 找群主人工处理,控制台没有自助支付

8. 兼容性与限制说明

  1. 计费方式:全站按次计费(per_request)、不限 token——单次请求扣一次钱,输入输出多少 token 都不额外计费,单价区间 $0.003 ~ $0.10 / 次(明细见第 4 章价格表)。含义是:短请求单价并不低,长上下文才划算;做成循环批量小请求时成本会放大得很快,设计调用策略时请把"每次请求都计费"算进去。另外重试同样计费,客户端自动重试要设上限。
  2. 不支持的端点:/v1/completions(旧版补全)、/v1/audio/*(语音)在此部署上不存在,走这些路径会 404。依赖旧接口的老工具需要换新版客户端。
  3. max_tokens 与 max_completion_tokens:部分新一代模型只接受 max_completion_tokens。若报参数错误,换成该字段重试;不确定时干脆不传,让服务端用默认值。
  4. 模型命名:本站模型 id 直接是 gpt-5.6-luna、kimi-k3 这类裸名,不使用 openai/、anthropic/ 前缀(Aider、LiteLLM 等要求前缀的工具除外,那是客户端自己的语法)。
  5. 协议能力取决于分组:/v1/messages、/v1/responses、/v1beta/* 是否可用由分组平台与权限决定,同一站点不同 Key 能力可能完全不同——排障时先确认自己分组的权限,再怀疑配置。
  6. 网络:站点走 Cloudflare + Caddy。若本机有代理,确保 apim.eu.cc 走直连或稳定线路,避免流式被中间层截断。

9. 安全与合规


附录 A:端点实测清单

测试时间:2026-09-25 | 测试基址:https://apim.eu.cc

端点方法无密钥带有效密钥结论
/v1/modelsGET401200可用,返回本分组模型
/v1/chat/completionsPOST401依赖上游路由可用
/v1/responsesPOST401路由存在需分组放开
/v1/embeddingsPOST401502路由存在,当前分组上游拒绝
/v1/images/generationsPOST401路由存在视分组
/v1/messagesPOST401403需分组放行
/v1/messages/count_tokensPOST401403需分组放行
/v1beta/models/{model}:generateContentPOST401400需 gemini 平台分组
/v1beta/modelsGET401503当前不可用(需 gemini 平台分组)
/v1/completionsPOST404—不支持
/v1/audio/transcriptionsPOST404—不支持
/v1/definitely-not-realGET404—对照组,确认 401 代表「路由存在」

响应头中带 X-Request-Id、X-Client-Request-Id,反馈问题请附上。

备用入口同样可用(http://154.201.81.122,仅 http):控制台页面返回 200,GET /v1/models 带密钥返回 200 且模型列表与域名入口一致,说明是同一套服务的镜像入口——但只应急用,原因见第 9 章。

附录 B:配置模板合集

环境变量(通用,一次性导出)

Shell
export APIM_BASE_URL="https://apim.eu.cc/v1"
export APIM_API_KEY="sk-xxxxxxxx"
# OpenAI 系 SDK
export OPENAI_BASE_URL="$APIM_BASE_URL"
export OPENAI_API_KEY="$APIM_API_KEY"
# Claude Code(注意不带 /v1)
export ANTHROPIC_BASE_URL="https://apim.eu.cc"
export ANTHROPIC_AUTH_TOKEN="$APIM_API_KEY"
export ANTHROPIC_MODEL="gpt-5.6-luna"

curl(最小可运行)

Shell
curl https://apim.eu.cc/v1/chat/completions \
  -H "Authorization: Bearer $APIM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"hi"}]}'

直连自检脚本(Python,无依赖)

Python
import json, urllib.request

BASE, KEY, MODEL = "https://apim.eu.cc/v1", "sk-xxxxxxxx", "gpt-5.6-luna"

def get_models():
    req = urllib.request.Request(f"{BASE}/models",
                                headers={"Authorization": f"Bearer {KEY}"})
    return json.load(urllib.request.urlopen(req))["data"]

def chat(model, text):
    req = urllib.request.Request(
        f"{BASE}/chat/completions",
        data=json.dumps({"model": model,
                         "messages": [{"role": "user", "content": text}]}).encode(),
        headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
    )
    return json.load(urllib.request.urlopen(req))

print("可用模型:", [m["id"] for m in get_models()])
print("回复:", chat(MODEL, "只回复两个字:收到")["choices"][0]["message"]["content"])

文档版本 2026-09-25。中转站的模型、渠道与权限会不定期调整;出现行为不一致时,以 GET /v1/models 与站点控制台信息为准。