Skip to main content
POST
/
voice
/
music_gen
Generate music from text prompt
curl --request POST \
  --url https://modelslab.com/api/v6/voice/music_gen \
  --header 'Content-Type: application/json' \
  --data '
{
  "key": "<string>",
  "prompt": "<string>",
  "init_audio": "<string>",
  "duration": 30,
  "output_format": "wav",
  "bitrate": "320k",
  "base64": false,
  "temp": false,
  "webhook": "<string>",
  "track_id": 123
}
'
{
  "status": "success",
  "generationTime": 123,
  "id": 123,
  "output": [
    "<string>"
  ],
  "proxy_links": [
    "<string>"
  ],
  "future_links": [
    "<string>"
  ],
  "links": [
    "<string>"
  ],
  "meta": {},
  "eta": 123,
  "message": "<string>",
  "tip": "<string>",
  "fetch_result": "<string>",
  "audio_time": 123
}

Request

Make a POST request to below endpoint and pass the required parameters as a request body.
curl
--request POST 'https://modelslab.com/api/v6/voice/music_gen' 

Body

Without init_audio:
json
{
    "key":"your_api_key",
    "prompt":"marimba, percussion, bass, tropical house, melodic riff, G# minor, 96 bpm",
    "duration": 30,
    "output_format": "wav",
    "bitrate": "320k",
    "base64":false,
    "temp": false,
    "webhook": null,
    "track_id": null
}
With init_audio:
json
{
    "key":"your_api_key",
    "prompt":"marimba, percussion, bass, tropical house, melodic riff, G# minor, 96 bpm",
    "init_audio":"https://pub-3626123a908346a7a8be8d9295f44e26.r2.dev/livewire-tmp/IxizU51vL2IwiEjy6XtvbDECa9f16E-metaU2hhcGUgb2YgeW91IFJpbmd0b25lIO+9nO+9nCBJbnN0cnVtZW50YWwgQkdNIO+9nO+9nCBMSUdIVCBHT0pPLndhdg==-.wav",
    "duration": 30,
    "output_format": "wav",
    "bitrate": "320k",
    "base64":false,
    "temp": false,
    "webhook": null,
    "track_id": null
}

Body

application/json
key
string
required

Your API Key for request authorization

prompt
string
required

Input text for music generation

init_audio
string<uri>

Conditioning melody URL for music generation (up to 30 seconds)

duration
integer
default:30

Duration of the generated music in seconds. Any arbitrary value between 30 and 480. Default: 30.

Required range: 30 <= x <= 480
output_format
enum<string>
default:wav

Output format of the generated audio. Options: wav, mp3, flac. Default: wav.

Available options:
wav,
mp3,
flac
bitrate
enum<string>
default:320k

Bitrate of the generated audio file. Options: 128k, 192k, 320k. Default: 320k.

Available options:
128k,
192k,
320k
base64
boolean
default:false

Whether input sound clip is in base64 format

temp
boolean
default:false

Use temporary links for regions blocking storage access

webhook
string<uri>

URL to receive POST callback upon completion

track_id
integer

Unique ID for identifying webhook responses

Response

Music generation response

status
enum<string>

Status of the voice generation

Available options:
success,
processing,
error
generationTime
number

Time taken to generate the audio in seconds

id
integer

Unique identifier for the voice generation

output
string<uri>[]

Array of generated audio URLs

Array of proxy audio URLs

Array of future audio URLs for queued requests

Array of audio URLs (voice cover response)

meta
object

Metadata about the audio generation including all parameters used

eta
integer

Estimated time for completion in seconds (processing status)

message
string

Status message or additional information

tip
string

Additional information or tips for the user

fetch_result
string<uri>

URL to fetch the result when processing

audio_time
number

Duration of the generated audio in seconds