API 已上线

TokenDance Gateway

统一模型 API 网关的公开接入说明、凭据边界和正在产品化的能力。

它是什么

TokenDance Gateway / 词元跳动 API 网关提供统一模型 API 入口。开发者和 Agent 可以把 OpenAI-compatible SDK 的 base URL 指向 Gateway,并使用 TokenDance API key 调用模型。

Gateway 的公开产品化目标是让密钥、额度、用量、模型列表、常见错误和 SDK 示例变成可读、可治理、可审计的产品体验。

凭据边界

凭据用途不能做什么
TokenDance API key 调用 https://api.vectorcontrol.tech/v1 模型 API 不能登录 TokenDance ID 或管理后台
TokenDance ID session 浏览器登录、管理面身份、低风险个性化 不能直接当作模型 API bearer token
Provider upstream key 仅在受控服务端使用 不能出现在公开文档、前端代码或卡片 payload

实现名称不是公开产品名

公开页面统一使用 TokenDance Gateway / 词元跳动 API 网关。NewAPI、MetAPI、Codex2API、Portal、mihomo proxy-gateway 等名称只用于说明内部实现或运行组件,不能作为面向用户的产品品牌堆在公开导航、标题或营销文案里。

需要解释实现边界时,可以写“Gateway 由多个受控运行组件支撑”,但不要暴露私有部署路径、主机名、上游 key、管理 token、数据库路径或回滚命令。

OpenAI-compatible 调用

下面是公开安全示例。真实 key 只应来自受控密钥发放流程,模型名以当前可访问模型为准。

curl
curl https://api.vectorcontrol.tech/v1/chat/completions \
  -H "Authorization: Bearer $TOKENDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-model",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

快速接入

  • 确认你拿到的是 TokenDance API key,而不是 TokenDance ID access token。
  • 把 SDK base URL 指向 https://api.vectorcontrol.tech/v1。
  • 先调用 models 或最小 chat completions 请求确认 key、模型名和网络路径可用。
  • 把 key 放在服务端 secret store、本地环境变量或受控 CI secret 中,不放前端 bundle。
  • 记录 request id、模型名、状态码和错误码,便于支持排查。

环境变量约定

变量用途公开文档要求
TOKENDANCE_API_KEY TokenDance Gateway 模型 API 调用凭据 只展示变量名,不展示真实值
TOKENDANCE_BASE_URL OpenAI-compatible base URL,默认 https://api.vectorcontrol.tech/v1 可写默认 URL;不要写内部网关或管理面地址
TOKENDANCE_MODEL 调用时使用的模型名或别名 公开示例使用 your-model;真实模型清单以受控发布为准
TOKENDANCE_REQUEST_ID 支持排查时记录的请求 id 可在 issue 中提供脱敏 request id,不贴完整 provider payload

最小验证请求

接入时先跑只读或低成本请求,确认 key、base URL、模型名和网络路径正确,再接入 Agent、CI 或后端服务。

powershell
$env:TOKENDANCE_BASE_URL = "https://api.vectorcontrol.tech/v1"
curl.exe "$env:TOKENDANCE_BASE_URL/models" -H "Authorization: Bearer $env:TOKENDANCE_API_KEY"

Node / TypeScript SDK 示例

Gateway 兼容 OpenAI SDK 的 baseURL 配置。公开文档只展示环境变量名,不展示真实 key 或组织内部模型名。

typescript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.TOKENDANCE_API_KEY,
  baseURL: "https://api.vectorcontrol.tech/v1",
});

const result = await client.chat.completions.create({
  model: process.env.TOKENDANCE_MODEL ?? "your-model",
  messages: [{ role: "user", content: "Hello from TokenDance Gateway" }],
});

console.log(result.choices[0]?.message?.content);

Python SDK 示例

Python 侧同样使用 OpenAI-compatible client。应用应在服务端读取环境变量,不要把 key 打包进前端或提交到仓库。

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKENDANCE_API_KEY"],
    base_url="https://api.vectorcontrol.tech/v1",
)

response = client.chat.completions.create(
    model=os.environ.get("TOKENDANCE_MODEL", "your-model"),
    messages=[{"role": "user", "content": "Hello from TokenDance Gateway"}],
)

print(response.choices[0].message.content)

面向 Agent 工作负载的配置

客户端建议配置注意事项
AgentHub 在 Runtime adapter 或受控服务端配置 Gateway base URL 和 API key Desktop/Web 不保存模型 key;Hub session 不是模型 API key
Codex / Claude Code 风格 CLI 使用 OpenAI-compatible base URL 与本地环境变量 不要把 key 写进项目配置文件、issue、截图或日志
TokenDanceCode 优先通过环境变量连接 Gateway,作为实验性 CLI 验证入口 OpenAI provider 映射已存在;CLI 自动选择仍不作为默认承诺
CI / automation 使用受控 CI secret 注入 `TOKENDANCE_API_KEY` 不要把真实响应、prompt、文件路径原样复制到公开文档

模型、错误和状态

主题公开文档当前承诺正在完善
Models Gateway 以 OpenAI-compatible API 暴露模型调用入口 公开模型列表、模型别名、上下文长度和可用性说明
Errors 错误应包含稳定 code、message 和 request id 常见 provider、额度、限流、鉴权错误码表
Rate limits 额度和限流由 Gateway 统一治理 每 key、每用户、每组织的可见额度和重置时间
Status API 已上线,产品化文档持续完善 公开状态页、provider 健康和降级语义

常见错误码方向

错误类型读者应该先检查文档状态
鉴权失败 Authorization header、key 是否属于 TokenDance Gateway、是否误用了 TokenDance ID access token 错误码表完善中
模型不存在 model 名称、模型别名、是否对当前 key 开放 公开模型列表完善中
额度或限流 key 所属团队、额度、重置窗口、并发请求 额度视图完善中
Provider 降级 request id、时间、模型名、是否有降级或重试 状态语义完善中
请求格式错误 OpenAI-compatible payload、messages、tools、stream 参数 SDK 示例持续补齐

支持排查时提供什么

  • 请求时间、HTTP 状态码、错误 code、request id 和模型名。
  • SDK 名称与版本、base URL 是否为 https://api.vectorcontrol.tech/v1。
  • 是否使用 TokenDance API key;不要贴真实 key、完整 Authorization header 或 provider 原始响应。
  • 如果来自 AgentHub、TokenDanceCode、CI 或自动化任务,说明客户端类型和脱敏任务场景。

Key 管理原则

  • 每个 key 应有用途、owner、额度和轮换责任。
  • 服务端应用使用 secret store;本地 CLI 使用本机环境变量;CI 使用受控 CI secret。
  • 前端页面、浏览器 sessionStorage/localStorage、公开仓库、公开 issue 和截图都不能保存真实 key。
  • 怀疑泄漏时先轮换 key,再清理日志和截图,不要只删除公开页面。

获取访问

公开站点不发放真实 API key。TokenDance API key 应通过受控发放流程获取,并按团队、用途和额度登记。TokenDance ID 登录只证明人或组织身份,不等于模型 API 调用凭据。

正在完善

  • 公开 models、限流、常见错误和 SDK 示例。
  • API key 发放、轮换、额度、用量查询和团队归属文档。
  • 状态语义、管理入口和 TokenDance ID 登录边界说明。
  • 面向 AgentHub、Codex、Claude Code 等 Agent 工作负载的推荐配置。