API 文档
开始 鉴权 对话 错误码 控制台 ↗

TransToken API 文档

统一的大模型 API 网关。一个密钥,一套协议,接入多家上游模型服务。

简介

TransToken 对外提供 OpenAI 兼容 与 Anthropic 兼容 两套接口。你现有的 SDK 或客户端,通常只需替换 base_url 与 api_key 即可接入,无需改动业务代码。

兼容性说明:所有 OpenAI 官方 SDK(Python / Node / Go / Java)均可直接指向本网关;Anthropic 官方 SDK 请把 base_url 指向同一地址,并使用 /v1/messages 端点。

服务地址

用途Base URL
API 网关(OpenAI 兼容)https://api.transtoken.shop/v1
API 网关(Anthropic 兼容)https://api.transtoken.shop
管理控制台https://api.transtoken.shop
注意:OpenAI SDK 的 base_url 需要包含 /v1;Anthropic SDK 的 base_url 不要带 /v1(SDK 会自行拼接)。

快速开始

三步完成第一次调用:

  1. 登录控制台,在 令牌 页面创建一个 API Key。
  2. 复制 Key(形如 sk-...),妥善保存——它只会完整显示一次。
  3. 用下面的命令发起第一个请求。
curl https://api.transtoken.shop/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TRANSTOKEN_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "用一句话解释什么是 API 网关"}
    ]
  }'

成功时会返回:

{
  "id": "chatcmpl-8f3a...",
  "object": "chat.completion",
  "created": 1758102400,
  "model": "gpt-4o-mini",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "API 网关是..." },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 18,
    "completion_tokens": 42,
    "total_tokens": 60
  }
}

鉴权方式

所有接口使用 Bearer Token 鉴权,在请求头中携带:

Authorization: Bearer sk-xxxxxxxxxxxxxxxx
情况HTTP 状态说明
未携带请求头401缺少 Authorization
Key 无效或已删除401令牌不存在
Key 已过期401令牌超过有效期
额度不足403账户或令牌余额耗尽
安全建议:API Key 等同于账户凭证。请放在服务端环境变量中,不要写进前端代码、提交到 Git 仓库,或贴进聊天窗口。

列出模型

GET/v1/models

返回当前账号可用的模型列表。

curl https://api.transtoken.shop/v1/models \
  -H "Authorization: Bearer $TRANSTOKEN_API_KEY"
{
  "object": "list",
  "data": [
    { "id": "gpt-4o-mini", "object": "model", "owned_by": "openai" },
    { "id": "claude-sonnet-4-5", "object": "model", "owned_by": "anthropic" }
  ]
}

对话补全

POST/v1/chat/completions

核心接口。兼容 OpenAI Chat Completions 协议,支持多轮对话、函数调用、多模态输入。

请求参数

字段类型必填说明
modelstring是模型 ID,见 /v1/models
messagesarray是消息列表,元素含 role 与 content
temperaturenumber否采样温度,0–2,默认 1
top_pnumber否核采样,默认 1
max_tokensinteger否生成的最大 token 数
streamboolean否是否流式返回,默认 false
stopstring / array否停止词,最多 4 个
toolsarray否函数调用定义
userstring否终端用户标识,用于风控与统计

messages 的 role

role说明
system系统提示词,设定模型行为
user用户输入
assistant模型回复(多轮对话时回填)
tool函数调用结果

流式输出

设置 stream: true 后,服务端以 text/event-stream 逐块推送,每行以 data: 开头,以 data: [DONE] 结束。

curl -N https://api.transtoken.shop/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TRANSTOKEN_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role":"user","content":"写一首关于秋天的短诗"}],
    "stream": true
  }'
data: {"choices":[{"delta":{"content":"秋风"}}]}

data: {"choices":[{"delta":{"content":"起,落叶"}}]}

data: [DONE]
提示:流式输出务必使用 curl -N(关闭缓冲)或客户端的事件流解析,否则会等到全部结束才显示。

Anthropic 兼容接口

POST/v1/messages

供 Anthropic 官方 SDK 或 Claude Code 类客户端使用。字段遵循 Anthropic Messages API 规范。

curl https://api.transtoken.shop/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: $TRANSTOKEN_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [{"role":"user","content":"你好"}]
  }'
两种鉴权都支持:此端点同时接受 x-api-key 与 Authorization: Bearer,按你的客户端习惯任选其一。

向量嵌入

POST/v1/embeddings

把文本转成向量,用于语义检索、聚类、RAG。

curl https://api.transtoken.shop/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TRANSTOKEN_API_KEY" \
  -d '{
    "model": "text-embedding-3-small",
    "input": ["第一段文本", "第二段文本"]
  }'

图像生成

POST/v1/images/generations
curl https://api.transtoken.shop/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TRANSTOKEN_API_KEY" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "一只在雨中打伞的橘猫,水彩风格",
    "size": "1024x1024"
  }'

公共参数与请求头

请求头说明
AuthorizationBearer sk-...,OpenAI 系接口必需
x-api-keyAnthropic 系接口可用
Content-Type固定 application/json
anthropic-versionAnthropic 接口必需,如 2023-06-01

错误码

错误返回体统一为:

{
  "error": {
    "message": "具体错误描述",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}
状态码含义处理建议
400请求参数错误检查 JSON 结构、必填字段、模型名
401鉴权失败检查 Key 是否正确、是否过期
403无权访问 / 额度不足检查账户余额与令牌权限
404模型或路径不存在调用 /v1/models 确认可用模型
429请求过于频繁按返回的等待时间退避重试
500服务端内部错误稍后重试,持续失败请联系支持
502 / 504上游不可达或超时重试;若持续,等待上游恢复

限流说明

示例:cURL

export TRANSTOKEN_API_KEY="sk-你的密钥"

curl https://api.transtoken.shop/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TRANSTOKEN_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role":"user","content":"你好,请自我介绍一下"}]
  }'

示例:Python

from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://api.transtoken.shop/v1",
)

resp = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "你是一个简洁的助手"},
        {"role": "user", "content": "解释一下什么是 token"},
    ],
)

print(resp.choices[0].message.content)
print(resp.usage.total_tokens)

流式:

with client.chat.completions.stream(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "写一段 200 字的散文"}],
) as stream:
    for event in stream:
        if event.type == "content.delta":
            print(event.delta, end="", flush=True)

示例:Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.TRANSTOKEN_API_KEY,
  baseURL: "https://api.transtoken.shop/v1",
});

const resp = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "你好" }],
});

console.log(resp.choices[0].message.content);
需要更多帮助? 登录 控制台 查看用量与账单;接口异常请带上 X-Oneapi-Request-Id 响应头反馈,便于定位。

© 2026 TransToken. 版权所有。