AI Audio
AI Cover
Song cover — re-sing a track in a target voice (voice timbre transfer)
AI Cover is voice timbre transfer: convert a song (source_audio_url) into a target voice
(reference_audio_url), with optional vocal/accompaniment separation and gain. Same contract as
/api/v2/voice/convert — this is a song-cover-flavored alias. Async task;
poll for status after submitting.
Base URL:
https://api.aiclonevoicefree.com| Auth:Authorization: Bearer sk_...
POST /api/v2/voice/cover
| Field | Type | Required | Notes |
|---|---|---|---|
source_audio_url | string | ✅ | Original song audio URL |
reference_audio_url | string | ✅ | Target voice reference audio URL |
pitch_shift | int | ⬜ | Pitch shift in semitones, default 0 |
return_format | string | ⬜ | wav / mp3 / flac, default wav |
enable_separation | bool | ⬜ | Separate vocals/accompaniment first, default true |
vocals_gain | number | ⬜ | Vocal gain, default 1.0 |
accompaniment_gain | number | ⬜ | Accompaniment gain, default 0.8 |
diffusion_steps | int | ⬜ | Diffusion steps, default 50 |
length_adjust | number | ⬜ | Time stretch, default 1.0 |
inference_cfg_rate | number | ⬜ | Inference guidance [0-1], default 0.7 |
auto_f0_adjust | bool | ⬜ | Auto F0 adjustment, default true |
Billing
2 credits/second of output (same as voice convert).
402at submit if insufficient; auto-refunded on failure.
Example
curl -X POST https://api.aiclonevoicefree.com/api/v2/voice/cover \
-H "Authorization: Bearer sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"source_audio_url": "https://your-cdn.com/song.mp3",
"reference_audio_url": "https://your-cdn.com/target-voice.wav",
"enable_separation": true,
"pitch_shift": 0
}'Response 202 → { "task_id": "...", "status": "pending", "capability": "voice", "action": "vocal-conversion" }
Getting the result
Poll GET /api/v2/tasks/{task_id}; audioUrl holds the result when done. See Tasks.