Skills로 돌아가기
volcengine/mediakit-cli검사 통과

SKILL DETAIL

byted-mediakit-audio

volcengine/mediakit-cli/byted-mediakit-audio

面向音频文件或视频中的音轨,处理语音边界定位、音频媒资信息探测、音频转码与码流封装适配、人声与背景声分离等目标。若对象和目标族已明确属于音频内容理解、音频转码、音频格式治理或音轨分离,但具体做法不确定,可先加载本 Skill 探索。

설치 수 · 324출처 보기

Installation

npx skills add https://github.com/volcengine/mediakit-cli --skill byted-mediakit-audio

스킬 파일

SKILL.md

최근 동기화 · 2026. 9. 11.

LICENSE
# The MIT License (MIT)

Copyright © 2025 Beijing Volcano Engine Technology Ltd.

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE
reference/detect-voice-activity.md
# 语音端点识别

## 能力用途

用于语音端点识别。自动定位音频或视频文件中有效语音的起止时间。将人声和静音、背景噪声等无效片段区分开来。返回包含所有有效人声片段起止时间戳的列表。

## 参数填写规则

- 可选参数仅在用户明确指定,或可从用户意图准确确定时填写;不得伪造。不能准确确定时省略,确为正确完成任务所必需时先向用户澄清。
- 文档派生的 Cloud 公共请求字段只在用户明确提供时传递;不得由 Agent 生成、推断或补写。

## Cloud

### 命令与生命周期

- 命令:`mediakit-cli audio detect-voice-activity`
- 生命周期:异步
- 返回方式:返回 `task_id`,再查询终态结果。

### 参数

| 参数路径 | CLI flag | 类型 | 必填 | 默认值 | 枚举/范围/结构 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| `audio_url` | `--audio-url` | string | 否 | - | - | audio_url 为待处理的音频 URL,是条件必填项;支持公网可访问的 http/https 直链或 mediakit/tos/vod 平台资源链接;audio_url 与 video_url 二选一,必须且只能提供其中一个。支持 mp3、m4a、wav、wma、amr、aac、ogg、flac 等主流音频格式。 |
| `callback_args` | `--callback-args` | string | 否 | - | - | 自定义回调参数。任务完成时,您提供的内容会通过事件回调原样返回,便于关联业务;字段长度最大为 512 字节。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `callback_url` | `--callback-url` | string | 否 | - | - | 用于接收该任务结果回调的 URL 地址。提供此参数时,其优先级高于全局回调地址;地址必须以 http:// 或 https:// 开头。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `client_token` | `--client-token` | string | 否 | - | - | 用户请求凭证,用于幂等控制。大小写敏感,不超过 64 个 ASCII 码可打印字符。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `queue_id` | `--queue-id` | string | 否 | - | - | 任务提交的目标队列 ID。如不传,默认使用系统自动创建的队列 ID。可将不同业务或优先级的任务提交到不同队列,以实现按队列对应的项目分账。队列可创建和管理,系统会自动为队列分配队列 ID。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `video_url` | `--video-url` | string | 否 | - | - | video_url 为待处理的视频 URL,是条件必填项;支持公网可访问的 http/https 直链或 mediakit/tos/vod 平台资源链接;video_url 与 audio_url 二选一,必须且只能提供其中一个。支持 mp4、flv、ts、avi、mov、wmv、mkv 等主流视频格式。 |

### 调用示例

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli audio detect-voice-activity \
  --video-url <video_url>
```

仅使用用户真实输入替换占位符;可选 flag 遵守参数填写规则,不得编造 URL、文件、枚举或业务参数。

### 返回结果

| 字段路径 | 类型 | 必含 | 模式 | 说明 |
| --- | --- | --- | --- | --- |
| `request_id` | string | 否 | Cloud | 请求标识;仅在后端返回时出现。 |
| `task_id` | string | 是 | Cloud | 异步任务的唯一标识,用于查询任务状态并获取最终结果。 |
| `task_type` | string | 否 | Cloud | 任务类型;仅在后端实际返回非空值时出现。 |
| `result.duration` | number | 否 | Cloud 终态 | 输入媒体文件的总时长,单位为秒。 |
| `result.segment_count` | integer | 否 | Cloud 终态 | 检测到的人声片段数量;未检测到人声片段时为 0。 |
| `result.voice_segments` | array<object> | 否 | Cloud 终态 | 有效人声片段列表;未检测到有效人声时返回空数组。 |
| `result.voice_segments[].end_time` | number | 否 | Cloud 终态 | 片段结束时间,单位为秒,精确到小数点后两位。 |
| `result.voice_segments[].start_time` | number | 否 | Cloud 终态 | 片段开始时间,单位为秒,精确到小数点后两位。 |

Cloud 调用成功后读取 `task_id`,再查询终态结果:

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli shared query-task --task-id <task_id> --poll-complete
```

### 机器合同

以下命令只读取本模式的实时 help/schema,不发起业务调用:

```bash
mediakit-cli audio detect-voice-activity --help
mediakit-cli audio detect-voice-activity --schema
```
reference/probe-audio-metadata.md
# 音频元信息获取

## 能力用途

探测输入音频 URL,输出标准化媒资元信息,用于获取音频元信息。

## 参数填写规则

- 可选参数仅在用户明确指定,或可从用户意图准确确定时填写;不得伪造。不能准确确定时省略,确为正确完成任务所必需时先向用户澄清。
- 文档派生的 Cloud 公共请求字段只在用户明确提供时传递;不得由 Agent 生成、推断或补写。
- Local 仅使用 Local 参数;Cloud-only 或当前未实现字段不得传入。

## Cloud

### 命令与生命周期

- 命令:`mediakit-cli --cloud audio probe-audio-metadata`
- 生命周期:异步
- 返回方式:返回 `task_id`,再查询终态结果。

### 参数

| 参数路径 | CLI flag | 类型 | 必填 | 默认值 | 枚举/范围/结构 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| `audio_url` | `--audio-url` | string | 是 | - | - | 待探测的音频 URL,支持 mp3、m4a、wav、wma、amr、aac、ogg、flac 等音频格式;支持公网 HTTP/HTTPS URL、本地文件路径、火山引擎视频点播 vod:// 和火山引擎对象存储 tos:// 四种输入协议。 |
| `callback_args` | `--callback-args` | string | 否 | - | - | 自定义回调参数。任务完成时,您提供的内容会通过事件回调原样返回,便于关联业务;字段长度最大为 512 字节。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `callback_url` | `--callback-url` | string | 否 | - | - | 用于接收该任务结果回调的 URL 地址。提供此参数时,其优先级高于全局回调地址;地址必须以 http:// 或 https:// 开头。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `client_token` | `--client-token` | string | 否 | - | - | 用户请求凭证,用于幂等控制。大小写敏感,不超过 64 个 ASCII 码可打印字符。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `queue_id` | `--queue-id` | string | 否 | - | - | 任务提交的目标队列 ID。如不传,默认使用系统自动创建的队列 ID。可将不同业务或优先级的任务提交到不同队列,以实现按队列对应的项目分账。队列可创建和管理,系统会自动为队列分配队列 ID。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |

### 调用示例

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli --cloud audio probe-audio-metadata \
  --audio-url <audio_url>
