模型能力

九个能力标签的含义与调用前校验方法,以及 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_generationtext_to_imageimage_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 系模型通常同时支持 openaiopen_responses)。 该集合随平台渠道配置扩展,不要在客户端穷举假设。