Integrations
Calling Sume from automation platforms, serverless functions, agent frameworks, and MCP clients. Each uses plain HTTPS or remote MCP, not a connector.

Amazon Q MCP server: add Sume's hosted MCP in the IDE
Amazon Q Developer in the IDE takes HTTP MCP servers. Add Sume's hosted MCP with an API-key header or OAuth, then set its paid tools to Ask.

Copilot Studio MCP server: connect Sume's hosted MCP
Connect a Copilot Studio agent to an MCP server: add Sume's hosted MCP in the onboarding wizard with an x-api-key header, then turn off unneeded tools.

goose MCP server: add Sume's hosted MCP as an extension
Add a remote MCP server to goose: Sume's hosted MCP as a Streamable HTTP extension, OAuth by client registration, and approval for paid tools.

Transcribe audio to text in n8n with an HTTP Request node
Transcribe audio to text in n8n: send the recording's public URL from an HTTP Request node, loop a Wait node until the job ends, then map the text.

AWS Step Functions wait for callback on an AI video run
Pause a Step Functions execution with .waitForTaskToken until an AI video run ends: park the task token, then return it when Sume's webhook arrives.

Temporal workflow signal from an AI video webhook
Start the video job in a Temporal activity, wait on a signal your webhook receiver sends by workflow id, and keep a timer that reads the run anyway.

Airflow HTTP sensor: wait for an AI video job to finish
Submit an AI video job with Airflow's HttpOperator, then wait with an HttpSensor in reschedule mode that passes once the job's status is completed.

Durable Functions wait for external event: AI video webhook
A Durable Functions orchestrator waits for an external event that your webhook function raises, racing a durable timer for runs that never POST.

Azure Functions timeout: don't wait for an AI video job
Azure Functions time out after 5 minutes by default on Consumption, and HTTP triggers must answer in 230 seconds. Submit video jobs with a callback.

FastAPI long running task: return 202 with a job id
Don't hold a FastAPI request open for a long task: return 202 with a job id. For an AI video job, Sume does the work and a webhook brings the result.

Kubernetes CronJob concurrency policy for paid API jobs
Allow, Forbid, or Replace? A CronJob's concurrencyPolicy governs its Jobs, not the API work they start. For paid API calls, add an idempotency key.

NestJS raw body for webhook signature verification
In NestJS, pass rawBody: true to NestFactory.create and verify the webhook signature over req.rawBody, a Buffer. Raise the 100kb JSON limit too.

Spring Boot webhook: verify an HMAC-SHA256 signature
A Spring Boot webhook takes the body as byte[], computes HMAC-SHA256 over the timestamp and raw bytes, and checks each sume-v1 entry in constant time.

C# webhook receiver example: ASP.NET Core and HMAC-SHA256
A C# webhook receiver in ASP.NET Core: bind the raw body as a Stream, HMAC-SHA256 the timestamp and bytes, and check each sume-v1 entry in fixed time.

How to run a Lambda function on a schedule with EventBridge
Use EventBridge Scheduler to invoke a Lambda function on a cron or rate schedule. For a daily AI video, key the run to the scheduled time and return.

Cloudflare Workers cron job: start an AI video on a schedule
Add a Cron Trigger and a scheduled() handler to run a Worker on a schedule. For an AI video, key the run to scheduledTime and return at once.

Supabase cron Edge Function: start an AI video on a schedule
Schedule a Supabase Edge Function with pg_cron and pg_net, keep the video API key in the function's secrets, and start one date-keyed run per day.

GitLab scheduled pipeline: run a nightly AI video job
Run a GitLab scheduled pipeline nightly, start the AI video with a date-based Idempotency-Key, and poll inside a job timeout above the run deadline.

How to upload a file to an S3 bucket from a URL in Python
Stream the URL's response straight into boto3's upload_fileobj, with no temp file. For a generated video, copy on the webhook and check the bytes.

React Query polling: stop refetchInterval when a job is done
Poll a video job with React Query's refetchInterval: call your backend, wait the delay the API suggests, and return false once the job is terminal.

Axios retry: retry a POST safely with an idempotency key
Use axios-retry for network errors, 429 and 5xx with exponential backoff, and retry a paid POST only when it carries an Idempotency-Key.

How to add subtitles to a video in Python
Add subtitles to a video in Python with Requests: POST the video URL to Sume's /v1/video-captions, poll the job, then read the captioned video_url.

n8n image generation: AI images from one HTTP Request node
Generate images in n8n with an HTTP Request node that POSTs a prompt to an image API. Most calls return image URLs at once; poll the rest.

Vercel function timeout on video generation: use a webhook
A Vercel Function stops at 300 seconds by default; a Sume video run takes minutes. Submit with a webhook_url, return, then verify the signed POST.

