/v2/generatePOST /v2/generate
Generate music using AI. Supports both inspiration mode (text description) and custom mode (lyrics, style, title).
https://udioapi.pro/api/v2/generatetips
Two Generation Modes:
- Inspiration Mode: Use
gpt_description_promptto generate music from a text description - Custom Mode: Use
prompt,style, andtitlefor detailed control
Image to Music (Inspiration Mode only): Pass up to 5 publicly accessible image URLs in image_urls; the music reads the mood of the pictures and can be combined with gpt_description_prompt. Image input adds 1 credit per request and is silently ignored in Custom Mode.
Model Selection: Current models are chirp-v6 (12 credits), chirp-v6-mini (10 credits) and chirp-v6-wild (12 credits). Legacy identifiers are still accepted and billed at their historical price: chirp-v5 / chirp-v5-5 are served by chirp-v6, while chirp-v3-5, chirp-v4-0, chirp-v4-5 and chirp-v4-5-plus are served by chirp-v6-mini. Results always report the model that actually produced the audio in model_name.
Rejected requests are refunded: if a request is rejected during validation you receive 422 (fix the parameters) or 500 (temporary, retry later) with data.refunded; tasks that fail after being accepted are marked FAILED and refunded automatically.
requestHeaders
| name | required | description |
|---|---|---|
nameAuthorization | requiredyes | descriptionBearer token for authentication |
nameContent-Type | requiredyes | descriptionapplication/json |
requestBody
Request body supports two modes: Inspiration Mode or Custom Mode
Inspiration Mode
Generate music from a text description
| paramName | paramType | required | description | example |
|---|---|---|---|---|
paramNamegpt_description_prompt | paramTypestring | requiredyes | descriptionText description of the music you want to generate. Max length: 3000 characters (longer input is truncated). Optional when image_urls is provided. | exampleA upbeat pop song about summer vacation with catchy melody |
Custom Mode
Generate music with custom lyrics, style, and title
| paramName | paramType | required | description | example |
|---|---|---|---|---|
paramNameprompt | paramTypestring | requiredyes | descriptionCustom lyrics or detailed prompt. Max length: 5000 characters for every model (longer input is truncated). | exampleVerse 1: Walking down the street, feeling so free... |
paramNamestyle | paramTypestring | requiredno | descriptionMusical style/genre. Max length: 1000 characters for every model (longer input is truncated). | examplepop, upbeat, electronic, 120 bpm |
paramNametitle | paramTypestring | requiredno | descriptionSong title. Max length: 80 characters (longer input is truncated). | exampleSummer Dreams |
paramNametags | paramTypestring | requiredno | descriptionNegative tags to avoid in generation | examplesad, slow |
paramNameduration | paramTypenumber | requiredno | descriptionSaniye cinsinden hedef süre; yalnızca Özel Modda geçerlidir. chirp-v6, chirp-v6-mini ve chirp-v6-wild ile bu modellerin karşıladığı eski model tanımlayıcıları tarafından desteklenir. 10 ile 360 arasındaki değerler kabul edilir. Değer eksik veya geçersizse hedef süre gönderilmez ve model parça uzunluğunu şarkı sözlerine göre belirler; eski chirp-v5-5 tanımlayıcısı varsayılan olarak 20 kullanır. Bu kesin bir uzunluk değil, hedeftir: sözlerin gerektirdiğinden kısa bir değer, tüm dizeler söylenmeden parçanın bitmesine yol açabilir. İlham Modunda ve /v2/extend tarafından yok sayılır. | example20 |
commonParams
| paramName | paramType | required | description | example |
|---|---|---|---|---|
paramNamemodel | paramTypestring | requiredno | descriptionModel to use. Current options: 'chirp-v6' (12 credits), 'chirp-v6-mini' (10 credits), 'chirp-v6-wild' (12 credits). Legacy identifiers 'chirp-v3-5' (5), 'chirp-v4-0' (8), 'chirp-v4-5' (10), 'chirp-v4-5-plus' (10), 'chirp-v5' (12) and 'chirp-v5-5' (12) keep their historical price and are served by chirp-v6 (chirp-v5 / chirp-v5-5) or chirp-v6-mini (all others). When omitted the request is billed at the 5-credit base tier and served by chirp-v6-mini. | examplechirp-v6 |
paramNameimage_urls | paramTypestring[] | requiredno | descriptionImage to Music. Up to 5 publicly accessible image URLs (JPEG, JPG, PNG or WEBP, max 10MB each). The generated track reflects the mood of the images and can be steered with gpt_description_prompt. Adds 1 credit per request. Only applies to Inspiration Mode; silently ignored in Custom Mode. | example["https://cdn.example.com/sunset-beach.jpg"] |
paramNamemake_instrumental | paramTypeboolean | requiredno | descriptionGenerate instrumental music without vocals | examplefalse |
paramNamegender | paramTypestring | requiredno | descriptionVocal gender preference. Use 'male' or 'female' | examplefemale |
paramNamestyle_weight | paramTypenumber | requiredno | descriptionStrength of adherence to style. Range 0–1, up to 2 decimals | example0.65 |
paramNameweirdness_constraint | paramTypenumber | requiredno | descriptionControls creative deviation. Range 0–1, up to 2 decimals | example0.65 |
paramNameaudio_weight | paramTypenumber | requiredno | descriptionBalance weight for audio features. Range 0–1, up to 2 decimals | example0.65 |
responses
{
"code": 200,
"message": "success",
"workId": "gen2abc123def456bksv",
"data": {
"task_id": "gen2abc123def456bksv"
}
}codeExamples
curl -X POST "https://udioapi.pro/api/v2/generate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chirp-v6",
"prompt": "Verse 1: Walking down the street, feeling so free\nChorus: Summer dreams are calling me",
"style": "pop, upbeat, electronic, 120 bpm",
"title": "Summer Dreams",
"duration": 20,
"make_instrumental": false,
"gender": "female",
"style_weight": 0.65,
"weirdness_constraint": 0.65,
"audio_weight": 0.65
}'