API 文档

ApiLink 是一个即插即用的兼容 OpenAI 接口的 AI 网关。通过单一接口访问 OpenAI、Anthropic、Google、DeepSeek、Qwen 等供应商的模型。

快速开始

控制台获取 API Key,然后在任何兼容 OpenAI 的客户端中替换 OPENAI_BASE_URLOPENAI_API_KEY

typescript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey:  "al-your-key-here",          // 您的 ApiLink API Key
  baseURL: "https://apilink.io/v1",
});

const response = await client.chat.completions.create({
  model:    "anthropic/claude-sonnet-4.6",  // 从 /v1/models 获取可用模型列表
  messages: [{ role: "user", content: "你好!" }],
});

console.log(response.choices[0].message.content);
python
from openai import OpenAI

client = OpenAI(
    api_key  = "al-your-key-here",
    base_url = "https://apilink.io/v1",
)

response = client.chat.completions.create(
    model    = "openai/gpt-5.2",
    messages = [{"role": "user", "content": "你好!"}],
)
print(response.choices[0].message.content)

身份验证

所有请求需在 Authorization 请求头中携带 Bearer Token。ApiLink 的 Key 始终以 al- 开头。

bash
curl https://apilink.io/v1/chat/completions \
  -H "Authorization: Bearer al-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{"model":"anthropic/claude-sonnet-4.6","messages":[{"role":"user","content":"你好"}]}'
控制台 → API Keys 中创建和管理您的 Key。每个 Key 可独立撤销。

接口列表

方法路径说明
POST/v1/chat/completions对话补全 — 支持流式和非流式输出
POST/v1/embeddings文本向量化 — 返回 float 向量数组
POST/v1/responsesOpenAI Responses API — Codex CLI 使用此接口
GET/v1/models获取全部可用模型及定价
所有接口使用相同的 Authorization: Bearer al-... 请求头,从同一个余额账户扣费。

查询模型

通过 API 获取完整的可用模型列表:

bash
curl https://apilink.io/v1/models \
  -H "Authorization: Bearer al-your-key-here"
json
{
  "object": "list",
  "data": [
    {
      "id":             "anthropic/claude-sonnet-4.6",
      "object":         "model",
      "owned_by":       "anthropic",
      "context_window": 200000
    },
    {
      "id":             "openai/gpt-5.2",
      "object":         "model",
      "owned_by":       "openai",
      "context_window": 128000
    }
  ]
}

也可在模型页面浏览完整定价列表。

向量 Embedding

将文本转换为浮点向量,用于语义搜索、RAG 知识库、内容聚类等场景。支持任何 OpenAI 兼容的 Embedding 模型。

typescript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey:  "al-your-key-here",
  baseURL: "https://apilink.io/v1",
});

const response = await client.embeddings.create({
  model: "openai/text-embedding-3-small",
  input: "快速的棕色狐狸跳过了懒惰的狗",
});

console.log(response.data[0].embedding); // float[] — 1536 维
python
from openai import OpenAI

client = OpenAI(
    api_key  = "al-your-key-here",
    base_url = "https://apilink.io/v1",
)

response = client.embeddings.create(
    model = "openai/text-embedding-3-small",
    input = "快速的棕色狐狸跳过了懒惰的狗",
)
print(response.data[0].embedding)  # list[float]
参数类型说明
modelstring模型 ID,从 /v1/models 获取
inputstring | string[]待向量化的文本。传入数组可批量处理多段文本
encoding_formatstring可选。"float"(默认)或 "base64"
dimensionsnumber可选。降低输出维度(取决于模型支持)
Embedding 只计算输入 Token,没有输出 Token 费用。定价见模型页面

Responses API

ApiLink 支持 OpenAI Responses API——Codex CLI、Agents SDK 等 OpenAI 新工具使用的接口格式。无需修改 API Key,只需设置 base URL 即可直接使用。

bash
# Codex CLI — 只需设置两个环境变量
export OPENAI_API_KEY="al-your-key-here"
export OPENAI_BASE_URL="https://apilink.io/v1"

codex "重构这个函数,使用 async/await"
typescript
// 直接调用 Responses API
const response = await fetch("https://apilink.io/v1/responses", {
  method:  "POST",
  headers: {
    "Authorization": "Bearer al-your-key-here",
    "Content-Type":  "application/json",
  },
  body: JSON.stringify({
    model:        "anthropic/claude-sonnet-4.6",
    input:        "写一首关于递归的俳句。",
    instructions: "你是一位富有创意的诗人。",  // 可选系统提示
    stream:       false,
  }),
});