n8n AI video workflow: resume a Wait node on a Sume webhook
Start a Sume Format run from an n8n HTTP Request node, pass the Wait node's resume URL as webhook_url, then read the finished run with your key.

Zapier AI video automation: two Zaps and one Sume webhook
One Zap starts a Sume video run with a Custom Request; a second catches Sume's signed webhook with Catch Raw Hook and verifies it in a Code step.

Google Sheets to video automation with Apps Script and Sume
Turn up to 100 sheet rows into Sume video runs with one Apps Script request, then poll the queue from a time-driven trigger and write URLs back.

n8n Google Sheets AI avatar video: one Sume video per row
Read rows with n8n's Google Sheets node, submit one Sume talking-avatar job per row, poll in a capped loop, and write each video URL to the sheet.

Make.com AI video scenario with Sume: HTTP and a webhook
Split a Make.com AI video scenario in two: Make a request starts a Sume run; a custom webhook takes the signed result and checks it with sha256().

Express raw body for webhook signatures and the 100kb limit
Mount express.raw with type application/json and a limit above 1 MiB on the Sume webhook route, then pass the raw Buffer to verifyWebhook.

OpenAI Agents SDK MCP server: Sume and the 5-second timeout
Connect the OpenAI Agents SDK to Sume's hosted MCP server with an API key, and raise the 5-second client timeouts above jobs_wait's 55 seconds.

Vercel AI SDK: generate video with a Sume API tool call
Generate video from the Vercel AI SDK with a tool() that calls Sume's POST /v1/videos on your server, returns the job id, and polls for the clip.

Shopify product video AI API with products/create webhooks
Answer Shopify's products/create webhook within five seconds, run a Sume Format from a queue, then upload the MP4 to Shopify with a staged upload.

Text-to-video API in Python: submit, poll, and download
Call Sume's text-to-video API from Python with Requests: POST /v1/videos, poll with timeouts, then stream the MP4 the content route redirects to.

Python webhook HMAC verification in FastAPI and Django
Verify a Sume webhook in Python: HMAC-SHA256 over timestamp.raw_body, split the signature header on commas, compare in constant time, answer fast.

Cloudflare Workers webhook to a Queue for Sume video runs
Verify Sume's signed POST in a Cloudflare Worker, enqueue a small message, and answer 204 fast. Queue messages cap at 128 KB; receipts reach 1 MiB.

Supabase Edge Function webhook for Sume: JWT off, HMAC on
Sume's webhook POST carries no Supabase JWT, so deploy the Edge Function with verify_jwt = false and check Sume's HMAC signature on every delivery.

Vercel Cron Jobs: call the Sume API daily without duplicates
A Vercel cron job sends a GET to your route, which calls the Sume API with a date-based Idempotency-Key, so a duplicate invocation cannot bill twice.

GitHub Actions: generate a release video with a Sume Format
Start a Sume Format run when a GitHub release is published, pass the notes as input, poll until the video is ready, and attach it to the release.

Airtable automation video generation API: a video per record
Use an Airtable Run a script action to call POST /v1/videos with a callback_url, then catch Sume's webhook in a second automation and save the URL.

Pipedream wait for webhook callback from a Sume video run
Call $.flow.suspend() in the step that starts a Sume video run, pass resume_url as webhook_url, and Pipedream resumes when Sume POSTs the result.

LangChain video generation tool that runs a Sume Format
A LangChain @tool can start a Sume Format run, cap its spend, key it for safe retries, and return a run id the agent checks until the video is ready.

Claude Agent SDK MCP server: connect Sume with an API key
Add Sume's hosted MCP server to the Claude Agent SDK with an API-key header, allow only the tools you need, and dry-run paid calls before submitting.

Slack bot to generate video: a slash command with Sume's API
Ack Slack's slash command within 3000 ms, submit POST /v1/videos with a callback_url, then post the URL to response_url when Sume's webhook lands.

Discord bot AI video generation: defer, then edit the reply
Defer the Discord interaction within 3 seconds, submit POST /v1/videos with a callback_url, then edit the reply when Sume's job webhook arrives.

Trigger.dev wait for webhook: waitpoint tokens for Sume runs
Create a Trigger.dev waitpoint token, send token.url as a Sume run's webhook_url, and wait.forToken() returns when Sume POSTs the run's result.

Test Sume webhooks locally with ngrok or a Cloudflare Tunnel
Sume refuses localhost webhook URLs. Expose your handler with ngrok or a Cloudflare Quick Tunnel, send a signed test, then redeliver real events.

CrewAI video generation with a Sume Agent Completions tool
Give a CrewAI agent a BaseTool that hands a video brief to Sume Agent Completions with a spend cap, then reads the agent.run for the finished video.