模型能力
九个能力标签的含义与调用前校验方法,以及 supported_endpoint_types 字段说明。
本页是模型元数据的深度参考:能力标签(判断模型能做什么)与端点类型(判断通过哪些协议调用)。
数据来自 模型列表 的 capabilities 字段与 supported_endpoint_types 字段。
能力标签(capabilities)
每个模型携带九个布尔能力标签,标识它实际支持哪些调用方式。 这些标签由平台按渠道真实能力维护,是调用前做客户端校验的依据。
| 标签 | 含义 | 为 true 时可进行的调用 |
|---|---|---|
tool_support | 支持工具调用(function calling) | 在 chat/completions、responses 中传 tools / tool_choice |
multi_modal | 支持多模态输入 | 消息中携带图片、音频、文件等 typed content |
image_generation | 支持图像生成(总开关) | 调用图像生成链路 |
text_to_image | 支持文生图 | POST /v1/images/generations |
image_to_image | 支持图像编辑(图生图) | POST /v1/images/edits(携带参考图) |
video_generation | 支持视频生成 | 视频任务类端点 |
audio_generation | 支持音频生成 | TTS / 语音合成端点 |
embeddings | 支持文本嵌入 | POST /v1/embeddings |
rerank | 支持重排序 | POST /v1/rerank |
几个容易误解的点:
image_generation是text_to_image与image_to_image的总开关: 生成接口可用时它为 true,并伴随至少一个子能力为 true。multi_modal只描述输入能力(能看图、听音频),不代表能生成图像或音频。- 纯文本对话模型九个标签通常全为 false(
tool_support视模型而定),这不影响普通聊天调用。
向不支持工具调用的模型传
tools 参数,请求会被上游渠道拒绝(典型为 400),
而不是被平台静默忽略。调用前先检查 capabilities.tool_support,
为 false 时应在客户端降级为纯文本对话,不要让错误发生在计费请求上。
同理,传图片前检查 multi_modal,调图像/视频/音频端点前检查对应标签。按能力过滤模型的典型用法:
import os, requests
resp = requests.get(
"https://api.jimu.chat/v2/models",
headers={"Authorization": f"Bearer {os.environ['JIMU_API_KEY']}"},
).json()
tool_models = [m["id"] for m in resp["data"] if m["capabilities"]["tool_support"]]
vision_models = [m["id"] for m in resp["data"] if m["capabilities"]["multi_modal"]]
print("可工具调用:", tool_models)
print("可看图:", vision_models)
const { data } = await fetch("https://api.jimu.chat/v2/models", {
headers: { Authorization: `Bearer ${process.env.JIMU_API_KEY}` },
}).then((r) => r.json());
const toolModels = data.filter((m: any) => m.capabilities.tool_support).map((m: any) => m.id);
const visionModels = data.filter((m: any) => m.capabilities.multi_modal).map((m: any) => m.id);
supported_endpoint_types
supported_endpoint_types 声明该模型可以通过哪些协议端点调用,取值:
| 值 | 可用端点 |
|---|---|
openai | /v1/chat/completions(OpenAI Chat 协议) |
open_responses | /v1/responses(OpenAI Responses 协议) |
anthropic | /v1/messages(Claude 原生协议) |
gemini | /v1beta/models/{model}:generateContent(Gemini 原生协议) |
一个模型可带多个值(如 GPT 系模型通常同时支持 openai 与 open_responses)。
该集合随平台渠道配置扩展,不要在客户端穷举假设。