Sada Files

Developer docs

  1. Developers
  2. Tool endpoints

Photos to 360° Spin Video API

8–24 photos shot around a product become a smooth looping 360° spin video or GIF.

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/photos-to-spin
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
8 to 24
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
fpsinteger2412, 24, 30
loopsinteger2min 1, max 4
directionstringclockwiseclockwise, counter-clockwise, ping-pong
smoothInterpolates in-between frames so 12 photos look like 48.booleantrue—
stabilizeAligns the product centre across frames.booleantrue—
aspectPortrait 4:5 and 9:16 suit Instagram and Reels; 16:9 suits YouTube and slides.string1:11:1, 4:5, 16:9
backgroundstringoriginaloriginal, white, light-grey
formatstringmp4mp4, webm, gif

Response

StatusBodyWhen
201mp4, webm, gifThe 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/photos-to-spin/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/photos-to-spin" \  -H "X-API-Key: $SADAFILES_API_KEY" \  -F "files[]=@input.jpg" \  -o output.mp4

What's next?