API reference · Sonilo

sonilo/1.1/video-to-video-music

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

VIDEOAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDsonilo/1.1/video-to-video-music
01

Input Schema

7 parameters · 1 required · 6 optional

ParameterTypeRequiredDescription
promptstringRequiredOptional text prompt steering the musical style. If omitted, a prompt is generated automatically from the video.
videostringOptionalPublic http(s) URL of the source video to score.
durationintegerOptionalOptional. 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_samplesintegerOptionalHow many distinct scored videos to generate. · Min: 1 · Max: 3 · Default: 1
start_offsetnumberOptionalOptional. Start scoring from this offset (seconds) into the video. Requires Start Offset + Duration <= Video Duration. · Min: 0 · Max: 600
prompt_influencenumberOptionalTurn it up to match the text prompt · Min: 0 · Max: 1 · Default: 0.5
keep_speech_vocalbooleanOptionalKeep 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

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from 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"