Capability
Song Generation
Four operations sharing one output shape: prompt-based generation, style-matching from a reference, and melody/MIDI-guided generation. Available in v5, v6, and v7.
Compat route available
POST /v{5,6,7}/generate/song covers generate_song, similar_song, and melody_to_song with old-style field names — no tool_id needed. See Compat Routes. midi_to_song has no compat route; use the native path below.
Quickstart
POST/v7/generate/songcompat route, simplest way to start
curl -X POST https://apiv2.soundverse.ai/v7/generate/song \
-H "Authorization: Bearer sksoundverse_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: song-req-001" \
-d '{
"prompt": "uplifting indie pop, female vocals",
"lyrics": "walking through the city lights...",
"parameters": {"versions": 2}
}'Response: 201 {"job_id": "...", "status": "queued"}. Poll GET /v7/status?job_id=... or GET /v1/generations/{job_id}.
generate_song — native payload
POST/v1/generationstool_id for (model, "generate_song")
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| prompt | string | No | "" | Style, mood, genre. Up to 1024 characters. |
| lyrics | string | No | "" | Lyrics for the song. Up to 3000 characters. |
| gender | string | No | "" | Preferred vocal gender: 'female' or 'male'. Optional. |
| versions | integer | No | 1 | Number of versions to generate. 1–3. |
similar_song — native payload
POST/v1/generationstool_id for (model, "similar_song")
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| song_reference | file input | Yes | — | A song whose style to match. mp3/m4a, ~30s, up to 15MB. See Overview → Providing audio/file input for the ref/url/data_b64 shapes. |
| lyrics | string | No | "" | Up to 3000 characters. |
| versions | integer | No | 1 | 1–3. |
melody_to_song — native payload
POST/v1/generationstool_id for (model, "melody_to_song")
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| melody | file input | Yes | — | A melody clip to follow. mp3/m4a/.mid, 5–60s, up to 15MB. |
| lyrics | string | No | "" | Up to 3000 characters. |
| versions | integer | No | 1 | 1–3. |
Not every version supports melody-following (it requires a clone-capable backing model). A version that doesn’t returns a mid-run error, not a validation error — the request is accepted, then fails.
midi_to_song — native only
POST/v1/generationstool_id for (model, "midi_to_song")
No compat route exists for this operation — the old API never had a MIDI input field.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| midi | file input | Yes | — | A .mid file to follow. 5–60s (duration is informational for MIDI — it carries no audio duration). |
| lyrics | string | No | "" | Up to 3000 characters. |
| versions | integer | No | 1 | 1–3. |
Same clone-model caveat as melody_to_song above.
Pricing
| Version | Royalty-Free | Standard | Distribution | Sync | Master |
|---|---|---|---|---|---|
| v5 | $0.07 | $0.11 | $0.14 | $0.28 | $0.70 |
| v6 | $0.10 | $0.15 | $0.20 | $0.39 | $0.98 |
| v7 | $0.12 | $0.25 | $0.27 | $0.67 | $1.67 |
USD per song, by license tier.
Same price for all 4 operations at a given version.