技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
byted-las-long-video-understand【数据与研究】Performs deep AI-powered analysis and understanding of long-form videos (up to 3 hours, 10GB) using Volcengine LAS large language models. Video analysis, video comprehension, and video summarization — generates comprehensive video summaries, video recaps, chapter breakdowns, event timelines, key moments, and structured content indexing. Supports beha…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
las_long_video_understand)基于大模型提供多维度、精细化的视频结构化理解。支持小时级(最大 3h)视频的全局理解、事件与行为识别、视频问答、高效摘要及结构化输出。
本 skill 主要采用:
lasutil CLI 调用las_long_video_understandsubmit → poll)LAS_API_KEY (必填)详细参数与接口定义见 references/api.md。
env.sh 并写入 export LAS_API_KEY="...",SDK 会自动读取。复制此清单并跟踪进度:
执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 提交异步任务
- [ ] Step 4: 轮询任务状态
- [ ] Step 5: 结果呈现
在接受用户的任务后,不要立即开始执行,必须首先进行以下环境检查:
LAS_API_KEY 与 LAS_REGION:确认环境变量或 .env 中是否已配置。
LAS_REGION 常见为 cn-beijing)。LAS_REGION 必须与您的 API Key 及 TOS Bucket 所在的地域完全一致。如果用户中途切换了 Region,必须提醒用户其 TOS Bucket 也需对应更换,否则会导致权限异常或上传失败。LAS_API_KEY,无需额外 TOS 凭证)。VOLCENGINE_ACCESS_KEY 和 VOLCENGINE_SECRET_KEY。对于仅需要上传输入文件的场景,TOS 凭证不再必须。环境初始化(Agent 必做):
# 执行统一的环境初始化与更新脚本(会自动创建/激活虚拟环境,并检查更新)
source "$(dirname "$0")/scripts/env_init.sh" las_long_video_understand
workdir=$LAS_WORKDIR
如果网络问题导致更新失败,脚本会跳过检查,使用本地已安装的 SDK 继续执行。
# 提前检查视频格式(避免参数错误)
./scripts/check_format.sh <local_path>
# 本地使用 ffprobe 获取时长(无需上传即可预估价格)
duration_sec=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:noprint_section=1 <local_path>)
计算预估价格并等待用户确认后,再执行上传:
# 用户确认后,上传到 TOS
lasutil file-upload <local_path>
上传成功后返回 JSON,取其中的 tos_uri(格式 tos://bucket/key)传给算子作为输入路径。本 skill 按 token 计费,由于视频长且分析复杂,提交前无法精确预估费用。
构造 data.json:
{
"video_url": "<url>",
"query": "请总结这个视频的主要内容",
"fps": 1.0,
"model_name": "doubao-seed-2-0-lite-260215"
}
执行命令:
data=$(cat "$workdir/data.json")
lasutil submit las_long_video_understand "$data" > "$workdir/submit.json"
task_id=$(cat "$workdir/submit.json" | jq -r '.metadata.task_id')
echo "Task ID: $task_id"
# 获取任务状态
lasutil poll las_long_video_understand "$task_id" > "$workdir/poll.json"
cat "$workdir/poll.json" | jq -r '.metadata.task_status'
PENDING 或 RUNNING,等待一段时间后再次执行上述命令。由于是长视频理解,耗时可能较长。COMPLETED,继续 Step 5。FAILED,向用户报告错误 error_msg。⚠️ 异步任务与后台轮询约束:
如果环境支持后台任务,可以使用优化后的后台轮询脚本自动轮询直到完成:
mkdir -p "./output/${task_id}"
./scripts/poll_background.sh ${task_id} "./output/${task_id}" & disown
脚本特性:
COMPLETED 标记文件如果环境不支持后台任务,手动轮询:
# 获取任务状态
lasutil poll las_long_video_understand "$task_id" > "$workdir/poll.json"
cat "$workdir/poll.json" | jq -r '.metadata.task_status'
PENDING 或 RUNNING,等待一段时间后再次执行上述命令。由于是长视频理解,耗时可能较长。COMPLETED,继续 Step 5。FAILED,向用户报告错误 error_msg。处理结果:
使用脚本自动生成结果展示(自动包含计费声明):
./scripts/generate_result.md.sh ${task_id} "./output/${task_id}" <estimated_price>
手动处理:
# 解析最终摘要
cat "$workdir/poll.json" | jq -r '.data.final_summary'
# 可选:保存 clips 详情到本地
cat "$workdir/poll.json" | jq '.data.clips' > "./output/${task_id}/clips_detail.json"
向用户展示:
final_summary(最终摘要)clips 提取并展示