Skip to main content
Music and sound-effect generation is asynchronous. Choose a model, request a price quote, queue the generation, then poll until Venice returns the finished audio file.

Choose a model

Browse Music & Sound Effects Models for current model IDs, pricing, duration limits, and supported features. You can also discover model capabilities at runtime:
Check each model’s metadata before setting optional fields such as duration_seconds, lyrics_prompt, force_instrumental, or loop. Unsupported fields cause an HTTP 400 response.

Generation flow

1. Get a price quote

Quote the request before generating media. Include the same model and duration you plan to send to the queue endpoint.
The response contains the estimated cost in USD:

2. Queue the generation

A successful request returns the model and a queue ID:
Save both model and queue_id; the retrieve and complete endpoints require them.

3. Poll and download

Call /audio/retrieve with the values from the queue response:
Inspect the response Content-Type: A processing response looks like this:
Both timing values are milliseconds.

Complete example

This Python example queues instrumental music, polls every five seconds, and saves the result with an extension based on its content type.
The quote endpoint does not require authentication, but queue, retrieve, and complete requests do.

Prompting tips

  • For music, describe genre, instruments, mood, tempo, structure, and whether vocals are desired.
  • For sound effects, describe the source, environment, intensity, timing, and perspective.
  • Use lyrics_prompt only when the selected model supports lyrics.
  • Use force_instrumental or loop only when the model metadata reports support.