Points d'accès API

Générer de la musique

POST/v2/generate

POST /v2/generate

Generate music using AI. Supports both inspiration mode (text description) and custom mode (lyrics, style, title).

POSThttps://udioapi.pro/api/v2/generate

tips

Two Generation Modes:

  • Inspiration Mode: Use gpt_description_prompt to generate music from a text description
  • Custom Mode: Use prompt, style, and title for detailed control

Model Selection: Choose from chirp-v4-0, chirp-v4-5, or chirp-v4-5-plus, chirp-v5 or chirp-v5-5 for different quality levels.

requestHeaders

namerequireddescription
nameAuthorizationrequiredyesdescriptionBearer token for authentication
nameContent-Typerequiredyesdescriptionapplication/json

requestBody

Request body supports two modes: Inspiration Mode or Custom Mode

Inspiration Mode

Generate music from a text description

paramNameparamTyperequireddescriptionexample
paramNamegpt_description_promptparamTypestringrequiredyesdescriptionText description of the music you want to generate. Max length: 400 chars for chirp-v3-5/chirp-v4-0exampleA upbeat pop song about summer vacation with catchy melody

Custom Mode

Generate music with custom lyrics, style, and title

paramNameparamTyperequireddescriptionexample
paramNamepromptparamTypestringrequiredyesdescriptionCustom lyrics or detailed prompt. Max length: 3000 chars (chirp-v3-5/chirp-v4-0) or 5000 chars (chirp-v4-5/chirp-v4-5-plus/chirp-v5/chirp-v5-5)exampleVerse 1: Walking down the street, feeling so free...
paramNamestyleparamTypestringrequirednodescriptionMusical style/genre. Max length: 200 chars (chirp-v3-5/chirp-v4-0) or 1000 chars (chirp-v4-5/chirp-v4-5-plus/chirp-v5/chirp-v5-5)examplepop, upbeat, electronic, 120 bpm
paramNametitleparamTypestringrequirednodescriptionSong title. Max length: 80 charactersexampleSummer Dreams
paramNametagsparamTypestringrequirednodescriptionNegative tags to avoid in generationexamplesad, slow
paramNamedurationparamTypenumberrequirednodescriptionDurée cible en secondes, uniquement pour le mode personnalisé de chirp-v5-5. Les valeurs de 10 à 360 sont acceptées ; une valeur absente ou non valide utilise 20 par défaut. Ce paramètre est ignoré pour les autres modèles et le mode Inspiration.example20

commonParams

paramNameparamTyperequireddescriptionexample
paramNamemodelparamTypestringrequirednodescriptionAI model to use. Options: 'chirp-v3-5' (default), 'chirp-v4-0', 'chirp-v4-5', 'chirp-v4-5-plus', 'chirp-v5', 'chirp-v5-5'.examplechirp-v5-5
paramNamemake_instrumentalparamTypebooleanrequirednodescriptionGenerate instrumental music without vocalsexamplefalse
paramNamegenderparamTypestringrequirednodescriptionVocal gender preference. Use 'male' or 'female'examplefemale
paramNamestyle_weightparamTypenumberrequirednodescriptionStrength of adherence to style. Range 0–1, up to 2 decimalsexample0.65
paramNameweirdness_constraintparamTypenumberrequirednodescriptionControls creative deviation. Range 0–1, up to 2 decimalsexample0.65
paramNameaudio_weightparamTypenumberrequirednodescriptionBalance weight for audio features. Range 0–1, up to 2 decimalsexample0.65

responses

json
{
  "code": 200,
  "message": "success",
  "workId": "gen2abc123def456bksv",
  "data": {
    "task_id": "gen2abc123def456bksv"
  }
}
json
{
  "code": 400,
  "message": "No body provided"
}
json
{
  "code": 401,
  "message": "No API key provided in Authorization header"
}
json
{
  "code": 500,
  "message": "Internal Server Error",
  "data": {
    "task_id": "gen2abc123def456bksv"
  },
  "workId": "gen2abc123def456bksv"
}

codeExamples

curl
curl -X POST "https://udioapi.pro/api/v2/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "chirp-v5-5",
    "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
  }'
javascript
const response = await fetch('https://udioapi.pro/api/v2/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'chirp-v4-5',
    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
  })
});

const data = await response.json();
console.log(data);
javascript
const response = await fetch('https://udioapi.pro/api/v2/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'chirp-v5-5',
    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
  })
});

const data = await response.json();
console.log(data);