视频内容理解算子,支持对视频文件使用豆包模型进行理解,包括视频内容的解析与自然语言描述生成。
计费标准
细分项 | 计费标准说明 |
|---|---|
计费项 | 包括2个计费项:推理服务(输入)、推理服务(输出)。需支付的费用为所有计费项的计费之和。 |
计费类型 | 按量计费,单位: |
单价 |
|
注意
计费详情
计费公式:总费用 = 计费项1总价 + 计费项2总价 = (计费项1单价 * 用量)+(计费项2单价 * 用量)
模型类型 | 细分场景 (输入视频链接类型) | 条件 (千 token) | 单价:计费项1 推理服务(输入) | 单价:计费项2 推理服务(输出) |
|---|---|---|---|---|
| 视频链接:公网链接 | 输入长度 [0, 128] | 4.7 元/百万 Tokens | 20 元/百万 Tokens |
输入长度 (128, 256] | 5.9 元/百万 Tokens | 30 元/百万 Tokens | ||
视频链接:TOS 路径 | 输入长度 [0, 128] | 2.6 元/百万 Tokens | 20 元/百万 Tokens | |
输入长度 (128, 256] | 3.8 元/百万 Tokens | 30 元/百万 Tokens | ||
| 视频链接:公网链接 | 输入长度 [0, 32] | 8.6 元/百万 Tokens | 28.9 元/百万 Tokens |
输入长度 (32, 128] | 11.3 元/百万 Tokens | 42.4 元/百万 Tokens | ||
输入长度 (128, 256] | 19.3 元/百万 Tokens | 82.8 元/百万 Tokens | ||
视频链接:TOS 路径 | 输入长度 [0, 32] | 6.6 元/百万 Tokens | 27 元/百万 Tokens | |
输入长度 (32, 128] | 9.3 元/百万 Tokens | 40.4 元/百万 Tokens | ||
输入长度 (128, 256] | 17.4 元/百万 Tokens | 80.8 元/百万 Tokens |
计费预估
细分项 | 注意与前提 |
|---|---|
开通 LAS |
|
费用 | 调用算子前,您需先了解使用算子时的模型调用费用,详情请参见大模型调用计费。 |
鉴权(API Key) | 调用算子前,您需要先生成算子调用的API Key,并建议将API Key配置为环境变量,便于更安全地调用算子,详情请参见获取 API Key 并配置。 |
BaseURL | 调用算子前,您需要先根据您当前使用的LAS服务所在地域,了解算子调用的BaseURL,用于配置算子调用路径参数取值。 |
LAS 为您提供了“在线体验”的能力,并为您提供了一定的免费体验额度,您无需任何配置,即可在在线体验 LAS 算子的数据处理效果。
注意
当前算子在线体验可免费使用 50万 token 的模型消耗额度,超出部分会依据算子的计费项进行计费,各算子的计费项及计费逻辑请参见大模型调用计费。
通过 Chat接口调用 las_vlm_video 算子进行视频理解。
参数 | 类型 | 是否必填 | 示例值 | 描述 |
|---|---|---|---|---|
las_extra_params | las_extra_params | 是 | 算子相关的额外参数。 | |
operator_id | string | 是 | las_vlm_video | 本算子的id是 las_vlm_video |
operator_version | string | 是 | v1 | 目前只支持v1 |
min_resolution_height | integer | 否 | 360 | 取值范围为 [15, 6000]。定义视频最低的垂直像素数,默认值 360,该全局配置对传入的视频都生效。 建议压缩后的视频长和宽都不小于15,并且考虑到识别效果,建议高最小不要设置低于30,最大不要设置超过3000。 |
compress_fps | float | 否 | 5.0 | 取值范围为 [0.1, 60]。控制视频压缩抽帧后的帧率,默认值 5.0,该全局配置对传入的视频都生效。建议大于视频理解帧率,尽量减少信息丢失。 |
video_compress_infos | list of video_compress_info | 否 | 定义每个视频的压缩参数的列表,优先于缺省的压缩参数。 | |
video_url | string | 是 | http://xxx.mp4 | 本视频文件的可下载地址。 |
min_resolution_height | integer | 否 | 360 | 取值范围为 [15, 6000]。定义本视频最低的垂直像素数,只对指定的视频生效,覆盖全局的min_resolution_height配置,缺省值 360,宽和高等比例压缩。 建议压缩后的视频长和宽都不小于15,并且考虑到识别效果,建议高最小不要设置低于30,最大不要设置超过3000。 |
compress_fps | float | 否 | 5.0 | 取值范围为 [0.1, 60]。控制本视频压缩抽帧后的帧率,只对指定的视频生效,覆盖全局的compress_fps配置,缺省值 5.0,建议大于视频理解帧率,尽量减少信息丢失。 |
model | string | 是 | doubao-seed-1-8-251228 | 指定做视频理解的模型。支持的模型名称如下: - doubao-seed-1-8-251228 - doubao-seed-2-0-pro-260215 |
messages | list of chat_message | 是 | 到目前为止的对话组成的消息列表。不同模型支持不同类型的消息,如文本、图片、视频等。该字段使用方式,请参考 对话(Chat) API请求体里的messages参数。视频地址支持公网http链接 和 tos路径。 | |
max_tokens | integer | 否 | 10000 | 取值范围:各模型不同,详细见模型列表。 模型回答最大长度(单位:token)。 - 模型回答不包含思维链内容。 模型回答 = 模型输出 - 模型思维链(如有)。- 输出 token 的总长度还受模型的上下文长度限制。 |
max_completion_tokens | integer | 否 | 10000 | > 支持该字段的模型及使用说明见 文档。 取值范围:[0, 64k]。 控制模型输出的最大长度(包括模型回答和模型思维链内容长度,单位 token)。配置了该参数后,可以让模型输出超长内容,max_tokens (默认值 4k)失效,模型按需输出内容(回答和思维链),直到达到 max_completion_tokens 配置的值。 不可与 max_tokens 字段同时设置,会直接报错。 |
stop | list of string | 否 | ||
frequency_penalty | float | 否 | 1.0 | 取值范围为 [-2.0, 2.0]。频率惩罚系数。如果值为正,会根据新 token 在文本中的出现频率对其进行惩罚,从而降低模型逐字重复的可能性。 |
presence_penalty | float | 否 | 1.0 | 取值范围为 [-2.0, 2.0]。存在惩罚系数。如果值为正,会根据新 token 到目前为止是否出现在文本中对其进行惩罚,从而增加模型谈论新主题的可能性。 |
temperature | float | 否 | 1 | 取值范围为 [0, 2]。采样温度。控制了生成文本时对每个候选词的概率分布进行平滑的程度。当取值为 0 时模型仅考虑对数概率最大的一个 token。较高的值(如 0.8)会使输出更加随机,而较低的值(如 0.2)会使输出更加集中确定。通常建议仅调整 temperature 或 top_p 其中之一,不建议两者都修改。 |
top_p | float | 否 | 0.5 | 取值范围为 [0, 1]。核采样概率阈值。模型会考虑概率质量在 top_p 内的 token 结果。当取值为 0 时模型仅考虑对数概率最大的一个 token。0.1 意味着只考虑概率质量最高的前 10% 的 token,取值越大生成的随机性越高,取值越低生成的确定性越高。通常建议仅调整 temperature 或 top_p 其中之一,不建议两者都修改。 |
logprobs | boolean | 否 | true | > 带深度思考能力模型不支持该字段。 是否返回输出 tokens 的对数概率: - false:不返回对数概率信息。 - true:返回消息内容中每个输出 token 的对数概率。 |
top_logprobs | integer | 否 | 10 | > 带深度思考能力模型不支持该字段。 取值范围为 [0, 20]。指定每个输出 token 位置最有可能返回的 token 数量,每个 token 都有关联的对数概率。仅当 logprobs为true 时可以设置 top_logprobs 参数。 |
logit_bias | map[str,int] | 否 | > 带深度思考能力模型不支持该字段。 调整指定 token 在模型输出内容中出现的概率,使模型生成的内容更加符合特定的偏好。logit_bias 字段接受一个 map 值,其中每个键为词表中的 token ID(使用 tokenization 接口获取),每个值为该 token 的偏差值,取值范围为 [-100, 100]。-1 会减少选择的可能性,1 会增加选择的可能性;-100 会完全禁止选择该 token,100 会导致仅可选择该 token。该参数的实际效果可能因模型而异。 | |
thinking | request_thinking | 否 | 控制模型是否开启深度思考模式。默认开启深度思考模式,可以手动关闭。该字段使用方式,请参考 对话(Chat) API请求体里的thinking参数。 | |
response_format | request_response_format | 否 | 模型输出内容须遵循此处指定的格式。该字段使用方式,请参考对话(Chat) API请求体里的response_format参数。 | |
tools | list of chat_tool | 否 | 待调用工具的列表,模型返回信息中可包含。当您需要让模型返回待调用工具时,需要配置该结构体。该字段使用方式,请参考对话(Chat) API请求体里的tools参数。 | |
tool_choice | string or object | 否 | > 仅 doubao-seed-1-6-*** 及之后系代模型支持此字段。 本次请求,模型返回信息中是否有待调用的工具。当没有指定工具时,none 是默认值。如果存在工具,则 auto 是默认值。 工具选择模式 string - none :模型返回信息中不可含有待调用的工具。 - required :模型返回信息中必须含待调用的工具。选择此项时请确认存在适合的工具,以减少模型产生幻觉的情况。 - auto :模型自行判断返回信息是否有待调用的工具。 工具调用 object - 指定待调用工具的范围。模型返回信息中,只允许包含以下模型信息。选择此项时请确认该工具适合用户需求,以减少模型产生幻觉的情况。tool_choice.name 指定待调用工具的名称,tool_choice.type指定调用的类型。 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
id | string | 0217426318107460cfa43dc3f3683b1de1c09624ff49085a456ac | 本次请求的唯一标识。 |
model | string | 本次请求实际使用的模型名称和版本。 | |
created | integer | 本次请求创建时间的 Unix 时间戳(秒)。 | |
object | string | chat.completion | 固定为 `chat.completion`。 |
choices | list of choice | 本次请求的模型输出内容。 | |
index | integer | 0 | 当前元素在 choices 列表的索引。 |
finish_reason | string | stop | 模型停止生成 token 的原因。取值范围: - `stop`: 模型输出自然结束,或因命中请求参数 stop 中指定的字段而被截断。 - `length` 模型输出因达到模型输出限制而被截断,有以下原因: - 触发`max_tokens`限制(回答内容的长度限制)。 - 触发`max_completion_tokens`限制(思维链内容+回答内容的长度限制) - 触发`context_window`限制(输入内容+思维链内容+回答内容的长度限制)。 - `content_filter`: 模型输出被内容审核拦截。 - `tool_calls`: 模型调用了工具。 |
message | message | 模型输出的内容。 | |
role | string | assistant | 内容输出的角色,此处固定为 `assistant`。 |
content | string | 模型生成的消息内容。 | |
reasoning_content | string | 模型处理问题的思维链内容。仅深度推理模型支持返回此字段。 | |
tool_calls | list of tool_call | 模型生成的工具调用。 | |
id | string | assistant | 内容输出的角色,此处固定为 `assistant`。 |
type | string | function | 工具类型,当前仅支持`function`。 |
function | function | function | 模型调用的函数。 |
name | string | 模型调用的函数的名称。 | |
arguments | string | 模型生成的用于调用函数的参数,JSON 格式。 模型并不总是生成有效的 JSON,并且可能会虚构出一些您的函数参数规范中未定义的参数。在调用函数之前,请在您的代码中验证这些参数是否有效。 | |
logprobs | logprobs | 当前内容的对数概率信息。 | |
content | list of lpb_content | message列表中每个 content 元素中的 token 对数概率信息。 | |
token | string | 当前 token。 | |
bytes | list of integer | 当前 token 的 UTF-8 值,格式为整数列表。当一个字符由多个 token 组成(表情符号或特殊字符等)时可以用于字符的编码和解码。如果 token 没有 UTF-8 值则为空。 | |
logprob | float | 当前 token 的对数概率。 | |
top_logprobs | list of top_logprobs | 在当前 token 位置最有可能的标记及其对数概率的列表。在一些情况下,返回的数量可能比请求参数 top_logprobs 指定的数量要少。 | |
token | string | 当前 token。 | |
bytes | list of integer | 当前 token 的 UTF-8 值,格式为整数列表。当一个字符由多个 token 组成(表情符号或特殊字符等)时可以用于字符的编码和解码。如果 token 没有 UTF-8 值则为空。 | |
logprob | float | 当前 token 的对数概率。 | |
moderation_hit_type | string | 模型输出文字含有敏感信息时,会返回模型输出文字命中的风险分类标签。 返回值及含义: - `severe_violation`: 模型输出文字涉及严重违规。 - `violence`: 模型输出文字涉及激进行为。 | |
usage | usage | 本次请求的 token 用量。 | |
total_tokens | integer | 10000 | 本次请求消耗的总 token 数量(输入 + 输出)。 |
prompt_tokens | integer | 1000 | 输入给模型处理的内容 token 数量。 |
prompt_tokens_details | prompt_tokens_details | 输入给模型处理的内容 token 数量的细节。 | |
cached_tokens | integer | 100 | 缓存输入内容的 token 用量,此处应为`0`。 |
completion_tokens | integer | 9000 | 模型输出内容花费的 token。 |
completion_tokens_details | completion_tokens_details | 模型输出内容花费的 token 的细节。 | |
reasoning_tokens | integer | 200 | 输出思维链内容花费的 token 数 。 |
las_extra_result | las_extra_result | 算子相关的额外返回属性。 | |
compress_result | list of video_compress_result | 视频压缩信息。 | |
video_url | string | http://xxx.mp4 | 视频 URL。 |
compression_details | list of compression_detail | 压缩详细参数。 | |
original_info | original_info | 原始视频信息。 | |
original_path | string | http://xxx.mp4 | 原始视频路径。取自 `video_url` 参数 |
original_size_mb | float | 100 | 原始视频大小,单位:MB。 |
original_width | integer | 200 | 原始视频宽度。 |
original_height | integer | 200 | 原始视频高度。 |
original_fps | integer | 30 | 原始视频帧率。 |
original_duration | integer | 10 | 原始视频时间长度,单位:秒。 |
original_format | string | mp4 | 原始视频格式。 |
compression_process | compression_process | 压缩过程信息。 | |
step_0_format_conversion | compression_process_step | 步骤0,格式转换执行情况。 | |
executed | boolean | true | 是否有执行。 |
details | compression_process_step_detail | 步骤执行细节。 | |
original_fps | integer | 30 | 原始帧率。 |
target_fps | integer | 20 | 目标帧率。 |
size_after_step_mb | float | 100 | 该步骤执行后的视频大小,单位:MB。 |
step_1_fps_reduction | compression_process_step | 步骤1,减帧执行情况。 | |
executed | boolean | true | 是否有执行。 |
details | compression_process_step_detail | 步骤执行细节。 | |
original_fps | integer | 30 | 原始帧率。 |
target_fps | integer | 20 | 目标帧率。 |
size_after_step_mb | float | 100 | 该步骤执行后的视频大小,单位:MB。 |
step_2_resolution_reduction | compression_process_step | 步骤2,减分辨率执行情况。 | |
executed | boolean | true | 是否有执行。 |
details | compression_process_step_detail | 步骤执行细节。 | |
original_fps | integer | 30 | 原始帧率。 |
target_fps | integer | 20 | 目标帧率。 |
size_after_step_mb | float | 100 | 该步骤执行后的视频大小,单位:MB。 |
step_3_bitrate_compression | compression_process_step | 步骤3,码率压缩情况。 | |
executed | boolean | true | 是否有执行。 |
details | compression_process_step_detail | 步骤执行细节。 | |
original_fps | integer | 30 | 原始帧率。 |
target_fps | integer | 20 | 目标帧率。 |
size_after_step_mb | float | 100 | 该步骤执行后的视频大小,单位:MB。 |
final_result | final_result | 输出结果。 | |
final_width | integer | 100 | 输出视频宽度。 |
final_height | integer | 100 | 输出视频高度。 |
final_fps | integer | 20 | 输出视频帧率。 |
final_duration | float | 10 | 输出视频时间长度,单位:秒。 |
final_bitrate_kbps | integer | 350 | 输出视频码率,单位:KB/s。 |
final_size_mb | float | 100 | 输出视频大小,单位:MB/s。 |
final_format | string | mp4 | 输出视频格式。 |
timing_info | timing_info | 耗时信息。 | |
total_processing_time_seconds | float | 10 | 总耗时时间,单位:秒。 |
metadata | metadata | 请求的元信息。 | |
task_status | string | COMPLETED | 任务状态。 - COMPLETED, 已经完成 - FAILED, 失败 |
business_code | string | ApiKey.InValid | 业务码。 |
error_msg | string | The api key is invalid. | 如有异常,会返回详细的异常信息。 |
request_id | string | 9fed0e5f0659b128bad47e971aed3c81 | 请求的request_id。 |
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/chat/completions" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "las_extra_params": { "operator_id": "las_vlm_video", "operator_version": "v1" }, "model":"doubao-seed-1-8-251228", "messages": [ { "content": [ { "video_url": { "url": "https://las-ai-cn-beijing-online.tos-cn-beijing.volces.com/operator_cards_serving/public/online/las_vlm_video/v1/eating_56.mp4" }, "type": "video_url" }, { "text": "分析所有视频", "type": "text" } ], "role": "user" } ] }'
{ "id": "021775120740367c64dcafb5669f61b8aa56083c29025574c291e", "object": "chat.completion", "created": 1775120752, "model": "doubao-seed-1-8-32k-251228", "serviceTier": "default", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "这段来自《割绳子》衍生动画的片段,呈现了以下内容:\n1. 初始阶段(0-0.8s):画面中心是带有樱桃、奶油装饰的多层蛋糕,背景的蓝色双扇门逐渐关闭。\n2. 角色浮现(0.8-2s):蛋糕顶部的奶油下方,绿色小角色奥姆慢慢探出头,双眼眯起,带着调皮的神态,同时镜头向角色方向拉近,聚焦在它身上。\n3. 情绪转变(2-3s):奥姆突然睁开圆眼睛,嘴巴张开,露出兴奋、开心的表情,完成从“躲藏调皮”到“展露惊喜”的情绪变化,画面充满活泼感。", "name": null, "reasoning_content": "用户现在需要分析这个动画视频。首先看画面:开头是装饰有樱桃和奶油的蛋糕,背景门关上,然后绿色的小角色(像奥姆)从蛋糕里冒出来,先眯眼,然后眼睛睁开,露出开心的表情,镜头还拉近了。\n\n首先梳理时间线:\n0-0.8s:背景的蓝色门关闭,蛋糕在前景。\n0.8-2s:绿色角色从蛋糕的奶油下方露出,眯着眼睛,镜头向角色拉近。\n2-3s:角色睁开眼睛,露出兴奋的表情,嘴巴张开。\n\n然后总结内容:这段动画是《割绳子》里的奥姆,藏在蛋糕里,门关上后它钻出来,从有点调皮的眯眼到开心睁眼,镜头聚焦它,表现出惊喜活泼的感觉。\n\n现在组织语言,清晰描述每个阶段的画面变化和角色动作。" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 2339, "completion_tokens": 348, "total_tokens": 2687, "prompt_tokens_details": { "cached_tokens": 0 }, "completion_tokens_details": { "reasoning_tokens": 195 } }, "las_extra_result": { "compress_result": [ { "video_url": "https://las-ai-cn-beijing-online.tos-cn-beijing.volces.com/operator_cards_serving/public/online/las_vlm_video/v1/eating_56.mp4", "compression_details": { "original_info": { "original_path": "https://las-ai-cn-beijing-online.tos-cn-beijing.volces.com/operator_cards_serving/public/online/las_vlm_video/v1/eating_56.mp4", "original_size_mb": 0.35, "original_width": 640, "original_height": 360, "original_fps": 25, "original_duration": 2.9, "original_format": "mp4" }, "compression_process": { "step_0_format_conversion": { "executed": false }, "step_1_fps_reduction": { "executed": false }, "step_2_resolution_reduction": { "executed": false }, "step_3_bitrate_compression": { "executed": false } }, "final_result": { "final_width": 640, "final_height": 360, "final_fps": 25, "final_duration": 2.9, "final_bitrate_kbps": null, "final_size_mb": 0.35, "final_format": "mp4" }, "timing_info": { "total_processing_time_seconds": 0.54 } } } ], "metadata": { "task_status": "COMPLETED", "business_code": "0", "error_msg": "", "request_id": "29cbd915b22d3e86247de97e36405a82" } } }
HttpCode | 错误码 | 错误信息 | 说明 |
|---|---|---|---|
401 | Authorization.Missing | Missing Authorization. | 缺少鉴权 |
401 | ApiKey.Invalid | The api key is invalid. | API不合法 |
400 | Url.Invalid | The url is invalid. | 视频链接不合法 |