Originally published at ffmpeg-micro.com
You've got a Notion database full of product names, launch dates, and promo copy. Every time you add or update a row, someone has to manually open a video editor, swap in the new text, export, and upload. That process takes 15 minutes if you're fast.
There's a better way. Connect Notion to Make.com, hit the FFmpeg Micro API on every row change, and get a rendered video back automatically.
Why Notion + Make + FFmpeg Micro
Notion works well as a lightweight CMS. Make.com watches for changes in that Notion database and fires off actions. FFmpeg Micro handles the actual video rendering via a simple REST API.
The full loop: Notion row updates, Make picks it up, Make calls FFmpeg Micro with the row data as a text overlay on a template video, and the rendered file URL comes back in the response.
The FFmpeg Micro API Request
The @text-overlay option burns text directly onto your template video:
{
"inputs": [
{"url": "{{1.properties.Template Video URL.url}}"}
],
"outputFormat": "mp4",
"options": [
{
"option": "@text-overlay",
"argument": {
"text": "{{1.properties.Title.title[0].plain_text}}",
"style": {
"fontSize": 48,
"charsPerLine": 20,
"lineSpacing": 12,
"x": "(w-text_w)/2",
"y": "(h-text_h)/2"
}
}
}
]
}
Test it outside of Make with curl:
curl -X POST https://api.ffmpeg-micro.com/v1/transcodes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputs": [{"url": "https://storage.example.com/template.mp4"}],
"outputFormat": "mp4",
"options": [{"option": "@text-overlay", "argument": {"text": "Product Launch: Acme Widget", "style": {"fontSize": 48, "charsPerLine": 20, "x": "(w-text_w)/2", "y": "(h-text_h)/2"}}}]
}'
Common Pitfalls
- Triggering on every edit: Gate renders behind a Status value like "Ready to Render"
- Template not accessible: FFmpeg Micro fetches via URL, so ensure it's publicly reachable
-
Text overflow: Set reasonable
charsPerLinevalues for your template - Make.com timeouts: Bump HTTP module timeout to 60+ seconds
FAQ
Does Make.com trigger on new rows or just updates? Both. Use "Watch Database Items" for updates or "Watch Database Items (Created)" for new rows.
How long does a render take? 3-8 seconds for a 30-second template with text overlay.
What formats work? Any format FFmpeg can decode as input, including MP4, MOV, WebM, and AVI.
Top comments (0)