多模态向量模型将文本、图像或视频转换为统一的高维浮点数向量(维度可自定义),适用于跨模态检索、图文检索、视频分类、图像分类等场景。
核心能力
跨模态检索:实现以文搜图、以图搜视频、以图搜图等跨模态的语义搜索。
语义相似度计算:在统一的向量空间中,衡量不同模态内容之间的语义相似性。
内容分类与聚类:基于内容的语义向量进行智能分组、打标和聚类分析。
关键特性:所有模态(文本、图片、视频)生成的向量都位于同一语义空间,可直接通过计算余弦相似度等方法进行跨模态匹配与比较。关于模型选型和应用方法的更多介绍,参考文本与多模态向量化。
向量类型说明
多模态向量模型支持两种向量生成方式:
多模态独立向量:将 contents 中的每个输入(文本、图片、视频、多图)分别生成独立的向量。例如,输入 1 段文本和 1 张图片,会返回 2 个独立向量。适用于需要分别对比不同内容的场景,如以图搜图、以文搜图。
多模态融合向量:将 contents 中的所有输入融合为 1 个向量,实现跨模态的综合语义表征。适用于需要综合理解多模态内容的场景,如将商品图片+描述文本融合为统一表征进行检索。
qwen3-vl-embedding通过设置enable_fusion=true开启融合模式;tongyi-embedding-vision-plus-2026-03-06和tongyi-embedding-vision-flash-2026-03-06通过将 text、image、video 放在同一个 content 对象中实现融合。融合向量支持以下组合:文本 + 图片融合
文本 + 视频融合
多图 + 文本融合(传入多个 image 条目)
图片 + 视频 + 文本混合融合
qwen2.5-vl-embedding仅支持融合向量,不支持独立向量。tongyi-embedding-vision-plus和tongyi-embedding-vision-flash仅支持独立向量。tongyi-embedding-vision-plus-2026-03-06和tongyi-embedding-vision-flash-2026-03-06同时支持独立向量和融合向量,融合向量通过将 text、image、video 放在同一个 content 对象中实现。
模型介绍、选型建议和使用方法,请参考文本与多模态向量化。
模型概览
北京
|
模型名称 |
向量维度 |
文本长度限制 |
图片大小限制 |
视频大小限制 |
单价(每千输入Token) |
免费额度(注) |
|
qwen3-vl-embedding |
2560(默认), 2048, 1536, 1024, 768, 512, 256 |
32,000 Token |
单张大小不超过5 MB |
视频文件大小不超过 50 MB |
图片/视频:0.0018元 文本:0.0007元 |
100万Token 有效期:百炼开通后90天内 |
|
qwen2.5-vl-embedding |
2048, 1024(默认), 768, 512 |
|||||
|
tongyi-embedding-vision-plus-2026-03-06 |
1152(默认), 1024, 512, 256, 128, 64 |
1,024 Token |
建议单张大小不超过5 MB,最大10 MB |
视频文件大小不超过 50 MB 且编码类型为H.264/H.265 |
0.0005元 |
|
|
tongyi-embedding-vision-flash-2026-03-06 |
768(默认), 512, 256, 128, 64 |
0.00015元 |
||||
|
tongyi-embedding-vision-plus |
1152(默认), 1024, 512, 256, 128, 64 |
单张大小不超过3 MB |
视频文件大小不超过 10 MB |
0.0005元 |
||
|
tongyi-embedding-vision-flash |
768(默认), 512, 256, 128, 64 |
0.00015元 |
||||
|
multimodal-embedding-v1 |
1,024 |
512 Token |
单张大小不超过3 MB |
视频文件大小不超过 10 MB |
图片/视频:0.0009 元 文本:0.0007 元 |
新加坡
|
模型名称 |
向量维度 |
文本长度限制 |
图片大小限制 |
视频大小限制 |
单价(每千输入Token) |
|
tongyi-embedding-vision-plus |
1152(默认), 1024, 512, 256, 128, 64 |
1,024 Token |
最多 8 张且单张大小不超过3 MB |
视频文件大小不超过 10 MB |
0.0005元 |
|
tongyi-embedding-vision-flash |
768(默认), 512, 256, 128, 64 |
1,024 Token |
0.00015元 |
输入格式与语种限制:
|
多模态融合向量模型 |
||||
|
模型 |
文本 |
图片 |
视频 |
单次请求条数 |
|
qwen3-vl-embedding |
支持中、英、日、韩、法、德等33种主流语言 |
JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI(支持URL或Base64) |
MP4, AVI, MOV(仅支持URL) |
一次请求中传入内容元素总数不超过 20。图片数量不超过5,视频数量不超过1。 |
|
qwen2.5-vl-embedding |
支持中、英、日、韩、法、德等11种主流语言 |
一次请求内,图片、文本、视频、融合对象每种类型最多出现 1 次。 |
||
|
多模态独立向量模型 |
||||
|
模型 |
文本 |
图片 |
视频 |
单次请求条数 |
|
tongyi-embedding-vision-plus |
中文与英文 |
JPG, PNG, BMP (支持URL或Base64) |
MP4, MPEG, MOV, MPG, WEBM, AVI, FLV, MKV(仅支持URL) |
暂无传入内容元素数量限制,输入内容Token数不超过单批次处理Token数量上限即可。 |
|
tongyi-embedding-vision-flash |
||||
|
tongyi-embedding-vision-plus-2026-03-06 |
支持中、英、日、韩等超30种主流语言 |
JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI(支持URL或Base64) |
一次请求中传入内容元素总数不超过 20,单次图片总数不超过64,视频数量不超过8。 |
|
|
tongyi-embedding-vision-flash-2026-03-06 |
||||
|
multimodal-embedding-v1 |
中文与英文 |
JPG, PNG, BMP (支持URL或Base64) |
一次请求中传入内容元素总数不超过 20;图片、视频各最多 1 条,文本最多 20 条,共享总条数上限。 |
|
所有模型均支持 text、image、video 三种输入类型及其组合。tongyi-embedding-vision-plus、tongyi-embedding-vision-flash、tongyi-embedding-vision-plus-2026-03-06和tongyi-embedding-vision-flash-2026-03-06额外支持multi_images多图序列输入。
模型能力对照
模型 | 默认维度 | 向量类型 | 支持的输入 | 说明 |
qwen3-vl-embedding | 2560 | 独立 / 融合 | text、image、video、多个 image 条目 | 唯一支持 |
qwen2.5-vl-embedding | 1024 | 仅融合 | text、image、video | 始终返回 1 个融合向量,不支持独立向量,不支持多图输入 |
tongyi-embedding-vision-plus | 1152 | 仅独立 | text、image、video、multi_images | 支持 multi_images 多图序列(最多 8 张) |
tongyi-embedding-vision-flash | 768 | 仅独立 | text、image、video、multi_images | 支持 multi_images 多图序列(最多 8 张) |
tongyi-embedding-vision-plus-2026-03-06 | 1152 | 独立 / 融合 | text、image、video、multi_images | 基于 Qwen3 底座,支持多分辨率、30+ 语言、融合向量 |
tongyi-embedding-vision-flash-2026-03-06 | 768 | 独立 / 融合 | text、image、video、multi_images | 基于 Qwen3 底座,支持多分辨率、30+ 语言、融合向量 |
multimodal-embedding-v1 | 1024 | 仅独立 | text、image、video | 不支持 dimension 参数,固定 1024 维 |
前提条件
您需要已获取API Key并配置API Key到环境变量。如果通过SDK调用,还需要安装DashScope SDK。
HTTP调用
POST https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding
请求 | 多模态独立向量以下示例使用 多模态融合向量
2026-03-06 快照版本示例
以下示例展示 2026-03-06 版本的融合向量用法:将 text、image、video 放在同一个 content 对象中,模型会将所有输入融合编码为 1 个向量(type 为 |
请求头(Headers) | |
Content-Type 请求内容类型。此参数必须设置为 | |
Authorization 请求身份认证。接口使用阿里云百炼API-Key进行身份认证。示例值:Bearer sk-xxxx。 | |
请求体(Request Body) | |
model 模型名称。设置为模型概览中的模型名称。 | |
input 输入内容。 parameters 向量处理参数。HTTP调用需包装在parameters对象中,SDK调用可直接使用以下参数。 |
响应 | 成功响应
异常响应 |
output 任务输出信息。 | |
request_id 请求唯一标识。可用于请求明细溯源和问题排查。 | |
code 请求失败的错误码。请求成功时不会返回此参数,详情请参见错误信息。 | |
message 请求失败的详细信息。请求成功时不会返回此参数,详情请参见错误信息。 | |
usage 输出信息统计。 |
SDK使用
当前版本的 SDK 调用与原生 HTTP 调用的请求体结构不一致。SDK 的input参数对应了HTTP中的input.contents。
代码示例
图片向量化示例
使用图片URL
import dashscope
import json
from http import HTTPStatus
# 实际使用中请将url地址替换为您的图片url地址
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
input = [{'image': image}]
# 调用模型接口
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))使用本地图片
您可以参考以下示例代码,将本地图片转换为Base64格式后调用multimodal-embedding-v1模型进行向量化处理。
import dashscope
import base64
import json
from http import HTTPStatus
# 读取图片并转换为Base64,实际使用中请将xxx.png替换为您的图片文件名或路径
image_path = "xxx.png"
with open(image_path, "rb") as image_file:
# 读取文件并转换为Base64
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
# 设置图像格式
image_format = "png" # 根据实际情况修改,比如jpg、bmp 等
image_data = f"data:image/{image_format};base64,{base64_image}"
# 输入数据
input = [{'image': image_data}]
# 调用模型接口
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))视频向量化示例
多模态向量化模型目前仅支持以URL形式输入视频文件,暂不支持直接传入本地视频。
import dashscope
import json
from http import HTTPStatus
# 实际使用中请将url地址替换为您的视频url地址
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
input = [{'video': video}]
# 调用模型接口
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))
文本向量化示例
import dashscope
import json
from http import HTTPStatus
text = "通用多模态表征模型示例"
input = [{'text': text}]
# 调用模型接口
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))融合向量化示例
import dashscope
import json
import os
from http import HTTPStatus
# 多模态融合向量:将文本、图片、视频融合成一个融合向量
# 适用于跨模态检索、图搜等场景
text = "这是一段测试文本,用于生成多模态融合向量"
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
# 输入包含文本、图片、视频,通过 enable_fusion 参数生成融合向量
input_data = [
{"text": text},
{"image": image},
{"video": video}
]
# 使用 qwen3-vl-embedding 生成融合向量
resp = dashscope.MultiModalEmbedding.call(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-vl-embedding",
input=input_data,
enable_fusion=True,
# 可选参数:指定向量维度(支持 2560、2048、1536、1024、768、512、256,默认 2560)
# parameters={"dimension": 1024}
)
print(json.dumps(resp, ensure_ascii=False, indent=4))
多图融合向量化示例
以下示例展示如何使用qwen3-vl-embedding模型,将多张图片与文本融合为 1 个向量。传入多个image条目即可实现多图融合,适用于商品多角度图片+描述文本的综合语义检索场景。
import dashscope
import json
import os
from http import HTTPStatus
# 多图+文本融合向量:将多张商品图片和描述文本融合为 1 个向量
# 适用于商品多角度图片+描述文本的综合语义检索
text = "白色运动鞋,轻量透气,适合跑步和日常穿着"
image1 = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
image2 = "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"
# 传入多个 image 条目实现多图融合,enable_fusion=True 将所有输入融合为 1 个向量
input_data = [
{"text": text},
{"image": image1},
{"image": image2}
]
resp = dashscope.MultiModalEmbedding.call(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-vl-embedding",
input=input_data,
enable_fusion=True
)
print(json.dumps(resp, ensure_ascii=False, indent=4))
2026-03-06 快照版本示例
以下示例展示如何使用tongyi-embedding-vision-plus-2026-03-06模型,演示res_level(多分辨率)和max_video_frames(视频帧数)参数的使用。该模型基于 Qwen3 底座,支持 30+ 种语言,同时支持独立向量和融合向量生成。
import dashscope
import json
import os
from http import HTTPStatus
# tongyi-embedding-vision-plus-2026-03-06 示例
# 支持 res_level(多分辨率)和 max_video_frames(视频帧数)参数
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
text = "这是1个视觉多模态表征模型"
input_data = [
{"text": text},
{"image": image},
{"video": video}
]
# 调用 2026-03-06 快照版本模型
resp = dashscope.MultiModalEmbedding.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="tongyi-embedding-vision-plus-2026-03-06",
input=input_data,
dimension=1152, # 支持 1152/1024/512/256/128/64
res_level=1, # 分辨率档位:0/1/2/3,默认 1
max_video_frames=64 # 视频最大采样帧数,默认 8,最大 64
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))
以下示例展示 2026-03-06 版本的融合向量用法:将 text、image、video 放在同一个 content 对象中,模型会将所有输入融合编码为 1 个向量(type 为 fused)。
import dashscope
import json
import os
from http import HTTPStatus
# 融合向量:将 text/image/video 放在同一个 content 对象中
# 模型会将所有输入融合编码为 1 个向量,type 为 "fused"
text = "白色运动鞋,轻量透气,适合跑步和日常穿着"
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
# 同一对象中的多模态内容会被融合为 1 个向量
input_data = [
{"text": text, "image": image}
]
resp = dashscope.MultiModalEmbedding.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="tongyi-embedding-vision-plus-2026-03-06",
input=input_data,
dimension=1152
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))
输出示例
{
"status_code": 200,
"request_id": "40532987-ba72-42aa-a178-bb58b52fb7f3",
"code": "",
"message": "",
"output": {
"embeddings": [
{
"index": 0,
"embedding": [
-0.009490966796875,
-0.024871826171875,
-0.031280517578125,
...
],
"type": "text"
}
]
},
"usage": {
"input_tokens": 10,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 10
},
"output_tokens": 1,
"total_tokens": 11
}
}错误码
如果模型调用失败并返回报错信息,请参见错误信息进行解决。