Overview
AudioPod AI’s Music Generation API uses the advanced Text to Music pipeline to transform text descriptions into original musical compositions. Generate complete songs with lyrics, instrumental tracks, rap music, audio samples, and perform advanced audio transformations.Key Features
- Text-to-Music: Generate complete musical compositions from text prompts and lyrics
- Prompt-to-Instrumental: Create instrumental tracks from text descriptions
- Text-to-Rap: Generate rap music with custom lyrics and beats
- Text-to-Samples: Create audio loops and samples for music production
- Audio-to-Audio: Transform existing audio using text prompts
- Advanced Controls: Fine-tune generation with guidance scales, steps, and seeds
- Multiple Formats: Output in WAV, MP3, FLAC formats
- Royalty-Free: All generated music is 100% royalty-free
Authentication
All endpoints require authentication:- API Key:
Authorization: Bearer your_api_key - JWT Token:
Authorization: Bearer your_jwt_token
Text-to-Music Generation
Generate Music from Text and Lyrics
Create complete musical compositions with vocals from text prompts and lyrics.- Python
- Node.js
- Raw HTTP
- cURL
prompt(required): Text description of the desired music style and characteristicslyrics(optional): Song lyrics with structure tags like [Verse], [Chorus], [Bridge]duration(optional): Duration in seconds (-1 for auto, 1-600 seconds). Default: 120.0- Also accepts
audio_durationfor backward compatibility - Use -1 for automatic duration based on lyrics length
- Also accepts
format(optional): Output format (wav,mp3,flac). Default:wavgenre_preset(optional): Genre preset (Modern Pop,Rock,Hip Hop,Jazz,Classical,Electronic,Country,Folk,Blues,Reggae,Latin,R&B,Metal,Custom)display_name(optional): Custom name for the generated trackthumbnail_url(optional): URL for track thumbnail image
infer_step(optional): Number of inference steps (1-200). Default: 60guidance_scale(optional): Classifier-free guidance scale (1.0-30.0). Default: 15.0scheduler_type(optional): Scheduler type (euler, etc.). Default:eulercfg_type(optional): CFG type (apg, etc.). Default:apgomega_scale(optional): Omega scale (1-20). Default: 10guidance_interval(optional): Guidance interval (0.0-1.0). Default: 0.5guidance_interval_decay(optional): Guidance decay (0.0-1.0). Default: 0.0min_guidance_scale(optional): Minimum guidance scale (1.0-10.0). Default: 3.0guidance_scale_text(optional): Text guidance scale (0.0-10.0). Default: 0.0guidance_scale_lyric(optional): Lyric guidance scale (0.0-10.0). Default: 0.0use_erg_tag(optional): Use ERG for tags. Default: trueuse_erg_lyric(optional): Use ERG for lyrics. Default: trueuse_erg_diffusion(optional): Use ERG for diffusion. Default: truemanual_seeds(optional): Array of manual seeds for reproducibility
Instrumental Generation
Generate Instrumental Tracks
Create instrumental music without vocals from text prompts.- POST
- Python
Rap Generation
Generate Rap Music
Create rap tracks with custom lyrics and beats.- Python
- Node.js
- Raw HTTP
Vocals Generation
Generate Vocals from Lyrics
Create vocal tracks from lyrics without instrumental backing.- POST
- Python
Sample Generation
Generate Audio Samples
Create loops, one-shots, and samples for music production.- POST
- Python
sample_type: Type of sample (loop,one-shot, etc.)tempo: Target tempo in BPM (60-200)audio_duration: Sample duration (-1 for auto, 1.0-120.0 seconds). Default: 8.0
Audio-to-Audio Transformation
Transform Audio with Text Prompts
Transform existing audio using text descriptions while preserving reference audio characteristics.- POST
- Python
ref_audio_strength: How much the reference audio influences the output (0.0-1.0)audio_duration: Duration of the output audio (1-600 seconds)
Music Extension
Extend Existing Music
Extend an existing music track by adding more content to the end.- POST
- Python
source_job_id(required): ID of the original music generation jobleft_extend_length(optional): Seconds to add at beginning (0.0-60.0)right_extend_length(optional): Seconds to add at end (0.0-60.0, default: 30.0)prompt(required): Style description for extensionlyrics(optional): Additional lyrics for extensionextend_seeds(optional): Seeds for reproducibility
Music Variations
Create Music Retakes
Generate variations of existing music tracks.- POST
- Python
original_job_id(required): ID of the original music generation jobretake_variance(optional): Variation strength (0.0-1.0, default: 0.5)retake_seeds(optional): Seeds for reproducible variationsdisplay_name(optional): Custom name for the variation
Repaint Audio Sections
Modify specific sections of existing audio tracks.- POST
- Python
source_job_id(optional): Source music generation job IDrepaint_start(required): Start time in seconds to begin repaintingrepaint_end(required): End time in seconds to stop repaintingprompt(required): New style description for the sectionlyrics(optional): New lyrics for the section
Edit Existing Music
Comprehensive editing of existing music tracks.- POST
- Python
source_job_id(required): Source music generation job IDedit_target_prompt(required): New style descriptionedit_target_lyrics(optional): New lyrics for the trackedit_type(optional): Edit type - “remix” or “only_lyrics” (default: “remix”)edit_n_min(optional): Edit strength minimum (0.0-1.0, default: 0.0)edit_n_max(optional): Edit strength maximum (0.0-1.0, default: 1.0)edit_n_avg(optional): Edit averaging (1-5, default: 1)
Utility Endpoints
Get Genre Presets
Retrieve available genre presets for music generation.- GET
- Python
Job Management
Get Job Status
Monitor the progress of music generation jobs.- GET
- Python
List Music Jobs
Get all music generation jobs for the authenticated user with enhanced filtering options.- GET
- Python
skip(optional): Number of jobs to skip for pagination. Default: 0limit(optional): Maximum number of jobs to return. Default: 50task(optional): Filter by specific task type (text2music,text2rap,prompt2instrumental, etc.)status(optional): Filter by job status (pending,processing,completed,failed)song_type(optional): Filter by category:song: Full songs (text2music, lyric2vocals)rap: Rap tracks (text2rap)instrumental: Instrumental tracks (prompt2instrumental, text2samples)samples: Audio samples (text2samples)
liked(optional): Filter by user’s liked status (truefor liked only,falsefor non-liked)
Get Liked Tracks
Get all tracks liked by the current user with filtering options.- GET
- Python
Get Filter Statistics
Get statistics for building filter UI components.- GET
- Python
Update Job Metadata
Update display name and thumbnail for an existing music job.- PATCH
- Python
display_name(optional): New display name for the trackthumbnail_url(optional): New thumbnail URL for the track
Delete Music Job
- DELETE
- Python
Music Interactions & Sharing
Like/Unlike Music Track
- POST (Like)
- DELETE (Unlike)
- Python
Dislike/Remove Dislike from Track
- POST (Dislike)
- DELETE (Remove Dislike)
- Python
Share Music Track
Generate a shareable URL for a music track, enabling public access.- POST
- Python
Get Track Statistics
Get public statistics for a music track.- GET
- Python
Get User Interaction Status
Get the current user’s interaction status with a specific track.- GET
- Python
Public Shared Tracks
These endpoints allow public access to shared music tracks without authentication.Get Shared Track
Access a publicly shared track using its share token.- GET
- Python
Download Shared Track
Download a shared track in a specific format.- GET
- Python
format(optional): Desired format (wav,mp3,flac). Default:wav
Like Shared Track (Anonymous)
Like a shared track without authentication (anonymous interaction).- POST
- Python
Dislike Shared Track (Anonymous)
Dislike a shared track without authentication.- POST
- Python
Comments System
Add Comment to Shared Track
Add a comment to a publicly shared track (supports both authenticated and anonymous users).- POST (Anonymous)
- POST (Authenticated)
- Python
content(required): Comment text contentauthor_name(required for anonymous): Display name for anonymous comments
Get Comments for Shared Track
Retrieve comments for a shared track with pagination.- GET
- Python
skip(optional): Number of comments to skip. Default: 0limit(optional): Maximum comments to return. Default: 50
Add Comment to Own Track (Authenticated)
Add a comment to your own track (requires authentication).- POST
- Python
Get Comments for Own Track
- GET
- Python
Download Generated Music
- Python
Genre Presets
Available genre presets for quick configuration (these replace theprompt parameter):
| Preset | Description | Generated Prompt |
|---|---|---|
Modern Pop | Contemporary pop music | pop, synth, drums, guitar, 120 bpm, upbeat, catchy, vibrant, female vocals, polished vocals |
Rock | Rock and alternative | rock, electric guitar, drums, bass, 130 bpm, energetic, rebellious, gritty, male vocals, raw vocals |
Hip Hop | Hip-hop and rap | hip hop, 808 bass, hi-hats, synth, 90 bpm, bold, urban, intense, male vocals, rhythmic vocals |
Country | Country and folk | country, acoustic guitar, steel guitar, fiddle, 100 bpm, heartfelt, rustic, warm, male vocals, twangy vocals |
EDM | Electronic dance music | edm, synth, bass, kick drum, 128 bpm, euphoric, pulsating, energetic, instrumental |
Reggae | Reggae and ska | reggae, guitar, bass, drums, 80 bpm, chill, soulful, positive, male vocals, smooth vocals |
Classical | Orchestral and chamber | classical, orchestral, strings, piano, 60 bpm, elegant, emotive, timeless, instrumental |
Jazz | Jazz and fusion | jazz, saxophone, piano, double bass, 110 bpm, smooth, improvisational, soulful, male vocals, crooning vocals |
Metal | Heavy metal | metal, electric guitar, double kick drum, bass, 160 bpm, aggressive, intense, heavy, male vocals, screamed vocals |
R&B | R&B and soul | r&b, synth, bass, drums, 85 bpm, sultry, groovy, romantic, female vocals, silky vocals |
Folk | Acoustic folk | folk, acoustic guitar, harmonica, 90 bpm, organic, traditional, storytelling |
Blues | Blues and R&B | blues, guitar, harmonica, 80 bpm, emotional, soulful, traditional |
Latin | Latin and world music | latin, guitar, percussion, 110 bpm, rhythmic, festive, cultural |
Custom | No preset applied | Use your own custom prompt |
Advanced Parameters
Fine-Tuning Generation
For advanced users who want precise control over the generation process:Output Formats
wav: Uncompressed, highest quality (default)mp3: Compressed, smaller file sizeflac: Lossless compression, good quality/size balance
Error Handling
400 Bad Request - Invalid Parameters
400 Bad Request - Invalid Parameters
Causes: - Invalid audio duration (outside 1-600 seconds) - Invalid format specified - Missing required parameters
Solutions: - Check parameter ranges and formats - Ensure required fields are provided - Validate lyrics format
413 Payload Too Large
413 Payload Too Large
Causes: - Audio file for audio2audio exceeds size limits - Very large reference files
Solutions: - Compress reference audio files - Use supported formats (MP3, WAV, M4A) - Ensure files are under 100MB
422 Processing Error - Generation Failed
422 Processing Error - Generation Failed
Causes: - Prompt too vague or conflicting - Invalid reference audio - Generation timeout
Solutions: - Write clearer, more specific prompts - Use high-quality reference audio - Try shorter durations - Retry with different parameters
402 Payment Required - Insufficient Credits
402 Payment Required - Insufficient Credits
Causes: - Not enough credits for the requested duration - Account credit balance too low
Solutions: - Purchase additional credits - Check credit requirements before generation - Use shorter durations for testing
Pricing
Music generation pricing based on actual credit costs:| Service | Cost | Description |
|---|---|---|
| Text-to-Music | 1320 credits/minute | Complete songs with lyrics |
| Instrumental | 1320 credits/minute | Instrumental tracks |
| Text-to-Rap | 1320 credits/minute | Rap music with beats |
| Text-to-Samples | 176 credits/8 seconds | Audio loops and samples (1320/60*8) |
| Audio-to-Audio | 1320 credits/minute | Audio transformation |
Cost Examples
| Duration | Service | Credits | USD Cost |
|---|---|---|---|
| 2 minutes | Text-to-Music | 2640 | $0.35 |
| 1 minute | Instrumental | 1320 | $0.18 |
| 8 seconds | Sample Loop | 176 | $0.02 |
| 90 seconds | Audio-to-Audio | 1980 | $0.26 |
Cost Optimization Tips
- Start with shorter durations for testing and iteration
- Use instrumental mode for background music (lower cost)
- Generate samples first then extend successful ones
- Batch similar requests to optimize workflows
Best Practices
Effective Prompt Writing
✅ Good Prompts:- “Upbeat indie rock with jangly guitars, 120 BPM, perfect for summer commercial”
- “Mystical ambient music for fantasy game, ethereal pads and flute melody”
- “Hard-hitting trap beat with heavy 808s and crisp hi-hats”
- “Make good music” (too vague)
- “Classical electronic jazz fusion” (conflicting styles)
- Extremely long prompts with too many requirements
