Pipedream 750-second timeout: poll loop or Sume webhook?
Pipedream paid plans allow 750 seconds per run. Submit the Sume video job, then finish in a second workflow triggered by the webhook not a long poll loop.

Use a second workflow triggered by the Sume webhook, not a poll loop inside one Pipedream step. A 750-second run cannot be relied on to outlast a render, while a webhook-mode submit returns a 202 with the job id immediately and Sume calls you back when the job is terminal.
What are Pipedream's timeouts?
Pipedream's limits page, read 2026-10-01, gives these numbers.
| Item | Value on the page |
|---|---|
| Default execution timeout (HTTP/Email) | 30 seconds |
| Default execution timeout (Cron) | 60 seconds |
| Maximum, free tier | 300 seconds (5 min) |
| Maximum, paid tiers | 750 seconds (12.5 min) |
| HTTP trigger rate | Average 10 requests per second |
What does a poll loop cost you?
With async mode you poll status_url until terminal is true, then GET result_url once result_ready is true. That works while the loop stays inside the step's timeout, but you spend run time waiting and the step dies if the job is slower. If it times out, keep the job id and read the job again; do not resubmit, because the first submit already started paid work. See Jobs and results.
How does the webhook version work?
Step one sends mode: "webhook" with webhook_url, pointing at a second workflow's HTTP trigger, and ends. Sume sends terminal job events only (job.completed, job.failed, job.canceled). Each attempt has a 10s timeout and there are up to 10 attempts, so acknowledge fast and do heavy work after storing the event. Verify the signature, and dedupe on job_id. The pattern with suspend and resume is in Pipedream AI video workflow.
Do I still need polling?
Keep it as a backup. Ten refused attempts leave a failed delivery and a job that still reached its real terminal state, so a scheduled workflow that reads status_url for jobs with no event covers the gap.
Sources
Related posts
More in Developers
- Polly async needs an S3 bucket; Sume gives a status URL and webhook
Polly's StartSpeechSynthesisTask writes audio to your S3 bucket and can notify an SNS topic. Sume TTS returns a status URL, or a signed webhook on completion.
- Polly speech marks need a separate request; Sume returns timings
Polly returns speech marks instead of audio when you ask for them: sentence, word and viseme metadata. Sume TTS returns words[] timings on the same job result.
- Polly takes 3,000 billed characters; Sume TTS takes 20,000
Polly SynthesizeSpeech accepts 3,000 billed characters and cuts audio at 10 minutes. Sume TTS 1.0 accepts 20,000 characters and 1,200 seconds of audio per job.
- Postgres 17.11 pgcrypto change: verify a Sume webhook with hmac()
The Postgres minor release changed legacy pgcrypto ciphers. Its listed changes never mention hmac(), so a Sume sume-v1 signature check in SQL still works.
Written by Sume