深色模式
开发接入示例
本页提供多种编程语言调用 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 $bodyResponses 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 $bodyChat 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 $bodyClaude / 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 $bodyPython
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 计费上相同
- 请求成功后可在 使用记录 查看详细消费