Suno
Suno audio generation: create songs, lyrics and sound effects, and edit existing tracks (extend, cover, stems, fades, mashup, remaster, MV, persona and more) — one model selected by the `action` field.
- Text to music
- Audio reference
- Multiple actions
Starting at
0.075 coins
per generation
Playground
Input
Custom mode: detailed lyrics / prompt (also the lyrics or sound description)
Audio file URL to operate on
music-video: cover image URL to show inside the ring (default: the source track's cover art when available)
voice: URL to the voice recording
voice: URL to the verification-phrase recording
inspo: 1–4 public audio URLs used as inspiration references
Runs are charged to your balance.
Output
Output will appear here.
Pricing
| Option | Price per generation |
|---|---|
| music | 0.075 coins |
| bpm | 0.002 coins |
| vox | 0.002 coins |
| wav | 0.002 coins |
| concat | 0.002 coins |
| boost-style | 0.002 coins |
| music-video | 0.002 coins |
| timestamped-lyrics | 0.002 coins |
| upload | 0.006 coins |
| crop | 0.012 coins |
| lyrics | 0.012 coins |
| fade-in | 0.012 coins |
| fade-out | 0.012 coins |
| remove-section | 0.012 coins |
| sound | 0.015 coins |
| voice | 0.024 coins |
| adjust-speed | 0.036 coins |
| midi | 0.075 coins |
| cover | 0.075 coins |
| extend | 0.075 coins |
| mashup | 0.075 coins |
| sample | 0.075 coins |
| add-stem | 0.075 coins |
| remaster | 0.075 coins |
| add-vocals | 0.075 coins |
| music-cover | 0.075 coins |
| replace-section | 0.075 coins |
| add-instrumental | 0.075 coins |
| inspo | 0.102 coins |
| stems | 0.15 coins |
| stems-all | 0.36 coins |
Quick start
Full API reference →1curl -X POST https://api.apihubs.ru/api/v1/generation/create \2 -H "Authorization: Bearer $API_STOCK_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "model": "suno",6 "input": {7 "action": "music",8 "makeInstrumental": false,9 "aspectRatio": "9:16",10 "quality": "compact"11 }12 }'
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
action | string | No | music | Suno operationOne of: 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 |
mv | string | No | — | Engine version. Audio actions: v3.5 | v4.0 | v4.5 | v4.5+ | v5.0 | v5.5 | custom. lyrics: remi-v1 | default. Not used by stems/stems-all/wav/voice. |
custom | boolean | No | — | false for simple mode, true for custom mode |
gptDescriptionPrompt | string | No | — | Simple mode: song / effect description (with optional lyrics) |
prompt | string | No | — | Custom mode: detailed lyrics / prompt (also the lyrics or sound description) |
tags | string | No | — | Custom mode: genre / style tags |
title | string | No | — | Title for the result |
makeInstrumental | boolean | No | false | Generate an instrumental-only track |
negativeTags | string | No | — | Styles to avoid (custom mode / sound) |
personaId | string | No | — | ID of a custom voice (persona) to sing the generated music |
customModel | string | No | — | Inline custom model definition (required when mv=custom) |
audioUrl | string | No | — | Audio file URL to operate on |
continueAt | number | No | — | extend: time in seconds where the extension should begin |
sourceTaskId | string | No | — | Reference to one of your prior Suno generations (its taskId), used by stateful actions such as extend, music-cover, replace-section, timestamped-lyrics, music-video, voice and wav. |
audioId | string | No | — | The track to operate on, identified by its id (as returned in a prior generation's `output.tracks[].audioId`). A generation usually produces 2 tracks; omit to use the first. |
fullLyrics | string | No | — | replace-section: complete lyrics for the whole track after the edit |
author | string | No | — | music-video: artist / creator name on the cover (max 50) |
domainName | string | No | — | music-video: brand / site watermark at the bottom (max 50) |
aspectRatio | string | No | 9:16 | music-video: output aspect ratioOne of: 9:16, 16:9, 1:1, 3:4, 4:3 |
backgroundColors | string[] | No | — | music-video: 1–4 hex colors for the blurred gradient backdrop (e.g. ["#1B2635", "#8A6A4F"]) |
imageUrl | string | No | — | music-video: cover image URL to show inside the ring (default: the source track's cover art when available) |
quality | string | No | compact | music-video: output quality. `compact` — small share-friendly file (~5MB / 3 min); `high` — sharper 720p-class output at roughly double the size; `max` — 1080p-class, ~4× compactOne of: compact, high, max |
startS | number | No | — | Start time (seconds) of the affected range. Used by remove-section / crop / sample (the range), replace-section (the infill range) and vox / voice-from-track (the vocal window). |
endS | number | No | — | End time (seconds) of the affected range (> startS). See startS for the actions that use it. |
bpm | number | No | — | sound: tempo in BPM |
key | string | No | — | sound: musical key (Major C–B; Minor Cm–Bm) |
type | string | No | — | sound: 'one-shot' or 'loop' (defaults to one-shot)One of: one-shot, loop |
voiceAudioUrl | string | No | — | voice: URL to the voice recording |
verificationAudioUrl | string | No | — | voice: URL to the verification-phrase recording |
phraseId | string | No | — | voice: phrase ID from the verification-phrase endpoint |
name | string | No | — | voice: voice name |
description | string | No | — | voice: description |
styles | string | No | — | voice: genre tags (e.g. 'funk edm') |
singerSkillLevel | string | No | — | voice: singer skill levelOne of: Beginner, Intermediate, Advanced, Professional |
audioUrls | string[] | No | — | inspo: 1–4 public audio URLs used as inspiration references |
styleWeight | number | No | — | Style weight (0.00–1.00) |
weirdnessConstraint | number | No | — | Creativity / weirdness weight (0.00–1.00) |
audioWeight | number | No | — | Audio weight (0.00–1.00) |
vocalGender | string | No | — | Vocal gender: Male or FemaleOne of: Male, Female |
autoLyrics | boolean | No | — | inspo: rewrite the provided lyrics creatively |
variationCategory | string | No | — | remaster: intensity (subtle / normal / high)One of: subtle, normal, high |
stemType | string | No | — | stems: which stem to extract (e.g. lead_vocal, backing_vocals, drum_kit, bass, piano, electric_guitar). Defaults to lead_vocal. |
voxAudioId | string | No | — | voice (persona from a track): id obtained from a prior vox extraction; the startS/endS must match that vox's clip range. |
durationS | number | No | — | fade-in / fade-out: fade duration in seconds |
speed | number | No | — | adjust-speed: speed multiplier (0.25–4) |
keepPitch | boolean | No | — | adjust-speed: keep the original pitch (defaults to true) |
sourceTaskIds | string[] | No | — | mashup: exactly 2 prior suno generation ids (taskIds) to remix together |
audioIds | string[] | No | — | mashup: parallel array to sourceTaskIds selecting the track in each source by its audioId (as returned in output.tracks[].audioId); omit an entry to use that source's first track |
Frequently asked questions
How much does Suno cost?
Suno starts at $0.075 per generation through the API Hubs API. You pay per use from a single prepaid balance — there is no subscription — and the final price scales with parameters such as resolution or duration.
How do I call the Suno API?
Send a POST request to https://api.apihubs.ru/api/v1/generation/create with your API key and the model id "suno". The call returns a task id you poll, or a webhook callback when the result is ready. A ready-to-run example is in the quick start above.
What input parameters does Suno accept?
Suno accepts 48 input parameters. Their types, defaults and allowed values are listed in the parameters table above.
What happens if a Suno request fails?
API Hubs automatically retries the request on a reserve provider. If every provider fails, the charge is refunded to your balance.
Can I use Suno with the same API key as other models?
Yes. Every model on API Hubs — video, image, music and chat — shares one API key and one prepaid balance, so you can switch to Suno without new credentials.
Guides
- Music generationWriting songs, jingles and sound effects with Suno — simple versus custom mode, style prompts that work, extending and covering tracks, stems and voice personas.8 min read
- Going to productionKey handling, webhooks over polling, idempotency, terminal states, retry policy by error code, balance monitoring, rate limits and media storage.10 min read