Sada Files

Developer docs

  1. Developers
  2. Tool endpoints

Images to Video API

Turn photos into a slideshow video with transitions, Ken Burns motion, captions and a music track.

Environment

EnvironmentBase URL
Productionhttps://api.sadafiles.com/v1

There is one environment and no sandbox, so every request here is real and counts toward your limits.

Request

POSThttps://api.sadafiles.com/v1/tools/images-to-video
Content type
multipart/form-data
Auth
X-API-Key with tools:run
Accepts
jpg, png, webp, avif, gif, bmp, tiff, heic and 1 more
Files per request
2 to 200
Largest file
2 GB
Job timeout
600 s
Rate weight
2 units

Parameters

Send these as a JSON string in the options form field. Anything else is rejected.

NameTypeDefaultAllowed
slideSecondsnumber3min 1, max 10, s
transitionstringfadenone, fade, slide-left, zoom, wipe
kenBurnsSlow pan and zoom on each still.booleantrue—
aspectPortrait 4:5 and 9:16 suit Instagram and Reels; 16:9 suits YouTube and slides.string16:916:9, 9:16, 1:1, 4:5
fitstringblur-padcover, contain, blur-pad
resolutionstring1080p720p, 1080p
fpsinteger3024, 30
captionsOne line per photo, in order; leave a line blank for no caption.string——
audioOptional MP3, WAV or M4A; trimmed or looped to the video length.string——
formatstringmp4mp4, webm

Response

StatusBodyWhen
201mp4, webmThe run finished within 60 seconds
202Job summary JSONStill running; poll the job
4xx, 5xxError JSONSee error codes

A file response carries X-Sada-Job and X-Sada-Expires-At. For long work, post to /v1/tools/images-to-video/jobs instead. See jobs and webhooks.

Try it yourself!

Pick a file, set the options and run a real request with your key. The code follows your changes.

Headers

You need a free key to run this request. Sign in and create a key.

Body

curl -X POST "https://api.sadafiles.com/v1/tools/images-to-video" \  -H "X-API-Key: $SADAFILES_API_KEY" \  -F "files[]=@input.jpg" \  -o output.mp4

What's next?