Skip to content

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 对象字段

字段类型说明
idstringAPI 请求中使用的唯一模型标识符(如 "google/gemini-2.5-pro-preview"
canonical_slugstring模型的永久 slug,永不变更
namestring人类可读的显示名称
creatednumber模型加入 OpenRouter 的 Unix 时间戳
descriptionstring模型能力和特点的详细描述
context_lengthnumber最大上下文窗口(token 数)
architectureArchitecture模型技术能力描述对象
pricingPricing该模型的最低定价结构
top_providerTopProvider主要提供商配置详情
per_request_limits-速率限制信息(无限制时为 null)
supported_parametersstring[]该模型支持的 API 参数列表
default_parametersobject | null模型默认参数值(无则为 null)
expiration_datestring | 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_slugid 有什么区别?

A: id 可能因版本或别名而变化,canonical_slug 是永久标识符,不会改变——适合在代码中长期使用。

Q: OpenRouter 没有我想要的模型怎么办?

A: 在 Discord 频道告诉我们,或参与提供商合作申请