在本篇文章中,我们将介绍如何集成 Fish Audios 生成 API。该 API 允许用户通过输入提示词来克隆自己的声音,应用场景包括语音助手、音频内容创作等。
背景介绍
Ace Data Cloud 是一个提供多种数据处理和分析服务的平台,其中 Fish Audios 生成 API 专注于语音合成和克隆。开发者可以利用这个 API 创建个性化的音频内容,适用于教育、娱乐和商业等多个领域。接下来,我们将深入了解如何申请和使用这个 API。
申请流程
要使用 Fish Audios 生成 API,首先需要在 Fish Audios 生成 API 页面 上申请相应的服务。进入页面后,点击“获取”按钮,如下图所示:

如果您尚未登录或注册,系统将自动引导您完成登录或注册。首次申请时,您将获得一个免费配额,可以免费使用 API。
基本用法
了解基本的使用方法非常重要,您需要输入以下字段以获取处理结果:
prompt: 提示词action: 克隆操作voice_id: 声音 IDmodel: 模型
首先,您需要将 action 字段设置为 generate,并选择 model,目前主要使用 fish-tts 模型,如下图所示:

在请求头中,我们需要设置以下内容:
accept: 请求的响应格式,这里填写为application/json,表示以 JSON 格式返回。authorization: API 调用的密钥,可以在申请后直接选择。
请求体的设置包括:
model: 使用的克隆语音模型,主要为fish-tts。action: 本次语音克隆任务的操作。prompt: 需要克隆的提示词。voice_id: 需要克隆的声音 ID。callback_url: 用于接收回调结果的 URL。
完成设置后,右侧会生成相应的代码,如下图所示:

点击“尝试”按钮进行测试,可以得到如下结果:
{
"success": true,
"task_id": "5872ab00-3cf4-4040-a798-8510aaa16756",
"trace_id": "5eda3694-448a-4b72-af33-2acb3851ffe1",
"data": [
{
"audio_url": "https://platform.r2.fish.audio/task/8a72ff9840234006a9f74cb2fa04f978.mp3"
}
]
}
返回的结果包含多个字段,详细说明如下:
success: 当前语音克隆任务的状态。data: 语音克隆任务的结果audio_url: 当前语音克隆任务的音频链接。
根据返回的结果,我们可以方便地获取克隆后的音频。
如果您想生成相应的集成代码,可以直接复制生成的代码示例,如下所示的 CURL 代码:
curl -X POST 'https://api.acedata.cloud/fish/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"action": "speech",
"prompt": "a white siamese cat",
"model": "fish-tts",
"voice_id": "d7900c21663f485ab63ebdb7e5905036"
}'
异步回调
由于 Fish Audios 生成 API 的生成时间相对较长(约 1-2 分钟),如果 API 长时间没有响应,HTTP 请求将保持连接开启,导致额外的系统资源消耗。因此,该 API 还支持异步回调。
整体流程为:当客户端发起请求时,指定额外的 callback_url 字段。API 会立即返回一个包含 task_id 字段的信息,表示当前任务 ID。当任务完成时,生成的结果将以 POST JSON 形式发送到客户端指定的 callback_url,同时包括 task_id 字段,以便通过 ID 关联任务结果。
我们通过一个示例来具体了解如何操作。
首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应将其替换为自己 HTTP 服务器的 URL。为演示 purposes,我们使用公共 Webhook 示例网站 Webhook.site,打开该网站会给您一个 Webhook URL,如下图所示:

复制这个 URL,可以作为 Webhook 使用。示例 URL 为 https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34。
接下来,我们可以将 callback_url 字段设置为上述 Webhook URL,同时填写相应的参数,如下图所示:

点击运行,您将立即收到如下结果:
{
"task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5"
}
稍等片刻,您可以在 https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34 查看生成任务的结果,如下图所示:

内容如下:
{
"success": true,
"task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
"trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
"data": [
{
"audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
}
]
}
我们可以看到结果中包含 task_id 字段,其他字段与之前提到的相似,通过该字段可以关联任务。
错误处理
调用 API 时,如果发生错误,API 将返回相应的错误代码和信息。例如:
400 token_mismatched: 错误请求,可能是缺失或无效的参数。400 api_not_implemented: 错误请求,可能是缺失或无效的参数。401 invalid_token: 未授权,令牌无效或缺失。429 too_many_requests: 请求过多,超过速率限制。500 api_error: 内部服务器错误,服务器发生了错误。
错误响应示例
{
"success": false,
"error": {
"code": "api_error",
"message": "fetch failed"
},
"trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
总结
通过本文,您已经了解如何使用 Fish Audios 生成 API 通过输入提示词克隆声音。希望这篇文章能够帮助您更好地集成和使用该 API。如果您有任何问题,请随时联系技术支持团队。
技术标签:#API #语音合成 #AceDataCloud #开发者工具 #异步编程