跳到主要内容

API 参考

Drawbridge 接受多种格式的请求。用你 SDK 所讲的任意 API 格式——OpenAI Chat CompletionsAnthropic MessagesOpenAI Responses。想接入编辑器?请参阅IDE 集成指南

受支持的格式

选择与你 SDK 匹配的格式——它们都用同一把密钥路由到相同的 Claude 模型。OpenAI 兼容格式与 Anthropic Messages API(Claude Code 所用)全都返回原生工具调用。统一的单 token 费率请见价格

SDK / 客户端端点鉴权Base URL状态
OpenAI Python/TS SDKPOST /v1/chat/completionsAuthorization: Bearerhttps://api.drawbridge-tech.com/v1可用
Anthropic Python/TS SDKPOST /v1/messagesx-api-key + anthropic-versionhttps://api.drawbridge-tech.com可用
OpenAI Responses APIPOST /v1/responsesAuthorization: Bearerhttps://api.drawbridge-tech.com/v1可用
curl / HTTP 客户端任意可用端点取决于端点见上文可用

鉴权

鉴权方式取决于你使用的格式:

  • Anthropic Messages API: x-api-key: <api-key> + anthropic-version: 2023-06-01
  • OpenAI 格式: Authorization: Bearer <api-key>

注册页面获取一把密钥。

端点

POST/v1/messages

Anthropic Messages API——创建一条消息(流式或非流式)。返回原生工具调用,已包含在你的密钥中。

请求体
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You are a helpful assistant.",
  "messages": [
    {"role": "user", "content": "Hello!"}
  ],
  "stream": true
}
响应
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "model": "claude-sonnet-4-6",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 8
  }
}
POST/v1/chat/completions

OpenAI Chat Completions API——创建一次聊天补全(流式或非流式)

请求体
{
  "model": "smart",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ],
  "stream": true,
  "temperature": 0.7
}
响应
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1716000000,
  "model": "smart",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 8,
    "total_tokens": 20
  }
}
POST/v1/responses

OpenAI Responses API——创建一个响应(流式或非流式)

请求体
{
  "model": "smart",
  "input": [
    {"role": "user", "content": "Hello!"}
  ],
  "instructions": "You are a helpful assistant.",
  "stream": true
}
响应
{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 1716000000,
  "model": "smart",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Hello! How can I help you today?"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 12,
    "output_tokens": 8,
    "total_tokens": 20
  }
}
GET/v1/models

列出可用模型

响应
{
  "object": "list",
  "data": [
    {
      "id": "smart",
      "type": "model",
      "display_name": "smart",
      "created_at": "2024-01-01T00:00:00Z"
    }
  ]
}
GET/health

健康检查端点(无需鉴权)

响应
{
  "status": "ok"
}

流式传输

所有 POST 端点都支持通过 Server-Sent Events 流式传输。在请求体中设置 "stream": true。SSE 格式与你所用的 API 格式相匹配:

OpenAI Chat Completions SSE
data: {"id":"chatcmpl-abc","choices":[{"delta":{"content":"Hello"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc","choices":[{"delta":{"content":"!"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc","choices":[{"delta":{},"finish_reason":"stop"}]}

data: [DONE]
Anthropic Messages SSE
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}}

event: message_stop
data: {"type":"message_stop"}

速率限制与并发

每把密钥都有并发上限。当同时在途的请求过多时,后续请求会返回 HTTP 429,并带有一个 Retry-After 头(单位:秒)——请退避并在该延迟后重试。

被限流请求的响应(HTTP 429):

Retry-After: 12

{"error":{"type":"rate_limit_error","message":"Too many pending requests, please retry later"}}