docs/audio_infos.zh.md
Rama main · réplica de lectura del repositorio original.
# AUDIO_INFOS API 接口文档
## 🌐 语言切换
[中文版](./audio_infos.zh.md) | [English](./audio_infos.md)
## 接口信息
```
POST /openapi/capcut-mate/v1/audio_infos
```
## 功能描述
根据音频URL和时间线生成音频信息。该接口将音频文件URL和时间线配置转换为剪映草稿所需的音频信息格式,支持音量控制和音频效果设置。
## 请求参数
```json
{
"mp3_urls": ["https://assets.jcaigc.cn/audio1.mp3", "https://assets.jcaigc.cn/audio2.mp3"],
"timelines": [
{"start": 0, "end": 3000000},
{"start": 3000000, "end": 8000000}
],
"audio_effect": "reverb",
"volume": 0.8
}
```
### 参数说明
| 参数名 | 类型 |必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| mp3_urls | array[string] |✅ | - | 音频文件URL数组 |
| timelines | array[object] |✅ | - | 时间线配置数组 |
| audio_effect | string |❌ | None | 音频效果名称 |
| volume | number |❌ | None |音量大小(0.0-2.0) |
### 参数详解
#### mp3_urls
- **类型**: array[string]
- **说明**: 音频文件URL地址数组
- **示例**: ["https://assets.jcaigc.cn/bgm.mp3", "https://assets.jcaigc.cn/sfx.mp3"]
#### timelines
- **类型**: array[object]
- **说明**: 时间线配置数组,每个元素包含start和end字段
- **示例**: [{"start": 0, "end": 5000000}, {"start": 5000000, "end": 10000000}]
#### audio_effect
- **类型**: string
- **说明**: 音频效果名称
- **默认值**: None
- **示例**: "reverb", "echo", "bass_boost"
#### volume
- **类型**: number
- **说明**: 音频音量大小
- **默认值**: None
- **范围**: 0.0 - 2.0
- **示例**: 0.8 (80%音量)
##响应格式
### 成功响应 (200)
```json
{
"code": 0,
"message": "success",
"infos": "[{\"audio_url\":\"https://assets.jcaigc.cn/audio1.mp3\",\"start\":0,\"end\":3000000,\"audio_effect\":\"reverb\",\"volume\":0.8},{\"audio_url\":\"https://assets.jcaigc.cn/audio2.mp3\",\"start\":3000000,\"end\":8000000,\"audio_effect\":\"reverb\",\"volume\":0.8}]"
}
```
###响应字段说明
| 字段名 | 类型 | 说明 |
|--------|------|------|
| infos | string |音信息JSON字符串 |
### 错误响应
```json
{
"code": 1001,
"message": "参数校验失败"
}
```
## 使用示例
### cURL 示例
#### 1.基本音频信息生成
```bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/audio_infos \
-H "Content-Type: application/json" \
-d '{
"mp3_urls": ["https://assets.jcaigc.cn/bgm.mp3"],
"timelines": [{"start": 0, "end": 10000000}],
"volume": 0.7
}'
```
#### 2.效果的音频信息
```bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/audio_infos \
-H "Content-Type: application/json" \
-d '{
"mp3_urls": ["https://assets.jcaigc.cn/intro.mp3", "https://assets.jcaigc.cn/content.mp3"],
"timelines": [{"start": 0, "end": 2000000}, {"start": 2000000, "end": 12000000}],
"audio_effect": "reverb",
"volume": 0.9
}'
```
##错误码说明
|错误码 | 错误信息 | 说明 | 解决方案 |
|--------|----------|------|----------|
| 1001 | 参数校验失败 | 请求体未通过字段校验(缺少 `mp3_urls`/`timelines`、时间线项缺少 `start`/`end`,或类型错误) | 检查参数类型与必填字段 |
## 注意事项
1. **数组匹配**: `mp3_urls` 与 `timelines` 长度不一致时,按较短长度截断后继续生成(不会直接报错)
2. **时间单位**:所有时间参数使用微秒(1秒 = 1,000,000微秒)
3. **音量范围**: volume值必须在0.0-2.0范围内
4. **效果支持**: audio_effect需要是系统支持的音频效果名称
5. **JSON格式**: 返回的infos是JSON字符串,需要解析后使用
6. **网络访问**: 音频URL必须可以正常访问
##工作流程
1.验证必填参数(mp3_urls, timelines)
2.按较短长度对齐两个数组
3.验证时间线参数有效性
4. 读取可选的 volume 和 audio_effect 参数
5. 为每个音频URL生成对应的音频信息
6.应用音量和音频效果设置
7.将信息转换为JSON字符串格式
8. 返回处理结果
##相关接口
- [创建草稿](./create_draft.md)
- [添加音频](./add_audios.md)
- [音频时间线](./audio_timelines.md)
- [保存草稿](./save_draft.md)
---
<div align="right">
📚 **项目资源**
**GitHub**: [https://github.com/Hommy-master/capcut-mate](https://github.com/Hommy-master/capcut-mate)
**Gitee**: [https://gitee.com/taohongmin-gitee/capcut-mate](https://gitee.com/taohongmin-gitee/capcut-mate)
</div>
### 语言切换
[中文版](./audio_infos.zh.md) | [English](./audio_infos.md)