Skip to content

开发接入示例

本页提供多种编程语言调用 Drivecode API 的完整代码示例。

所有示例均从环境变量读取 API Key,不在源码中硬编码密钥。模型名称使用 <MODEL_ID> 占位,请从 /v1/models 接口获取实际可用的模型 ID 后替换。

示例已按 2026-07-24 的 Anthropic 与 OpenAI 官方 SDK 请求结构核验。中转站模型会动态变化,因此保留 <MODEL_ID> 占位,不把官方模型名硬编码为中转站一定可用的模型。

查询可用模型:

powershell
curl.exe https://fast.drivecode.top/v1/models `
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx"

Windows PowerShell + curl.exe

Responses API(推荐 — 新项目首选)

powershell
$env:API_KEY = "sk-xxxxxxxxxxxxxxxx"

$body = @{
    model = "<MODEL_ID>"
    input = "介绍一下量子计算"
    max_output_tokens = 500
} | ConvertTo-Json -Depth 10 -Compress

curl.exe https://fast.drivecode.top/v1/responses `
  -H "Authorization: Bearer $env:API_KEY" `
  -H "Content-Type: application/json" `
  -d $body

Responses API(流式)

powershell
$env:API_KEY = "sk-xxxxxxxxxxxxxxxx"

$body = @{
    model = "<MODEL_ID>"
    input = "介绍一下量子计算"
    max_output_tokens = 500
    stream = $true
} | ConvertTo-Json -Depth 10 -Compress

curl.exe https://fast.drivecode.top/v1/responses `
  -H "Authorization: Bearer $env:API_KEY" `
  -H "Content-Type: application/json" `
  -d $body

Chat Completions(仍受支持,新项目不建议作为首选)

powershell
$env:API_KEY = "sk-xxxxxxxxxxxxxxxx"

$body = @{
    model = "<MODEL_ID>"
    messages = @(
        @{ role = "user"; content = "介绍一下量子计算" }
    )
    max_completion_tokens = 500
} | ConvertTo-Json -Depth 10 -Compress

curl.exe https://fast.drivecode.top/v1/chat/completions `
  -H "Authorization: Bearer $env:API_KEY" `
  -H "Content-Type: application/json" `
  -d $body

Claude / Anthropic 协议(非流式)

powershell
$env:API_KEY = "sk-xxxxxxxxxxxxxxxx"

$body = @{
    model = "<MODEL_ID>"
    max_tokens = 1024
    messages = @(
        @{ role = "user"; content = "介绍一下量子计算" }
    )
} | ConvertTo-Json -Depth 10 -Compress

curl.exe https://fast.drivecode.top/v1/messages `
  -H "x-api-key: $env:API_KEY" `
  -H "anthropic-version: 2023-06-01" `
  -H "Content-Type: application/json" `
  -d $body

Python

Responses API(推荐)

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("DRIVECODE_API_KEY"),
    base_url="https://fast.drivecode.top/v1",
    timeout=120.0,
)

response = client.responses.create(
    model="<MODEL_ID>",
    input="介绍一下量子计算",
    max_output_tokens=500,
)

print(response.output_text)

Responses API(流式)

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("DRIVECODE_API_KEY"),
    base_url="https://fast.drivecode.top/v1",
    timeout=120.0,
)

with client.responses.stream(
    model="<MODEL_ID>",
    input="介绍一下量子计算",
    max_output_tokens=500,
) as stream:
    for event in stream:
        if event.type == "response.output_text.delta":
            print(event.delta, end="", flush=True)

Chat Completions(仍受支持)

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("DRIVECODE_API_KEY"),
    base_url="https://fast.drivecode.top/v1",
    timeout=120.0,
)

response = client.chat.completions.create(
    model="<MODEL_ID>",
    messages=[{"role": "user", "content": "介绍一下量子计算"}],
    max_completion_tokens=500,
)

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

Anthropic SDK(非流式)

python
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get("DRIVECODE_API_KEY"),
    base_url="https://fast.drivecode.top",
    timeout=120.0,
)

response = client.messages.create(
    model="<MODEL_ID>",
    max_tokens=1024,
    messages=[{"role": "user", "content": "介绍一下量子计算"}],
)

print(response.content[0].text)

Anthropic SDK(流式)

python
import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get("DRIVECODE_API_KEY"),
    base_url="https://fast.drivecode.top",
    timeout=120.0,
)

with client.messages.stream(
    model="<MODEL_ID>",
    max_tokens=1024,
    messages=[{"role": "user", "content": "介绍一下量子计算"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Node.js

Responses API(推荐)

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.DRIVECODE_API_KEY,
  baseURL: 'https://fast.drivecode.top/v1',
  timeout: 120000,
});

const response = await client.responses.create({
  model: '<MODEL_ID>',
  input: '介绍一下量子计算',
  max_output_tokens: 500,
});

console.log(response.output_text);

Chat Completions(仍受支持)

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.DRIVECODE_API_KEY,
  baseURL: 'https://fast.drivecode.top/v1',
  timeout: 120000,
});

const response = await client.chat.completions.create({
  model: '<MODEL_ID>',
  messages: [{ role: 'user', content: '介绍一下量子计算' }],
  max_completion_tokens: 500,
});

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

Anthropic SDK(非流式)

javascript
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: process.env.DRIVECODE_API_KEY,
  baseURL: 'https://fast.drivecode.top',
  timeout: 120000,
});

const response = await client.messages.create({
  model: '<MODEL_ID>',
  max_tokens: 1024,
  messages: [{ role: 'user', content: '介绍一下量子计算' }],
});

console.log(response.content[0].text);

安全建议

不要把 API Key 写死在代码中

所有示例均从环境变量读取 API Key。在生产环境中,使用密钥管理服务或配置中心,不要提交到代码仓库。


错误处理建议

python
import os
from openai import OpenAI, APIConnectionError, APIStatusError, RateLimitError

client = OpenAI(
    api_key=os.environ.get("DRIVECODE_API_KEY"),
    base_url="https://fast.drivecode.top/v1",
    timeout=120.0,
)

try:
    response = client.chat.completions.create(
        model="<MODEL_ID>",
        messages=[{"role": "user", "content": "hello"}],
    )
    print(response.choices[0].message.content)
except RateLimitError:
    print("请求频率超限,请稍后重试")
except APIConnectionError:
    print("网络连接失败")
except APIStatusError as e:
    print(f"API 错误:HTTP {e.status_code},request_id={e.request_id}")

提醒

  • 模型名称必须从 /v1/models 接口获取,不要使用文档示例中的占位模型
  • 超时时间建议设置为 ≥ 120 秒,避免长响应中途断开
  • 流式请求和非流式请求在 Token 计费上相同
  • 请求成功后可在 使用记录 查看详细消费

官方参考

本文档仅供 Drivecode API 用户参考,不代表任何 AI 模型服务商官方立场。