Add vocals
Model id ai-music-api/add-vocals. Create a task, then poll it. The playground on the Suno model page sends the same fields.
Create a task
POST https://modelfold.ai/api/v1/jobs/createTask
curl https://modelfold.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $MODELFOLD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"ai-music-api/add-vocals","input":{"title":"Sketch","negative_tags":"noise","style":"soft vocal","prompt":"la la la","model":"V6_MINI"}}'const created = await fetch('https://modelfold.ai/api/v1/jobs/createTask', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.MODELFOLD_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"model":"ai-music-api/add-vocals","input":{"title":"Sketch","negative_tags":"noise","style":"soft vocal","prompt":"la la la","model":"V6_MINI"}}),
}).then((r) => r.json())A synchronous call is also accepted at POST https://modelfold.ai/v1/audio/generations with the same JSON body flattened (model plus the input fields). Long songs should use the jobs API.
Parameters
| Field | Type | Required | Meaning |
|---|---|---|---|
upload_url | url | yes | Source audio |
title | string | yes | Title |
negative_tags | string | yes | Exclude |
style | string | yes | Style |
prompt | string | no | Prompt |
model | string | no | Version |
Price
Upstream cost 12 credits per call. Sale price is ceil(cost × markup). At the default 1.5× markup this is 18 credits.
The markup can be changed in site settings (price_markup). Per-model upstream costs can be overridden with the suno_pricing setting.
Result
GET https://modelfold.ai/api/v1/jobs/recordInfo?taskId=TASK_ID
When state is success, resultJson contains resultUrls (audio, video, MIDI, or a text sidecar) and resultObject.sourceTaskId plus resultObject.tracks[].id. Follow-up calls use that source task id and track id. A failed task is refunded.
Webhook
Optional callBackUrl must be public HTTPS on port 443. callbackSecret is 32 to 256 characters. ModelFold POSTs the event below and signs the raw body. Signature is base64 HMAC-SHA256 of timestamp.eventId.rawBody, sent as X-ModelFold-Signature, with X-ModelFold-Timestamp and X-ModelFold-Event-Id.
{
"event": "task.completed",
"data": { "taskId": "MODELFOLD_TASK_ID", "model": "ai-music-api/add-vocals", "state": "success" }
}More Suno endpoints
Generate song · Extend · Cover · Upload and extend · Add instrumental · Mashup · Separate vocals · Replace section · Sound effect · Music video · Timestamped lyrics · Lyrics · Boost style · Convert to WAV · Recover audio · Cover image · Persona · MIDI · Create voice · Check voice · Validation phrase · Regenerate phrase
