Install
openclaw skills install byted-las-audio-convertConverts 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. Use this skill when the user wants to convert audio format (wav/mp3/flac/m4a/ogg/aac), transcode or re-encode audio files, adjust audio sample rate, bitrate, channels, compress audio files, resample or downsample audio, prepare audio for downstream tasks, or do any audio preprocessing.
openclaw skills install byted-las-audio-convertlas_audio_convert)将 TOS 上的音频文件转换为指定格式(wav/mp3/flac),可通过 extra_params 传入 ffmpeg 参数调整采样率、声道数等。
本 skill 主要采用:
lasutil CLI 调用las_audio_convertprocess)LAS_API_KEY (必填)详细参数与接口定义见 references/api.md。
env.sh 并写入 export LAS_API_KEY="...",SDK 会自动读取。复制此清单并跟踪进度:
执行进度:
- [ ] Step 0: 前置检查
- [ ] Step 1: 初始化与准备
- [ ] Step 2: 预估价格
- [ ] Step 3: 执行/提交任务
- [ ] Step 4: 结果呈现
在接受用户的任务后,不要立即开始执行,必须首先进行以下环境检查:
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_audio_convert
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)传给算子作为输入路径。# 使用 ffprobe 本地获取
duration_sec=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:noprint_section=1 <local_path>)
如果 ffprobe 失败,再使用 lasutil 远程获取:
lasutil media-duration <input_audio_url>
构造基础 data.json(仅需必填项,高级用法可在其中加 "extra_params": ["-ar", "44100", "-ac", "1"]):
{
"input_path": "<presigned_url>",
"output_path": "tos://bucket/output.wav",
"output_format": "wav"
}
执行命令:
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
如果 status 为 failed,标记为 ❌ 并提示用户检查输入格式。
执行完成后,Agent 应自检: