
Byted Mediakit Editing
- 80 installs
- 171 repo stars
- Updated July 16, 2026
- volcengine/mediakit-cli
Helps with ai & agent building tasks.
About
byted-mediakit-editing is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- byted-mediakit-editing
- AI & Agent Building
- AI-coding skill
Byted Mediakit Editing by the numbers
- 80 all-time installs (skills.sh)
- +8 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #5,177 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/volcengine/mediakit-cli --skill byted-mediakit-editingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 80 |
|---|---|
| repo stars | ★ 171 |
| Last updated | July 16, 2026 |
| Repository | volcengine/mediakit-cli ↗ |
What it does
Helps with ai & agent building tasks.
Files
Editing Skills
前置说明
开始前必须先读取 ./reference/shared.md 的内容,其中包含前置检查、异步任务机制、结果查询等说明。
工具列表
| 工具 | 说明 | 参数声明 | 参考文档 |
|---|---|---|---|
| add-image-to-video | 视频加图片,可用作加图片水印。 | video_url:string, sub_image_url:string, sub_image_height?:string, sub_image_width?:string, sub_image_pos_x?:string, sub_image_pos_y?:string, start_time?:number, end_time?:number, callback_args?:string, client_token?:string | reference/add-image-to-video.md |
| add-subtitle-to-video | 将字幕文件或文本内容,以指定样式压制到视频画面中,生成带内嵌字幕的新视频。 | video_url:string, subtitle_url?:string, subtitles?:array<object{subtitle_text:string, start_time:number, end_time:number}>, subtitle_pos_preset?:string, subtitle_font_size?:integer, subtitle_font_color?:string, subtitle_font_type?:string, callback_args?:string, client_token?:string | reference/add-subtitle-to-video.md |
| adjust-video-speed | 调整视频的播放倍速,实现快放或慢放效果。 | video_url:string, speed?:number, callback_args?:string, client_token?:string | reference/adjust-video-speed.md |
| concat-audio | 拼接多个音频片段。 | audio_urls:array<string>, callback_args?:string, client_token?:string | reference/concat-audio.md |
| concat-video | 拼接多个视频片段,支持添加转场效果。 | video_urls:array<string>, transitions?:array<string>, callback_args?:string, client_token?:string | reference/concat-video.md |
| extract-audio | 将视频文件中的音频流分离并保存为独立的音频文件。 | video_url:string, format?:string, callback_args?:string, client_token?:string | reference/extract-audio.md |
| flip-video | 对视频画面进行上下或左右镜像翻转。 | video_url:string, is_flip_vertical?:boolean, is_flip_horizontal?:boolean, callback_args?:string, client_token?:string | reference/flip-video.md |
| image-to-video | 多张图片生成动画视频。 | images:array<object{image_url:string, duration?:number, animation_type?:string, animation_in?:number, animation_out?:number}>, transitions?:array<string>, callback_args?:string, client_token?:string | reference/image-to-video.md |
| mux-audio-video | 音视频合成。 | video_url:string, audio_url:string, is_audio_reserve?:boolean, is_video_audio_sync?:boolean, sync_mode?:string, sync_method?:string, callback_args?:string, client_token?:string | reference/mux-audio-video.md |
| trim-audio | 按起止时间点(秒级)裁剪音频,生成新片段。 | audio_url:string, start_time?:number, end_time?:number, callback_args?:string, client_token?:string | reference/trim-audio.md |
| trim-video | 按起止时间点裁剪视频,生成新片段。 | video_url:string, start_time?:number, end_time?:number, callback_args?:string, client_token?:string | reference/trim-video.md |
# 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视频加图片
能力描述
视频加图片,可用作加图片水印。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | add-image-to-video |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| sub_image_url | --sub-image-url | string | 是 | - | 图片URL。支持http://xxx或https://xxx格式 URL |
| sub_image_height | --sub-image-height | string | 否 | - | 图片的高度,字符串类型,支持具体像素值(如 '100')或百分比(如 '20%',相对于视频高度)。不传时 local 模式保持原始图片高度。 |
| sub_image_width | --sub-image-width | string | 否 | - | 图片的宽度,字符串类型,支持具体像素值(如 '100')或百分比(如 '20%',相对于视频宽度)。不传时 local 模式保持原始图片宽度。 |
| sub_image_pos_x | --sub-image-pos-x | string | 否 | 85% | 图片左上角在水平方向(X 轴)的位置,以视频左上角为原点,百分比表示视频宽度的绝对位置;超出画面时自然截断。 |
| sub_image_pos_y | --sub-image-pos-y | string | 否 | 90% | 图片左上角在垂直方向(Y 轴)的位置,以视频左上角为原点,百分比表示视频高度的绝对位置;超出画面时自然截断。 |
| start_time | --start-time | number | 否 | - | 图片的开始时间,单位:秒。不传默认同视频开始时间 |
| end_time | --end-time | number | 否 | - | 图片的结束时间,单位:秒。注意:如果设置的开始/结束时间超出原始视频时长,输出视频长度将以该结束时间为准,超出部分以黑屏形式延续。不传默认同视频结束时间 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing add-image-to-video \
--video-url https://example.com/video_url \
--sub-image-url https://example.com/sub_image_url \
--sub-image-height <sub_image_height> \
--sub-image-width <sub_image_width> \
--sub-image-pos-x <sub_image_pos_x> \
--sub-image-pos-y <sub_image_pos_y> \
--start-time 1.0 \
--end-time 1.0 \
--callback-args sample-callback-args \
--client-token demo-client-tokenLocal 行为说明
- 不传
--sub-image-width/--sub-image-height时,local 模式保持图片原始尺寸,与云端默认效果对齐 - 传入
--sub-image-width/--sub-image-height时,local 模式按指定像素或百分比缩放图片 --sub-image-pos-x 95% --sub-image-pos-y 95%表示图片左上角位于视频宽/高的 95% 位置,右侧或底部超出画面的部分会被截断
输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing add-image-to-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频加字幕
能力描述
将字幕文件或文本内容,以指定样式压制到视频画面中,生成带内嵌字幕的新视频。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | add-subtitle-to-video |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| subtitle_url | --subtitle-url | string | 否 | - | 字幕文件 URL、filename。常见的字幕文件为 SRT、VTT、ASS 等格式。 |
| subtitles | --subtitles | array<object{subtitle_text:string, start_time:number, end_time:number}> | 否 | - | 字幕列表,Array<object>类型。 CLI 传参时请使用 JSON 字符串,并用单引号包裹整个值,例如 --subtitles '[{"subtitle_text": "<subtitle_text>", "start_time": 1.0, "end_time": 1.0}]'。 |
| subtitles[].subtitle_text | --subtitles[].subtitle_text | string | 是 | - | 字幕文本 |
| subtitles[].start_time | --subtitles[].start_time | number | 是 | - | 字幕开始时间。单位:秒。 |
| subtitles[].end_time | --subtitles[].end_time | number | 是 | - | 字幕结束时间。单位:秒。 |
| subtitle_pos_preset | --subtitle-pos-preset | string | 否 | bottom_center | 预设字幕位置。底部居中(默认常用) bottom_center;顶部居中 top_center;画面正中央 center;偏下三分之一处 lower_third |
| subtitle_font_size | --subtitle-font-size | integer | 否 | 50 | 字幕的字体大小,单位:像素。 |
| subtitle_font_color | --subtitle-font-color | string | 否 | #FFFFFFFF | 字幕的字体颜色,RGBA 格式。默认#FFFFFFFF |
| subtitle_font_type | --subtitle-font-type | string | 否 | sy_black | 字幕的字体 ID。 思源黑体:sy_black (经典无衬线黑体,端正百搭,正文首选) 庞门正道标题体:pm_zhengdao (粗壮有力,硬汉气场,大标题/封面神器) 阿里巴巴普惠体:ali_puhui (现代感极强,结构饱满,屏幕阅读体验极佳) 站酷快乐体:zhanku_kuaile (圆润活泼,带手写感,适合轻松搞笑的 Vlog 氛围) |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing add-subtitle-to-video \
--video-url https://example.com/video_url \
--subtitle-url https://example.com/subtitle_url \
--subtitles '[{"subtitle_text": "<subtitle_text>", "start_time": 1.0, "end_time": 1.0}]' \
--subtitle-pos-preset bottom_center \
--subtitle-font-size 1 \
--subtitle-font-color <subtitle_font_color> \
--subtitle-font-type sy_black \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing add-subtitle-to-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
音频调速
能力描述
调整音频的播放倍速,实现快放或慢放效果。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | adjust-audio-speed |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| audio_url | --audio-url | string | 是 | - | 输入音频,支持 mp3、m4a、wav 等格式 |
| speed | --speed | number | 否 | 1 | 调整速度的倍数,Float类型,取值范围为0.1~4。0.1=放慢至原速的 0.1 倍,1=原速,4=加速至原速的 4 倍 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing adjust-audio-speed \
--audio-url https://example.com/audio_url \
--speed 1 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing adjust-audio-speed - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频调速
能力描述
调整视频的播放倍速,实现快放或慢放效果。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | adjust-video-speed |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| speed | --speed | number | 否 | 1 | 调整速度的倍数,Float类型,取值范围为0.1~4。 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing adjust-video-speed \
--video-url https://example.com/video_url \
--speed 1.0 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing adjust-video-speed - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
调整视频音量
能力描述
调整视频音量大小,支持静音;输出 mp4,分辨率与原片一致。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | adjust-video-volume |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频,支持 mp4、mov、flv、ts、avi、wmv、mkv 等格式,最高 4K |
| volume | --volume | number | 否 | 1 | 音量倍数。Float 类型,取值范围 0~4。0=静音,1=原音量,4=放大 4 倍 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing adjust-video-volume \
--video-url https://example.com/video_url \
--volume 1 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing adjust-video-volume - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频添加滤镜
能力描述
为视频添加指定滤镜效果,输出mp4,分辨率与原片一致。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | apply-video-filter |
| 是否异步 | 是 |
| 是否支持 local | 否 |
| 模式说明 | cloud only;可通过 --cloud 强制当前调用 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频,支持 mp4、mov、flv、ts、avi、wmv、mkv 等格式,最高 4K |
| filter_style | --filter-style | string | 否 | spring | 滤镜风格。可选值:spring(春日滤镜)、sunset(晚霞滤镜)、vivid(鲜亮滤镜)、fair_skin(白皙滤镜)、food(食物滤镜) |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing apply-video-filter \
--video-url https://example.com/video_url \
--filter-style spring \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing apply-video-filter - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
音频拼接
能力描述
拼接多个音频片段。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | concat-audio |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| audio_urls | --audio-urls | array<string> | 是 | - | 待拼接的音频列表,Array<string>类型。最少传入1个,最多传入100个 子项说明:待拼接的输入音频。String 类型,支持http://xxx或https://xxx格式 URL |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing concat-audio \
--audio-urls item_1,item_2 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing concat-audio - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频拼接
能力描述
拼接多个视频片段,支持添加转场效果。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | concat-video |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_urls | --video-urls | array<string> | 是 | - | 待拼接的视频列表,Array<string>类型。最少传入1个,最多传入100个 子项说明:待拼接的输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| transitions | --transitions | array<string> | 否 | - | 转场效果 ID,Array<string> 类型。如果不提供,则没有转场。当视频数量超过转场数量 2 个及以上时,系统将自动循环使用转场。例如有 10 个视频,2 种转场效果,那么在 9 处拼接点上,这 2 种转场效果将被依次循环使用。 子项说明:转场效果 ID 分类:交替出场,ID:1182359 分类:旋转放大,ID:1182360 分类:泛开,ID:1182358 分类:六角形,ID:1182365 分类:故障转换,ID:1182367 分类:飞眼,ID:1182368 分类:梦幻放大,ID:1182369 分类:开门展现,ID:1182370 分类:立方转换,ID:1182373 分类:透镜变换,ID:1182374 分类:晚霞转场,ID:1182375 分类:圆形交替,ID:1182378 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing concat-video \
--video-urls item_1,item_2 \
--transitions item_1,item_2 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing concat-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
提取音频
能力描述
将视频文件中的音频流分离并保存为独立的音频文件。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | extract-audio |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频,String 类型,支持http://xxx或https://xxx格式 URL |
| format | --format | string | 否 | m4a | 输出音频的格式,支持 mp3、m4a 格式。 默认m4a |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing extract-audio \
--video-url https://example.com/video_url \
--format mp3 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing extract-audio - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
音频声音淡入淡出
能力描述
对输入音频实现淡入淡出效果,输出 mp3。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | fade-audio |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| audio_url | --audio-url | string | 是 | - | 输入音频,支持 mp3、m4a、wav、flac 等格式 |
| fade_in_duration | --fade-in-duration | number | 否 | 1 | 声音淡入时长。单位:秒,可传小数(最多3位小数)。0 表示不淡入 |
| fade_out_duration | --fade-out-duration | number | 否 | 1 | 声音淡出时长。单位:秒,可传小数(最多3位小数)。0 表示不淡出 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing fade-audio \
--audio-url https://example.com/audio_url \
--fade-in-duration 1 \
--fade-out-duration 1 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing fade-audio - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频声音淡入淡出
能力描述
对输入视频的声轨实现淡入淡出效果。 输出 mp4,分辨率与原片一致。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | fade-video-audio |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频,支持 mp4、mov、flv、ts、avi、wmv、mkv 等格式,最高 4K |
| fade_in_duration | --fade-in-duration | number | 否 | 1 | 声音淡入时长。单位:秒,可传小数(最多3位小数)。0 表示不淡入 |
| fade_out_duration | --fade-out-duration | number | 否 | 1 | 声音淡出时长。单位:秒,可传小数(最多3位小数)。0 表示不淡出 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing fade-video-audio \
--video-url https://example.com/video_url \
--fade-in-duration 1 \
--fade-out-duration 1 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing fade-video-audio - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频画面翻转
能力描述
对视频画面进行上下或左右镜像翻转。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | flip-video |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| is_flip_vertical | --is-flip-vertical | boolean | 否 | False | 是否进行垂直翻转。Boolean 类型,默认值为 false, 表示不翻转。 |
| is_flip_horizontal | --is-flip-horizontal | boolean | 否 | False | 是否进行水平翻转。Boolean 类型,默认值为 false, 表示不翻转。 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing flip-video \
--video-url https://example.com/video_url \
--is-flip-vertical true \
--is-flip-horizontal true \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing flip-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
图片转视频
能力描述
多张图片生成动画视频。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | image-to-video |
| 是否异步 | 是 |
| 是否支持 local | 否 |
| 模式说明 | cloud only;可通过 --cloud 强制当前调用。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| images | --images | array<object{image_url:string, duration?:number, animation_type?:string, animation_in?:number, animation_out?:number}> | 是 | - | 待合成的图片列表,Array<Image>类型。最少传入1个,最多传入100个 子项说明:待合成的图片。Image类型 CLI 传参时请使用 JSON 字符串,并用单引号包裹整个值,例如 --images '[{"image_url": "https://example.com/image_url", "duration": 1.0, "animation_type": "<animation_type>", "animation_in": 1.0, "animation_out": 1.0}]'。 |
| images[].image_url | --images[].image_url | string | 是 | - | 输入图片。String 类型,支持http://xxx或https://xxx格式 URL |
| images[].duration | --images[].duration | number | 否 | - | 图片播放时长,选填,默认值:3,单位:秒,支持 2 位小数。 |
| images[].animation_type | --images[].animation_type | string | 否 | - | 图片的动画类型,选填,不填时无动画效果。 move_up:向上移动 move_down:向下移动 move_left:向左移动 move_right:向右移动 zoom_in:缩小 zoom_out:放大 |
| images[].animation_in | --images[].animation_in | number | 否 | - | 动画结束时间,选填,支持2位小数。默认为图片展示时长,表示动画随图片播放同时结束,单位:秒 |
| images[].animation_out | --images[].animation_out | number | 否 | - | 动画结束时间,选填,支持2位小数。默认为图片展示时长,表示动画随图片播放同时结束,单位:秒 |
| transitions | --transitions | array<string> | 否 | - | 转场效果 ID,Array<string> 类型。如果不提供,则没有转场。当视频数量超过转场数量 2 个及以上时,系统将自动循环使用转场。例如有 10 个视频,2 种转场效果,那么在 9 处拼接点上,这 2 种转场效果将被依次循环使用。 子项说明:转场效果 ID 分类:交替出场,ID:1182359 分类:旋转放大,ID:1182360 分类:泛开,ID:1182358 分类:六角形,ID:1182365 分类:故障转换,ID:1182367 分类:飞眼,ID:1182368 分类:梦幻放大,ID:1182369 分类:开门展现,ID:1182370 分类:立方转换,ID:1182373 分类:透镜变换,ID:1182374 分类:晚霞转场,ID:1182375 分类:圆形交替,ID:1182378 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing image-to-video \
--images '[{"image_url": "https://example.com/image_url", "duration": 1.0, "animation_type": "<animation_type>", "animation_in": 1.0, "animation_out": 1.0}]' \
--transitions item_1,item_2 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing image-to-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
音频混合
能力描述
将多个音频文件(如背景音乐、音效、人声)进行混音,生成一个新的音频文件。 处理耗时与原片时长正相关,平均 RTF(处理耗时/原片时长)为 1。 输出音频的时长以最长的音频为准。 输出格式:mp3。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | mix-audio |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| audio_urls | --audio-urls | array<string> | 是 | - | 输入音频列表。 CLI 传参时请使用 JSON 字符串,并用单引号包裹整个值 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing mix-audio \
--audio-urls '["https://example.com/a.mp3","https://example.com/b.mp3"]' \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing mix-audio - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频加音频
能力描述
音视频合成。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | mux-audio-video |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| audio_url | --audio-url | string | 是 | - | 输入音频。String 类型,支持http://xxx或https://xxx格式 URL |
| is_audio_reserve | --is-audio-reserve | boolean | 否 | True | Boolean 类型,是否保留原视频流中的音频。默认值 true:保留。false:不保留。 |
| is_video_audio_sync | --is-video-audio-sync | boolean | 否 | False | Boolean 类型,是否对齐音频和视频时长。 true:通过 output_sync 配置,对齐音频和视频时长。 false(默认值):保持原样输出,不做音视频对齐。最终合成的视频时长,以较长的流为准。 |
| sync_mode | --sync-mode | string | 否 | video | String 类型,设置 is_video_audio_sync 为 true 时生效;当音频和视频时长不相等时,可指定对齐基准,可选项:video、audio。 video:【默认值】以视频的时长为准。 audio:以音频的时长为准。 |
| sync_method | --sync-method | string | 否 | trim | String 类型,设置 is_video_audio_sync 为 true 时生效;指定对齐方式,支持通过裁剪或加速的方式,对齐音频和视频的时长。可选项:speed、trim。 speed:通过加快音频或视频的速度,对齐音频和视频的时长。 trim:【默认值】通过裁剪音频或视频,对齐音频和视频的时长。从头开始计算并裁剪。 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing mux-audio-video \
--video-url https://example.com/video_url \
--audio-url https://example.com/audio_url \
--is-audio-reserve true \
--is-video-audio-sync true \
--sync-mode <sync_mode> \
--sync-method <sync_method> \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing mux-audio-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
MediaKit 共享规则
本技能指导你如何通过 mediakit-cli 操作媒体资源,以及调用过程中的通用规则和注意事项。
前置检查
依赖安装
首次使用前,确认 CLI 已安装:
# 安装
npm install -g @volcengine/mediakit-cli
# 验证
mediakit-cli --version鉴权信息检查
优先级:环境变量 > 配置文件(文件路径 ~/.mediakit/config.json)
字段说明
- 环境变量/配置文件:
MEDIAKIT_API_KEY、MEDIAKIT_ENDPOINT、MEDIAKIT_SURFACE、MEDIAKIT_RUNTIME
| 变量 | 必填 | 说明 |
|---|---|---|
MEDIAKIT_API_KEY | 云端模式必填 | API 认证 Token |
MEDIAKIT_ENDPOINT | 否 | API 访问点 |
MEDIAKIT_SURFACE | 否 | 请求来源 Header x-surface;默认 cli,Skill 建议 skill,Plugin 建议 plugin,最终上报 cli/skill 或 cli/plugin |
MEDIAKIT_RUNTIME | 否 | 请求来源 Header x-runtime;按宿主设置为 claude、arkclaw 等,未配置时回退环境探测或 unknown |
任一必填项缺失时,终止执行并输出所有缺失项的列表及修复建议。
云端调用会自动携带 x-surface / x-runtime。Header 优先级为:环境变量 > ~/.mediakit/config.json > 默认值/环境探测。当本 Skill/Plugin 通过 mediakit-cli 调用云端能力时,运行环境应注入 MEDIAKIT_SURFACE=skill|plugin 与 MEDIAKIT_RUNTIME=<宿主>;CLI 会保留原始产物前缀并上报 x-surface=cli/skill|cli/plugin。若未显式配置,CLI 默认按 x-surface=cli,x-runtime 依次回退 IDENTITY_NAME / OPENCLAW_SERVICE_MARKER 环境探测,最后为 unknown。
来源上报约束
- Skill 调用
mediakit-cli时,必须显式设置MEDIAKIT_SURFACE=skill,不能依赖用户已有环境变量。 - Plugin 调用
mediakit-cli时,必须显式设置MEDIAKIT_SURFACE=plugin,不能复用 Skill 的取值。 - 宿主环境标识建议同时显式设置
MEDIAKIT_RUNTIME=<宿主>;若未设置,CLI 会回退为环境探测值或unknown。
MEDIAKIT_SURFACE=skill MEDIAKIT_RUNTIME=<runtime> mediakit-cli editing add-image-to-video
MEDIAKIT_SURFACE=plugin MEDIAKIT_RUNTIME=<runtime> mediakit-cli editing add-image-to-videoCLI 使用方式
初始化配置
首次使用建议先运行初始化向导:
mediakit-cli initAgent 非交互初始化可显式写入请求来源与运行时配置:
mediakit-cli init --mode cloud-first --api-key <key> --runtime <runtime> --surface cli --yes
mediakit-cli init --mode local-first --api-key <key> --endpoint <url> --output-path ~/mediakit-output --runtime <runtime> --surface cli --credential-store config --yes初始化后常用命令如下:
# 查看当前配置
mediakit-cli config show
# 切换默认模式到本地优先
mediakit-cli config set mode local-first
# 切换默认模式到云端优先
mediakit-cli config set mode cloud-first
# 刷新环境检查并查看依赖状态
mediakit-cli doctor命令结构
MediaKit CLI 统一使用 domain + tool 的调用方式:
mediakit-cli {domain} {tool} [flags]常见帮助命令:
# 查看所有 domain
mediakit-cli --domains
# 查看某个分组下的工具列表
mediakit-cli {domain} --help
# 查看具体工具的参数
mediakit-cli {domain} {tool} --help
# 动态发现工具能力与返回结构
mediakit-cli {domain} {tool} --schema
mediakit-cli --local {domain} {tool} --schema当前产物覆盖的 domain 包括:editing, video。
Schema 发现
每个 capability 命令都支持 --schema,用于 Agent 动态读取工具能力,不要求传必填业务参数。
返回结构包含:
name:工具名,使用 snake_case,如add_image_to_videodescription:工具描述,自动包含Mode与Async信息input_schema:输入参数 JSON Schemaoutput_schema:当前执行模式下的返回结构
输出区分规则:
- 默认按全局
mode配置解析返回面 --local ... --schema输出本地模式返回面,本地模式直接返回最终结果字段- 云端异步工具输出
task_id/request_id,并在final_result中描述query-task完成态结果 query-task是 cloud only,schema 描述任务状态与完成态结果
示例:
mediakit-cli editing trim-video --schema
mediakit-cli --local editing trim-video --schema单次调用模式覆盖
除 config set mode 设置默认模式外,还支持仅对当前命令生效的临时覆盖:
mediakit-cli --local editing add-image-to-video
mediakit-cli --cloud editing add-image-to-video补充规则:
--local/--cloud只影响当前命令,不修改全局config.mode--local与--cloud互斥,不能同时传入
异步任务
提交异步媒体处理任务成功后会返回 task_id 字段。通过 shared query-task 命令查询结果。
mediakit-cli shared query-task --task-id <task_id>local / cloud 约束
query-task是 cloud only 工具- local 模式下不支持 query-task
- 当前本轮能力以云端执行为主;如需显式声明,请优先使用
--cloud
Cloud 模式媒体输入补充
- 当命令以
--cloud或cloud-first策略执行时,媒体输入参数(如video_url、audio_url、image_url、subtitle_url、sub_image_url及对应数组/对象子字段)可传入http:///https://URL、mediakit://...file_id 或本地文件路径 http:///https://URL 与mediakit://...file_id 会原样提交;本地文件路径会由 CLI 先上传为mediakit://...file_id,再提交给云端工具- 各工具 reference 中的参数说明来自 APIHub/OpenAPI 原始字段描述;若其中写有公网 URL 或 HTTP/HTTPS URL,表示云端 API 最终接收的资源形态,不限制 CLI cloud 模式的本地路径预处理能力
Local 模式补充
- 本地输出目录优先级:
--output-path>MEDIAKIT_OUTPUT_PATH> configoutput_path>~/.mediakit/temp - 当
--output-path指向具体媒体文件名时,直接作为最终输出文件;否则按输入文件名生成{原文件名}_{工具名}.{ext},重复时追加 6 位随机数 - 无法从输入 URL 或路径提取文件名时,退回
{工具名}-{UnixNano}.{ext} - local 模式依赖
ffmpeg/ffprobe,缺失时错误中会给出install_guide - local 模式媒体处理输出必须贴合接口 response schema,禁止输出内部执行元数据
错误响应
- CLI cloud 模式直接透传 API 返回的原始 error 对象,不提取
message - CLI local 模式返回结构化错误:
{"error":{"type":"...","code":"...","message":"..."}} - MCP error_response 直接透传原始 error 内容,dict 原样作为
error字段值
幂等参数维护
| 参数 | 作用 | 维护建议 |
|---|---|---|
client_token | 主动控制幂等 | 请求重试时复用同一值;强制重新执行时传新的唯一值 |
callback_args | 透传回调参数 | 建议与 client_token 一起维护,便于回调对账与重试追踪 |
补充规则:
client_token长度不超过 64 个字符callback_args可用于回调透传与对账追踪
轮询策略
| 参数 | 描述 | 默认值 |
|---|---|---|
poll-interval-seconds | 轮询间隔 | 10s |
max-poll-attempts | 轮询次数,0 代表不查询 | 0 |
poll-complete | 阻塞至终态 | - |
音频裁剪
能力描述
按起止时间点(秒级)裁剪音频,生成新片段。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | trim-audio |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| audio_url | --audio-url | string | 是 | - | 输入纯音频。String 类型,支持http://xxx或https://xxx格式 URL |
| start_time | --start-time | number | 否 | 0 | 裁剪开始时间,默认为 0, 表示从头开始裁剪。支持设置为 2 位小数,单位:秒。 |
| end_time | --end-time | number | 否 | - | 裁剪结束时间,默认为片源结尾。支持设置为 2 位小数,单位:秒。 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing trim-audio \
--audio-url https://example.com/audio_url \
--start-time 1.0 \
--end-time 1.0 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing trim-audio - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>
视频裁剪
能力描述
按起止时间点裁剪视频,生成新片段。
执行方式
| 项目 | 说明 |
|---|---|
| Domain | editing |
| Tool | trim-video |
| 是否异步 | 是 |
| 是否支持 local | 是 |
| 模式说明 | 支持 local / cloud;可通过 --local 或 --cloud 覆盖当前命令。 |
| 幂等行为 | 如命令支持 client_token 与 callback_args,重试时复用同一组值;强制重跑时更换新的 client_token。 |
参数
| 参数 | CLI flag | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| video_url | --video-url | string | 是 | - | 输入视频。String 类型,支持http://xxx或https://xxx格式 URL |
| start_time | --start-time | number | 否 | 0 | 裁剪开始时间,默认为 0, 表示从头开始裁剪。支持设置为 2 位小数,单位:秒。 |
| end_time | --end-time | number | 否 | - | 裁剪结束时间,默认为片源结尾。支持设置为 2 位小数,单位:秒。 |
| callback_args | --callback-args | string | 否 | - | 可选,回调参数 |
| client_token | --client-token | string | 否 | - | 可选,用于幂等,默认幂等,用户可根据需求进行调整 |
调用示例
mediakit-cli editing trim-video \
--video-url https://example.com/video_url \
--start-time 1.0 \
--end-time 1.0 \
--callback-args sample-callback-args \
--client-token demo-client-token输出格式
{
"task_id": "task_demo_001",
"request_id": "req_demo_001"
}任务结果查询
提交成功后会返回 task_id,再执行 mediakit-cli shared query-task --task-id <task_id> 查询。
- 当前命令:
mediakit-cli editing trim-video - 推荐查询:
mediakit-cli shared query-task --task-id <task_id>