POST https://ark.cn-beijing.volces.com/api/v3/embeddings/multimodal
将视频、图像和文本转化为向量,用于以图搜图、语义检索、跨模态匹配等场景。
鉴权#
本接口支持鉴权方式如下,详情请参见 Base URL 及鉴权。
- API Key 鉴权,请在 API Key 管理 页面,获取长效 API Key。
请求参数#
Body 参数#
input object[] 必选 | 输入内容
需要向量化的内容列表。列表元素支持文本信息、图片信息以及视频信息。不同模型的支持情况不同
type string 必选 | 类型
input.type
输入内容的类型。取值范围:text、image_url、video_url
image_url object | 图片对象
input.image_url
输入给模型的图片对象。当 type 为 image_url 时必填
url string 必选 | 图片地址
input.image_url.url
图片信息,可以是图片 URL 或图片 Base64 编码。图片 URL:请确保图片 URL 可被访问。Base64 编码:请遵循格式 data:image/{图片格式};base64,{图片Base64编码}
text string | 文本内容
input.text
输入给模型的文本内容。当 type 为 text 时必填。单条文本以 utf-8 编码,长度不超过模型的最大输入 token 数
video_url object | 视频对象
input.video_url
输入给模型的视频对象。当 type 为 video_url 时必填
url string 必选 | 视频地址
input.video_url.url
支持传入视频链接或视频的 Base64 编码
fps number | 抽帧帧率
input.video_url.fps
每秒钟从视频中抽取指定数量的图像。取值越高,对于视频中画面变化理解越精细;取值越低,token 花费少,速度更快。该参数会直接影响视频 embedding 的抽帧数量与 token 消耗
取值范围:[0.2, 5]
max_frame_tokens integer | 单帧最大 tokens 数
input.video_url.max_frame_tokens
单帧最大 tokens 数,用于控制单帧质量的上限。值越大,允许对单帧保留更多的细节;该参数会与 max_video_tokens 一起控制单帧和整体的 token 消耗。且必须大于等于 min_frame_tokens
取值范围:[128, 640]
max_video_tokens integer | 视频最大 tokens 数
input.video_url.max_video_tokens
视频最大 tokens 数,值越大保留的视频信息越多。该参数用于控制视频抽帧后最多送入模型的 token 数;超过此值时,会按帧数上限截断
取值范围:[10240, 204800]
min_frame_tokens integer | 单帧最小 tokens 数
input.video_url.min_frame_tokens
单帧最小 tokens 数,用于控制单帧压缩的下限。值越小,允许对单帧进行更大的压缩,但单帧细节下降;若单帧 token 过少,也会影响最终向量表征质量
取值范围:[16, 128]
min_frames integer | 最小抽帧数
input.video_url.min_frames
最小抽帧数,用于保证短视频具备足够的处理帧数。若 fps 字段抽帧总数小于 min_frames,则优先按照 min_frames 配置要求抽帧,以避免极短视频抽不到帧
取值范围:[5, 16]
model string 必选 | 模型 ID
您需要调用的模型的 ID(Model ID),开通模型服务,并查询 Model ID。您也可通过 Endpoint ID 来调用模型,获得限流、计费类型、运行状态查询、监控、安全等高级能力
dimensions integer 默认值 2048 | 向量维度
用于指定输出的向量维度。取值范围:1024 或 2048。
encoding_format string 默认值 float | 返回格式
embedding 返回的格式。取值范围:float、base64、null。
instructions string | 推理提示词
推理提示词,用户传入时直接使用,未传入时按输入模态生成默认值
multi_embedding object | 多向量配置
多向量(multi-vector)输出配置,控制是否输出多向量及其压缩方式。开启后,每个输入除返回稠密向量外,额外返回一组 token 级别的向量(二维数组)
compression string | 多向量压缩
multi_embedding.compression
多向量压缩方式(可选)。仅在 type=enabled 时生效:
blosc2:使用blosc2压缩;zstd:使用zstd压缩;不传或留空则不压缩
type string 默认值 disabled | 多向量开关
multi_embedding.type
多向量输出开关:
disabled:不输出多向量enabled:在稠密向量基础上额外返回 data.multi_embedding。
sparse_embedding object | 稀疏向量开关
稀疏向量开关配置,仅纯文本输入支持配置此字段
type string 默认值 disabled | 稀疏向量开关
sparse_embedding.type
用于控制是否输出稀疏向量:
disabled:仅输出稠密向量enabled:同时输出稠密向量和稀疏向量。
响应参数#
created integer | 创建时间
本次请求创建时间的 Unix 时间戳(秒)
data object | 向量化结果
向量化结果列表,与 input 中的元素一一对应
embedding number[] / string | 稠密向量
data.embedding
稠密向量结果(dense embedding)。返回 float 数组(float[])
object string | 对象类型
data.object
对象类型,固定为 embedding
multi_embedding number[] / string[] | 多向量
data.multi_embedding
当请求开启多向量时返回的 token 级别向量列表,为二维 float 数组(fp16);当开启 compression 时返回 base64 字符串
sparse_embedding object[] | 稀疏向量
data.sparse_embedding
当请求开启稀疏向量时返回的稀疏向量条目
index integer | 维度索引
data.sparse_embedding.index
非零维度的索引位置
value number | 维度数值
data.sparse_embedding.value
该维度对应的数值
id string | 请求 ID
本次请求的唯一标识
model string | 实际使用的模型
本次请求实际使用的模型名称和版本
object string | 对象类型
对象类型,固定为 list
usage object | token 用量
本次请求的 token 用量信息
prompt_tokens integer | 输入 token 数
usage.prompt_tokens
输入消耗的 prompt token 总数
prompt_tokens_details object | token 用量明细
usage.prompt_tokens_details
prompt token 用量的细分明细
image_tokens integer | 图片 token 数
usage.prompt_tokens_details.image_tokens
图片输入消耗的 prompt token 数量
text_tokens integer | 文本 token 数
usage.prompt_tokens_details.text_tokens
文本输入消耗的 prompt token 数量
total_tokens integer | 总 token 数
usage.total_tokens
本次请求消耗的 token 总数