```

仅使用用户真实输入替换占位符;可选 flag 遵守参数填写规则,不得编造 URL、文件、枚举或业务参数。

### 返回结果

| 字段路径 | 类型 | 必含 | 模式 | 说明 |
| --- | --- | --- | --- | --- |
| `request_id` | string | 否 | Cloud | 请求标识;仅在后端返回时出现。 |
| `task_id` | string | 是 | Cloud | 异步任务的唯一标识,用于查询任务状态并获取最终结果。 |
| `task_type` | string | 否 | Cloud | 任务类型;仅在后端实际返回非空值时出现。 |
| `result.audio_stream_meta` | object / null | 是 | Cloud 终态 | 主音频流元信息。无音频流时返回 null。 |
| `result.audio_stream_meta.bitrate` | number / null | 否 | Cloud 终态 | 音频流码率,单位为 bps。 |
| `result.audio_stream_meta.channels` | number / null | 否 | Cloud 终态 | 音频声道数。 |
| `result.audio_stream_meta.codec` | string / null | 否 | Cloud 终态 | 音频编码格式,例如 aac。 |
| `result.audio_stream_meta.duration` | number / null | 否 | Cloud 终态 | 音频流时长,单位为秒。 |
| `result.audio_stream_meta.sample_rate` | number / null | 否 | Cloud 终态 | 音频采样率,单位为 Hz。 |
| `result.format_meta` | object / null | 是 | Cloud 终态 | 容器层元信息,包含封装格式、码率、时长、大小等。 |
| `result.format_meta.bitrate` | number / null | 否 | Cloud 终态 | 容器码率,单位为 bps。 |
| `result.format_meta.container` | string / null | 否 | Cloud 终态 | 容器格式(封装格式),例如 mp3。 |
| `result.format_meta.duration` | number / null | 否 | Cloud 终态 | 容器声明的时长,单位为秒。 |
| `result.format_meta.md5` | string / null | 否 | Cloud 终态 | 文件 MD5 值(如可获取)。 |
| `result.format_meta.size` | number / null | 否 | Cloud 终态 | 文件大小,单位为 Byte。 |

Cloud 调用成功后读取 `task_id`,再查询终态结果:

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli shared query-task --task-id <task_id> --poll-complete
```

### 机器合同

以下命令只读取本模式的实时 help/schema,不发起业务调用:

```bash
mediakit-cli --cloud audio probe-audio-metadata --help
mediakit-cli --cloud audio probe-audio-metadata --schema
```

## Local

### 命令与生命周期

- 命令:`mediakit-cli --local audio probe-audio-metadata`
- 生命周期:同步
- 返回方式:直接返回本地结果,不产生 `task_id`。

### 参数

| 参数路径 | CLI flag | 类型 | 必填 | 默认值 | 枚举/范围/结构 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| `audio_url` | `--audio-url` | string | 是 | - | - | 待探测的音频公网 HTTP/HTTPS URL。 |

### Local CLI 选项

| CLI flag | 必填 | 说明 |
| --- | --- | --- |
| `--output-path` | 否 | 本地文件输出目录或完整输出文件路径;仅在用户明确指定输出位置时传递。 |

### 调用示例

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli --local audio probe-audio-metadata \
  --audio-url <audio_url>
