# ElevenLabs Music > ElevenLabs Music via Replicate. Composes a song from a text prompt with a target length of 5 seconds to 5 minutes, optional vocals, and MP3 / WAV output formats. Billed per second of requested length. - **Provider**: replicate - **Model ID**: elevenlabs/music - **Category**: music_generation - **Credits**: from 190 for the default configuration — varies by input, see Pricing - **Pricing Type**: formula ## API Endpoint Base URL: https://api.core.today/v1 ### Create Prediction POST /predictions ### Get Status GET /predictions/{job_id} ### Cancel DELETE /predictions/{job_id} ## Authentication Header: `X-API-Key: YOUR_API_KEY` ## Input Parameters - `prompt` (string, **required**): Description of the music you want to generate (genre, mood, instruments, tempo, vocals). - `music_length_ms` (integer, optional): Target duration in milliseconds (5,000-300,000). Billed per second of this value. (Default: `10000`; Range: min: 5,000, max: 300,000) - `force_instrumental` (boolean, optional): If true, removes vocal elements from the generated music. (Default: `true`) - `output_format` (string, optional): Audio output format: mp3_standard (128kbps), mp3_high_quality (192kbps), or WAV at 16/22/24/44.1 kHz. (Default: `mp3_standard`; Options: `mp3_standard`, `mp3_high_quality`, `wav_16khz`, `wav_22khz`, `wav_24khz`, `wav_cd_quality`) ## Example Request ```json { "model": "elevenlabs/music", "input": { "music_length_ms": 30000, "force_instrumental": false, "output_format": "mp3_standard", "prompt": "Upbeat electronic dance music with a driving bassline and bright synth leads" } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending", "provider": "replicate", "model": "elevenlabs/music", "created_at": "2026-01-01T00:00:00Z", "result": null, "error": null, "credits_used": null } ``` Status values: `pending`, `processing`, `completed`, `failed`, `cancelled` When the job is `completed`, `result` holds the output URL(s) or data and `credits_used` the net credits charged. When it is `failed`, `error` and `error_code` say why and the charge is refunded. ## Usage Flow 1. POST /predictions with model and input → receive job_id 2. Poll GET /predictions/{job_id} until status is `completed` or `failed` 3. Result contains output URL(s) or data ## Pricing - Formula: `rate * music_length_ms / 1000` credits - `music_length_ms`: the `music_length_ms` input (default 10,000) - `rate`: 19.2975 Default configuration: 190 credits. These are list prices. The amount charged is rounded, and large charges are discounted progressively. `POST /predictions/estimate` with the same `model` and `input` returns the charge for that input without creating a job (an estimate when the price depends on the output). ## Output Type url ## Tags music-generation, text-to-music, vocals, elevenlabs ## Documentation https://replicate.com/elevenlabs/music