Seedream 5.0 Pro уже здесь | Попробуйте в Генераторе изображений →
Войти

Music | Realistic Voice & TTS

elevenlabs/

ElevenLabs Music generates original songs from text descriptions. Create instrumentals or full compositions with customizable duration. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

text-to-audio
Ввод

Ожидание

$0.083за запуск·~12 / $1

ПримерыСмотреть всё

Hard Trap, Hip Hop, 808 bass, energetic flow, confident male rap vocals, brass stabs, hype music, motivational sports anthem. [Verse] Laced up tight, ready to go Putting on a major show Sweat and tears on the floor Coming back to get some more [Chorus] Eyes on the prize, reach for the net The greatest game you ever met I take the shot, I make the play Doing this every single day [Outro] Nothing but net. Yeah, we winning.

High-energy cyberpunk synthwave, driving analog bassline, retro futuristic synthesizers, punchy electronic drums, neon noir atmosphere, 120 BPM, mechanical textures.

Modern deep house fashion runway music, stylish and elegant, groovy bass, rhythmic hi-hats, vocal chops, luxury brand advertisement vibe, confident and cool.

Steampunk ambient atmosphere, ticking clock sounds, mechanical gears clicking, steam hissing, soft acoustic guitar in the background, mysterious and studious.

Похожие модели

README

ElevenLabs Music

ElevenLabs Music is an AI music generation model that creates songs with vocals or instrumental tracks from text prompts. Describe the genre, mood, and style, include lyrics with structure markers, and the model generates professional-quality music with flexible output formats.

Why Choose This?

  • Songs with vocals or instrumental Generate complete songs with AI vocals, or switch to instrumental-only mode.

  • Flexible song length Control output duration precisely with millisecond-level adjustment.

  • Multiple output formats Export as MP3 (standard/high quality) or WAV at various sample rates.

  • Style and lyrics in one prompt Combine style tags and structured lyrics in a single prompt field.

  • Prompt Enhancer Built-in tool to automatically improve your music descriptions.

Parameters

ParameterRequiredDescription
promptYesStyle description and lyrics with structure markers
music_length_msNoOutput duration in milliseconds (default: 40000)
force_instrumentalNoGenerate instrumental only without vocals (default: disabled)
output_formatNoOutput format (see options below, default: mp3_standard)

Output Format Options

FormatDescription
mp3_standardStandard quality MP3
mp3_high_qualityHigh quality MP3
wav_16khzWAV at 16kHz sample rate
wav_22khzWAV at 22kHz sample rate
wav_24khzWAV at 24kHz sample rate
wav_cd_qualityWAV at CD quality (44.1kHz)

Prompt Format

Combine style tags and lyrics in the prompt field. Start with genre, mood, and instrument descriptions, then add structured lyrics:

Example:

Hard Trap, Hip Hop, 808 bass, energetic flow, confident male rap vocals, brass stabs, hype music, motivational sports anthem. [Verse] Laced up tight, ready to go Putting on a major show Sweat and tears on the floor Coming back to get some more [Chorus] We don't stop, we don't quit Every rep, every hit

How to Use

  1. Write your prompt — describe the musical style and include lyrics with structure markers.
  2. Set duration — adjust music_length_ms for desired song length.
  3. Enable instrumental (optional) — check to generate music without vocals.
  4. Choose output format — select MP3 or WAV at your preferred quality.
  5. Run — submit and download your generated music.

Pricing

DurationCost
Per second$0.0083

Examples

  • 40s song → $0.33
  • 120s song → $1.00
  • 300s (5 min) → $2.49

Best Use Cases

  • Original Music — Generate complete songs for creative projects.
  • Instrumental Tracks — Create background music for videos, podcasts, and games.
  • Rap & Hip Hop — Produce tracks with AI vocals and beat production.
  • Demo Production — Quickly prototype song ideas before studio recording.
  • Content Soundtracks — Custom music for social media and marketing.

Pro Tips

  • Use the Prompt Enhancer to refine your style descriptions.
  • Include specific genre, instrument, and mood tags at the start of your prompt.
  • Use [Verse], [Chorus], [Bridge] markers in lyrics for structured song arrangement.
  • Enable force_instrumental for background music or beat production.
  • Use wav_cd_quality for highest audio fidelity, mp3_standard for smaller file sizes.
  • Adjust music_length_ms to match your desired song duration precisely.

Notes

  • Only prompt is required; other parameters have defaults.
  • Duration is set in milliseconds (e.g., 40000 = 40 seconds, 120000 = 2 minutes).
  • force_instrumental overrides any lyrics in the prompt.
  • For best results, combine detailed style tags with well-structured lyrics.

Related Models

Примечание:Этот сайт использует модели ИИ, предоставляемые третьими лицами.

Music API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/elevenlabs/music with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Music below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "music_length_ms": 10000,
    "force_instrumental": true,
    "output_format": "mp3_standard"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/elevenlabs/music" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/elevenlabs/music";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "prompt": "A cinematic shot of a city at sunset, soft golden light",
        "music_length_ms": 10000,
        "force_instrumental": true,
        "output_format": "mp3_standard"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "music_length_ms": 10000,
    "force_instrumental": True,
    "output_format": "mp3_standard"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/elevenlabs/music", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Music API — Frequently asked questions

What is the Music API?

Music is a ElevenLabs model for audio generation, exposed as a REST API on WaveSpeedAI. ElevenLabs Music generates original songs from text descriptions. Create instrumentals or full compositions with customizable duration. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Music API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/elevenlabs/elevenlabs-music.

How much does Music cost per run?

Music starts at $0.083 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Music accept?

Key inputs: `prompt`, `force_instrumental`, `music_length_ms`, `output_format`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/elevenlabs/elevenlabs-music.

How long does Music take to generate?

Median end-to-end generation time on WaveSpeedAI is around 12 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Music outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (ElevenLabs). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Music | Realistic Voice & TTS API on WaveSpeedAI