Skip to content

Models API(模型列表)

列出所有可用模型,获取模型信息。


📋 基本信息

请求地址

http
GET https://api.nextapi.pro/v1/models

认证方式

http
Authorization: Bearer sk-你的密钥

📝 请求参数

无需请求参数。


📤 响应格式

成功响应

json
{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o-mini",
      "object": "model",
      "created": 1721172741,
      "owned_by": "openai"
    },
    {
      "id": "gpt-4o",
      "object": "model",
      "created": 1715367049,
      "owned_by": "openai"
    },
    {
      "id": "claude-sonnet-4-6",
      "object": "model",
      "created": 1721172741,
      "owned_by": "anthropic"
    }
  ]
}

响应字段说明

字段说明
object对象类型,固定为 list
data模型列表
id模型标识符
object对象类型,固定为 model
created创建时间戳(Unix 时间)
owned_by模型所有者

💻 代码示例

Python 示例

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://api.nextapi.pro/v1"
)

# 列出所有模型
models = client.models.list()

# 打印所有模型
for model in models.data:
    print(f"模型: {model.id}, 所有者: {model.owned_by}")

# 查找特定模型
model_id = "gpt-4o-mini"
model = client.models.retrieve(model_id)
print(f"模型 ID: {model.id}")
print(f"创建时间: {model.created}")
print(f"所有者: {model.owned_by}")

Node.js 示例

javascript
const OpenAI = require('openai');

const openai = new OpenAI({
  apiKey: 'sk-你的密钥',
  baseURL: 'https://api.nextapi.pro/v1'
});

// 列出所有模型
async function listModels() {
  const models = await openai.models.list();
  
  // 打印所有模型
  for (const model of models.data) {
    console.log(`模型: ${model.id}, 所有者: ${model.owned_by}`);
  }
}

// 查找特定模型
async function getModel(modelId) {
  const model = await openai.models.retrieve(modelId);
  console.log(`模型 ID: ${model.id}`);
  console.log(`创建时间: ${model.created}`);
  console.log(`所有者: ${model.owned_by}`);
}

listModels();
getModel('gpt-4o-mini');

cURL 示例

bash
# 列出所有模型
curl https://api.nextapi.pro/v1/models \
  -H "Authorization: Bearer sk-你的密钥"

# 查找特定模型
curl https://api.nextapi.pro/v1/models/gpt-4o-mini \
  -H "Authorization: Bearer sk-你的密钥"

📊 支持的模型

对话模型

模型 ID说明输入价格输出价格
gpt-4oOpenAI 最新旗舰模型$5.00 / 1M$15.00 / 1M
gpt-4o-miniOpenAI 轻量高性能模型$0.15 / 1M$0.60 / 1M
claude-sonnet-4-6Anthropic 高性价比模型$2.40 / 1M$12.00 / 1M
claude-opus-4-7Anthropic 最强模型$15.00 / 1M$75.00 / 1M
gemini-2.5-proGoogle 最新旗舰模型$1.25 / 1M$10.00 / 1M
gemini-2.5-flashGoogle 高速模型$0.06 / 1M$0.30 / 1M
qwen3-max阿里通义千问最新版$0.50 / 1M$2.00 / 1M
deepseek-v3.1DeepSeek 最新版$0.14 / 1M$0.28 / 1M
kimi-latest月之暗面 Kimi$0.50 / 1M$2.00 / 1M

图像模型

模型 ID说明价格
gpt-image-1OpenAI 图像生成$20.00 / 1M tokens
imagen-4.0-generate-001Google Imagen 4.0$20.00 / 1M tokens
flux-kontext-maxFlux 图像生成$20.00 / 1M tokens

嵌入模型

模型 ID说明价格
text-embedding-3-smallOpenAI 嵌入模型$0.02 / 1M tokens
bge-m3BGE 多语言嵌入$0.02 / 1M tokens

❌ 错误处理

HTTP 状态码

状态码说明解决方案
401认证失败检查 API Key 是否正确
404模型不存在检查模型 ID 是否正确
500服务器错误稍后重试

错误响应格式

json
{
  "error": {
    "message": "The model 'invalid-model' does not exist",
    "type": "invalid_request_error",
    "code": "model_not_found"
  }
}

💡 使用建议

1. 缓存模型列表

python
import json
from datetime import datetime

# 缓存模型列表
models_cache = None
cache_time = None
cache_duration = 3600  # 1小时

def get_models():
    global models_cache, cache_time
    
    # 检查缓存是否有效
    if models_cache and cache_time:
        if (datetime.now() - cache_time).seconds < cache_duration:
            return models_cache
    
    # 获取最新模型列表
    models = client.models.list()
    models_cache = models
    cache_time = datetime.now()
    
    return models

2. 验证模型可用性

python
def is_model_available(model_id):
    try:
        model = client.models.retrieve(model_id)
        return True
    except:
        return False

# 使用前验证
if is_model_available("gpt-4o-mini"):
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "你好!"}]
    )

3. 按用途筛选模型

python
# 获取所有对话模型
chat_models = [m for m in models.data if m.id.startswith("gpt") or m.id.startswith("claude")]

# 获取所有嵌入模型
embedding_models = [m for m in models.data if "embedding" in m.id]

# 获取所有图像模型
image_models = [m for m in models.data if "image" in m.id or "imagen" in m.id]

下一步