No API key. No account. No sign-up. Post a file, and the response body is the finished file. No job id, nothing to poll.
Last updated: 1 September 2026
There is no API for converting images, and that is deliberate. HEIC to JPG, WEBP to JPG and the rest run entirely inside your own browser, so the picture never reaches a server at all. There is nothing to call and nothing we could expose without making it worse for you.
What this API does cover is the work that genuinely needs a machine: video, audio, e-books, camera RAW and vector tracing.
# a video into a GIF
$ curl -s -o out.gif -F "[email protected]" \
https://convert.shinobitools.com/api/gif
# the soundtrack out of a video
$ curl -s -o out.mp3 -F "[email protected]" -F "formaat=mp3" \
https://convert.shinobitools.com/api/audio
# a logo traced into an SVG
$ curl -s -o logo.svg -F "[email protected]" \
https://convert.shinobitools.com/api/vectorize
All take multipart/form-data with a file field, and all return the finished file directly.
| Endpoint | Options | You get back |
|---|---|---|
POST /api/gif | fps (12), breedte (480), start_s, duur_s | image/gif |
POST /api/audio | formaat (mp3) | the audio track |
POST /api/mute | none | the video without sound |
POST /api/volume | db (6.0) | the video, louder or quieter |
POST /api/rotate | graden (90) | the rotated video |
POST /api/video | doel_mb (25.0) | the video shrunk towards that size |
POST /api/convert-video | formaat (mp4) | the video in another container |
POST /api/merge | files, repeated per video | one joined video |
POST /api/vectorize | modus (color) | image/svg+xml |
POST /api/ebook | doelformaat (MOBI) | the converted e-book |
POST /api/raw | formaat (JPEG) | a camera RAW developed into a normal photo |
/api/raw is only for camera RAW files such as CR2, NEF and ARW. Send it an ordinary JPG and it will tell you so, because that conversion belongs in your browser.
| Maximum video | 400 MB |
|---|---|
| Maximum camera RAW | 200 MB |
| Requests per day | No cap |
| Queue | None. Your call is processed when it arrives. |
Errors come back as JSON with a detail key, so check the status before writing the body to a file.
| Status | Meaning |
|---|---|
400 | The file is not what this endpoint needs, for example an image sent to a video endpoint. |
413 | Over the size limit for that endpoint. |
422 | A required field is missing. |
$ curl -s -F "[email protected]" https://convert.shinobitools.com/api/gif
{"detail":"That file has no playable video track."}
Build on it, including in something you charge for. If your project lists what it uses, a link back to convert.shinobitools.com is what keeps this free and unmetered. Planning real volume? Say hello on the contact page first.
Because those conversions happen in your browser and the file never leaves your machine. Putting them on a server would be a downgrade, not a feature.
No. No key, no account, no sign-up.
Yes. The response body is the finished file. No job id, no polling.
You can, but tracing works best on flat artwork such as logos and icons. A photograph turns into thousands of paths and rarely looks good.
Terms are on the terms page, and what happens to your files is on the privacy page.