Sonilo V1 Video To Sfx
Playground
Try it on WaveSpeedAI!Sonilo Video to SFX generates time-aligned sound effects for input videos, with optional prompts and segment controls for video sound design, ads, social content, games, and cinematic production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Sonilo Video-to-SFX generates sound effects for an input video. Upload a video, optionally describe the overall sound direction, choose the output audio format, and generate a synchronized sound-effect track for the source video.
Why Choose This?
-
Video-to-sound-effect generation
Generate sound effects based on the content, motion, and timing of an input video. -
Optional prompt guidance
Add an overall prompt to guide the sound style, environment, intensity, or realism. -
Automatic video-aware timing
The generated sound effect track follows the source video duration. -
Multiple audio formats
Export audio aswav,mp3,aac, orflac. -
Standard audio output
Generated audio is returned as a URL in the standard WaveSpeed prediction response.
Parameters
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Input video. Supports mp4, mov, webm, m4v, and gif. Maximum duration: 180 seconds. Maximum file size: 300 MB. |
| prompt | No | Optional overall sound-effect prompt. Maximum length: 2,000 characters. |
| audio_format | No | Output format: wav, mp3, aac, or flac. Default: aac. |
How to Use
- Upload your video — Provide the input video that needs sound effects.
- Add prompt guidance optional — Describe the desired sound style, environment, mood, or intensity.
- Choose audio format — Select
wav,mp3,aac, orflac. - Submit — Generate the sound-effect track and retrieve the output URL.
Pricing
| Unit | Price |
|---|---|
| Per second | $0.009 |
| Per minute | $0.54 |
Best Use Cases
- Video sound design — Generate sound effects that match the timing and action of a video.
- Social video production — Add sound effects to short-form videos, ads, reels, and creative clips.
- Game and animation previews — Create quick sound-effect tracks for animated scenes or gameplay-style clips.
- Ambient audio generation — Add environmental sound such as rain, traffic, crowds, machinery, or room tone.
- Creative prototyping — Quickly test sound directions before final audio production.
Pro Tips
- Use a clear video with visible action for better sound timing.
- Add a prompt when you want a specific sound style, environment, or intensity.
- Mention the overall mood, such as realistic, cinematic, playful, tense, soft, or dramatic.
- Use
aacfor general-purpose output,wavorflacfor higher-quality workflows, andmp3for broad compatibility. - Keep the video within 180 seconds for supported generation.
## Authentication
For authentication details, please refer to the [Authentication Guide](/api-authentication).
## API Endpoints
### Submit Task & Query Result
<ApiTabs submitUrl={model.submitUrl} resultUrl={model.resultUrl} payload={model.defaultValues} />
## Parameters
### Task Submission Parameters
#### Request Parameters
<RequestParams params={model.params} />
#### Response Parameters
<SubmitResponse />
#### Result Request Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| id | string | Yes | - | Task ID |
#### Result Response Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., "success") |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction |
| data.model | string | Model ID used for the prediction |
| data.outputs | array<string \| object> | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to poll for the prediction result |
| data.status | string | Status: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |