Browse ModelsSoniloSonilo Text To Music

Sonilo Text To Music

Sonilo Text To Music

Playground

Try it on WavespeedAI!

Sonilo Text-to-Music is a fast AI music generation model that creates full music tracks from text prompts with manual duration control. Ready-to-use REST inference API for AI music generation, background music, creator content, video soundtracks, advertising audio, social media content, and professional text-to-music workflows with simple integration, no coldstarts, and affordable pricing.

Features

Sonilo Text-to-Music

Sonilo Text-to-Music generates music directly from a natural-language prompt, with controllable output duration up to 360 seconds. It is designed for background music creation, soundtrack ideation, content scoring, and other prompt-driven music generation workflows.


Why Choose This?

  • Prompt-based music generation Create music from a text description of style, mood, instrumentation, and arrangement.

  • Flexible duration control Choose the target music length from short clips to longer pieces up to 360 seconds.

  • Simple workflow Provide a prompt, choose a duration, and generate music with minimal setup.

  • Useful for many creative workflows Suitable for videos, ads, games, social content, trailers, and prototype soundtracks.

  • Production-ready API Easy to integrate into music generation tools, creator workflows, and media pipelines.


Parameters

ParameterRequiredDescription
promptYesText prompt describing the music style, mood, instruments, and arrangement.
durationYesTarget music duration in seconds. Range: 1–360. Default: 30.

How to Use

  1. Write your prompt — describe the genre, mood, instrumentation, pacing, and production feel you want.
  2. Set duration — choose how many seconds of music to generate.
  3. Submit — run the model and download the generated music.

Example Prompt

Cinematic emotional orchestral music with soft piano, warm strings, slow build, inspiring trailer mood, modern polished production


Pricing

Pricing is based on the selected duration.

DurationCost
1s$0.0025
10s$0.025
30s$0.075
60s$0.15
120s$0.30
300s$0.75
360s$0.90

Billing Rules

  • Pricing is $0.0025 per second
  • Billing is based on the selected duration
  • Maximum billed duration is 360 seconds
  • prompt does not affect pricing

Best Use Cases

  • Background music generation — Create music beds for videos, podcasts, and social content.
  • Trailer and ad concepts — Generate soundtrack ideas for marketing or promo edits.
  • Game and app audio — Produce music for interactive or ambient playback.
  • Music prototyping — Explore multiple soundtrack directions quickly from prompts.
  • Content production — Create original music for creator and brand workflows.

Pro Tips

  • Be specific in your prompt about genre, mood, instrumentation, and pacing.
  • Mention arrangement cues like intro, build, drop, chorus, or ambient bed when needed.
  • Start with shorter durations to validate the musical direction before generating longer pieces.
  • Use concise prompts when you want tighter control, and broader prompts when you want more interpretive results.

Notes

  • Both prompt and duration are required.
  • duration supports values from 1 to 360 seconds.
  • Pricing depends only on the selected duration.
  • Longer generated music may be more suitable for trailers, background scoring, and extended content workflows.

  • Sonilo Video-to-Music — Generate music that matches an uploaded video.
  • Other prompt-based music generation workflows — Useful when you want alternate music-generation styles or model behavior.
  • Video sound design workflows — Useful when you need synchronized effects instead of generated music.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/sonilo/text-to-music" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "duration": 30
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-Text prompt describing the music style, mood, instruments, and arrangement.
durationintegerYes301 ~ 360Target music duration in seconds. Maximum 360 seconds.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.