byted-las-vlm-video
Analyzes and understands video content using Volcengine LAS Doubao vision-language models (VLM). Multimodal AI video analysis, video comprehension, and visual understanding of video clips and footage. Performs video question answering (video Q&A) — ask questions about what happens in a video and get AI answers. Scene recognition, object recognition, action recognition from video frames. Generates video descriptions, captions, summaries, annotations, and content labeling. Auto-compresses video to 50MB before inference. Synchronous single-call processing.
Saker · 用法翻译
Install · 安装
claude skill add byted-las-vlm-video --from https://github.com/volcengine/agentkit-samples/tree/main/skills/byted-las-vlm-video
Skill 文档 · 原文
LAS 视频内容理解(las_vlm_video)
基于豆包视觉大模型对视频进行理解和分析(物体识别、动作分析、场景描述、摘要、字幕生成)。视频自动压缩到 50MB 以内再推理。
设计模式
本 skill 主要采用:
- Tool Wrapper:封装
lasutilCLI 调用 - Pipeline:包含 Step 0 -> Step N 的顺序工作流
核心 API 与配置
- 算子 ID:
las_vlm_video - API: 同步(
process) - 环境变量:
LAS_API_KEY(必填) - 视频限制: 需公网/火山内网可访问,<= 1GiB,暂不支持理解音频信息。
Gotchas
- 不可精确预估:按 Token 计费,且视频压缩后 token 量动态变化,需明确告知用户计费模式。
- 密钥安全:若聊天框屏蔽密钥,让用户在当前目录创建
env.sh并写入export LAS_API_KEY="...",SDK 会自动读取。 - 免责声明:最终回复结果时必须包含:"本方式的计费均为预估计费,与实际费用有差距,实际费用以运行后火山产生的账单为准。计费说明请参考 Volcengine LAS 定价。",且禁止使用"实际费用"字眼描述预估价。
工作流(严格按步骤执行)
执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 执行/提交任务
- [ ] Step 4: 结果呈现Step 0: 前置检查(必须在第一轮对话中完成)
- 检查 `LAS_API_KEY` 与 `LAS_REGION`:确认环境变量或
.env中是否已配置。 - 检查输入路径:如果用户要求处理的是本地文件,则需要先通过 File API 上传至 TOS。
- 确认无误后:才能进入下一步。
Step 1: 初始化与准备
source "$(dirname "$0")/scripts/env_init.sh" las_vlm_video
workdir=$LAS_WORKDIR- 处理本地文件时:先本地检查视频格式和时长,告知预估后,用户确认再上传:
``bash ./scripts/check_format.sh <local_path> duration_sec=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:noprint_section=1 <local_path>) ` 根据时长估算 token 量并等待用户确认后,再执行上传: `bash lasutil file-upload <local_path> ``
Step 2: 预估价格(必须获得用户确认)
本 skill 按 token 计费,提交前无法精确预估费用。需将以下单价表告知用户,由用户决定是否继续。
- 读取 references/prices.md 获取最新计费标准。
- 优先本地获取视频时长帮助预估(避免不必要上传):
``bash duration_sec=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:noprint_section=1 <local_path>) ` 根据时长估算 token 量后,告知用户 tos://` 内网访问更便宜。等待用户确认后才可继续。
Step 3: 执行视频理解 (Process)
构造基础 data.json(详细参数与接口定义见 references/api.md):
{
"messages": [
{"role": "user", "content": [
{"type": "video_url", "video_url": {"url": "<presigned_url>"}},
{"type": "text", "text": "分析视频内容,输出要点列表"}
]}
],
"model_name": "doubao-seed-1.6-vision"
}执行命令:
data=$(cat "$workdir/data.json")
lasutil process las_vlm_video "$data" > "$workdir/result.json"输出解析:模型返回文本在 result.data.vlm_result.choices[0].message.content 中。
Step 4: 结果呈现
mkdir -p "./output/{task_id}"
cat "$workdir/result.json" | jq -r '.data.vlm_result.choices[0].message.content' > "./output/{task_id}/summary.txt"向用户展示:
- 视频摘要
- 关键事件列表
- 本地文件路径:
./output/{task_id}/ - 签名下载链接(如上传成功)
- 计费声明
审查标准
执行完成后,Agent 应自检:
- 环境变量是否正确配置
- 输入文件是否成功上传
- 输出结果是否正确呈现给用户
- 计费声明是否包含
Related · 同类技能
blip-2-vision-language
Vision-language pre-training framework bridging frozen image encoders and LLMs. Use when you need image captioning, visual question answerin…
clip
OpenAI's model connecting vision and language. Enables zero-shot image classification, image-text matching, and cross-modal retrieval. Train…
segment-anything-model
Foundation model for image segmentation with zero-shot transfer. Use when you need to segment any object in images using points, boxes, or m…