Saker.cc
返回 Skill Wardrobe
🤖 MID · Agent 编排音频生成

byted-las-audio-convert

Converts and transcodes audio file formats and encoding parameters using Volcengine LAS. Audio format conversion between wav, mp3, flac, m4a, ogg, aac and other audio formats. Adjusts sample rate (resample, downsample, upsample), bit rate (bitrate), channels (mono, stereo, channel mixing), audio compression, and audio quality settings via ffmpeg parameters. Supports TOS cloud storage paths and local file upload.

Saker · 用法翻译

格式转换 — wav到mp3/flac 批量转码
编码参数调整 — 采样率/比特率适配目标平台
音频标准化 — 统一格式便于后续处理

Install · 安装

claude skill add byted-las-audio-convert --from https://github.com/volcengine/agentkit-samples/tree/main/skills/byted-las-audio-convert

Skill 文档 · 原文

LAS 音频格式转换(las_audio_convert

将 TOS 上的音频文件转换为指定格式(wav/mp3/flac),可通过 extra_params 传入 ffmpeg 参数调整采样率、声道数等。

设计模式

本 skill 主要采用:

  • Tool Wrapper:封装 lasutil CLI 调用
  • Pipeline:包含 Step 0 -> Step N 的顺序工作流

核心 API 与配置

  • 算子 ID: las_audio_convert
  • API: 同步(process
  • 环境变量: LAS_API_KEY (必填)

Gotchas

  • 密钥安全:若聊天框屏蔽密钥,让用户在当前目录创建 env.sh 并写入 export LAS_API_KEY="...",SDK 会自动读取。
  • 免责声明:最终回复结果时必须包含:"本方式的计费均为预估计费,与实际费用有差距,实际费用以运行后火山产生的账单为准。计费说明请参考 Volcengine LAS 定价。",且禁止使用"实际费用"字眼描述预估价。

工作流(严格按步骤执行)

执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 执行/提交任务
- [ ] Step 4: 结果呈现

Step 0: 前置检查(必须在第一轮对话中完成)

  1. 检查 `LAS_API_KEY` 与 `LAS_REGION`:确认环境变量或 .env 中是否已配置。
  2. 检查输入路径:如果用户要求处理的是本地文件,则需要先通过 File API 上传至 TOS。
  3. 确认无误后:才能进入下一步。

Step 1: 初始化与准备

source "$(dirname "$0")/scripts/env_init.sh" las_audio_convert
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>) ` 计算预估价格并等待用户确认后,再执行上传: `bash lasutil file-upload <local_path> ``

Step 2: 预估价格(必须获得用户确认)

  1. 读取 references/prices.md 获取最新计费标准。
  2. 优先本地获取时长

``bash duration_sec=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:noprint_section=1 <local_path>) ``

  1. 根据时长和模型单价计算总价,将计费单价与预估总价一并告知用户并强制暂停执行

Step 3: 执行转换 (Process)

构造基础 data.json(仅需必填项,高级用法可加 extra_params):

{
  "input_path": "<presigned_url>",
  "output_path": "tos://bucket/output.wav",
  "output_format": "wav"
}

高级用法示例:

{
  "input_path": "<presigned_url>",
  "output_path": "tos://bucket/output.wav",
  "output_format": "wav",
  "extra_params": ["-ar", "44100", "-ac", "1"]
}

执行命令:

data=$(cat "$workdir/data.json")
lasutil process las_audio_convert "$data" > "$workdir/result.json"

结果呈现

使用脚本自动生成结果展示(自动包含计费声明):

./scripts/generate_result.md.sh $workdir/result.json <estimated_price>

手动提取方式:

jq '[.data.audios[] | {
  input: (.input_path | split("/") | last),
  output: .output_path,
  duration: "\(.duration)s",
  status: .status
}]' result.json

如果 statusfailed,标记为失败并提示用户检查输入格式。

审查标准

执行完成后,Agent 应自检:

  1. 环境变量是否正确配置
  2. 输入文件是否成功上传
  3. 输出结果是否正确呈现给用户
  4. 计费声明是否包含

Related · 同类技能