const data = await response.json();
console.log(data.output[0].content[0].text);
参数类型说明
modelstring模型 ID,从 /v1/models 获取
inputstring | 数组用户消息(字符串或消息对象数组)
instructionsstring可选。系统提示(System Prompt)
max_output_tokensnumber可选。最大生成 Token 数
streamboolean可选。设为 true 开启 SSE 流式输出
temperaturenumber可选。采样温度(0–2)
Responses API 的响应结构与 Chat Completions 不同——文本在 output[0].content[0].text,而不是 choices[0].message.content

错误码

HTTPerror.type原因
401invalid_request_errorAPI Key 缺失或无效
402insufficient_quota余额为 $0.00,请在控制台充值
404invalid_request_error模型不存在或未上线
429rate_limit_exceeded超出限流(默认每 Key 每分钟 60 次)
500api_error内部服务器错误
503api_error所有上游供应商不可用,请稍后重试

每个错误响应都包含 request_id 字段,联系客服时请提供:

json
{
  "error": {
    "message":    "Insufficient balance. Recharge at https://apilink.io/dashboard",
    "type":       "insufficient_quota",
    "request_id": "3f7a2b1c-..."
  }
}

限流说明

限制项数值作用范围
每分钟请求数60 RPM每个 API Key
单次请求超时120 秒每次请求
最大上下文取决于模型(最高 1M Token)每次请求

每个响应都包含限流响应头,方便客户端自动追踪用量:

bash
X-RateLimit-Limit-Requests:     60
X-RateLimit-Remaining-Requests: 58
X-RateLimit-Reset-Requests:     42s
需要更高的限流配额?请联系 support@apilink.io,企业版方案可定制。

计费与余额

ApiLink 采用预付费余额模式。每次请求根据实际 Token 用量扣除余额。

项目说明
计费单位每千 Token(输入和输出分别计费)
最低充值$5 美元
余额有效期永久有效,不过期
收据每笔充值完成后可下载(控制台 → 充值记录)
发票发邮件至 support@apilink.io 并附公司信息
各模型详细定价见模型页面,价格以每百万 Token 展示。

客户端接入指南

Codex CLI

设置两个环境变量即可——Codex 使用 Responses API,ApiLink 完整支持:

bash
export OPENAI_API_KEY="al-your-key-here"
export OPENAI_BASE_URL="https://apilink.io/v1"

codex "帮我重构这个函数"
Cursor

Settings → Models → OpenAI API Key → 粘贴您的 al-... Key。在「Base URL」中填入:

bash
Base URL: https://apilink.io/v1
Continue(VS Code 插件)

在 config.json 中添加 openai 类型的 provider,配置 baseUrl 和 apiKey:

json
{
  "models": [{
    "title":       "Claude via ApiLink",
    "provider":    "openai",
    "model":       "anthropic/claude-sonnet-4.6",
    "apiKey":      "al-your-key-here",
    "apiBase":     "https://apilink.io/v1"
  }]
}
Aider

在命令行传入 --openai-api-base 和 --openai-api-key,或设置环境变量:

bash
aider \
  --openai-api-base https://apilink.io/v1 \
  --openai-api-key  al-your-key-here \
  --model           anthropic/claude-sonnet-4.6
LiteLLM

在模型名称前加 openai/ 前缀:

python
import litellm

response = litellm.completion(
    model     = "openai/anthropic/claude-sonnet-4.6",
    messages  = [{"role": "user", "content": "你好"}],
    api_key   = "al-your-key-here",
    api_base  = "https://apilink.io/v1",
)

常见问题

ApiLink 是官方渠道还是转售商?
ApiLink 是转售商。我们将您的请求路由到上游供应商(OpenAI、Anthropic、Google 等),按我们公示的价格计费。我们与任何上游供应商均无隶属关系。
支持哪些 OpenAI 功能?
支持 Chat Completions(含流式输出)、Embeddings(/v1/embeddings)以及 OpenAI Responses API(/v1/responses,Codex CLI 使用该接口)。图像生成、语音、Assistants API、Fine-tuning 暂不支持。
可以开具发票吗?
可以。每笔充值完成后可在「控制台 → 充值记录」下载收据。如需正式发票,请发邮件至 support@apilink.io 并附上公司信息,我们会手动处理。
余额用完后请求会怎样?
我们会在转发请求前预扣预估金额。若余额不足,请求会直接返回 402 错误,不会到达上游供应商,不会产生任何费用。
账单有问题怎么办?
每个 API 响应都包含 X-Request-Id 响应头。请携带该 ID 发邮件至 support@apilink.io,我们会调查核实。
我的数据会被存储吗?
我们记录请求元数据(模型名称、Token 数量、费用、时间戳)用于计费和调试。不存储 Prompt 或 Completion 的具体内容。详见隐私政策。
还有其他问题?
我们通常在几小时内回复。
联系支持 →