PricingAPI keys
  • Overview
  • Quickstart
  • Authentication
  • Overview
  • Audio detach
  • Create new avatar
  • Avatar video previews
  • Generate avatar video
  • Face swap (Beta)
  • Music 1.0
  • Music Router
  • Reference ingest
  • Remix media
  • Timeline 1.0
  • Timeline audio
  • Timeline compose
  • Trending videos
  • Video analyses
  • Video captions
  • Video filter
  • Video frames
  • Video inspect
  • Video trim

Media tools

Music Router

Music generation through the Music Router — sume/music-auto picks the engine (Lyria 3.5 today); explicit Lyria ids pass through.

Music Router is the Sume model surface for music generation. It is in the same family as Image Router and Video Router. Send a prompt. If you omit model or set it to sume/music-auto, Sume selects the engine (Lyria 3.5 today). To pass through to one engine, pin an explicit catalog id from GET /v1/music-router/models.

The retirement of Music 1.0 (sume/music-1.0) is gradual. Its routes continue to work and keep job.model = sume/music-1.0. But every request now resolves through the Music Router. For new integrations, we recommend the router.

Primary invoke URL:

text
POST /v1/music-router/generate

Catalog:

text
GET /v1/music-router/models
GET /v1/music-router/models/{model_id}

The public model id is sume/music-router. The routable ids are sume/music-auto (default), lyria-3.5, lyria-3-pro, elevenlabs-music-2.5, minimax-music-2.6, lyria-2, stable-audio-2.5, ace-step, and cassetteai-music. sume/music-auto picks the engine (Lyria 3.5 today).

Request fields

The body is the same as for Music 1.0, plus an optional model:

FieldRequiredNotes
modelNoRoutable id from the catalog. If you omit it, the value is sume/music-auto. Unknown ids fail with 400 model_not_found and catalog_url.
promptYes1–5000 characters. Put exclusions in the positive prompt. Control the length in the prompt (“a 2-minute track”, [0:00-0:30] Intro: …).
image_urlNoOptional public HTTPS image, or null to clear. Only sume/music-auto, lyria-3.5 and lyria-3-pro take one.
duration_secondsNoThe track's length in whole seconds, only on models whose catalog row lists capabilities.duration_seconds (elevenlabs-music-2.5 10–300, stable-audio-2.5 5–190, ace-step 5–240, cassetteai-music 10–180; each defaults to 60). The other models set their length from the prompt.
negative_promptNoSume does not support a non-empty value. Omit the field or send "".
metadata, mode, webhook_url, wait_timeout_secondsNoSame as on Music 1.0.

Sume rejects duration, and duration_seconds on models that set their own length.

Create a Music Router job

bash
curl -X POST https://api.sume.com/v1/music-router/generate \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: music-router-001" \
  -d '{
    "model": "sume/music-auto",
    "prompt": "Warm lo-fi hip hop, 84 BPM, C minor. Dusty Rhodes chords, brushed boom-bap drums, a muted trumpet answer at 0:10. A 30-second track. Instrumental, no vocals."
  }'

job.model echoes the routable id that you requested (sume/music-auto stays sume/music-auto). job.request.routed_model names the catalog engine that ran (for example lyria-3.5), on both the router and the Music 1.0 routes.

Credits

Each Music Router model has its own price in credits. Most charge per track; elevenlabs-music-2.5 and cassetteai-music charge per started minute and ace-step per second, so their catalog row also lists credits_per_minute. GET /v1/music-router/models and the API rate card list the current credits.

Poll and fetch the result

bash
curl https://api.sume.com/v1/jobs/job_123/status \
  -H "Authorization: Bearer $SUME_API_KEY"

curl https://api.sume.com/v1/jobs/job_123/result \
  -H "Authorization: Bearer $SUME_API_KEY"

Read the audio artifact from result.artifacts[] where type is audio. When they are present, result.lyrics carries the model-reported lyrics or section map.

On this page

  • Request fields
  • Create a Music Router job
  • Credits
  • Poll and fetch the result