```

仅使用用户真实输入替换占位符;可选 flag 遵守参数填写规则,不得编造 URL、文件、枚举或业务参数。

### 返回结果

| 字段路径 | 类型 | 必含 | 模式 | 说明 |
| --- | --- | --- | --- | --- |
| `audio_stream_meta` | object / null | 是 | Local | 主音频流元信息。无音频流时返回 null。 |
| `audio_stream_meta.bitrate` | number / null | 否 | Local | 音频流码率,单位为 bps。 |
| `audio_stream_meta.channels` | number / null | 否 | Local | 音频声道数。 |
| `audio_stream_meta.codec` | string / null | 否 | Local | 音频编码格式,例如 aac。 |
| `audio_stream_meta.duration` | number / null | 否 | Local | 音频流时长,单位为秒。 |
| `audio_stream_meta.sample_rate` | number / null | 否 | Local | 音频采样率,单位为 Hz。 |
| `format_meta` | object / null | 是 | Local | 容器层元信息,包含封装格式、码率、时长、大小等。 |
| `format_meta.bitrate` | number / null | 否 | Local | 容器码率,单位为 bps。 |
| `format_meta.container` | string / null | 否 | Local | 容器格式(封装格式),例如 mp3。 |
| `format_meta.duration` | number / null | 否 | Local | 容器声明的时长,单位为秒。 |
| `format_meta.md5` | string / null | 否 | Local | 文件 MD5 值(如可获取)。 |
| `format_meta.size` | number / null | 否 | Local | 文件大小,单位为 Byte。 |

### 机器合同

以下命令只读取本模式的实时 help/schema,不发起业务调用:

```bash
mediakit-cli --local audio probe-audio-metadata --help
mediakit-cli --local audio probe-audio-metadata --schema
```
reference/separate-voice.md
# 人声背景音分离

## 能力用途

用于人声背景声分离,可将音频或视频文件中的人声与背景音精准分离,输出为两个独立的音频文件。

## 参数填写规则

- 可选参数仅在用户明确指定,或可从用户意图准确确定时填写;不得伪造。不能准确确定时省略,确为正确完成任务所必需时先向用户澄清。
- 文档派生的 Cloud 公共请求字段只在用户明确提供时传递;不得由 Agent 生成、推断或补写。

## Cloud

### 命令与生命周期

- 命令:`mediakit-cli audio separate-voice`
- 生命周期:异步
- 返回方式:返回 `task_id`,再查询终态结果。

### 参数

| 参数路径 | CLI flag | 类型 | 必填 | 默认值 | 枚举/范围/结构 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| `audio_url` | `--audio-url` | string | 否 | - | - | 音频地址,仅支持公网可访问的 HTTP/HTTPS URL;支持 mp3、m4a、wav 等主流音频格式。 |
| `callback_args` | `--callback-args` | string | 否 | - | - | 自定义回调参数。任务完成时,您提供的内容会通过事件回调原样返回,便于关联业务;字段长度最大为 512 字节。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `callback_url` | `--callback-url` | string | 否 | - | - | 用于接收该任务结果回调的 URL 地址。提供此参数时,其优先级高于全局回调地址;地址必须以 http:// 或 https:// 开头。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `client_token` | `--client-token` | string | 否 | - | - | 用户请求凭证,用于幂等控制。大小写敏感,不超过 64 个 ASCII 码可打印字符。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `media_output_destination` | `--media-output-destination` | string | 否 | - | - | 指定处理产物的目标存储位置。AI MediaKit 支持将处理产物存储至您的火山引擎视频点播(VOD)空间或对象存储(TOS)桶:存储至 VOD 时设为 vod://<您的空间名>;存储至 TOS 时设为 tos://<您的桶名>。设置后,任务结果中的 url 相关字段将返回 vod:// 或 tos:// 格式的资源地址,不再返回临时下载地址。首次使用前,需要按需授权 AI MediaKit 将文件写入您的 VOD 空间或 TOS 桶。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `output_format` | `--output-format` | string | 否 | "mp3" | 枚举: ["aac","mp3","wav","m4a","flac"] | output_format 可选,用于指定分离后音频(包含 voice_audio_url 与 background_audio_url 文件)的输出格式;默认输出 MP3 格式,即 mp3;也可以指定为 aac、wav、m4a 或 flac。 |
| `queue_id` | `--queue-id` | string | 否 | - | - | 任务提交的目标队列 ID。如不传,默认使用系统自动创建的队列 ID。可将不同业务或优先级的任务提交到不同队列,以实现按队列对应的项目分账。队列可创建和管理,系统会自动为队列分配队列 ID。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `video_url` | `--video-url` | string | 否 | - | - | 视频地址,支持公网 HTTP/HTTPS URL、本地文件路径、火山引擎视频点播 (vod://) 和火山引擎对象存储 (tos://) 四种输入协议;支持 mp4、flv、ts、avi、mov、wmv、mkv 等主流视频格式;必须提供 video_url 或 audio_url 其中之一。 |

### 调用示例

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli audio separate-voice
```

仅使用用户真实输入替换占位符;可选 flag 遵守参数填写规则,不得编造 URL、文件、枚举或业务参数。

### 返回结果

| 字段路径 | 类型 | 必含 | 模式 | 说明 |
| --- | --- | --- | --- | --- |
| `request_id` | string | 否 | Cloud | 请求标识;仅在后端返回时出现。 |
| `task_id` | string | 是 | Cloud | 异步任务的唯一标识,用于查询任务状态并获取最终结果。 |
| `task_type` | string | 否 | Cloud | 任务类型;仅在后端实际返回非空值时出现。 |
| `result.background_audio_url` | string | 否 | Cloud 终态 | 分离出的背景音音轨文件地址。 |
| `result.duration` | number | 否 | Cloud 终态 | 输入视频或音频总时长,单位为秒。 |
| `result.voice_audio_url` | string | 否 | Cloud 终态 | 分离出的人声音轨文件地址。 |

