Skip to main content
本文將介紹一種 Producer Audios Generation API 對接說明,它是可以透過輸入自定義參數來生成 Producer 官方的音樂。

申請流程

要使用 Producer Audios Generation API,首先到 Ace Data Cloud 控制台 獲取您的 API Token,留作備用。 如果你尚未登入或註冊,會自動跳轉到登入頁面邀請你註冊和登入,完成後會自動返回當前頁面。 一個 API Token 即可調用平台所有服務,無需為每個服務單獨申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 充值通用餘額。
📘 完整文檔:Producer Audios Generation API →

基本使用

想些什麼歌曲,可以任意輸入一段文字,比如我想生成一個關於聖誕的歌曲,就可以輸入 a song for Christmas,如圖所示:

可以看到這裡我們設定了 Request Headers,包括:
  • accept:想要接收怎樣格式的響應結果,這裡填寫為 application/json,即 JSON 格式。
  • authorization:調用 API 的密鑰,申請之後可以直接下拉選擇。
另外 Request Body 的參數包括:
  • action:此次音樂生成任務的行為,生成歌曲是 generate
  • model:創建歌曲採用的模型,目前主要有: FUZZ-2.0 ProFUZZ-2.0FUZZ-2.0 Raw,FUZZ-1.1 ProFUZZ-1.0 ProFUZZ-1.0FUZZ-1.1FUZZ-0.8
  • lyric:歌曲的歌詞內容。
  • custom:是否採用自定義方式生成歌曲。
  • prompt:靈感模式下的提示詞。
  • title:歌曲標題信息。
  • audio_id:參考歌曲 ID,用於續寫/翻版等操作。
  • continue_at:從指定秒數開始續寫歌曲。
  • replace_section_start/replace_section_end:替換片段的起止時間,單位秒。
  • lyrics_strength:歌詞強度,表示歌詞在音頻生成中的影響程度,可選0-1之間,默認0.7。
  • sound_strength:音頻提示詞強度,可選0.2-1之間,默認0.7。
  • cover_strength:翻唱強度 0.2-1之間,默認1。
  • weirdness:風格奇特度,可選 0-1之間,默認0.5
  • callback_url:需要回調結果的 URL。
  • async:可選,設為 true 時接口立即返回 task_id,無需提供 callback_url,隨後通過對應的任務查詢接口輪詢獲取結果。
  • instrumental:是否為無歌詞模式。
選擇之後,可以發現右側也生成了對應代碼,如圖所示:

點擊「Try」按鈕即可進行測試,如上圖所示,這裡我們就得到了如下結果:
返回結果一共有多個字段,介紹如下:
  • success,此時音樂生成任務的狀態情況。
    • data,此次音樂任務的結果
      • id,此時音樂生成任務的 ID。
      • sound,此時音樂生成任務的提示詞。
      • seed,此時音樂生成任務的種子值。
      • audio_url,此時音樂生成任務的音頻鏈接。
      • image_url,此時音樂生成任務的封面鏈接。
      • image_id,此時音樂生成任務的封面ID。
      • state,此時音樂生成任務的狀態。
      • duration,此時音樂的時長信息。
      • progress,此時音樂任務的進度值。
      • model,此時音樂生成任務採用的模型信息。
      • lyric,此時音樂生成任務的歌詞信息。
可以看到我們得到了想生成的音樂信息,我們只需要根據結果中 data 的音樂鏈接地址獲取生成的 Producer 音樂即可。 另外如果想生成對應的對接代碼,可以直接複製生成,例如 CURL 的代碼如下:

自定義生成

如果想自定義生成歌詞,可以輸入歌詞: 這時候 lyric 字段可以傳入類似如下內容:
接下來我們要根據歌詞、標題、風格自定義生成歌曲,就可以指定如下內容:
  • lyric:歌詞文本
  • custom:填寫為 true,代表自訂生成,該參數默認為 false,代表使用 prompt 生成。
  • title:歌曲的標題。
填寫樣例如下:

填寫完畢之後自動生成了代碼如下:

對應的代碼:
測試允許,生成的效果是類似的。

翻唱歌曲

如果想對已經生成的歌曲進行翻唱操作的操作,可以輸入上文生成的歌曲進行翻唱,接下來我們要根據歌詞、標題自訂生成歌曲。 如果想對自己上傳的歌曲進行繼續翻唱的話,可以將參數 action 設置為 upload_cover ,並且輸入需要繼續翻唱自訂上傳的歌曲 ID,歌曲 ID 的獲取是使用 Producer Upload API來獲取,如下圖所示:

