Sonilo Video to Video API

Returns your own video with a generated soundtrack, frame-synced effects, or both mixed in, keeping the original picture untouched.

SoniloVideo GenerationProprietary EndpointNew

About Sonilo Video to Video

Returns your own video with a generated soundtrack, frame-synced effects, or both mixed in, keeping the original picture untouched.

video generationvideo to videomusic generationsound effectscommercial ready

Sonilo Video to Video specs

Model ID
sonilo-video-to-video
Author
Sonilo
Category
Video Generation
Released
-
Input
TextVideo
Output
Video
Endpoints
POST/v1/videos/generations
Alternate model IDs
sonilo-v2vsonilo/sonilo-video-to-video

Sonilo Video to Video API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
Music only
per second
$0.018
Effects only
per second
$0.018
Music and effects
per second
$0.0288
Compare on the full pricing page

How to call the Sonilo Video to Video API

Sonilo Video to Video runs through POST /v1/videos/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.

cURL: submit the job
curl https://api.empiriolabs.ai/v1/videos/generations \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sonilo-video-to-video",
    "prompt": "Describe what you want Sonilo Video to Video to generate."
  }'
cURL: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
import requests

response = requests.post(
    "https://api.empiriolabs.ai/v1/videos/generations",
    headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    json={
        "model": "sonilo-video-to-video",
        "prompt": "Describe what you want Sonilo Video to Video to generate.",
    },
)
job = response.json()

# Generation runs as an async job. Poll until it completes.
import time
while True:
    status = requests.get(
        f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
        headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    ).json()
    if status.get("status") in ("completed", "failed"):
        print(status)
        break
    time.sleep(5)
Full Sonilo Video to Video API reference

Sonilo Video to Video API parameters

Request parameters supported by the Sonilo Video to Video API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
modeenummusicmusic, effects, music_and_effectsWhat to add to the returned video: a generated soundtrack, frame-synced sound effects, or both mixed together.
promptstring--Creative direction for the generated audio.
music_promptstring--Direction for the music bed.
sfx_promptstring--Direction for the sound effects.
keep_original_soundbooleanfalse-Keep the whole original audio track under the generated audio. Without this the source audio is removed.
preserve_speechbooleanfalse-Keep only the isolated speech from the source, rather than the whole original track.
duckingbooleanfalse-Dip the kept voice under the generated audio instead of holding a static mix.
variants_numnumber11 to 10How many differently scored videos to generate in one request. Each variant is billed separately.
prompt_influencenumber0.50 to 1How strongly the music follows the prompt rather than the footage. Lower lets the video lead.
segmentsstring--JSON array of timed segment prompts for scene by scene direction. Each entry takes start, end and prompt in seconds.
video_urlstring--Source video, as a publicly reachable URL. Up to 300MB and 8 minutes. Uploading a video in the playground sets this for you.

Good to know

Modes

  • music returns the video scored with a generated soundtrack
  • effects returns the video with frame-synced sound effects
  • music_and_effects returns the video with music and effects mixed together

Controls

Supports mode, source video, creative direction, separate music and effects prompts in sound mode, keeping the original audio, speech preservation, ducking, 1 to 10 variants in music mode, prompt influence, and JSON segment prompts.

Limits

  • Source video up to 300MB and 8 minutes
  • Accepts mp4, mov, m4v or webm carrying H.264, H.265, VP9 or AV1
  • The source picture is copied through without re-encoding, so the returned video keeps its original resolution and frame rate
  • By default the source audio is removed. Keep all of it with keep original sound, or keep only the speech with preserve speech

Billing

  • Charged per generated second at the catalog rate for the mode used, with a 10 second minimum for music and sound modes and a 3 second minimum for sfx mode
  • Each variant is billed separately
  • A request rejected before generation is not billed.

Sonilo Video to Video API: common questions

How much does the Sonilo Video to Video API cost?

On EmpirioLabs, Sonilo Video to Video is billed pay as you go: Music only $0.018 per second; Effects only $0.018 per second; Music and effects $0.0288 per second. The live rate card on this page always matches what the API charges.

Which endpoint does Sonilo Video to Video use?

Sonilo Video to Video is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Sonilo Video to Video in the browser before integrating?

Yes. The EmpirioLabs playground runs Sonilo Video to Video in the browser with the same parameters the API exposes, so you can test prompts before writing code.

How do I get a Sonilo Video to Video API key?

Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.

Ready to use better endpoints?

Check out our pricing or reach out if you want your own model deployed on our stack.