POST /v2/generate
Generate music using AI. Supports both inspiration mode (text description) and custom mode (lyrics, style, title).
Tips
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.
Request Headers
| Name | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer token for authentication |
| Content-Type | Yes | application/json |
Bearer token for authentication
application/json
Request Body
Request body supports two modes: Inspiration Mode or Custom Mode
Inspiration Mode
Generate music from a text description
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| gpt_description_prompt | string | Yes | Text description of the music you want to generate. Max length: 3000 characters (longer input is truncated). Optional when image_urls is provided. | A upbeat pop song about summer vacation with catchy melody |
Custom Mode
Generate music with custom lyrics, style, and title
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| prompt | string | Yes | Custom lyrics or detailed prompt. Max length: 5000 characters for every model (longer input is truncated). | Verse 1: Walking down the street, feeling so free... |
| style | string | No | Musical style/genre. Max length: 1000 characters for every model (longer input is truncated). | pop, upbeat, electronic, 120 bpm |
| title | string | No | Song title. Max length: 80 characters (longer input is truncated). | Summer Dreams |
| tags | string | No | Negative tags to avoid in generation | sad, slow |
| duration | number | No | Target 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. | 20 |
Common Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| model | string | No | Model 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. | chirp-v6 |
| image_urls | string[] | No | Image 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. | ["https://cdn.example.com/sunset-beach.jpg"] |
| make_instrumental | boolean | No | Generate instrumental music without vocals | false |
| gender | string | No | Vocal gender preference. Use 'male' or 'female' | female |
| style_weight | number | No | Strength of adherence to style. Range 0–1, up to 2 decimals | 0.65 |
| weirdness_constraint | number | No | Controls creative deviation. Range 0–1, up to 2 decimals | 0.65 |
| audio_weight | number | No | Balance weight for audio features. Range 0–1, up to 2 decimals | 0.65 |
Responses
{
"code": 200,
"message": "success",
"workId": "gen2abc123def456bksv",
"data": {
"task_id": "gen2abc123def456bksv"
}
}Code Examples
curl -X POST "https://aimusicapi.org/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
}'