就可以指定如下內容:
  • action:此次歌曲任務的行為,目前支持:generate、cover、extend、upload_cover、upload_extend、replace_section、swap_vocals、swap_instrumentals、variation,此次翻唱使用cover參數。
  • lyric:歌詞文本
  • title:歌曲的標題。
  • custom:是否採用自訂模式生成,默認是false。
  • audio_id:需要翻唱歌曲的歌曲ID。
填寫樣例如下:

填寫完畢之後自動生成了代碼如下:

對應的代碼:
測試允許,生成的效果是類似的。

续写歌曲

如果想续写歌曲的话,我们需要传入action参数值为:extend,接下来我们要根据歌词、标题、风格自定义生成歌曲。 如果想对自己上传的歌曲进行继续续写的话,可以将参数 action 设置为 upload_extend ,并且输入需要继续续写自定义上传的歌曲 ID,歌曲 ID 的获取是使用 Producer Upload API来获取,如下图所示:

填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:
测试允许,生成的效果是类似的。

音乐变换

如果想根据上一首音乐的seed值生成一首类似效果的新音乐的话,我们需要传入action参数值为:variation,接下来就可以自定义生成一首类似效果的新音乐。 填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:
測試允許,生成的效果是類似的。

替換片段

如果想對歌曲進行替換片段的話,我們需要傳入action參數值為:replace_section,接下來我們要根據歌詞、標題自定義生成歌曲。 如果想對自己上傳的歌曲進行繼續替換片段的話,可以將參數 action 設置為 upload_replace_section ,並且輸入需要繼續續寫自定義上傳的歌曲 ID,歌曲 ID 的獲取是使用 Producer Upload API來獲取,如下圖所示:

填寫樣例如下:

填寫完畢之後自動生成了代碼如下:

對應的代碼:
測試允許,生成的效果是類似的。

伴奏翻版

如果想使用官方的伴奏翻版操作,可以将action参数值设为:swap_instrumentals,接下来我们要根据歌词、标题自定义生成歌曲。 填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:
測試允許,生成的效果是類似的。

人声翻版

如果想使用官方的人声翻版操作,可以将action参数值设为:swap_vocals,接下来我们要根据歌词、标题、风格自定义生成歌曲。 填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:
測試允許,生成的效果是類似的。

词曲分离

如果想使用官方的词曲分离操作,可以将action参数值设为:stems,接下来我们要根据歌曲ID进行词曲分离。 填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:
测试允许,生成的效果是类似的。

異步回調

由於 Producer Audios Generation API 生成的時間有時候會相對較長,如果 API 長時間無響應,HTTP 請求會一直保持連接,導致額外的系統資源消耗,所以本 API 也提供了異步回調的支持。 整體流程是:客戶端發起請求的時候,額外指定一個 callback_url 欄位,客戶端發起 API 請求之後,API 會立刻返回一個結果,包含一個 task_id 的欄位資訊,代表當前的任務 ID。當任務完成之後,生成任務的結果會透過 POST JSON 的形式發送到客戶端指定的 callback_url,其中也包括了 task_id 欄位,這樣任務結果就可以透過 ID 關聯起來了。 下面我們透過範例來了解下具體怎麼操作。 首先,Webhook 回調是一個可以接收 HTTP 請求的服務,開發者應該替換為自己架設的 HTTP 伺服器的 URL。此處為了方便演示,使用一個公開的 Webhook 範例網站 https://webhook.site/,打開該網站即可得到一個 Webhook URL,如圖所示: 將此 URL 複製下來,就可以作為 Webhook 來使用,此處的範例為 https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1 接下來,我們可以設定欄位 callback_url 為上述 Webhook URL,同時填入相應的參數,具體的內容如圖所示:

點擊執行,可以發現會立即得到一個結果,如下:
稍等片刻,我們可以在 https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1 上觀察到生成任務的結果,如圖所示: 內容如下:
可以看到结果中有一个 task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。

錯誤處理

在調用 API 時,如果遇到錯誤,API 會返回相應的錯誤代碼和信息。例如:
  • 400 token_mismatched:錯誤請求,可能是因為缺少或無效的參數。
  • 400 api_not_implemented:錯誤請求,可能是因為缺少或無效的參數。
  • 401 invalid_token:未授權,無效或缺少授權令牌。
  • 429 too_many_requests:請求過多,您已超過速率限制。
  • 500 api_error:內部伺服器錯誤,伺服器出現問題。

錯誤響應示例

結論

通過本文檔,您已經了解了如何使用 Producer Audios Generation API 可通過輸入提示詞來生成音樂。希望本文檔能幫助您更好地對接和使用該 API。如有任何問題,請隨時聯繫我們的技術支持團隊。