API 调用
先确认模型使用的协议
新版首页和模型服务支持多种兼容协议。请先在 模型广场 确认模型名称和能力,再选择对应接口。
| 协议 | Base URL | 请求路径 | 认证方式 |
|---|---|---|---|
| OpenAI Chat Completions | https://www.fastapi.cool/v1 | /chat/completions | Authorization: Bearer |
| OpenAI Responses | https://www.fastapi.cool/v1 | /responses | Authorization: Bearer |
| Claude Messages | https://www.fastapi.cool | /v1/messages | x-api-key |
| Gemini | https://www.fastapi.cool | /v1beta/models/{model}:generateContent | x-goog-api-key |
WARNING
并非每个模型都同时支持四种协议。模型名称正确但接口不兼容时,可能返回 404 或协议转换错误。
新版协议转换层已增强 OpenAI Chat、Responses、Claude 和 Gemini 之间的兼容处理,并补充 DeepSeek 与 GLM 渠道的 Responses 支持。Ollama 渠道可将 Claude Messages 透传到上游 /v1/messages,并透传 OpenAI Responses 与 Responses Compact;vLLM 兼容请求会保留 thinking_token_budget。Chat 与 Responses 互转时会保留显式的 frequency_penalty、presence_penalty(包括 0)和 prompt_cache_key;但具体上游仍可拒绝不支持的字段,Codex 渠道会主动移除其不接受的 penalty。未传工具时,Claude 转换不会发送空的 tools 数组;工具存在但没有参数定义时,则会保留该工具,并补成有效的空对象输入结构,避免函数被静默丢弃。是否能够使用某种协议仍取决于具体模型与后台渠道配置,不能仅根据模型厂商名称判断。
OpenAI SDK
Python
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://www.fastapi.cool/v1",
)
response = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "你好"}],
)
print(response.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://www.fastapi.cool/v1",
});
const response = await client.chat.completions.create({
model: "MODEL_ID",
messages: [{ role: "user", content: "你好" }],
});
console.log(response.choices[0].message.content);Responses API
curl https://www.fastapi.cool/v1/responses \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"input": "你好,请用一句话介绍你自己。"
}'Claude Messages
curl https://www.fastapi.cool/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "你好"}
]
}'Gemini
curl "https://www.fastapi.cool/v1beta/models/MODEL_ID:generateContent" \
-H "x-goog-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{"parts": [{"text": "你好"}]}
]
}'常用接口
| 用途 | 路径 |
|---|---|
| OpenAI Chat Completions | /v1/chat/completions |
| OpenAI Responses | /v1/responses |
| 模型列表 | /v1/models |
| Claude Messages | /v1/messages |
| Embeddings | /v1/embeddings |
| 图片生成 | /v1/images/generations |
| OpenAI Video 创建 | /v1/videos |
| OpenAI Video 查询 | /v1/videos/{task_id} |
| 通用插件任务创建 | /v1/tasks/{plugin_key} |
| 通用插件任务查询 | /v1/tasks/{task_id} |
| 任务产物清单 | /v1/tasks/{task_id}/artifacts |
| 语音合成 | /v1/audio/speech |
| 语音转文字 | /v1/audio/transcriptions |
| Gemini | /v1beta/models/{model}:generateContent |
不同模型支持的接口和参数可能不同,请以模型广场及对应模型官方 API 规范为准。首次接入可先在 游乐场 测试,再到 使用日志 核对请求。
GET /v1/models 会根据认证格式返回对应协议的模型列表:Bearer Token 返回 OpenAI 风格的 data,x-goog-api-key 请求头或 ?key= 查询参数返回 Gemini 风格的 models。
任务插件可声明厂商原生路由、OpenAI Responses(流式、同步或后台模式)和 OpenAI Video 协议。只有当前已启用插件明确声明并绑定到所选模型的协议才会接管对应请求;通用 /v1/tasks/{plugin_key} 创建接口返回公开任务 ID,之后可通过任务查询与产物接口读取状态和输出。请求参数校验失败会返回 HTTP 400,不应当按服务端故障重试。
流式响应
兼容 OpenAI 流式输出的模型可在请求中加入:
{
"stream": true
}请求结束后可在 使用日志 查看流式状态。如果客户端提前断开、上游流未正常结束或请求失败,日志中的流状态和错误信息可用于区分问题发生位置。
认证格式
OpenAI 兼容接口使用 Bearer Token:
Authorization: Bearer YOUR_API_KEYClaude 与 Gemini 原生兼容接口分别使用 x-api-key 和 x-goog-api-key,如上方示例所示。