/generatePOST /generate
Generate music using AI with callback support. Supports both inspiration mode (text description) and custom mode (lyrics, style, title).
https://udioapi.pro/api/generatetips
This endpoint generates music and sends results to your callback URL when completed.
Callback URL Requirements:
- Must be publicly accessible (no localhost, internal IPs, or private networks)
- Must accept POST requests
- Will receive an array of generation results in the request body
Two Generation Modes:
- Inspiration Mode: Use
gpt_description_promptto generate music from a text description - Custom Mode: Use
prompt,style, andtitlefor detailed control
Callbacks are sent at each stage: text generation, first audio, and completion.
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, plus callback URL
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 |
commonParams
| paramName | paramType | required | description | example |
|---|---|---|---|---|
paramNamecallback_url | paramTypestring | requiredyes | descriptionURL to receive generation results callbacks. Must be publicly accessible. | examplehttps://your-domain.com/api/callback |
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). Adds 1 credit per request. Inspiration Mode only; 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/generate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"callback_url": "https://your-domain.com/api/callback",
"model": "chirp-v6-mini",
"gpt_description_prompt": "A upbeat pop song about summer vacation with catchy melody",
"make_instrumental": false,
"gender": "female",
"style_weight": 0.65,
"weirdness_constraint": 0.65,
"audio_weight": 0.65
}'