AI agent skill · by @CoderWanFeng
Video Edit
音视频剪辑工具箱。包含视频剪辑截取、音频剪辑截取、视频画面裁剪、视频拼接合并、音频拼接合并、视频合成/替换音频。当用户提到音视频剪辑、裁剪视频、合并视频、音频剪辑、视频配音时使用。
Archived 2026-10-23 · Source updated 2026-08-19 · License: Apache-2.0. Check the original repository for the latest version.
SKILL.md instructions
# video_edit Skill
> 音视频剪辑功能集(截取、裁剪、拼接、配音/音轨替换)
## 功能描述
本 Skill 将所有音视频剪辑相关功能合并为一个统一的 API 模块,包含以下 6 个核心剪辑功能:
1. `cut_video`: 截取视频指定时间段片段
2. `cut_audio`: 截取音频指定时间段片段
3. `crop_video`: 裁剪视频画面的坐标区域与尺寸
4. `concat_videos`: 多个视频文件顺序拼接合并
5. `concat_audios`: 多个音频文件顺序拼接合并
6. `add_audio_to_video`: 视频合成/替换背景音乐或音频
## 所属分类
`office/skills/video/video_edit/`
## 调用方式
```python
from skills.video.video_edit import (
cut_video,
cut_audio,
crop_video,
concat_videos,
concat_audios,
add_audio_to_video,
)
```
或从 `skills.video` 模块导入:
```python
from skills.video import video_edit
video_edit.cut_video(video_path='./test.mp4', start_time='00:00:10', end_time='00:00:30')
```
## 功能与参数说明
### 1. 视频截取 `cut_video`
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `video_path` | str | 是 | - | 视频文件路径 |
| `start_time` | float/str | 否 | `0` | 开始时间(秒数或格式如 `'00:01:10'`) |
| `end_time` | float/str | 否 | `None` | 结束时间(秒数或格式如 `'00:02:30'`,默认结尾) |
| `output_path` | str | 否 | `'./'` | 输出目录 |
| `output_name` | str | 否 | `None` | 输出文件名(默认原名后加 `_cut`) |
### 2. 音频截取 `cut_audio`
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `audio_path` | str | 是 | - | 音频文件路径 |
| `start_time` | float/str | 否 | `0` | 开始时间(秒数或格式如 `'00:00:05'`) |
| `end_time` | float/str | 否 | `None` | 结束时间 |
| `output_path` | str | 否 | `'./'` | 输出目录 |
| `output_name` | str | 否 | `None` | 输出文件名 |
### 3. 画面裁剪 `crop_video`
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `video_path` | str | 是 | - | 视频文件路径 |
| `x1` | int | 否 | `0` | 左上角 x 坐标 |
| `y1` | int | 否 | `0` | 左上角 y 坐标 |
| `x2` | int | 否 | `None` | 右下角 x 坐标 |
| `y2` | int | 否 | `None` | 右下角 y 坐标 |
| `width` | int | 否 | `None` | 裁剪宽度(可代替 x2) |
| `height` | int | 否 | `None` | 裁剪高度(可代替 y2) |
| `output_path` | str | 否 | `'./'` | 输出目录 |
| `output_name` | str | 否 | `None` | 输出文件名 |
### 4. 视频拼接 `concat_videos`
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `video_list` | list[str] | 是 | - | 视频路径列表 |
| `output_path` | str | 否 | `'./'` | 输出目录 |
| `output_name` | str | 否 | `'concat_video.mp4'` | 输出文件名 |
### 5. 音频拼接 `concat_audios`
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `audio_list` | list[str] | 是 | - | 音频路径列表 |
| `output_path` | str | 否 | `'./'` | 输出目录 |
| `output_name` | str | 否 | `'concat_audio.mp3'` | 输出文件名 |
### 6. 合成音频/配音 `add_audio_to_video`
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `video_path` | str | 是 | - | 视频文件路径 |
| `audio_path` | str | 是 | - | 音频文件路径 |
| `output_path` | str | 否 | `'./'` | 输出目录 |
| `output_name` | str | 否 | `None` | 输出文件名 |
## 使用示例
```python
from skills.video import video_edit
# 视频截取
video_edit.cut_video(video_path='./input.mp4', start_time=0, end_time=10)
# 视频合成音频
video_edit.add_audio_to_video(video_path='./input.mp4', audio_path='./music.mp3')
```
## 原始函数
- `office.api.video.cut_video`
- `office.api.video.cut_audio`
- `office.api.video.crop_video`
- `office.api.video.concat_videos`
- `office.api.video.concat_audios`
- `office.api.video.add_audio_to_video`