Models
概述
ToProuter AI 提供了兼容 OpenAI 格式的模型列表 API,支持获取平台上所有可用的 AI 模型信息。该 API 遵循 OpenAI 标准格式,便于开发者快速集成。
基础信息
- 基础 URL:
https://api.toprouter.ai - API 版本: v1
- 协议: HTTPS
- 数据格式: JSON
接口详情
获取模型列表
获取平台上所有可用的 AI 模型列表。
请求信息
GET /api/openai/v1/models
请求头
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
请求参数
无需请求参数。
响应格式
成功响应 (200 OK)
{
"data": [
{
"id": "模型唯一标识符",
"object": "model",
"created": 1759201305,
"owned_by": "topai",
"permission": [],
"root": "模型根名称",
"parent": null
}
]
}
响应字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| data | array | 模型信息数组 |
| data[].id | string | 模型的唯一标识符,用于 API 调用时指定模型 |
| data[].created | integer | 模型创建时间戳(Unix 时间戳) |
| data[].owned_by | string | 模型所有者,固定为 "topai" |
| data[].permission | array | 模型权限列表(当前为空数组) |
| data[].root | string | 模型根名称,通常与 id 相同 |
| data[].parent | null | 父模型(当前均为 null) |
可用模型列表
支持的模型可在模型列表查看。
Claude 系列模型
| 模型 ID | 模型类型 | 说明 |
|---|---|---|
| claude-opus-4-1-20250805 | Claude Opus 4.1 | Claude 最新旗舰模型 |
| claude-sonnet-4-5-20250929 | Claude Sonnet 4.5 | Claude 高性能模型 |
| claude-opus-4-20250514 | Claude Opus 4 | Claude Opus 系列 |
| claude-sonnet-4-20250514 | Claude Sonnet 4 | Claude Sonnet 系列 |
| claude-3-7-sonnet | Claude 3.7 Sonnet | Claude 3.7 系列 |
| claude-3-5-haiku | Claude 3.5 Haiku | Claude 轻量级模型 |
| claude-3-5-sonnet-v2 | Claude 3.5 Sonnet V2 | Claude 3.5 改进版 |
| claude-3-5-sonnet | Claude 3.5 Sonnet | Claude 3.5 标准版 |
| claude-3-haiku | Claude 3 Haiku | Claude 3 轻量级模型 |
| claude-haiku-4-5-20251001-v1 | Claude Haiku 4.5 | Claude 最新轻量级模型 |
GPT 系列模型
| 模型 ID | 模型类型 | 说明 |
|---|---|---|
| gpt-oss-120b | GPT OSS 120B | 大型开源 GPT 模型 |
| gpt-oss-20b | GPT OSS 20B | 中型开源 GPT 模型 |
使用示例
cURL 示例
curl -X GET "https://api.toprouter.ai/api/openai/v1/models" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
Python 示例
import requests
import json
def get_models():
url = "https://api.toprouter.ai/api/openai/v1/models"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
models = response.json()
print("可用模型列表:")
for model in models['data']:
print(f"- {model['id']}")
return models
else:
print(f"请求失败: {response.status_code}")
return None
# 使用示例
models = get_models()
JavaScript/Node.js 示例
const axios = require('axios');
async function getModels() {
try {
const response = await axios.get('https://api.toprouter.ai/api/openai/v1/models', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
console.log('可用模型列表:');
response.data.data.forEach(model => {
console.log(`- ${model.id}`);
});
return response.data;
} catch (error) {
console.error('请求失败:', error.response?.status || error.message);
return null;
}
}
// 使用示例
getModels();
使用 OpenAI SDK
from openai import OpenAI
# 初始化客户端,使用自定义 base_url
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.toprouter.ai/api/openai/v1"
)
# 获取模型列表
models = client.models.list()
print("可用模型列表:")
for model in models.data:
print(f"- {model.id}")
最佳实践
1. API 密钥管理
- 将 API 密钥存储在环境变量中,不要硬编码在代码中
- 定期轮换 API 密钥
- 限制 API 密钥的访问权限
2. 请求优化
- 实现请求重试机制,处理临时网络错误
- 使用合适的超时设置
- 缓存模型列表结果,避免频繁请求
3. 错误处理
- 实现完整的错误处理逻辑
- 记录错误日志用于调试
- 为用户提供友好的错误提示
技术支持
如有问题或需要技术支持,请联系: