智能路由
将 model 字段设为路由别名而非具体模型 ID。智能路由会分析请求并自动选择最优上游模型 — 添加新模型时无需修改代码。
路由别名
每个别名都是完整的模型 ID,一共九个:
| 别名 | 行为 |
|---|---|
auto | 综合能力、延迟、成本选择最佳可用模型 |
auto/free | 仅免费模型 —— 零 Token 成本 |
auto/eco | 能胜任任务的最便宜付费模型 |
auto/premium | 最高能力模型 |
auto/search | 带 AI 摘要和引用的网络搜索 |
auto/image | 最佳图像生成模型 |
auto/video | 最佳视频生成模型 |
auto/tts | 最佳语音合成模型 |
auto/music | 最佳音乐生成模型 |
必须带 auto/ 前缀
free、eco、premium、search、image、video、tts、music 单独使用都不是合法模型 ID, 传入会返回无效模型错误。请始终写成 auto/free、auto/eco 等形式。
auto
智能路由根据能力、延迟和成本为每个请求选择最佳可用模型。
response = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "你好!"}]
)路由还会评估 prompt 复杂度:prompt 会被打分并归入不同层级(简单、中等、复杂、推理、编程、创意), 每个层级在每种 profile 下有自己的候选模型列表。
auto/free
仅路由到免费模型。零 Token 成本 — 适合开发和实验。
response = client.chat.completions.create(
model="auto/free",
messages=[{"role": "user", "content": "你好!"}]
)auto/eco
选择能胜任任务的最具性价比付费模型,最小化每 Token 费用。
response = client.chat.completions.create(
model="auto/eco",
messages=[{"role": "user", "content": "你好!"}]
)auto/premium
路由到最高能力模型。适合复杂推理和生产负载。
response = client.chat.completions.create(
model="auto/premium",
messages=[{"role": "user", "content": "你好!"}]
)auto/search
带 AI 摘要和来源引用的网络搜索。使用 chat completions 端点但返回自定义响应格式(非标准 OpenAI choices 数组)。
请求
import requests
resp = requests.post("https://api.jarvisclaw.ai/v1/chat/completions",
headers={"Authorization": "Bearer sk-your-api-key", "Content-Type": "application/json"},
json={
"model": "auto/search",
"messages": [{"role": "user", "content": "什么是检索增强生成?"}]
})
data = resp.json()响应
非标准格式
auto/search 不返回 OpenAI 兼容的 {"choices": [{"message": ...}]} 格式。它返回自定义搜索响应,包含 summary、sources_used 和内联引用链接。
{
"query": "什么是检索增强生成?",
"summary": "检索增强生成 (RAG) 是一种技术...[1](https://example.com)...",
"citations": [],
"sources_used": 10,
"model": "auto/search"
}model 字段反映路由实际选中的上游,属于参考信息 —— 它会随路由表变化。
| 字段 | 类型 | 说明 |
|---|---|---|
query | string | 原始查询 |
summary | string | AI 生成的答案,包含内联 [N](url) 引用链接 |
citations | array | 预留(当前为空 — 引用已内联于 summary) |
sources_used | integer | 咨询的网络来源数 |
model | string | 用于生成摘要的上游模型 |
auto/image
路由到最佳可用图像生成模型。详见 图像生成 API。
import requests
resp = requests.post("https://api.jarvisclaw.ai/v1/images/generations",
headers={"Authorization": "Bearer sk-your-api-key", "Content-Type": "application/json"},
json={"model": "auto/image", "prompt": "火星上的猫", "size": "1024x1024"})auto/tts
路由到最佳可用语音合成模型。详见 音频 API。
x402 钱包调用方
实测中智能路由 TTS 对钱包直付(private_key)调用方结算失败。用自己的钱包付费时请显式指定模型, 例如 elevenlabs/flash-v2.5。
import requests
resp = requests.post("https://api.jarvisclaw.ai/v1/audio/speech",
headers={"Authorization": "Bearer sk-your-api-key", "Content-Type": "application/json"},
json={"model": "auto/tts", "input": "你好世界!", "voice": "sarah"})auto/music
路由到最佳可用音乐生成模型。详见 音乐生成 API。
import requests
resp = requests.post("https://api.jarvisclaw.ai/v1/audio/generations",
headers={"Authorization": "Bearer sk-your-api-key", "Content-Type": "application/json"},
json={"model": "auto/music", "prompt": "轻松 lo-fi 节拍", "instrumental": true})auto/video
路由到最佳可用视频生成模型。详见 视频生成 API。
时长限制
auto/video 可能路由到 azure/sora-2,仅支持 4、8 或 12 秒时长。不要传 duration_seconds: 5 — 请使用 4。
import requests
resp = requests.post("https://api.jarvisclaw.ai/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key", "Content-Type": "application/json"},
json={"model": "auto/video", "prompt": "日落时的海浪", "duration_seconds": 4})