Cloud 调用成功后读取 `task_id`,再查询终态结果:

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli shared query-task --task-id <task_id> --poll-complete
```

### 机器合同

以下命令只读取本模式的实时 help/schema,不发起业务调用:

```bash
mediakit-cli audio separate-voice --help
mediakit-cli audio separate-voice --schema
```
reference/transcode-audio.md
# 音频转码

## 能力用途

音频转码将一个音频码流转换为另一个音频码流,通常涉及编码格式、编码参数和封装格式的转换,用于适应不同业务场景、播放终端和网络环境。

## 参数填写规则

- 可选参数仅在用户明确指定,或可从用户意图准确确定时填写;不得伪造。不能准确确定时省略,确为正确完成任务所必需时先向用户澄清。
- 文档派生的 Cloud 公共请求字段只在用户明确提供时传递;不得由 Agent 生成、推断或补写。

## Cloud

### 命令与生命周期

- 命令:`mediakit-cli audio transcode-audio`
- 生命周期:异步
- 返回方式:返回 `task_id`,再查询终态结果。

### 使用指南

- 数组参数(`--metadata-keep-tags`)传多个值时用逗号分隔并整体加引号,例如 `--metadata-keep-tags "url1,url2"`。
- 单个值中的文件名或 URL 不能包含逗号(`,`),否则会被 CLI 当成多个元素拆开。遇到这种情况时,先向用户澄清,请其提供不含逗号的文件名或对应 URL 后再调用。
- 对象或对象数组参数(`--audio`、`--metadata-add-tags`)需传合法 JSON 字符串并整体加单引号,例如 `--audio '[{...}]'`;字段名与层级必须与上表“枚举/范围/结构”及子字段说明一致。
- 不要用逗号分隔或裸文本传该参数。

### 调用示例

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli audio transcode-audio \
  --audio '[{...}]'
  --container-format <container_format> \
  --audio <audio>
```

仅使用用户真实输入替换占位符;可选 flag 遵守参数填写规则,不得编造 URL、文件、枚举或业务参数。

### 参数

