API reference · Sonilo
sonilo/1.1/video-to-video-music
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
sonilo/1.1/video-to-video-music01
Input Schema
7 parameters · 1 required · 6 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Required | Optional text prompt steering the musical style. If omitted, a prompt is generated automatically from the video. |
video | string | Optional | Public http(s) URL of the source video to score. |
duration | integer | Optional | Optional. Length (seconds) of the video segment to score. When set, scores a segment of this length starting at Start Offset (or from the beginning if Start Offset is unset). Defaults (None) to the rest of the video. · Min: 1 · Max: 600 |
num_samples | integer | Optional | How many distinct scored videos to generate. · Min: 1 · Max: 3 · Default: 1 |
start_offset | number | Optional | Optional. Start scoring from this offset (seconds) into the video. Requires Start Offset + Duration <= Video Duration. · Min: 0 · Max: 600 |
prompt_influence | number | Optional | Turn it up to match the text prompt · Min: 0 · Max: 1 · Default: 0.5 |
keep_speech_vocal | boolean | Optional | Keep the original video's speech/vocals. When on, the source audio is separated (music source separation), and only the isolated vocals are blended over the generated music with automatic ducking (the music dips under speech). When off (default), the original soundtrack is dropped and the video carries only the generated music. · Default: false |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
03
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "sonilo/1.1/video-to-video-music",
"video": "https://v3b.fal.media/files/b/0a9ddd00/2QssaYyFxstvVlmIraSns_Sonilo_Demo_Original_1.mp4",
"num_samples": 1,
"prompt_influence": 0.5,
"keep_speech_vocal": false,
"prompt": "a beautiful sunset over mountains"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"
