原文链接:Models
Models
一个 API 调用数百个模型
在我们的网站上探索和浏览 300+ 模型和提供商,或使用我们的 API。您还可以订阅我们的 RSS 订阅源以获取新模型的更新。
查询参数
Models API 支持查询参数来过滤返回的模型列表。
output_modalities
按输出能力过滤模型。接受逗号分隔的模态列表或 "all" 以包含所有类型的模型。
| 值 | 描述 |
|---|---|
text | 生成文本输出的模型(默认) |
image | 生成图像的模型 |
audio | 生成音频输出的模型 |
embeddings | 嵌入模型 |
all | 包含所有模型,跳过模态过滤 |
示例:
# 默认 — 仅文本模型
curl "https://openrouter.ai/api/v1/models"
# 仅图像生成模型
curl "https://openrouter.ai/api/v1/models?output_modalities=image"
# 文本和图像模型
curl "https://openrouter.ai/api/v1/models?output_modalities=text,image"
# 包含所有模型
curl "https://openrouter.ai/api/v1/models?output_modalities=all"
相同的参数在 /v1/models/count 端点上可用,以便计数与列表结果保持一致。
supported_parameters
按模型支持的 API 参数过滤模型。例如,查找支持工具调用的模型:
curl "https://openrouter.ai/api/v1/models?supported_parameters=tools"
Models API 标准
我们的 Models API 使所有 LLM 最重要的信息在我们确认后立即免费公开。
API 响应模式
Models API 返回标准化的 JSON 响应格式,为每个可用模型提供全面的元数据。此模式缓存在边缘,设计用于与生产应用程序的可靠集成。
根响应对象
{
"data": [
/* Model 对象数组 */
]
}
Model 对象模式
data 数组中的每个模型包含以下标准字段:
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | API 请求中使用的唯一模型标识符(例如 "google/gemini-2.5-pro-preview") |
canonical_slug | string | 模型的永久 slug,永远不会改变 |
name | string | 模型的人类可读显示名称 |
created | number | 模型添加到 OpenRouter 的 Unix 时间戳 |
description | string | 模型能力和特征的详细描述 |
context_length | number | 最大上下文窗口大小(以 token 为单位) |
architecture | Architecture | 描述模型技术能力的对象 |
pricing | Pricing | 使用此模型的最低价格结构 |
top_provider | TopProvider | 主要提供商的配置详情 |
per_request_limits | 速率限制信息(如果没有限制则为 null) | |
supported_parameters | string[] | 此模型支持的 API 参数数组 |
default_parameters | object | null | 此模型的默认参数值(如果没有则为 null) |
expiration_date | string | null | 模型端点的弃用日期(如果没有弃用则为 null) |
Architecture 对象
{
"input_modalities": string[], // 支持的输入类型:["file", "image", "text"]
"output_modalities": string[], // 支持的输出类型:["text"]
"tokenizer": string, // 使用的分词方法
"instruct_type": string | null // 指令格式类型(如果不适用则为 null)
}
Pricing 对象
所有价格值均为每个 token/请求/单位的美元价格。值为 "0" 表示该功能免费。
{
"prompt": string, // 每个输入 token 的成本
"completion": string, // 每个输出 token 的成本
"request": string, // 每个 API 请求的固定成本
"image": string, // 每个图像输入的成本
"web_search": string, // 每次 Web 搜索操作的成本
"internal_reasoning": string, // 内部推理 token 的成本
"input_cache_read": string, // 每个缓存输入 token 读取的成本
"input_cache_write": string // 每个缓存输入 token 写入的成本
}
Top Provider 对象
{
"context_length": number, // 提供商特定的上下文限制
"max_completion_tokens": number, // 响应中的最大 token 数
"is_moderated": boolean // 是否应用内容审核
}
支持的参数
supported_parameters 数组指示哪些 OpenAI 兼容参数适用于每个模型:
tools- 函数调用能力tool_choice- 工具选择控制max_tokens- 响应长度限制temperature- 随机性控制top_p- 核采样reasoning- 内部推理模式include_reasoning- 在响应中包含推理structured_outputs- JSON schema 强制response_format- 输出格式规范stop- 自定义停止序列frequency_penalty- 重复减少presence_penalty- 主题多样性seed- 确定性输出
不同的模型以不同的方式对文本进行分词
一些模型将文本分割成多个字符的块(GPT、Claude、Llama 等),而另一些则按字符进行分词(PaLM)。这意味着即使输入和输出相同,token 计数(因此成本)也会因模型而异。成本根据使用中的模型的分词器显示和计费。您可以使用响应中的 usage 字段获取输入和输出的 token 计数。
如果您有兴趣但 OpenRouter 还没有的模型或提供商,请在我们的 Discord 频道 告诉我们。
对于提供商
如果您有兴趣与 OpenRouter 合作,您可以在我们的提供商页面了解更多。