# Rendi - FFmpeg API > Rendi - FFmpeg API - Documentation - [Introduction](https://rendi.dev/docs/introduction.md): Fast, scalable, reliable FFmpeg as a Service. No installation, just run FFmpeg online on Rendi's cloud infrastructure. - [Quickstart](https://rendi.dev/docs/quick-start.md): Get a Rendi API key and run your first FFmpeg command in under 2 minutes. - [Coding agents](https://rendi.dev/docs/coding-agents.md): Wire Rendi's docs MCP server into Claude Code, Cursor, VS Code Copilot, Codex, Grok, or Gemini CLI so your coding agent can search and read Rendi docs natively while writing code. - [Webhooks](https://rendi.dev/docs/webhooks.md): Get notified when a Rendi FFmpeg command completes. - [Playlist Outputs](https://rendi.dev/docs/playlist-outputs.md): Generate HLS or DASH playlist outputs from FFmpeg in Rendi — segmented streaming-ready files. - [Dynamic Files](https://rendi.dev/docs/dynamic-files.md): Flexible handling of compressed folders, sequence patterns, and multi-output commands. - [Silence Detection and Removal](https://rendi.dev/docs/silence-detection-removal.md): Detect and remove silences from audio and video files using FFmpeg in Rendi - [Direct File Upload](https://rendi.dev/docs/direct-upload.md): Upload local files directly to Rendi storage using multipart upload. - [Private Files & Presigned URLs](https://rendi.dev/docs/private-files.md): Store files privately and download them via time-limited presigned URLs. - [Overview](https://rendi.dev/docs/examples.md): Common FFmpeg tasks with Rendi — thumbnails, trimming, merging, extracting audio, subtitles. - [Generate a thumbnail from a video](https://rendi.dev/docs/examples/generate-thumbnail.md): Capture a single frame at a specific timestamp and save it as JPG or PNG using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Generate multiple thumbnails from a video](https://rendi.dev/docs/examples/generate-multiple-thumbnails.md): Extract several frames at different timestamps in one FFmpeg call using Rendi. Node.js, Python, and cURL examples. - [Build a video from images and audio (slideshow)](https://rendi.dev/docs/examples/slideshow-from-images-and-audio.md): Combine images and an audio track into a video using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Generate a thumbnail and a GIF in one chained request](https://rendi.dev/docs/examples/thumbnail-and-gif-chained.md): Produce a thumbnail JPG and a preview GIF from the same video in a single chained request using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Transcode a video (change format)](https://rendi.dev/docs/examples/transcode.md): Convert a video between container formats (MP4, MOV, AVI, WebM) and codecs using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Compress a video](https://rendi.dev/docs/examples/compress-video.md): Reduce video file size with H.264 encoding, a higher CRF value, and a lower audio bitrate using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Resize a video](https://rendi.dev/docs/examples/resize-video.md): Scale a video to a target resolution with letterbox padding to preserve aspect ratio using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Trim a clip from a video](https://rendi.dev/docs/examples/trim-clip.md): Cut a segment between two timestamps using stream copy for fast trimming with Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Merge (concatenate) videos](https://rendi.dev/docs/examples/merge-videos.md): Concatenate two or more video clips into a single output using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Trim a video into multiple resolutions in one call](https://rendi.dev/docs/examples/multi-resolution-trim.md): Trim a video to a time range and simultaneously produce multiple resolutions in one FFmpeg call using Rendi. Node.js, Python, and cURL examples. - [Extract audio from a video](https://rendi.dev/docs/examples/extract-audio.md): Extract the audio track from MP4/MOV/AVI to MP3, WAV, or AAC using Rendi's FFmpeg API. Node.js, Python, and curl examples. - [Burn SRT subtitles into a video](https://rendi.dev/docs/examples/burn-in-srt-subtitles.md): Render an SRT subtitle file permanently onto a video using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Overlay a watermark on a video](https://rendi.dev/docs/examples/overlay-watermark.md): Overlay a logo or image watermark onto a video at a fixed position using Rendi's FFmpeg API. Node.js, Python, and cURL examples. - [Make Integration](https://rendi.dev/docs/make-com.md): Run FFmpeg commands in Make.com workflows using Rendi — no code, native Make module. - [n8n Integration](https://rendi.dev/docs/n8n.md): Run FFmpeg commands in n8n workflows using Rendi — native node, no installation. - [Zapier Integration](https://rendi.dev/docs/zapier.md): Automate FFmpeg video processing in Zapier workflows using Rendi — no-code integration. - [API Reference](https://rendi.dev/docs/api-reference/introduction.md): Rendi FFmpeg API reference — authentication, endpoints, request/response formats. - [Run FFmpeg Command](https://rendi.dev/docs/api-reference/endpoint/run-ffmpeg-command.md): Submit an FFmpeg command for processing with input and output file specifications. - [Run Chained FFmpeg Commands](https://rendi.dev/docs/api-reference/endpoint/run-chained-ffmpeg-commands.md): Submit multiple FFmpeg commands where following commands can depend on output of previous commands. Running chained FFmpeg commands is faster than running each command separately because we re-use system and network resources between the multiple ffmpeg commands. Processing quota is… - [Poll FFmpeg Command](https://rendi.dev/docs/api-reference/endpoint/poll-command.md): Get the status of a previously submitted FFmpeg command. Works for regular commands and chained commands. - [List FFmpeg Commands](https://rendi.dev/docs/api-reference/endpoint/list-commands.md): Get the statuses of a previously submitted FFmpeg commands, ordered by creation time - descending. - [Get File](https://rendi.dev/docs/api-reference/endpoint/get-file.md): Get a stored file and its FFprobe metadata by its ID. Can return a command output file or a stored file. File can be deleted, in which case will still return its properties, but storage_url will be null. Will not return input files. - [List Stored Files](https://rendi.dev/docs/api-reference/endpoint/list-files.md): Get the list of all stored files for an account, ordered by creation time - descending. Can return command output files or stored files. Will not return deleted files or input files. - [FFprobe and store a file](https://rendi.dev/docs/api-reference/endpoint/store-file.md): Submit a file to be analyzed with FFprobe and stored in Rendi's storage. You can use this endpoint both to get metadata about a file and to store it. If you delete the file, you will still have access to its metadata. Get the file's storage url and metadata using the GET /files/{file_id} endpoint. I… - [Initiate a Multipart Upload](https://rendi.dev/docs/api-reference/endpoint/init-upload.md): Start uploading a local file directly to Rendi's storage. Returns a per-part list of presigned PUT URLs that you upload chunks to. See the [direct upload guide](https://docs.rendi.dev/direct-upload) for the full flow and code samples. - [Complete a Multipart Upload](https://rendi.dev/docs/api-reference/endpoint/complete-upload.md): Finalize a direct upload started via `POST /v1/files/init-upload`. The file then goes through FFprobe for media metadata; `status` changes as `UPLOADED` and becomes `STORED` when analysis completes. See the [direct upload guide](https://docs.rendi.dev/direct-upload) for the full flow. - [Abort a Multipart Upload](https://rendi.dev/docs/api-reference/endpoint/abort-upload.md): Cancel a direct upload started via `POST /v1/files/init-upload`. Discards any parts already uploaded to storage and marks the file as failed. See the [direct upload guide](https://docs.rendi.dev/direct-upload) for the full flow. - [Delete Command Files](https://rendi.dev/docs/api-reference/endpoint/delete-command-files.md): Delete all stored output files associated with a command - [Delete File](https://rendi.dev/docs/api-reference/endpoint/delete-file.md): Delete a stored file in Rendi - [Delete Files in Bulk](https://rendi.dev/docs/api-reference/endpoint/delete-files.md): Delete multiple stored files in a single request ## OpenAPI Specs - [openapi](/docs/api-reference/openapi.json) ## Optional - [GitHub](https://github.com/rendi-api/ffmpeg-cheatsheet) - [System Status](https://status.rendi.dev) - [YouTube](https://youtube.com/playlist?list=PLJafqrbyIUfzM4MM6wKeN4qkwCviI3IHw&si=VqyZiQMBqJrbrngc)