1. Upload audio → Get clip_id
2. Use clip_id for extend/cover/persona operationsclip_id:| Requirement | Value |
|---|---|
| Duration | max 8min |
| Format | MP3, WAV, or common audio formats |
| Source | Must be accessible via public URL |
| Rights | Copyright-free or owned by you |
{
"code": 200,
"message": "success",
"clip_id": "abc123-def456-..."
}Processing Time: Approximately 20 seconds to receive the official clip_id.
POST /api/v1/sonic/create
{
"task_type": "extend_upload_music",
"continue_clip_id": "your-uploaded-clip-id",
"continue_at": 0.1,
"custom_mode": true,
"mv": "sonic-v4-5",
"prompt": "[Verse 2]\nContinuing the song...\n\n[Chorus]\nNew chorus lyrics",
"tags": "pop, upbeat"
}| Parameter | Value | Description |
|---|---|---|
task_type | extend_upload_music | Must use this for uploaded files |
continue_clip_id | Your clip_id | The uploaded audio's clip_id |
continue_at | 0.1 | Start extending from 0.1 seconds (recommended) |
Important: Use extend_upload_music, notextend_music, for uploaded files.
POST /api/v1/sonic/create
{
"task_type": "cover_upload_music",
"continue_clip_id": "your-uploaded-clip-id",
"custom_mode": true,
"mv": "sonic-v4-5",
"prompt": "[Verse]\nNew lyrics for the cover...\n\n[Chorus]\nCover chorus",
"tags": "jazz, smooth, acoustic",
"audio_weight": 0.6
}| Parameter | Value | Description |
|---|---|---|
task_type | cover_upload_music | Must use this for uploaded files |
continue_clip_id | Your clip_id | The uploaded audio's clip_id |
audio_weight | 0-1 | How much original audio influences the cover |
| Value | Effect |
|---|---|
| 0.0 - 0.3 | More creative freedom, less like original |
| 0.4 - 0.6 | Balanced mix |
| 0.7 - 1.0 | Closer to original sound |
Important: Use cover_upload_music, notcover_music, for uploaded files.
POST /api/v1/sonic/persona
{
"name": "My Custom Voice",
"clip_id": "your-uploaded-clip-id",
"describe": "Warm, soulful vocal with smooth tone",
"styles": "soul, r&b, smooth"
}{
"code": 200,
"persona_id": "persona-abc123-...",
"message": "success"
}POST /api/v1/sonic/create
{
"task_type": "persona_music",
"persona_id": "persona-abc123-...",
"custom_mode": true,
"mv": "sonic-v4-5",
"prompt": "[Verse]\nBrand new song with my voice\n\n[Chorus]\nSinging in my style",
"tags": "pop, dance"
}| Benefit | Description |
|---|---|
| Reusable | Create once, use unlimited times |
| Consistent | Same voice across different songs |
| Flexible | Generate any genre while keeping the voice |
| Cost-effective | 1 credit to create, then normal generation costs |
POST /api/v1/sonic/upload-extend
{
"url": "https://your-audio-file-url.mp3",
"mv": "sonic-v4-5",
"custom_mode": true,
"prompt": "[Verse]\nExtension lyrics...",
"tags": "pop",
"continue_at": 0.1,
"auto_concat": true
}POST /api/v1/sonic/upload-cover
{
"url": "https://your-audio-file-url.mp3",
"mv": "sonic-v4-5",
"custom_mode": true,
"prompt": "[Verse]\nCover lyrics...",
"tags": "jazz, acoustic",
"audio_weight": 0.5
}auto_concat: true, the system automatically concatenates the extended segment with the original, giving you the full track without a separate concat call.| Scenario | Task Type |
|---|---|
| Extend platform-generated music | extend_music |
| Extend your uploaded music | extend_upload_music |
| Cover platform-generated music | cover_music |
| Cover your uploaded music | cover_upload_music |
| Generate with persona | persona_music |
Step 1: Upload audio
↓
Step 2: Extend with extend_upload_music
↓
Step 3: Concat to get full track
↓
Done!Step 1: Use upload-extend with auto_concat: true
↓
Done! (Full track ready)