| 参数路径 | CLI flag | 类型 | 必填 | 默认值 | 枚举/范围/结构 | 说明 |
| --- | --- | --- | --- | --- | --- | --- |
| `audio` | `--audio` | object | 是 | - | - | audio 提供音频参数配置。 |
| `audio.bitrate_kbps` | - | integer | 是 | 128 | 最小值: 10;最大值: 500 | bitrate_kbps 指定音频码率,单位为 Kbps,范围 10 至 500,默认值为 128;为空时,输出音频码率与原始音频保持一致。 |
| `audio.bitrate_mode` | - | string | 是 | "cbr" | 枚举: ["cbr","cae"] | bitrate_mode 指定音频码率控制模式,支持 cbr 和 cae,默认 cbr。cbr 是恒定码率模式,编码器会尝试让音频流每秒严格保持 bitrate_kbps 设定的码率,使文件大小可以被精确预测,适合带宽稳定性要求高的流式传输。cae 仅在 container_format 为 M4A 时支持,会根据音频内容复杂度动态调整瞬时码率,并确保整个文件平均码率接近 bitrate_kbps 目标值。 |
| `audio.channels` | - | integer | 否 | - | 枚举: [1,2] | channels 指定音频声道数,支持 1 和 2,默认 2;1 表示单声道,2 表示双声道。 |
| `audio.sample_rate` | - | integer | 是 | 48000 | 枚举: [8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000] | sample_rate 指定音频采样率,单位为 Hz,默认 48000。建议根据目标编码器填写:MP3 支持 8000、11025、12000、16000、22050、24000、32000、44100、48000;AAC 支持 8000、11025、12000、16000、22050、24000、32000、44100、48000、64000、88200、96000;Opus 支持 48000。 |
| `audio.volume_integrated_loudness` | - | number | 否 | -12 | 最小值: -70;最大值: -5 | volume_integrated_loudness 用于设定音频整体感知音量的目标综合响度,单位为 LUFS,范围 -70 至 -5,默认值为 -12。 |
| `audio.volume_loudness_range` | - | number | 否 | 7 | 最小值: 1;最大值: 20 | volume_loudness_range 调节音频最响亮和最安静部分之间的差异,单位为 LU,范围 1 至 20,默认值为 7;volume_method 为 2Pass 时生效。 |
| `audio.volume_method` | - | string | 否 | - | 枚举: ["2Pass"] | volume_method 是音量均衡算法开关;不设置时不处理音量。支持将 volume_method 设置为 2Pass 启用两阶段响度分析与处理,此时 volume_integrated_loudness、volume_true_peak 和 volume_loudness_range 生效。 |
| `audio.volume_true_peak` | - | number | 否 | 0 | 最小值: -9;最大值: 0 | volume_true_peak 设置音频信号的真实峰值最高上限,以防止削波失真,单位为 dBTP,范围 -9 至 0,默认值为 0。 |
| `audio_url` | `--audio-url` | string | 是 | - | - | audio_url 是待转码音频的 URL,支持公网 HTTP/HTTPS URL、本地文件路径、视频点播 vod:// 和对象存储 tos:// 四种输入协议;输入支持 mp3、m4a、wav、wma、amr、aac、ogg、flac 等音频格式。 |
| `callback_args` | `--callback-args` | string | 否 | - | - | 自定义回调参数。任务完成时,您提供的内容会通过事件回调原样返回,便于关联业务;字段长度最大为 512 字节。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `callback_url` | `--callback-url` | string | 否 | - | - | 用于接收该任务结果回调的 URL 地址。提供此参数时,其优先级高于全局回调地址;地址必须以 http:// 或 https:// 开头。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `client_token` | `--client-token` | string | 否 | - | - | 用户请求凭证,用于幂等控制。大小写敏感,不超过 64 个 ASCII 码可打印字符。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `container_format` | `--container-format` | string | 是 | "MP3" | 枚举: ["MP3","M4A","OGG"] | container_format 指定目标封装格式,建议填写,默认 MP3;系统根据封装格式自动选择对应编码器:MP3 封装格式使用 MP3 编码器,M4A 封装格式使用 AAC 编码器,OGG 封装格式使用 Opus 编码器。 |
| `media_output_destination` | `--media-output-destination` | string | 否 | - | - | 指定处理产物的目标存储位置。AI MediaKit 支持将处理产物存储至您的火山引擎视频点播(VOD)空间或对象存储(TOS)桶:存储至 VOD 时设为 vod://<您的空间名>;存储至 TOS 时设为 tos://<您的桶名>。设置后,任务结果中的 url 相关字段将返回 vod:// 或 tos:// 格式的资源地址,不再返回临时下载地址。首次使用前,需要按需授权 AI MediaKit 将文件写入您的 VOD 空间或 TOS 桶。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |
| `metadata_add_tags` | `--metadata-add-tags` | array<object> | 否 | - | - | metadata_add_tags 指定为输出音频新增的元信息标签;新增标签与保留标签同名时,新增标签设置覆盖源文件的值。 |
| `metadata_add_tags[].key` | - | string | 否 | - | - | 标签键。 |
| `metadata_add_tags[].value` | - | string | 否 | - | - | 标签值。 |
| `metadata_keep_tags` | `--metadata-keep-tags` | array<string> | 否 | - | - | metadata_keep_tags 指定从源音频保留的元信息标签键;默认情况下,转码会丢弃大部分元信息,例如标题和艺术家。 |
| `queue_id` | `--queue-id` | string | 否 | - | - | 任务提交的目标队列 ID。如不传,默认使用系统自动创建的队列 ID。可将不同业务或优先级的任务提交到不同队列,以实现按队列对应的项目分账。队列可创建和管理,系统会自动为队列分配队列 ID。 仅在用户明确提供该值时传递;不得由 Agent 生成、推断或补写。 |

### 返回结果

