Changelog
Sonilo API changelog
What changed in the API, the JavaScript and Python SDKs, the CLI and the MCP server, newest first. Entries marked “Changes a default” alter what an existing call returns.
Last updated . Package release notes: JavaScript SDK and CLI, Python SDK, MCP server.
October 2026
- MCP
The hosted MCP server takes local files
The hosted server at
https://api.sonilo.com/mcphas a freecreate_upload_urltool. It returns a one timeupload_urland afile_url; upload the file with a PUT, then passfile_urlto any tool that takes a URL. Video, audio,.srtand.vttfiles are accepted, each account can create 30 upload URLs per hour, a URL works for 15 minutes, and uploads are deleted after 7 days. - MCP
The subtitle tool is now called
generate_video_subtitlesOn the hosted MCP server, the tool that transcribes a video and translates the transcript is listed as
generate_video_subtitles. Calls to the old nameproofreadstill work, but it no longer appears in the tool list.
September 2026
- MCP
MCP account details include the cash balance
get_account_serviceson the hosted MCP server now returnscash_balanceandcurrency, so an assistant can tell how much prepaid balance is left before it starts a paid task. - API
Generated music carries a provenance watermark
Music from
/v1/text-to-music,/v1/video-to-musicand/v1/video-to-video-musiccarries an inaudible provenance watermark. AAC output is now encoded at 256 kbps. - APISDKCLIMCP
The dubbing free trial is a 15 second preview
An account’s first single language
POST /v1/dubbingcall without subtitle scripts translates the first 15 seconds of the video at no charge. The task carriestrial_previewin every state, includingfull_video_cost_usd, what the whole video would cost. - APISDKCLIMCPChanges a default
Video analysis adds a sound design brief
POST /v1/video-analysistakesmode:both,musicorsfx. The default isboth, so the result now also carriessfx_segmentsandsfx_prompt; sendmode: "music"for the previous shape. Source videos can run up to 480 seconds. The price is unchanged. - API
Dubbing adds Hindi, Tamil, Malayalam, Kannada, Gujarati, Punjabi and Sindhi
New target codes:
hi,ta,ml,kn,gu,pa_inandsd_in. Punjabi and Sindhi carry the region because only the variant spoken in India is available. - APISDKCLIMCP
Proofread: editable subtitles before you dub
POST /v1/proofreadtranscribes a video and translates the transcript into one editable.srtper target language, plus the source language transcript. Correct the wording, then send the files toPOST /v1/dubbingassubtitles[<language>]so the dub speaks the approved lines. Billed per second of video for each target language. - Pricing
Dubbing costs $3.49 per minute per language
Down from $5.91 per minute. Dubbing still bills per second of video ($0.058167) for each target language.
- APISDKCLIMCP
durationis optional on text to music and text to sound effectsLeave
durationout and/v1/text-to-musicpicks a length that suits the prompt, or runs to the last segment’s start plus 30 seconds./v1/text-to-sfxdefaults to 8 seconds and now accepts fractional durations down to 0.5 seconds. Calls that pass a duration behave as before. - APISDKCLIMCP
Dubbing speaks your own subtitle scripts
Send
subtitles[<language>]with an.srtor.vttfile or URL holding the lines to speak in that language. Withexport_srt, the finished task returns each script retimed to the dubbed audio, andsubtitle_preflightreports any line the pipeline had to change. - APISDKCLIMCP
Dubbing can keep the original picture
lipsyncdefaults to on. Sendlipsync: falseto replace only the audio: the video comes back at its original resolution and frame rate, and the mouths keep moving to the original language. - API
Sound effect endpoints accept videos up to 8 minutes
/v1/video-to-sfx,/v1/video-to-video-sfx,/v1/video-to-soundand/v1/video-to-video-soundaccept source videos up to 480 seconds, up from 180.
August 2026
- API
Dubbing adds Arabic, Turkish, Vietnamese and Indonesian
New target codes:
ar,tr,viandid. - API
Dubbing adds Brazilian Portuguese, Latin American Spanish and Thai
New target codes:
pt_br,es_419andth.pt_brandes_419sit alongsideptandesrather than replacing them. - API
Dubbing accepts videos up to 5 minutes
POST /v1/dubbingaccepts source videos up to 300 seconds, up from 180. - APISDKCLIMCP
Stems for generated music
stems: trueon/v1/text-to-musicand/v1/video-to-musicalso splits each generated track intodrums,bass,vocalsandother, free of charge. It needsmode: "async"and usually adds 2 to 6 minutes. If separation fails, the task still succeeds and reportsstems_error. - APISDKCLIMCP
Video analysis: a written music brief for a video
POST /v1/video-analysisreturns a time aligned plan ofsegmentsplus onepromptper requested variation, ready to pass to a generation call. It generates no audio. - SDKCLI
Audio ducking in the SDKs and CLI
client.audioDuckingin JavaScript,client.audio_duckingin Python and thesonilo audio-duckingcommand wrapPOST /v1/audio-ducking, which ducks a music bed under a voice track. If the voice is a video, the result is the video with the new mix. - APICLIMCP
Sign in from the terminal with
sonilo loginsonilo loginsigns in through the browser and stores a credential every command picks up, so the API key no longer has to be exported.sonilo logoutrevokes that key through the newDELETE /v1/account/keys/self, which only ever revokes the key that calls it. The localsonilo-mcpserver reads the same credential. - APISDKCLIMCP
prompt_influenceon video to music/v1/video-to-musicand/v1/video-to-video-musictakeprompt_influencefrom 0 to 1 (default 0.5). Lower values let the video lead; higher values follow the prompt more closely. Free of charge. - APIChanges a default
duckingis off unless you ask for it/v1/video-to-music,/v1/video-to-sound,/v1/video-to-video-musicand/v1/video-to-video-soundnow treat an unsetduckingas off. Sendducking: trueto keep the old behaviour. On/v1/video-to-sound,ducking: trueis also what brings the source speech into the result. - API
429 responses say which limit you hit
A rate limited call now names the limit: requests per minute, or concurrent generations. Retry the first after a minute; for the second, wait until one of your running generations finishes.
- APISDKCLIMCPChanges a default
Video to video results return only the new audio by default
/v1/video-to-video-musicand/v1/video-to-video-soundno longer keep the source video’s own sound unless you sendkeep_original_sound: true. Without it the returned video carries the generated audio alone. - APISDKCLIMCP
MP3 output for music
output_formaton/v1/text-to-musicand/v1/video-to-musicacceptsmp3(320 kbps) alongsidem4aandwav, and/v1/video-to-soundtakesoutput_formatfor its combined track.
July 2026
- APISDKCLIMCP
Dubbing can duck the background under the new voice
duckingonPOST /v1/dubbingis off by default, which keeps the original music and effects at a constant level. Sendtrueto lower them under the dubbed voice. Free of charge. - APISDKCLIMCP
Several music variations in one request
variants_num(1 to 10, default 1) on/v1/text-to-music,/v1/video-to-music,/v1/video-to-video-music,/v1/video-to-soundand/v1/video-to-video-soundreturns that many distinct takes. Cost scales with the number of variants, and calls with more than one variant are never covered by the free trial. - SDKCLIMCP
Dubbing in the SDKs, CLI and MCP server
client.dubbingand thesonilo dubbingcommand wrapPOST /v1/dubbing, which dubs one video into several languages in a single async task. The result maps each language code to a dubbed.mp4. - APISDKCLIMCP
See the free trial before it runs out
GET /v1/account/servicesreturnstrialwithgranted,usedandremainingper service for self serve accounts. When the trial is spent on an account that has never been funded, generation returns 402 withcode: "trial_exhausted"instead ofinsufficient_balance. - SDKMCP
Music and sound effects in one call
The SDKs and MCP server cover
/v1/video-to-soundand/v1/video-to-video-sound, which return a music bed and synced sound effects for one clip as a combined track plus separatemusicandsfxstems. - MCP
Sonilo plugin for Claude Code
The plugin connects Claude Code to the hosted MCP server at
https://api.sonilo.com/mcpand signs in to a Sonilo Platform account over OAuth, so no API key is needed. Install it with/plugin marketplace add sonilo-ai/sonilo-claude-plugin.