20 curl commands you can copy-paste
Every example below is a complete, working curl command. Replace your_api_key with your RenderIO API key and the input URLs with your files. If you're new to the API, the REST API tutorial walks through the submit-poll-download flow step by step.
Each command submits an FFmpeg job. Poll with:
1. Convert MOV to MP4
2. Convert MP4 to WebM
3. Convert MKV to MP4
4. Resize to 720p
5. Resize to 1080p
6. Resize for TikTok (1080x1920)
7. Resize for Instagram Square (1080x1080)
Need more scaling options? The FFmpeg scale video guide covers percentage scaling, the iw/ih variables, letterbox padding, and a multi-output social media export example using the parallel API endpoint.
8. Trim video (first 30 seconds)
Need frame-accurate trimming or want to extract multiple clips? The FFmpeg trim video guide covers keyframe issues and batch trimming via API.
9. Trim video (from 1:00 to 2:00)
10. Extract audio as MP3
11. Extract audio as WAV
12. Generate thumbnail at 5 seconds
Need more than a single thumbnail? The frame extraction guide covers keyframe extraction, scene detection, batch processing, and fps= vs select= performance.
13. Add watermark (bottom-right)
This does a basic fixed-position overlay. For responsive scaling (scale2ref), semi-transparent logos, text watermarks, and animated overlays, see the FFmpeg watermark guide.
14. Compress video (reduce file size)
CRF 28 with slow preset gives good compression with acceptable quality.
15. Remove audio from video
This removes all audio streams. If you need to replace audio with a new track, or silence only a specific time range, see the FFmpeg remove audio guide for commands covering all three scenarios.
16. Create GIF from video
This creates a basic GIF. For palette-optimized GIFs with better color accuracy and smaller files, see the MP4 to GIF guide.
17. Speed up video (2x)
18. Slow down video (0.5x)
19. Rotate video 90 degrees
transpose=1 rotates 90 degrees clockwise. Use transpose=2 for counter-clockwise.
20. Strip all metadata
Tips for working with curl
Check the response status code. A 200 means the job was submitted. A 400 means your FFmpeg command has a syntax error. A 401 means your API key is wrong or missing.
Pipe output to jq for readability:
Download the result directly:
For language-specific integration, see the Python guide or Node.js guide. The FFmpeg cheat sheet has all 50 commands with explanations of what each flag does.
FAQ
Can I use these commands in a shell script?
Yes. Wrap the submit call, add a polling loop with sleep 2, and check the status with jq. Here's a minimal example:
Do I need to URL-encode the FFmpeg command?
No. The command is sent as a JSON string in the request body, not as a URL parameter.
Can I merge or concatenate videos via the API?
Yes. Use the concat filter with multiple {input} placeholders to merge videos via the API. The merge guide has curl, Node.js, and Python examples for concatenating clips in the cloud.
Can I submit multiple jobs at once?
Yes. Fire multiple curl commands in the background (&) or use xargs for batch processing. Each job runs in its own isolated container.
What if my input file requires authentication?
Use a pre-signed URL from your storage provider (S3, R2, GCS). The API fetches the file from that URL — it doesn't support Authorization headers on input file downloads.
The Starter plan at $9/mo includes 500 commands. Get your API key to start processing.