| 字段路径 | 类型 | 必含 | 模式 | 说明 |
| --- | --- | --- | --- | --- |
| `request_id` | string | 否 | Cloud | 请求标识;仅在后端返回时出现。 |
| `task_id` | string | 是 | Cloud | 异步任务的唯一标识,用于查询任务状态并获取最终结果。 |
| `task_type` | string | 否 | Cloud | 任务类型;仅在后端实际返回非空值时出现。 |
| `result.audio_url` | string | 否 | Cloud 终态 | audio_url 是输出音频的地址。未设置 media_output_destination 时,返回 HTTPS 临时下载链接,有效期为 24 小时;设置 media_output_destination 后,返回 vod://<空间名>/<媒资ID> 或 tos://<桶名>/<对象Key> 格式的存储地址。 |
| `result.duration` | number | 否 | Cloud 终态 | duration 表示音频时长,单位为秒。 |

Cloud 调用成功后读取 `task_id`,再查询终态结果:

```bash
MEDIAKIT_RUNTIME=<当前宿主> \
  mediakit-cli shared query-task --task-id <task_id> --poll-complete
```

### 机器合同

以下命令只读取本模式的实时 help/schema,不发起业务调用:

```bash
mediakit-cli audio transcode-audio --help
mediakit-cli audio transcode-audio --schema
```
SKILL.md
---
name: byted-mediakit-audio
version: "0.2.1"
license: "MIT"
description: "面向音频文件或视频中的音轨,处理语音边界定位、音频媒资信息探测、音频转码与码流封装适配、人声与背景声分离等目标。若对象和目标族已明确属于音频内容理解、音频转码、音频格式治理或音轨分离,但具体做法不确定,可先加载本 Skill 探索。"
permissions:
  - shell
metadata:
  requires:
    bins: ["mediakit-cli"]
  cliHelp: "mediakit-cli audio --help"
  product: mediakit-cli/skills
  domain: audio
  capability_count: 4
---
# audio MediaKit Skill

## 使用规则

1. 先读取 `../byted-mediakit-shared/SKILL.md`,执行统一前置检查;该 Skill 缺失时停止并提示安装。
2. 只从下表选择 `audio` 域工具;相似能力按各工具“能力描述”和参数边界区分。
3. 执行前按需读取对应 reference;参数与结果说明来自同一份已审核文案,完整机器合同以当前 CLI `--schema` 为准。
4. 缺少必填参数、鉴权环境变量或真实输入资源时,向用户索取;通用可选字段只能透传用户明确提供的值,其他可选字段可由明确意图准确确定,但不得伪造。
5. 执行时设置 `MEDIAKIT_SURFACE=skill`,指定调用来源是 Skill。
6. 执行时把 `MEDIAKIT_RUNTIME` 设置为当前 Agent 宿主,避免 CLI 无法可靠识别父级 Agent。

## 澄清与跨域路由

若只说有音频而未说明业务目标,应先澄清。音频裁剪、拼接、调速、淡入淡出、混音、从视频抽取音轨或音视频合流等编辑合成诉求应路由到 editing;字幕生成、提取字幕、语音转字幕、视频理解、视频增强等应路由到 video。

## 工具列表

| 工具 | 说明 | 支持模式 | 命令 | 参考 |
| --- | --- | --- | --- | --- |
| detect-voice-activity | 用于语音端点识别。自动定位音频或视频文件中有效语音的起止时间。将人声和静音、背景噪声等无效片段区分开来。返回包含所有有效人声片段起止时间戳的列表。 | Cloud | `mediakit-cli audio detect-voice-activity` | [reference/detect-voice-activity.md](reference/detect-voice-activity.md) |
| probe-audio-metadata | 探测输入音频 URL,输出标准化媒资元信息,用于获取音频元信息。 | Cloud / Local | `mediakit-cli audio probe-audio-metadata` | [reference/probe-audio-metadata.md](reference/probe-audio-metadata.md) |
| separate-voice | 用于人声背景声分离,可将音频或视频文件中的人声与背景音精准分离,输出为两个独立的音频文件。 | Cloud | `mediakit-cli audio separate-voice` | [reference/separate-voice.md](reference/separate-voice.md) |
| transcode-audio | 音频转码将一个音频码流转换为另一个音频码流,通常涉及编码格式、编码参数和封装格式的转换,用于适应不同业务场景、播放终端和网络环境。 | Cloud | `mediakit-cli audio transcode-audio` | [reference/transcode-audio.md](reference/transcode-audio.md) |