Appearance
OpenRouter 提供 300+ 个模型和提供商的统一访问入口。通过 Models API(/api/v1/models),可以按输出模态(文本/图片/音频/向量)或支持的参数(工具调用/推理等)过滤模型,并获取每个模型的定价、上下文长度、支持的参数列表等结构化元数据。本页详细说明 API 响应的完整 schema。
OpenRouter 模型列表
通过模型浏览器或 Models API 探索 300+ 个模型和提供商。也可以订阅 RSS feed 获取新模型动态。
查询参数
Models API 支持查询参数过滤返回的模型列表。
output_modalities
按输出能力过滤模型,接受逗号分隔的模态列表或 "all"。
| 值 | 说明 |
|---|---|
text | 输出文本的模型(默认) |
image | 生成图片的模型 |
audio | 生成音频的模型 |
embeddings | 向量化模型 |
all | 所有模型,不过滤模态 |
示例:
bash
# 默认 — 仅文本模型
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 参数支持情况过滤模型。例如查找支持工具调用的模型:
bash
curl "https://openrouter.ai/api/v1/models?supported_parameters=tools"Models API 标准
Models API 会在我们确认信息后,尽快将所有 LLM 的关键数据免费开放。
API 响应 Schema
Models API 返回标准化 JSON 格式,为每个可用模型提供完整元数据。此 schema 在边缘节点缓存,专为生产集成设计。
根响应对象
json
{
"data": [
/* Model 对象数组 */
]
}Model 对象字段
| 字段 | 类型 | 说明 |
|---|---|---|
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 对象
json
{
"input_modalities": string[], // 支持的输入类型:["file", "image", "text"]
"output_modalities": string[], // 支持的输出类型:["text"]
"tokenizer": string, // 使用的分词方法
"instruct_type": string | null // 指令格式类型(不适用时为 null)
}Pricing 对象
所有定价值以 USD/token(或 USD/请求/单位)表示,"0" 表示免费。
json
{
"prompt": string, // 每个输入 token 的费用
"completion": string, // 每个输出 token 的费用
"request": string, // 每次 API 请求的固定费用
"image": string, // 每张图片输入的费用
"web_search": string, // 每次网页搜索的费用
"internal_reasoning": string, // 内部推理 token 的费用
"input_cache_read": string, // 读取缓存输入 token 的费用
"input_cache_write": string // 写入缓存输入 token 的费用
}Top Provider 对象
json
{
"context_length": number, // 该提供商的上下文限制
"max_completion_tokens": number, // 最大输出 token 数
"is_moderated": boolean // 是否应用内容审核
}Supported Parameters 字段
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— 确定性输出
注意:不同模型的分词方式不同,导致即使输入输出相同,token 数量(和费用)也会有差异。可以通过响应中的
usage字段获取实际 token 计数。
常见问题
Q: 如何查找支持流式输出的模型?
A: 使用 ?supported_parameters=stream 过滤,或在模型浏览器中勾选对应功能。
Q: canonical_slug 和 id 有什么区别?
A: id 可能因版本或别名而变化,canonical_slug 是永久标识符,不会改变——适合在代码中长期使用。
Q: OpenRouter 没有我想要的模型怎么办?
A: 在 Discord 频道告诉我们,或参与提供商合作申请。