producer-music について
producer-musicは、AceDataCloudのProducer APIでAI音楽を生成・編集するスキルです。プロンプトや歌詞からの作成に加え、既存曲の加工にも対応します。
主な機能
- 01プロンプトや歌詞からの曲生成
- 02インストゥルメンタル曲の生成
- 03カバーやバリエーションの作成
- 04曲の延長とセクションの置換
- 05ボーカルと伴奏の交換
- 06ステムへの分離
活用シーン
- 01テキスト指示から音楽を作成
- 02オリジナル歌詞で曲を生成
- 03既存曲の続きや一部を編集
- 04曲を複数のステムに分離
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ acedatacloud/ skills --skill producer-musicインストール後、Claude Code で/producer-musicを入力して読み込まれたか確認します。
詳細
Producer Music Generation
AceDataCloud の Producer API を通じて AI 音楽を生成します。
初回セットアップ
clawhub install @acedatacloud/producerで公式 Skill をインストールします。ClawHub の公開者が @acedatacloud であることを確認してください。- AceDataCloud → Applications にサインインし、General application を開いて、Producer へのアクセス権、残高、現在の料金を確認します。API キーをコピーするか、別のキーを作成する場合は Manage Keys → Create を選択します。
Bearerを含めずにキーの値をコピーしてください。platform-...の管理トークンはサービス API キーではありません。 - Allowed APIs の制限を有効にする場合は、
/producer/audiosと/producer/tasksを含めてください。以下の高度なワークフローでは、追加のルートを呼び出す場合があります。 - OpenClaw Gateway ホストで、
ACEDATACLOUD_API_TOKEN=your_api_key_hereを~/.openclaw/.envに記述し、Gateway を再起動して新しいセッションを開始します。ターミナルから直接テストする場合は、そのシェルでexport ACEDATACLOUD_API_TOKEN="your_api_key_here"を実行します。プロンプトにキーを記述したり、.envファイルをコミットしたりしないでください。 - 以下の クイックスタート を実行します。タスク ID が返された場合は、完了するまで同じタスクを照会してください。進行状況を確認するためだけに、課金対象の生成を再度送信しないでください。
キーのセットアップ、初回実行、トラブルシューティングの図解 · トークンの詳細
クイックスタート
curl -X POST https://api.acedata.cloud/producer/audios \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "generate", "lyric": "", "prompt": "upbeat electronic dance track with synth leads"}'
非同期: すべての生成は非同期です。非同期タスクのポーリングを参照してください。
{"id": "..."}を指定してPOST /producer/tasksを呼び出し、3~5 秒ごとにポーリングします。
モデル
| モデル | 備考 |
|---|---|
FUZZ-2.0 Pro | デフォルト、最高品質 |
FUZZ-2.0 | 標準品質 |
FUZZ-2.0 Raw | 生出力のバリアント |
FUZZ-1.1 Pro | Pro v1.1 |
FUZZ-1.0 Pro | Pro v1.0 |
FUZZ-1.0 | v1.0 |
FUZZ-1.1 | v1.1 |
FUZZ-0.8 | レガシー |
アクション
| アクション | 説明 |
|---|---|
generate | プロンプトまたはカスタム歌詞から新しい曲を作成します |
cover | 既存の曲のカバーバージョンを作成します |
extend | 指定したタイムスタンプから曲を続けます |
replace_section | 既存の曲の時間範囲を置き換えます |
swap_vocals | ボーカルトラックを抽出して入れ替えます |
swap_instrumentals | インストゥルメンタルトラックを抽出して入れ替えます |
variation | 既存の曲のバリエーションを生成します |
stems | 曲をステムに分離します |
ワークフロー
1. プロンプトから生成
POST /producer/audios
{
"action": "generate",
"lyric": "",
"prompt": "chill lo-fi hip hop with rain sounds and soft piano"
}
2. カスタム歌詞モード
POST /producer/audios
{
"action": "generate",
"custom": true,
"title": "Midnight City",
"lyric": "[Verse]\nNeon lights reflect on wet streets\n[Chorus]\nMidnight city never sleeps",
"prompt": "nocturnal electronic pop",
"instrumental": false
}
3. インストゥルメンタルのみ
POST /producer/audios
{
"action": "generate",
"lyric": "",
"prompt": "epic orchestral soundtrack for a movie trailer",
"instrumental": true
}
4. 曲を延長
POST /producer/audios
{
"action": "extend",
"audio_id": "existing-audio-id",
"lyric": "",
"prompt": "",
"continue_at": 30
}
5. セクションを置換
POST /producer/audios
{
"action": "replace_section",
"audio_id": "existing-audio-id",
"lyric": "",
"prompt": "",
"replace_section_start": 15,
"replace_section_end": 30
}
6. ステムに分離
POST /producer/audios
{
"action": "stems",
"audio_id": "existing-audio-id",
"lyric": "",
"prompt": ""
}
7. 歌詞を生成
POST /producer/lyrics
{
"prompt": "a love song about stargazing on a summer night"
}
8. WAV/動画を取得
POST /producer/wav
{"audio_id": "your-audio-id"}
POST /producer/videos
{"audio_id": "your-audio-id"}
9. 参照音声をアップロード
POST /producer/upload
{
"audio_url": "https://example.com/reference.mp3"
}
パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
action | string | すべての /producer/audios リクエストで必須です。アクションの表を参照してください |
prompt | string | すべての /producer/audios リクエストで必須です。プロンプトを使わない編集アクションの場合は、空の文字列を使用してください |
model | string | モデル(例:"FUZZ-2.0 Pro") |
custom | boolean | カスタム歌詞モードを有効にします |
instrumental | boolean | 純粋なインストゥルメンタル(ボーカルなし) |
title | string | 曲のタイトル |
lyric | string | すべての /producer/audios リクエストで必須です。カスタム歌詞では [Verse]、[Chorus] タグを使用し、それ以外の場合は空の文字列を使用してください |
audio_id | string | 既存のオーディオ ID(編集アクション用) |
continue_at | number | 秒数 — ここから延長します |
replace_section_start | number | 置き換えるセクションの開始時刻 |
replace_section_end | number | 置き換えるセクションの終了時刻 |
lyrics_strength | 0-1 | 歌詞への忠実度(デフォルト:0.7) |
sound_strength | 0.2-1 | 音質の重み(デフォルト:0.7) |
weirdness | 0-1 | クリエイティブなランダム性(デフォルト:0.5) |
seed | string | 再現性のためのシード値 |
レスポンス構造
{
"data": [
{
"id": "audio-id",
"audio_url": "https://cdn.example.com/song.mp3",
"video_url": "https://cdn.example.com/video.mp4",
"image_url": "https://cdn.example.com/cover.jpg",
"title": "Song Title",
"lyric": "full lyrics...",
"style": "electronic, dance",
"model": "FUZZ-2.0 Pro"
}
]
}
注意点
- カスタム歌詞では
[Verse]、[Chorus]、[Bridge]、[Outro]タグを使用してください continue_atの単位は秒です。曲はその時点から延長されますreplace_section_start/replace_section_endで再生成する時間範囲を指定しますweirdnessが 0 の場合は予測しやすく、1 の場合は非常に実験的になります/producer/upload経由で参照オーディオをアップロードすると、coverまたはextendで使用できるオーディオ ID を取得できます- WAV と動画のダウンロードは別々のエンドポイントです。メインの生成が完了した後に呼び出してください
- 重要: タスクのレスポンスで
stateフィールドを確認してください。state: "complete"かつsuccess: trueの場合にのみ完了です。pendingの間、API は中間のaudio_url値(ストリーミングプレビュー)を返すことがあります。audio_urlが空でないという理由だけでポーリングを停止しないでください
コメント
Markdown 対応