Skip to Content
API 接口文档音频上传

音频上传 API

上传音频文件到服务器,获取音频文件的URL地址,用于后续的语音克隆操作。

请求信息

  • 方法: POST
  • 端点: http://8.148.211.142:8080/api/upload/audio
  • 内容类型: multipart/form-data

请求参数

参数类型必需描述
file文件 (二进制)要上传的音频文件。支持的格式包括 WAV、MP3 和 M4A
api_keystring您的唯一 API 密钥,用于认证和访问

响应

成功响应

状态码: 200 OK

{ "success": true, "audio_url": "https://xiaoditest.oss-cn-hangzhou.aliyuncs.com/audio_uploads/808/1750951190043_lby4d6lwoy_sample.wav", "file_name": "sample.wav", "file_size": 1024000 }

响应字段说明:

字段类型描述
successboolean上传是否成功
audio_urlstring上传后的音频文件URL地址,可用于语音克隆API
file_namestring原始文件名
file_sizenumber文件大小(字节)

错误响应

状态码说明
400请求参数错误或文件格式不支持
401API密钥无效或权限不足
413文件大小超过限制
500服务器内部错误

示例请求

cURL 示例

curl --location 'http://8.148.211.142:8080/api/upload/audio' \ --form 'file=@"/path/to/your/audio.wav"' \ --form 'api_key="your_api_key_here"'

Windows 路径示例

curl --location 'http://8.148.211.142:8080/api/upload/audio' \ --form 'file=@"C:/Users/Administrator/Desktop/audio/sample.WAV"' \ --form 'api_key="your_api_key_here"'

JavaScript 示例

const formData = new FormData(); formData.append('file', fileInput.files[0]); formData.append('api_key', 'your_api_key_here'); fetch('http://8.148.211.142:8080/api/upload/audio', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { console.log('上传成功!'); console.log('音频URL:', data.audio_url); // 使用 data.audio_url 进行语音克隆 }) .catch(error => console.error('上传失败:', error));

Python 示例

import requests url = 'http://8.148.211.142:8080/api/upload/audio' # 准备文件和参数 files = { 'file': open('sample.wav', 'rb') } data = { 'api_key': 'your_api_key_here' } # 发送请求 response = requests.post(url, files=files, data=data) if response.status_code == 200: result = response.json() print(f"上传成功!") print(f"音频URL: {result['audio_url']}") else: print(f"上传失败: {response.status_code}")

PHP 示例

<?php $url = 'http://8.148.211.142:8080/api/upload/audio'; $file = new CURLFile('/path/to/audio.wav'); $data = array( 'file' => $file, 'api_key' => 'your_api_key_here' ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); if ($result['success']) { echo "上传成功!\n"; echo "音频URL: " . $result['audio_url'] . "\n"; } ?>

使用说明

文件要求

  • 支持格式: WAV, MP3, M4A
  • 文件大小: 建议不超过 50MB
  • 音频质量: 建议使用高质量音频以获得更好的克隆效果
  • 音频规格:
    • 时长: 5-30秒
    • 音质: 清晰无噪音
    • 内容: 单人说话,发音清晰

后续使用

上传成功后,您会获得一个 audio_url,可以在以下API中使用:

  1. 同步语音克隆: 使用 audio_url 参数

    curl -X POST https://aivoiceclonefree.com/api/instant/clone-sync \ -F "audio_url=返回的audio_url" \ -F "text=要合成的文本" \ -F "api_key=your_api_key" \ -F "type=2"
  2. 异步语音克隆: 使用 audio_url 参数

    curl -X POST https://aivoiceclonefree.com/api/instant/create-task \ -F "audio_url=返回的audio_url" \ -F "text=要合成的文本" \ -F "api_key=your_api_key"
  3. 实时语音克隆: 使用 audio_paths 参数

    curl -X GET "http://8.148.211.142:8080/api/instant/clone-get?audio_paths=返回的audio_url&api_key=your_api_key&text=要合成的文本"

最佳实践

安全建议

  1. API密钥保护: 不要在客户端代码中暴露API密钥
  2. HTTPS传输: 生产环境建议使用HTTPS传输
  3. 文件验证: 上传前验证文件格式和大小

性能优化

  1. 音频预处理:

    • 去除背景噪音
    • 裁剪到合适长度
    • 转换为推荐格式
  2. 批量上传: 如需上传多个文件,建议间隔请求避免触发限制

  3. 错误处理: 实现完善的错误处理和重试机制

常见问题

1. 支持哪些音频格式?

支持 WAV、MP3、M4A 格式。推荐使用 WAV 格式以获得最佳音质。

2. 文件大小有限制吗?

建议单个文件不超过 50MB。

3. 上传的文件会保存多久?

上传的文件会永久保存,除非您主动删除。

4. 可以覆盖已上传的文件吗?

每次上传都会生成新的文件URL,不会覆盖原有文件。

5. 上传失败怎么办?

  • 检查API密钥是否有效
  • 确认文件格式是否支持
  • 验证文件大小是否超限
  • 检查网络连接是否正常

相关链接

Last updated on