多模态 API 路由架构对比 2026:网关如何在单一端点下处理聊天、图像、视频和 TTS
面向生产环境的对比:OpenRouter、DashScope 和 Gemini 如何通过各自的 API 架构处理多模态路由——聊天、图像生成、视频、TTS 和 Embeddings,附代码示例、定价基准和选型决策矩阵。
30 秒速答:**如果你需要将所有模态(聊天、图像生成、视频、TTS、STT、Embeddings)统一到一个 API Key 和一个账单下,OpenRouter 是目前最完整的单端点网关。**如果你在中国区构建应用,需要 Qwen 模型加上 CosyVoice TTS 加上 Wanx 图像生成,DashScope 能在一个阿里云账户下提供最广泛的原生多模态覆盖——但采用的是分离的任务专用 API,而非统一端点。Gemini 走了第三条路:它不聚合第三方模型,而是通过内置工具(代码执行、计算机使用、Google 搜索)扩展自己的聊天端点,模糊了"模态"和"能力"的边界。我们认为生产系统不应该把所有模态强行塞进一个网关。按工作负载分别路由文本和图像生成,然后用 TheRouter 在各个 provider 之间统一计费和故障转移。
速览对比表
| 网关 | 支持模态 | 端点架构 | OpenAI 兼容 | 多 Provider | 最适合 |
|---|---|---|---|---|---|
| OpenRouter | 聊天、视觉、图像生成、视频生成、TTS、STT、Embeddings | 单一 base URL(/api/v1)。聊天走 /chat/completions;图像/视频/音频/Embeddings 在同一 base URL 下各有专用端点。 | 是——OpenAI SDK 直接替换 | 是——70+ provider、400+ 模型 | 一个 API Key 搞定跨 provider 的所有模态 |
| DashScope | 聊天、视觉、图像生成 (Wanx)、视频生成 (Wan)、TTS (CosyVoice)、STT、Embeddings | 分任务类型端点。聊天用 OpenAI 兼容 /compatible-mode/v1/chat/completions;图像/视频/TTS/STT 使用 DashScope 原生 API,请求格式各不相同。 | 部分——聊天兼容;媒体端点不兼容 | 有限——主要是阿里/Qwen 模型,外加 DeepSeek、Kimi、GLM 等 | 中国区多模态全栈,一个阿里云账户统一计费 |
| Gemini API | 聊天、视觉、代码执行、计算机使用、Google 搜索、Managed Agents | 单一 generateContent / streamGenerateContent 端点。额外模态作为请求中的"内置工具"声明,而非独立端点。 | 否——原生 Gemini 格式;有 OpenAI 兼容层但覆盖有限 | 否——仅 Google 模型 | Google 原生技术栈,内置工具扩展(计算机使用、代码执行) |
OpenAI 兼容指供应商提供一个 chat-completions 接口,其请求与响应结构与 OpenAI API 契约足够接近——只需替换三个值(API key、base URL、模型名),原来的 OpenAI SDK 调用即可直接工作。最小实践面是POST /v1/chat/completions 带 messages、model, 并返回 OpenAI 形式的流式响应。
各网关如何路由多模态请求
OpenRouter:一个 base URL,模型字符串决定模态
OpenRouter 提供单一 base URL(https://openrouter.ai/api/v1),通过改变模型字符串和端点路径来切换模态。他们 2026 年 7 月的博客文章"Every Modality Through One API"详细说明了架构:文本/聊天、视觉输入、PDF 和音频输入都走 /chat/completions,通过消息数组中的不同内容类型区分;图像生成、视频生成、TTS、STT 和 Embeddings 各有专用端点,但都在同一 base URL 下。
关键点在于路由控制——故障转移、provider 偏好、成本/延迟排序、data_collection: "deny"——在所有模态上行为一致。一个 Embeddings 调用和一个聊天调用使用相同的重试策略。一个 API Key,一份账单。
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-...",
)
# 聊天补全——同一 base URL
chat = client.chat.completions.create(
model="anthropic/claude-sonnet-4",
messages=[{"role": "user", "content": "总结这份文档。"}],
)
# 图像生成——同一 base URL,不同端点
image = client.images.generate(
model="openai/gpt-image-1",
prompt="一个路由器将光分成不同波长",
size="1024x1024",
)
# TTS——同一 base URL,不同端点
speech = client.audio.speech.create(
model="openai/tts-1",
input="多模态路由已经到来。",
voice="alloy",
)
# Embeddings——同一 base URL,不同端点
embedding = client.embeddings.create(
model="openai/text-embedding-3-small",
input="多模态 API 路由架构",
)
取舍: OpenRouter 聚合了大量 provider,但自身不托管模型。延迟取决于上游 provider。视频生成是异步的(提交后轮询结果)。并非所有 provider 都支持所有模态——路由前需要检查模型能力。
DashScope:一个阿里云账户下的分任务 API
DashScope(阿里云百炼)采用不同的方式。聊天补全使用 OpenAI 兼容端点 https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions(或更新的工作空间专属域名)。但图像生成(Wanx、Flux)、视频生成(Wan)、TTS(CosyVoice)和 Embeddings 各自使用 DashScope 原生任务 API,请求格式各不相同。
OpenAI 兼容层覆盖 Qwen 系列、Qwen-VL、Qwen-Coder、Qwen-Omni、DeepSeek、Kimi、GLM 和 MiniMax 的聊天。但当你需要图像生成或 TTS 时,需要切换到不同请求格式的 DashScope 原生端点。一个 API Key 和一个计费账户仍然覆盖所有内容,但代码路径分岔了。
from openai import OpenAI
import dashscope
# 聊天——OpenAI 兼容端点
client = OpenAI(
api_key="sk-...",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
chat = client.chat.completions.create(
model="qwen-plus",
messages=[{"role": "user", "content": "解释多模态路由。"}],
)
# 图像生成——DashScope 原生 API(不同的 SDK,不同的格式)
from dashscope import ImageSynthesis
result = ImageSynthesis.call(
model="wanx-v1",
input={"prompt": "一个路由器将光分成不同波长"},
parameters={"size": "1024*1024", "n": 1},
)
# TTS——DashScope 原生 API
from dashscope.audio.tts_v2 import SpeechSynthesizer
synthesizer = SpeechSynthesizer(model="cosyvoice-v2", voice="longxiaochun")
audio = synthesizer.call("多模态路由已经到来。")
取舍: 你能获得最广泛的中国 AI 模型覆盖(Qwen、DeepSeek、GLM、Kimi、MiniMax),在一个账户下享受中国区低延迟。但 OpenAI 兼容层仅覆盖聊天——媒体端点需要学习 DashScope 原生 API。如果你从 OpenAI 迁移,只有聊天路径能直接替换。
Gemini:内置工具扩展聊天端点
Google 采用了根本不同的方式。Gemini 不聚合多个 provider,而是通过内置工具扩展自己的 generateContent 端点:代码执行、计算机使用、Google 搜索锚定和 Managed Agents。这些不是带有独立端点的独立模态——它们是聊天请求中的工具声明,模型在生成过程中可以调用。
Gemini API 更新日志指出,计算机使用在 2026 年上线,提供"简化的带意图的操作,内置支持浏览器、移动端和桌面环境"。代码执行在服务端沙箱中运行 Python 并返回内联结果。这些扩展意味着单个 Gemini 调用可以搜索网页、执行代码、与浏览器交互——这些能力在其他网关中需要路由到不同的服务。
from google import genai
client = genai.Client()
# 带内置代码执行工具的聊天
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="计算 10000 元在 5% 年利率下 10 年的复利",
config={
"tools": [{"code_execution": {}}],
},
)
# 带内置 Google 搜索锚定的聊天
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="2026 年 7 月最新的 AI API 定价变化有哪些?",
config={
"tools": [{"google_search": {}}],
},
)
取舍: Gemini 的内置工具很强大,但锁定在 Google 模型上。你无法把 Gemini 计算机使用请求路由到 Anthropic 或 OpenAI 的 fallback。虽然有 OpenAI 兼容层,但不暴露内置工具。如果你需要多 provider 故障转移,Gemini 的工具扩展不可移植。
模态覆盖矩阵
| 模态 | OpenRouter | DashScope | Gemini API |
|---|---|---|---|
| 文本聊天 | /chat/completions(OpenAI 兼容) | /compatible-mode/v1/chat/completions(OpenAI 兼容) | generateContent(原生) |
| 视觉输入 | /chat/completions 上的 image_url 内容类型 | 通过 OpenAI 兼容端点支持 Qwen-VL | 原生多模态输入 |
| 图像生成 | 专用 /images 端点 | DashScope 原生 Wanx/Flux API | Imagen via Gemini(有限) |
| 视频生成 | 专用 /videos 端点(异步) | DashScope 原生 Wan API | API 不可用 |
| TTS | /audio/speech(OpenAI Audio 兼容) | DashScope 原生 CosyVoice API | API 不可用 |
| STT / 转录 | /audio/transcriptions | DashScope 原生 Paraformer API | API 不可用 |
| Embeddings | 专用 /embeddings 端点 | DashScope 原生 + 部分 OpenAI 兼容 | embedContent(原生) |
| 代码执行 | 非内置(路由到有工具调用的模型) | 非内置 | 内置工具 |
| 计算机使用 | 非内置(路由到支持 computer-use 的模型) | 非内置 | 内置工具 |
| 网络搜索锚定 | 非内置 | 非内置 | 内置 Google Search 工具 |
| Managed Agents | 不适用 | DashScope Managed Agents API(2026 年 7 月) | Gemini Managed Agents(2026 年 7 月) |
定价对比
多模态定价因模态和 provider 差异显著。聊天 token 定价有据可查;媒体生成定价通常按请求或按秒计费。
| 模态 | OpenRouter 方式 | DashScope 方式 | Gemini 方式 |
|---|---|---|---|
| 聊天 token | 透传 provider 定价,无加价(参见 OpenRouter 定价) | 按模型按 MTok 定价(参见 DashScope 定价) | 按模型按 MTok 定价(参见 Gemini 定价) |
| 图像生成 | 按图片,因模型/provider 而异 | 按图片,Wanx 定价(标准约 ¥0.16/张) | 按图片,Imagen 定价 |
| 视频生成 | 按秒,因模型/provider 而异 | 按秒,Wan 定价 | 不可用 |
| TTS | 按字符或按请求,因模型而异 | 按字符,CosyVoice 定价 | 不可用 |
| Embeddings | 按 token,因模型/provider 而异 | 按 token,模型专属 | 按 token,模型专属 |
| 网关加价 | 无——透传 provider 价格 | 无——第一方定价 | 无——第一方定价 |
关键的定价差异是结构性的:OpenRouter 在所有模态上透传 provider 定价,无加价。DashScope 和 Gemini 设定各自的第一方价格。对于聊天,这意味着 OpenRouter 的价格等于上游 provider 的价格;对于 DashScope,价格取决于阿里为每个 Qwen 模型设定的数值。
限流
| 网关 | 限流模型 | 文档 |
|---|---|---|
| OpenRouter | 按模型、按账户。免费层限制较低。充值后限制提升。 | OpenRouter 文档 |
| DashScope | 按模型 RPM/TPM。因模型和账户级别而异。 | DashScope 限流 |
| Gemini API | 按模型 RPM/TPM。免费层限制严格;付费后提升。 | Gemini 限流 |
对于多模态工作负载,限流通常按端点和按模型分别计数。聊天的限流和图像生成的限流通常独立计算,但这取决于具体 provider。在设计批处理管道前,请查阅具体端点文档。
选型决策矩阵:你需要 X,选 Y
| 你需要…… | 选择…… | 原因 |
|---|---|---|
| 所有模态一个 API Key,多 provider | OpenRouter | 唯一在 70+ provider 下通过一个 OpenAI 兼容 base URL 路由聊天、图像生成、视频生成、TTS、STT 和 Embeddings 的网关 |
| 中国区多模态全栈(Qwen + CosyVoice + Wanx) | DashScope | 最佳 Qwen 模型覆盖,中国区优化延迟,一个阿里云账户覆盖所有模态 |
| 聊天中内置代码执行或计算机使用 | Gemini API | 代码执行和计算机使用是聊天端点的内置工具——无需额外接入 |
| 聊天 + 视觉的多 provider 故障转移 | OpenRouter 或 TheRouter | 两者都支持聊天的 provider 故障转移;TheRouter 还提供跨 provider 统一计费 |
| Managed Agent 编排 | DashScope 或 Gemini | 两者均在 2026 年 7 月发布了 Managed Agent API;OpenRouter 不提供 agent 编排 |
| 最低成本的 OpenAI SDK 迁移 | OpenRouter | 大多数模态使用 OpenAI 兼容端点;换个 base URL 和 API Key 即可 |
对路由架构的启示
三种方式代表了不同的设计哲学:
-
聚合网关(OpenRouter):通过一个 API 将任何模态路由到任何 provider。灵活性最大,但你依赖网关的可用性,且多了一跳。
-
平台原生多模态(DashScope):一个云账户覆盖聊天、图像、视频、TTS、Embeddings——但每种模态的 API 接口不同,且局限在阿里巴巴生态内。
-
模型原生工具扩展(Gemini):模型本身通过内置工具处理多种"模态"。对 Google 技术栈团队很强大,但跨 provider 不可移植。
对于生产系统,我们认为正确答案通常是组合。在需要多 provider 故障转移的聊天和视觉场景使用聚合网关或 TheRouter。在延迟和区域访问比 provider 多样性更重要的媒体生成场景使用平台原生 API。不要仅仅为了一个 API Key 就把视频生成强行塞进聊天网关。
我们观察到的趋势:团队先用一个网关处理聊天(模型切换频繁),然后为媒体生成添加直连 provider 集成(选定一个模型就固定下来)。网关处理复杂的部分——故障转移、计费、模型退役——而直连集成处理稳定的部分。
相关链接
- 2026 多模态模型 API 路由对比 — 我们的模型级对比(视觉任务选哪个模型)
- Doubao Seedance 视频 API 指南 — 通过火山引擎 Ark 的视频生成
- DashScope Qwen3.7 系列完整指南 — DashScope 聊天 API 深度解析
- 阿里云百炼 API 指南 — DashScope 平台概览
- Gemini 3.5 Flash 计算机使用指南 — Gemini 内置工具深度解析
- TheRouter 快速入门 — 跨 provider 统一路由和计费
数据检索日期:2026-07-22。定价、限流和模型可用性变动频繁,请在做生产决策前核实官方 provider 文档。