Skip to Content
DocumentationModelsMusicSunocustom-model

Suno: custom-model

Train a reusable custom model from your own tracks.

Action facts

PropertyValue
Modelsuno
Actioncustom-model
EndpointPOST /api/v1/generation/create
Resultoutput structured data
PricingView current pricing 

Minimal request

curl -X POST https://api.apihubs.ru/api/v1/generation/create \ -H "Authorization: Bearer $API_STOCK_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "suno", "input": { "action": "custom-model", "name": "warm folk", "audioUrls": [ "https://example.com/ref-01.mp3", "https://example.com/ref-02.mp3", "https://example.com/ref-03.mp3", "https://example.com/ref-04.mp3", "https://example.com/ref-05.mp3", "https://example.com/ref-06.mp3" ] } }'
{ "code": 200, "data": { "taskId": "019ca881-9503-7270-a560-f00fc2b15785", "status": "not_started", "createdAt": "2026-08-22T12:00:00.000Z" } }

Parameters

ParameterTypeRequiredDefaultDescription
action“music” | “extend” | “cover” | “add-instrumental” | “add-vocals” | “sound” | “stems” | “stems-all” | “wav” | “lyrics” | “voice” | “timestamped-lyrics” | “boost-style” | “music-cover” | “replace-section” | “music-video” | “inspo” | “upload” | “remaster” | “add-stem” | “vox” | “remove-section” | “crop” | “fade-in” | “fade-out” | “adjust-speed” | “concat” | “mashup” | “sample” | “midi” | “bpm” | “custom-model”Yes"music"Suno operation
namestringYes—voice / custom-model: name
audioUrlsstring[]Yes—Public audio URLs. inspo: 1–4 inspiration references; custom-model: 6–24 training tracks (MP3, WAV or M4A).

Conditional rules: Requires name and 6–24 public audioUrls (MP3, WAV or M4A). Training can take up to about 20 minutes; the result carries output.customModelId, which later music, extend, cover and other V6 actions accept as customModelId.

Only send fields relevant to this action. When a request references sourceTaskId, the source must be a successful Suno task owned by the same account.

Result

curl https://api.apihubs.ru/api/v1/task/status/$TASK_ID \ -H "Authorization: Bearer $API_STOCK_KEY"

You can instead provide a top-level webhook. The task reaches finished, failed or expired; failed generations are refunded automatically. Data actions return output, while media actions return files.

{ "code": 200, "data": { "taskId": "019ca881-9503-7270-a560-f00fc2b15785", "status": "finished", "output": {}, "createdTime": "2026-08-22T12:00:00.000Z" } }

Back to all Suno actions

Suno: custom-model — API Hubs