Rendi’s integration with n8n enables seamless automation of video processing workflows by combining Rendi’s FFmpeg capabilities with n8n’s powerful workflow automation platform.
Tutorial - Running FFmpeg Commands in n8n using Rendi
The tutorial below demonstrates how to create an n8n workflow that reads video URLs from Google Sheets, processes them with FFmpeg commands via Rendi, and stores the output back in the spreadsheet.
Your input video files must be accessible via public URLs or signed S3 URLs. Rendi downloads files from these URLs for processing. For testing, ensure URLs are accessible in an incognito browser.
n8n uses curly brackets {{}} for variable interpolation. When using these brackets in Rendi FFmpeg commands, you need to escape them with double backslashes, like this: \\{\\{input_0\\}\\}.The double escaping ensures both the JSON parser and n8n’s expression engine treat the brackets as literal characters.
Use an HTTP Request node configured as GET to Rendi’s poll command endpoint. Add a Wait node between the command submission and polling to allow sufficient processing time.
Configure a Webhook trigger node in n8n and register that URL in the Rendi dashboard. Rendi will POST the processing results directly to your workflow upon completion. See our webhooks documentation for details.
To delete temporary files from Rendi storage, use an HTTP Request node configured as DELETE to the delete file endpoint. Include the file ID and your API key in the request headers. A successful deletion returns HTTP status 204 with an empty response body. Set the response format to text in n8n to prevent parse errors.
How do I run FFmpeg in n8n without installing FFmpeg locally?
Use Rendi’s FFmpeg API by sending an HTTP POST to the run FFmpeg command endpoint from n8n with your input URL, desired output filename, and the FFmpeg command string. Rendi executes FFmpeg on the server side, eliminating the need for local installation.
The input URL must be publicly accessible for Rendi to download it (accessible in an incognito browser). Alternatively, use an S3 signed URL or any link that temporarily allows anonymous downloads.
Why are there curly braces in the FFmpeg command and how do I handle them?
Rendi uses placeholders like {{input_0}} and {{output_0}} to map files. Since n8n also treats curly braces as variable indicators, you must escape them inside JSON (with double backslashes) so the placeholders are sent literally to Rendi.
Use polling for simple, low-frequency jobs or when webhooks are not an option. For immediate responses and scalable workflows, register an n8n webhook in Rendi’s dashboard and listen for completion events.
Call the delete file endpoint with the file ID returned by the poll or webhook response. Send your API key in the request headers. A successful deletion returns HTTP 204 with an empty body.