Compress Video API
Compress to a target size (e.g. WhatsApp 16 MB) or a quality level.
Environment
| Environment | Base URL |
|---|---|
| Production | https://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/compress-video
- Content type
- multipart/form-data
- Auth
- X-API-Key with tools:run
- Accepts
- mp4, webm, mov, mkv, avi
- Files per request
- 1
- Largest file
- 2 GB
- Job timeout
- 300 s
- Rate weight
- 2 units
- Web tool
- Use Compress Video without code
Parameters
Send these as a JSON string in the options form field. Anything else is rejected.
| Name | Type | Default | Allowed |
|---|---|---|---|
mode | string | quality | quality, targetSize |
crf | integer | 28 | min 18, max 40 |
targetMb | number | 16 | min 1, MB |
maxHeight | integer | 1080 | px |
Response
| Status | Body | When |
|---|---|---|
201 | mp4, webm | The run finished within 60 seconds |
202 | Job summary JSON | Still running; poll the job |
4xx, 5xx | Error JSON | See error codes |
A file response carries X-Sada-Job and X-Sada-Expires-At. For long work, post to /v1/tools/compress-video/jobs instead. See jobs and webhooks.
Ready settings
These settings power the matching pages on the site, and work the same in the API.
| Use | options |
|---|---|
| Compress Video for WhatsApp (16 MB) | {"mode":"targetSize","targetMb":16} |
Try it yourself!
Pick a file, set the options and run a real request with your key. The code follows your changes.

