byted-las-video-inpaint
Removes unwanted visual elements from videos using AI-powered inpainting via Volcengine LAS. Video watermark removal, subtitle removal, logo removal, and text overlay removal — erases and cleans up watermarks, hardcoded subtitles, logos, text, and other fixed-region artifacts and obstructions from video footage. Supports specifying exact bounding boxes for targeted removal and erasure. Handles videos up to 4 hours and 30GB.
Saker · 用法翻译
Install · 安装
claude skill add byted-las-video-inpaint --from https://github.com/volcengine/agentkit-samples/tree/main/skills/byted-las-video-inpaint
Skill 文档 · 原文
LAS 视频修复(las_video_inpaint)
去除视频中的水印、字幕、Logo。支持指定固定区域修复(fixed_bboxes)。多种修复后端可选。
使用限制:视频时长 <= 4 小时,文件大小 <= 30GB。
设计模式
本 skill 主要采用:
- Tool Wrapper:封装
lasutilCLI 调用 - Pipeline:包含 Step 0 -> Step N 的顺序工作流
核心 API 与配置
- 算子 ID:
las_video_inpaint - API: 异步(
submit->poll) - 环境变量:
LAS_API_KEY(必填)
Gotchas
- 密钥安全:若聊天框屏蔽密钥,让用户在当前目录创建
env.sh并写入export LAS_API_KEY="...",SDK 会自动读取。 - 免责声明:最终回复结果时必须包含:"本方式的计费均为预估计费,与实际费用有差距,实际费用以运行后火山产生的账单为准。计费说明请参考 Volcengine LAS 定价。",且禁止使用"实际费用"字眼描述预估价。
工作流(严格按步骤执行)
执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 提交任务
- [ ] Step 4: 异步查询
- [ ] Step 5: 结果呈现Step 0: 前置检查(必须在第一轮对话中完成)
在接受用户的任务后,不要立即开始执行,必须首先进行以下环境检查:
- 检查 `LAS_API_KEY` 与 `LAS_REGION`:确认环境变量或
.env中是否已配置。
- 若无,必须立即向用户索要(提示:
LAS_REGION常见为cn-beijing)。 - 注意:
LAS_REGION必须与您的 API Key 及 TOS Bucket 所在的地域完全一致。
- 检查输入路径:如果用户要求处理的是本地文件,则需要先通过 File API 上传至 TOS。
- 检查输出路径:
output_tos_path为必填参数,必须由用户提供自己可写的 TOS 目录路径(格式:tos://bucket/output_dir/)。
Step 1: 初始化与准备
环境初始化(Agent 必做):
source "$(dirname "$0")/scripts/env_init.sh" las_video_inpaint
workdir=$LAS_WORKDIR- 处理本地文件时:使用 File API 上传(只需
LAS_API_KEY,无需 TOS 凭证和 Bucket):
``bash lasutil file-upload <local_path> ` 上传成功后返回 JSON,取其中的 presigned_url`(HTTPS 预签名下载链接,24 小时有效)传给算子作为输入 URL。
Step 2: 预估价格(必须获得用户确认)
- 读取 references/prices.md 获取最新计费标准。
- 获取视频时长:
``bash lasutil media-duration <video_url> ``
- 根据时长和模式单价计算总价,将计费单价与预估总价一并告知用户并强制暂停执行,明确等待用户回复确认。
Step 3: 提交任务 (Submit)
构造基础 data.json:
{
"video_url": "<presigned_url>",
"output_tos_path": "tos://<your-bucket>/output_dir/",
"targets": ["watermark", "subtitle"]
}单文件提交:
data=$(cat "$workdir/data.json")
lasutil submit las_video_inpaint "$data" > "$workdir/submit.json"强制反馈:任务提交成功后,必须立即向用户返回生成的 `task_id`。
Step 4: 异步查询 (Poll)
异步任务与后台轮询约束:
- 如果环境支持后台任务:利用后台能力轮询,完成后主动返回结果。
- 如果环境不支持长效后台任务:绝对禁止死循环等待! 向用户输出 Task ID 并结束当前轮次。
单任务查询:
lasutil poll las_video_inpaint {task_id}COMPLETED-> 返回修复后视频路径result.data.inpainted_video_path。RUNNING/PENDING-> 稍后重试。
Step 5: 结果呈现
# 获取修复后的视频 URL
inpainted_url=$(cat "./output/{task_id}/result.json" | jq -r '.data.inpainted_video_path')
echo "修复后的视频: $inpainted_url"向用户展示:
- 修复后的视频下载链接
- 本地结果路径:
./output/{task_id}/ - 计费声明
审查标准
执行完成后,Agent 应自检:
- 环境变量是否正确配置
- 输入文件是否成功上传
- 输出结果是否正确呈现给用户
- 计费声明是否包含
Related · 同类技能
byted-las-video-edit
Extracts and clips video segments from long videos using natural language descriptions. AI-powered smart video editing, video trimming, and …
byted-mediakit-videoedit
AI Video Intelligent Editing Skill. Input video file paths (supports multiple), optional danmaku file paths, optional subtitle file paths, c…
byted-mediakit-voiceover-editing
Volcano Engine AI MediaKit talking-head video editing Skill: a one-stop workflow from environment setup through media management, audio proc…