Skip to main content
本記事では、カスタムパラメータを入力して Producer 公式の音楽を生成できる Producer Audios Generation API の連携説明を紹介します。

申請フロー

Producer Audios Generation API を使用するには、まず Ace Data Cloud コンソール で API Token を取得し、予備として保管してください。 まだログインまたは登録していない場合は、自動的にログインページへ移動して登録とログインを案内され、完了後に現在のページへ自動的に戻ります。 1つの 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 Pro、FUZZ-2.0、FUZZ-2.0 Raw,FUZZ-1.1 Pro、FUZZ-1.0 Pro、FUZZ-1.0、FUZZ-1.1、FUZZ-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 との連携および使用により役立つことを願っています。ご質問がある場合は、いつでも当社の技術サポートチームにお問い合わせください。