byted-las-video-resize
Resizes, scales, and adjusts video resolution and dimensions using GPU-accelerated NVENC encoding via Volcengine LAS. Video resizing, video scaling, video upscaling, and video downscaling — change video resolution, enlarge or shrink video dimensions, and adjust video size for different platforms and screens. Video compression by reducing resolution and video transcoding with specific dimension constraints. Supports flexible min/max width and height ranges with aspect ratio preservation strategies (increase, decrease, or disable), including landscape to portrait conversion. Async submit-poll workflow with batch support.
Saker · 用法翻译
Install · 安装
claude skill add byted-las-video-resize --from https://github.com/volcengine/agentkit-samples/tree/main/skills/byted-las-video-resize
Skill 文档 · 原文
LAS 视频分辨率调整(las_video_resize)
将视频调整到指定分辨率范围,支持宽高比保持策略和 GPU NVENC 编码。
设计模式
本 skill 主要采用:
- Tool Wrapper:封装
lasutilCLI 调用 - Pipeline:包含 Step 0 -> Step N 的顺序工作流
核心 API 与配置
- 算子 ID:
las_video_resize - API: 异步(
submit->poll) - 环境变量:
LAS_API_KEY(必填)
Gotchas
- 强制固定尺寸:需要设置
min_width=max_width且min_height=max_height,并将force_original_aspect_ratio_type=disable。 - 密钥安全:若聊天框屏蔽密钥,让用户在当前目录创建
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中是否已配置。 - 检查输入路径:如果用户要求处理的是本地文件,则需要先通过 File API 上传至 TOS。
- 检查输出路径:
output_tos_dir为必填参数,必须由用户提供自己可写的 TOS 目录路径(格式:tos://bucket/output_dir/)。 - 确认无误后:才能进入下一步。
Step 1: 初始化与准备
source "$(dirname "$0")/scripts/env_init.sh" las_video_resize
workdir=$LAS_WORKDIR- 处理本地文件时:使用 File API 上传(只需
LAS_API_KEY,无需 TOS 凭证和 Bucket):
``bash lasutil file-upload <local_path> ` 上传成功后返回 JSON,取其中的 presigned_url` 传给算子作为输入 URL。
Step 2: 预估价格(必须获得用户确认)
- 读取 references/prices.md 获取最新计费标准。
- 获取视频信息(时长、编码、分辨率):
``bash lasutil media-duration <video_url> ``
- 根据档位查表计算总价,将计费单价与预估总价一并告知用户并强制暂停执行。
Step 3: 提交任务 (Submit)
构造基础 data.json:
{
"video_path": "<presigned_url>",
"output_tos_dir": "tos://<your-bucket>/output_dir/",
"output_file_name": "resized.mp4",
"min_width": 1280, "max_width": 2560,
"min_height": 720, "max_height": 1440,
"force_original_aspect_ratio_type": "increase"
}重要提示: output_tos_dir 必须由用户提供,需要填写用户自己账号下可写的 TOS 目录。单文件提交:
data=$(cat "$workdir/data.json")
lasutil submit las_video_resize "$data" > "$workdir/submit.json"强制反馈:任务提交成功后,必须立即向用户返回生成的 `task_id`。
Step 4: 异步查询 (Poll)
异步任务与后台轮询约束:
- 如果当前环境支持后台任务/异步长效运行:利用后台能力轮询。
- 如果当前环境不支持长效后台任务:绝对禁止死循环等待! 向用户输出 Task ID 并结束当前轮次。
单任务查询:
lasutil poll las_video_resize {task_id}COMPLETED-> 返回输出视频路径result.data.output_path。RUNNING/PENDING-> 稍后重试。
Step 5: 结果呈现
resized_url=$(cat "./output/{task_id}/result.json" | jq -r '.data.output_path')
echo "缩放后的视频: $resized_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-las-video-inpaint
Removes unwanted visual elements from videos using AI-powered inpainting via Volcengine LAS. Video watermark removal, subtitle removal, logo…
byted-mediakit-videoedit
AI Video Intelligent Editing Skill. Input video file paths (supports multiple), optional danmaku file paths, optional subtitle file paths, c…