Suno's text-prompted generative audio model. Produces speech with nonverbal sounds like [laughs] and [sighs], plus music and sound effects, in 100+ speaker presets across 13 languages. Returns audio plus an optional .npz history file for voice continuity.
Test this model instantly in the Console Playground — no code required
Copy usage instructions for Claude, ChatGPT, or other AI
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "suno-ai/bark",
"input": {
"prompt": "Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe.",
"history_prompt": "en_speaker_6",
"text_temp": 0.7,
"waveform_temp": 0.7
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | No | Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe. | Input prompt. Supports [laughs], [sighs], [music], ♪ for singing, and CAPS for emphasis |
history_prompt | string | No | - | Speaker preset for audio cloning — 131 options like en_speaker_0..9, ko_speaker_0..9, announcer (13 languages) announcerde_speaker_0de_speaker_1de_speaker_2de_speaker_3de_speaker_4de_speaker_5de_speaker_6de_speaker_7de_speaker_8de_speaker_9en_speaker_0en_speaker_1en_speaker_2en_speaker_3en_speaker_4en_speaker_5en_speaker_6en_speaker_7en_speaker_8en_speaker_9es_speaker_0es_speaker_1es_speaker_2es_speaker_3es_speaker_4es_speaker_5es_speaker_6es_speaker_7es_speaker_8es_speaker_9fr_speaker_0fr_speaker_1fr_speaker_2fr_speaker_3fr_speaker_4fr_speaker_5fr_speaker_6fr_speaker_7fr_speaker_8fr_speaker_9hi_speaker_0hi_speaker_1hi_speaker_2hi_speaker_3hi_speaker_4hi_speaker_5hi_speaker_6hi_speaker_7hi_speaker_8hi_speaker_9it_speaker_0it_speaker_1it_speaker_2it_speaker_3it_speaker_4it_speaker_5it_speaker_6it_speaker_7it_speaker_8it_speaker_9ja_speaker_0ja_speaker_1ja_speaker_2ja_speaker_3ja_speaker_4ja_speaker_5ja_speaker_6ja_speaker_7ja_speaker_8ja_speaker_9ko_speaker_0ko_speaker_1ko_speaker_2ko_speaker_3ko_speaker_4ko_speaker_5ko_speaker_6ko_speaker_7ko_speaker_8ko_speaker_9pl_speaker_0pl_speaker_1pl_speaker_2pl_speaker_3pl_speaker_4pl_speaker_5pl_speaker_6pl_speaker_7pl_speaker_8pl_speaker_9pt_speaker_0pt_speaker_1pt_speaker_2pt_speaker_3pt_speaker_4pt_speaker_5pt_speaker_6pt_speaker_7pt_speaker_8pt_speaker_9ru_speaker_0ru_speaker_1ru_speaker_2ru_speaker_3ru_speaker_4ru_speaker_5ru_speaker_6ru_speaker_7ru_speaker_8ru_speaker_9tr_speaker_0tr_speaker_1tr_speaker_2tr_speaker_3tr_speaker_4tr_speaker_5tr_speaker_6tr_speaker_7tr_speaker_8tr_speaker_9zh_speaker_0zh_speaker_1zh_speaker_2zh_speaker_3zh_speaker_4zh_speaker_5zh_speaker_6zh_speaker_7zh_speaker_8zh_speaker_9 |
custom_history_prompt | string | No | - | Your own .npz history file for voice continuity (overrides history_prompt) |
text_temp | number | No | 0.7 | Text generation temperature (1.0 more diverse, 0.0 more conservative) |
waveform_temp | number | No | 0.7 | Waveform generation temperature (1.0 more diverse, 0.0 more conservative) |
output_full | boolean | No | false | Also return the full generation as a .npz file to reuse as a history prompt |
There are 3 ways to provide files for the custom_history_prompt parameter:
Attach files directly to POST /v1/predictions/upload. No separate upload step needed.
curl -X POST "https://api.core.today/v1/predictions/upload" \
-H "X-API-Key: cdt_your_api_key" \
-F "model=suno-ai/bark" \
-F 'input={"prompt":"your prompt here"}' \
-F "file:custom_history_prompt=@your_file.png"Pass a publicly accessible URL directly. You can also use file_url from the Storage API.
{
"model": "suno-ai/bark",
"input": {
"prompt": "your prompt here",
"custom_history_prompt": "https://example.com/image.jpg"
}
}Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
Natural speech with a nonverbal laugh
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "suno-ai/bark",
"input": {
"prompt": "Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe.",
"history_prompt": "en_speaker_6",
"text_temp": 0.7,
"waveform_temp": 0.7
}
}'Korean speech with a Korean speaker preset
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "suno-ai/bark",
"input": {
"prompt": "안녕하세요? 오늘은 날씨가 정말 좋네요. [laughs]",
"history_prompt": "ko_speaker_0"
}
}'POST /v1/predictions