/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
$ npx -y skills add bytedance/agentkit-samples --skill byted-las-video-resize --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/byted-las-video-resize
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
byted-las-video-resize.SKILL.mdname: byted-las-video-resize
version: "1.0.1"
description: "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 and re-encoding 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. Use this skill when the user wants to resize or scale video resolution (upscale/downscale), change video dimensions for different platforms, compress videos by reducing resolution, transcode/re-encode videos with GPU NVENC, adjust aspect ratio including landscape-to-portrait conversion, adapt videos for mobile/web/social media, or batch process multiple videos."
LAS 视频分辨率调整(`las_video_resize`)
将视频调整到指定分辨率范围,支持宽高比保持策略和 GPU NVENC 编码。
设计模式
本 skill 主要采用:
- **Tool Wrapper**:封装 `lasutil` CLI 调用
- **Pipeline**:包含 Step 0 → Step N 的顺序工作流
核心 API 与配置
- **算子 ID**: `las_video_resize`
- **API**: 异步(`submit` → `poll`)
- **环境变量**: `LAS_API_KEY` (必填)
> 详细参数与接口定义见 [references/api.md](references/api.md)。
Gotchas
- **强制固定尺寸**:需要设置 `min_width=max_width` 且 `min_height=max_height`,并将 `force_original_aspect_ratio_type=disable`。
- **密钥安全**:若聊天框屏蔽密钥,让用户在当前目录创建 `env.sh` 并写入 `export LAS_API_KEY="..."`,SDK 会自动读取。
- **免责声明**:最终回复结果时必须包含:"本方式的计费均为预估计费,与实际费用有差距,实际费用以运行后火山产生的账单为准。计费说明请参考 [Volcengine LAS 定价](https://www.volcengine.com/docs/6492/1544808)。",且禁止使用"实际费用"字眼描述预估价。
工作流(严格按步骤执行)
复制此清单并跟踪进度:
执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 提交任务
- [ ] Step 4: 异步查询
- [ ] Step 5: 结果呈现
Step 0: 前置检查(⚠️ 必须在第一轮对话中完成)
在接受用户的任务后,**不要立即开始执行**,必须首先进行以下环境检查: 1. **检查 `LAS_API_KEY` 与 `LAS_REGION`**:确认环境变量或 `.env` 中是否已配置。
- 若无,必须立即向用户索要(提示:`LAS_REGION` 常见为 `cn-beijing`)。
- **注意**:`LAS_REGION` 必须与您的 API Key 及 TOS Bucket 所在的地域完全一致。如果用户中途切换了 Region,必须提醒用户其 TOS Bucket 也需对应更换,否则会导致权限异常或上传失败。
2. **检查输入路径**:
- 如果用户要求处理的是**本地文件**,则需要先通过 File API 上传至 TOS(只需 `LAS_API_KEY`,无需额外 TOS 凭证)。
- 如果算子的**输出结果**存放在 TOS 上,且用户需要下载回本地,则需要 `VOLCENGINE_ACCESS_KEY` 和 `VOLCENGINE_SECRET_KEY`。对于**仅需要上传输入文件**的场景,TOS 凭证**不再必须**。
3. **检查输出路径**:
- `output_tos_dir` 为必填参数,必须由用户提供**自己可写的 TOS 目录路径**(格式:`tos://bucket/output_dir/`)。
- 服务端需要将缩放后的视频写入此目录。
4. **确认无误后**:才能进入下一步。
Step 1: 初始化与准备
**环境初始化(Agent 必做)**:
# 执行统一的环境初始化与更新脚本(会自动创建/激活虚拟环境,并检查更新)
source "$(dirname "$0")/scripts/env_init.sh" las_video_resize
workdir=$LAS_WORKDIR
> 如果网络问题导致更新失败,脚本会跳过检查,使用本地已安装的 SDK 继续执行。
- **处理本地文件时**:使用 File API 上传(只需 `LAS_API_KEY`,无需 TOS 凭证和 Bucket):
lasutil file-upload <local_path>
上传成功后返回 JSON,取其中的 `presigned_url`(HTTPS 预签名下载链接,24 小时有效)传给算子作为输入 URL。
Step 2: 预估价格(⚠️ 必须获得用户确认)
1. 读取 [references/prices.md](references/prices.md) 获取最新计费标准。 2. 获取视频信息(时长、编码、分辨率):
lasutil media-duration <video_url>
3. 根据档位查表计算总价,**将计费单价与预估总价一并告知用户并强制暂停执行**,明确等待用户回复确认。在用户明确回复"继续"、"确认"等同意指令前,**绝对禁止**进入下一步(执行/提交任务)。提示:预估仅供参考,实际以火山账单为准。计费说明请参考 [Volcengine LAS 定价](https://www.volcengine.com/docs/6492/1544808)。
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)
⚠️ **异步任务与后台轮询约束**:
- 如果你当前的环境**支持后台任务/异步长效运行**:你可以利用环境提供的后台能力(例如发起后台轮询任务),并在任务完成后主动将结果返回给用户。
- 如果你当前的环境**不支持**长效后台任务(如普通的单轮对话沙箱),且直接 `sleep` 循环会导致超时崩溃:**绝对禁止在代码中执行死循环等待!** 此时必须立即向用户输出 Task ID 并结束当前轮次,告知用户:"任务已提交,请稍后向我询问进度"。
**单任务查询**:
lasutil poll las_video_resize {task_id}- `COMPLETED` → 返回输出视频路径 `result.data.output_path`。
- `RUNNING`/`PENDING` → 稍后重试。
Step 5: 结果呈现
**处理结果**:
# 获取缩放后的视频 URL
resized_url=$(cat "./output/{task_id}/result.json" | jq -r '.data.output_path')
echo "缩放后的视频: $resized_url"**视频文件**:
- 缩放后的视频已保存在 TOS,直接返回预签名 URL
- 无需再次上传
**向用户展示**: 1. 缩放后的视频下载链接 2. 输出分辨率、编码信息 3. 本地结果路径:`./output/{task_id}/` 4. 计费声明
审查标准
执行完成后,Agent 应自检: 1. 环境变量是否正确配置 2. 输入文件是否成功上传 3. 输出结果是否正确呈现给用户 4. 计费声明是否包含
Read more
name: byted-las-video-resize version: "1.0.1" description: "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 and re-encoding 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. Use this skill when the user wants to resize or scale video resolution (upscale/downscale), change video dimensions for different platforms, compress videos by reducing resolution, transcode/re-encode videos with GPU NVENC, adjust aspect ratio including landscape-to-portrait conversion, adapt videos for mobile/web/social media, or batch process multiple videos."
LAS 视频分辨率调整(`las_video_resize`)
将视频调整到指定分辨率范围,支持宽高比保持策略和 GPU NVENC 编码。
设计模式
本 skill 主要采用:
- **Tool Wrapper**:封装 `lasutil` CLI 调用
- **Pipeline**:包含 Step 0 → Step N 的顺序工作流
核心 API 与配置
- **算子 ID**: `las_video_resize`
- **API**: 异步(`submit` → `poll`)
- **环境变量**: `LAS_API_KEY` (必填)
> 详细参数与接口定义见 [references/api.md](references/api.md)。
Gotchas
- **强制固定尺寸**:需要设置 `min_width=max_width` 且 `min_height=max_height`,并将 `force_original_aspect_ratio_type=disable`。
- **密钥安全**:若聊天框屏蔽密钥,让用户在当前目录创建 `env.sh` 并写入 `export LAS_API_KEY="..."`,SDK 会自动读取。
- **免责声明**:最终回复结果时必须包含:"本方式的计费均为预估计费,与实际费用有差距,实际费用以运行后火山产生的账单为准。计费说明请参考 [Volcengine LAS 定价](https://www.volcengine.com/docs/6492/1544808)。",且禁止使用"实际费用"字眼描述预估价。
工作流(严格按步骤执行)
复制此清单并跟踪进度:
执行进度: - [ ] Step 0: 前置检查 - [ ] Step 1: 初始化与准备 - [ ] Step 2: 预估价格 - [ ] Step 3: 提交任务 - [ ] Step 4: 异步查询 - [ ] Step 5: 结果呈现
Step 0: 前置检查(⚠️ 必须在第一轮对话中完成)
在接受用户的任务后,**不要立即开始执行**,必须首先进行以下环境检查: 1. **检查 `LAS_API_KEY` 与 `LAS_REGION`**:确认环境变量或 `.env` 中是否已配置。
- 若无,必须立即向用户索要(提示:`LAS_REGION` 常见为 `cn-beijing`)。
- **注意**:`LAS_REGION` 必须与您的 API Key 及 TOS Bucket 所在的地域完全一致。如果用户中途切换了 Region,必须提醒用户其 TOS Bucket 也需对应更换,否则会导致权限异常或上传失败。
2. **检查输入路径**:
- 如果用户要求处理的是**本地文件**,则需要先通过 File API 上传至 TOS(只需 `LAS_API_KEY`,无需额外 TOS 凭证)。
- 如果算子的**输出结果**存放在 TOS 上,且用户需要下载回本地,则需要 `VOLCENGINE_ACCESS_KEY` 和 `VOLCENGINE_SECRET_KEY`。对于**仅需要上传输入文件**的场景,TOS 凭证**不再必须**。
3. **检查输出路径**:
- `output_tos_dir` 为必填参数,必须由用户提供**自己可写的 TOS 目录路径**(格式:`tos://bucket/output_dir/`)。
- 服务端需要将缩放后的视频写入此目录。
4. **确认无误后**:才能进入下一步。
Step 1: 初始化与准备
**环境初始化(Agent 必做)**:
# 执行统一的环境初始化与更新脚本(会自动创建/激活虚拟环境,并检查更新) source "$(dirname "$0")/scripts/env_init.sh" las_video_resize workdir=$LAS_WORKDIR
> 如果网络问题导致更新失败,脚本会跳过检查,使用本地已安装的 SDK 继续执行。
- **处理本地文件时**:使用 File API 上传(只需 `LAS_API_KEY`,无需 TOS 凭证和 Bucket):
lasutil file-upload <local_path>
上传成功后返回 JSON,取其中的 `presigned_url`(HTTPS 预签名下载链接,24 小时有效)传给算子作为输入 URL。
Step 2: 预估价格(⚠️ 必须获得用户确认)
1. 读取 [references/prices.md](references/prices.md) 获取最新计费标准。 2. 获取视频信息(时长、编码、分辨率):
lasutil media-duration <video_url>
3. 根据档位查表计算总价,**将计费单价与预估总价一并告知用户并强制暂停执行**,明确等待用户回复确认。在用户明确回复"继续"、"确认"等同意指令前,**绝对禁止**进入下一步(执行/提交任务)。提示:预估仅供参考,实际以火山账单为准。计费说明请参考 [Volcengine LAS 定价](https://www.volcengine.com/docs/6492/1544808)。
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)
⚠️ **异步任务与后台轮询约束**:
- 如果你当前的环境**支持后台任务/异步长效运行**:你可以利用环境提供的后台能力(例如发起后台轮询任务),并在任务完成后主动将结果返回给用户。
- 如果你当前的环境**不支持**长效后台任务(如普通的单轮对话沙箱),且直接 `sleep` 循环会导致超时崩溃:**绝对禁止在代码中执行死循环等待!** 此时必须立即向用户输出 Task ID 并结束当前轮次,告知用户:"任务已提交,请稍后向我询问进度"。
**单任务查询**:
lasutil poll las_video_resize {task_id}- `COMPLETED` → 返回输出视频路径 `result.data.output_path`。
- `RUNNING`/`PENDING` → 稍后重试。
Step 5: 结果呈现
**处理结果**:
# 获取缩放后的视频 URL
resized_url=$(cat "./output/{task_id}/result.json" | jq -r '.data.output_path')
echo "缩放后的视频: $resized_url"**视频文件**:
- 缩放后的视频已保存在 TOS,直接返回预签名 URL
- 无需再次上传
**向用户展示**: 1. 缩放后的视频下载链接 2. 输出分辨率、编码信息 3. 本地结果路径:`./output/{task_id}/` 4. 计费声明
审查标准
执行完成后,Agent 应自检: 1. 环境变量是否正确配置 2. 输入文件是否成功上传 3. 输出结果是否正确呈现给用户 4. 计费声明是否包含
欢迎来到 AgentKit 代码工坊(Samples)仓库! AgentKit 是火山引擎推出的企业级 AI Agent 开发平台,为开发者提供完整的 Agent 构建、部署和运维解决方案。平台通过标准化的开发工具链和云原生基础设施,显著降低复杂智能体应用的开发部署门槛。 本代码库包含了一系列示例和教程,帮助您理解、实现和集成 AgentKit 的各项功能到您的应用中。
Other skills on agentkit-samples.
- /code-optimization
Optimize code performance through iterative improvements (max 2 rounds). Benchmark execution time and memory usage, compare against baseline implementations, and generate detailed optimization reports. Supports C++, Python, Java, Rust, and other languages.
Open skill - /image-video-gen
根据文字描述生成视频,一个生成图片和视频的工作流技能。依赖 skills: byted-web-search, image-generate, video-generate。注意:此 workflow 没有执行脚本,只是一个描述性的文档。
Open skill - /skills-management
Manage AgentKit skills, SkillHub/skillhub, skill centers, and skill spaces. Use this skill whenever the user has a management intent for AgentKit skills, skill中心, skill 空间, skill space, or skill hub, including listing, inspecting, downloading, fetching, uploading, publishing,
Open skill - /tos-file-access
Upload files or directories to TOS-compatible object storage for Volcano Engine or BytePlus and download files from URLs. Use this skill when (1) Upload Agent-generated files or directories for sharing, (2) Download files from URLs before Agent processing.
Open skill - /veadk-go-skills
根据用户的功能需求,完成与 VeADK-Go 相关的功能; 包括:直接根据需求生成 Agent;将Enio Agent转换为VeADK-Go Agent。
Open skill - /veadk-skills
根据用户的功能需求,完成与 VeADK 相关的功能。
Open skill

