Zapier + reelsdk

Render videos from Zapier with two Zaps

Zapier actions time out after 30 seconds, and burning captions into a 30 s clip takes 30 to 43 s, so a render can't finish inside one action. With reelsdk, one Zap starts the job and gets an answer right away, and a second Zap catches the finished mp4 link from reelsdk's webhook. Captions and slideshows cost $0.02 per output minute, with the first $1 free.

  • No Code step and no secret in code
  • Any trigger with a file URL can start it
  • A forged webhook can't fake a result
What a Zap shows when the render outlasts the action

The app did not respond in-time. It may or may not have completed successfully.

Source: Zapier action timeouts

The same job as one call to reelsdk

curl -X POST "https://api.reelsdk.com/v1/captions?wait=0" \
  -H "Authorization: Bearer rk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/clip.mp4",
    "style": "karaoke",
    "webhook_url": "https://hooks.zapier.com/hooks/catch/123/abc/"
  }'
202 with the job right away, then the finished job on your catch hook

Why ffmpeg breaks here

30 seconds per action, 6 MB per Code step

Zapier actions time out after 30 seconds and show The app did not respond in-time. It may or may not have completed successfully. Rendering takes longer: captions on a 30 s clip take 30 to 43 s and a faceless short about 100 s, so a step that waits for the video loses the result even when the render succeeds.

Code by Zapier can't do the encode either. A Code step runs Node.js 22 with 512 MB of memory for 1 s on Free, 30 s on Professional and Team and 2 minutes on Enterprise, with extended runtimes up to 10 minutes, and code plus data must fit a 6 MB I/O limit that one video already breaks. Webhooks by Zapier can start a render and catch the result, which is all this needs.

Zapier next to reelsdk

Zapier next to reelsdk
TopicZapierreelsdk
Time per callActions time out after 30 s?wait=0 answers at once, the result comes by webhook
Code steps512 MB, 1 s on Free, 30 s paid, 6 MB of I/ORenders on reelsdk machines, up to 10 min per job
Webhook sizeCatch Hook 10 MB, Catch Raw Hook 2 MBThe job JSON with links, never the video itself
PlanWebhooks by Zapier needs Professional or higherNo subscription, the first $1 is free

Zapier limits from Code by Zapier runtime limits, checked October 2026.

Set it up

One Zap starts the render, a second one receives it

You need a reelsdk key and a Zapier plan that includes Webhooks by Zapier: Professional, Team or Enterprise. Build the receiving Zap first, so you have its URL.

  1. Create the catch hook

    Start a new Zap with Webhooks by Zapier and the Catch Hook event, and copy its URL; it stays the same for the life of the Zap. Zapier parses the job JSON that reelsdk posts, so id and status become fields you can map.

  2. Start the render from your first Zap

    After your trigger, add Webhooks by Zapier with the Custom Request event, which sends the Data box exactly as typed. Put the catch hook URL in webhook_url and map the file URL from your trigger into video_url. ?wait=0 makes reelsdk answer at once instead of running into the 30 s timeout.

    Custom Request
    Method
    POST
    URL
    https://api.reelsdk.com/v1/captions?wait=0
    Headers
    Authorization: Bearer rk_live_...
    Headers
    Content-Type: application/json
    Data
    {
      "video_url": "https://example.com/clip.mp4",
      "style": "karaoke",
      "webhook_url": "https://hooks.zapier.com/hooks/catch/123/abc/"
    }
    
  3. Fetch the result with your key

    Back in the receiving Zap, add Webhooks by Zapier with the GET event, using the URL https://api.reelsdk.com/v1/jobs/ plus the id field and the same Authorization header. A Filter step that continues only when the job status is succeeded keeps failed renders out, then map the video link into Google Drive, Slack or wherever it goes next. reelsdk only returns jobs that belong to your key, so a forged call to your catch hook gets a 404 and no secret has to live in a Code step.

    GET request
    URL
    https://api.reelsdk.com/v1/jobs/{id}
    Headers
    Authorization: Bearer rk_live_...
    Filter
    Job status exactly matches succeeded

FAQ

Video on Zapier, answered

Can I run ffmpeg inside Code by Zapier?

Not in a useful way. Code steps run Node.js 22 with 512 MB of memory for 1 s on Free and 30 s on Professional and Team, and code plus data must stay under a 6 MB I/O limit, smaller than most videos. Send the work to reelsdk instead: raw ffmpeg 8.1 through POST /v1/ffmpeg costs $0.01 per compute minute.

Why does my Zap say the app did not respond in-time?

Zapier actions time out after 30 seconds. Captions on a 30 s clip take 30 to 43 s and a faceless short about 100 s, so a call that waits for the video runs out of time even when the render succeeds. Add ?wait=0 to the reelsdk URL and pass a webhook_url, so the result arrives in a second Zap.

Do I need a paid Zapier plan?

For this setup, yes. Webhooks by Zapier, which sends the request and catches the result, is available on Professional, Team and Enterprise plans but not on Free. reelsdk itself has no subscription: you pay per render and the first $1 is free.

Can I verify the Reel-Signature header in Zapier?

You can, with a Catch Raw Hook trigger, which passes the unparsed body up to 2 MB along with the headers, and a Code step that computes the HMAC-SHA256. Code by Zapier doesn't support storing secrets in code, though, so this guide fetches GET /v1/jobs/{id} with your key instead: reelsdk answers 404 for jobs that aren't yours.

What can I render from Zapier, and what does it cost?

Burned-in captions and narrated slideshows cost $0.02 per output minute, plus $0.05 per 1,000 characters of slideshow voiceover. A faceless short from a topic is $0.25 up to 60 s or $0.35 up to 90 s, and raw ffmpeg is $0.01 per compute minute. Each key runs 3 jobs at once and 500 a day, and outputs stay up for 7 days.

All integrations

Ready to build?

Ship video from your app today

Your first $1 of renders is free, and one key covers every endpoint.

Moonlit lake with a lit cabin under the mountains