/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 | descriptionTarget length in seconds for chirp-v5-5 Custom Mode only. Values from 10 to 360 are accepted; invalid or missing values default to 20. Ignored for other models and Inspiration Mode. | 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
}'