Guides
Sume guides: the API, Formats, agents, models, media tools and pricing, each answer dated and sourced.

Text to speech API in JavaScript: save an MP3 from Node.js
Call a text to speech API from JavaScript on your server: submit the text with the Sume SDK in Node.js, wait for the job, then save the MP3.

AI music prompt examples: a template plus 6 briefs
A good AI music prompt reads like a brief: mood, genre, BPM, key, instruments, one moment, and era. Here is a template and six examples to adapt.

Image to music AI: generate a track from a photo
Image to music AI uses a picture as an input for a track. On Sume, send image_url with the text prompt to the Music Router; the price stays the same.

Generate music for a video with AI, then fit it to the cut
To generate music for a video with AI, describe the cut in a music brief, send a still from it, ask for its length, then fit the track to the video.

AI jingle generator from text: make a podcast intro sting
Generate a jingle or podcast intro from a text brief: ask for the length in the prompt, then cut the track to the exact second with an audio split.

Transcribe long audio files: split into 10-minute parts
To transcribe long audio by API, split it into parts of up to 10 minutes, transcribe each part, then add each part's start time to its timestamps.

Batch transcription API: transcribe many audio files
Batch transcription by API is a loop: one speech-to-text job per file, keyed by the file's id, collected by webhook or polling. How it works on Sume.

Transcribe video to text with an API: send the audio track
Transcribe video to text by API: send the audio track to speech-to-text. On Sume, inspect a Sume-hosted clip or send your own file's audio to STT 1.0.

Detect language from audio with a speech-to-text API
Detect the language spoken in an audio file: run speech-to-text with no language hint, then read the detected code and confidence from the result.

Korean speech to text API: transcribe Korean audio
Transcribe Korean speech to text by API: send the audio URL with language_code ko, or let it auto-detect, and get the transcript with word timings.

How to calculate speech rate in words per minute
Speech rate is words spoken divided by speaking time in minutes. Word timestamps from speech-to-text measure both, per recording or per sentence.

YouTube chapter generator: timestamps from a transcript
A YouTube chapter generator turns a transcript into timestamps and titles from 00:00: sentence timings from speech-to-text, topic breaks from an LLM.

Speech to text in Python: transcribe audio with timestamps
Speech to text in Python with Requests: send the audio URL, poll the job, then read the transcript and word timestamps. A script for Sume STT 1.0.

Speech to text API in JavaScript: audio to text in Node.js
Call a speech to text API from JavaScript on your server: send the audio file's URL with the Sume SDK in Node.js, wait for the job, read the text.

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.

Translate audio to English: transcribe, translate, speak
Translate audio to English in three steps: transcribe the recording with language detection, translate the text, then voice it with TTS if needed.

Transcribe audio to text with Claude using an MCP tool
To transcribe audio to text with Claude, give it a speech-to-text tool over MCP and a public audio URL, then read the transcript and word timings.

Claude text to speech: make audio files with an MCP tool
For text to speech in Claude, connect a text-to-speech tool over MCP: Claude sends the script and a voice, then hands back a link to the audio file.

How to automate AI video generation from code
To automate AI video generation, save a working brief as a recipe, start it from code per event, list or schedule, and take each video by webhook.

Personalized video at scale: one recipe, one run per person
For personalized video at scale, keep one recipe fixed, pass each person's details as input, batch up to 100 per request, and map videos back by id.

Automate YouTube Shorts with AI: generate, then upload
You can automate YouTube Shorts with AI as two jobs: generate a vertical video on a schedule, then upload it with the YouTube Data API from your code.

Blog to video AI: turn each new post into a video
Blog to video AI turns an article into a narrated video. Automate it: send each new post's text to a video agent with a spend cap and a post key.

Exposed API key? Revoke it, then check what it did
An exposed API key works for anyone until you revoke it. Rotate to a new key, revoke the old one, then check its last use, its spend, and your jobs.

Can multiple people use the same API key?
They can, but they then share its rate limit, usage record, and revocation. Give each person or service its own key, and know what stays shared.

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.

Free webhook tester: see what a webhook sends before coding
A free webhook tester gives you a public HTTPS URL and shows each request's headers and body. Point Sume's Send test at it to see a signed payload.

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.

AI avatar language tutor: slow, captioned lesson videos
Make AI avatar language tutor videos: speak each lesson line slowly with TTS 1.0, lip sync a tutor avatar with Fabric, then caption each clip.

Create a talking avatar using Python with the Sume API
Create a talking avatar in Python with Requests: generate the avatar, poll its job, send it a script to speak, then read the finished video's URL.

Make AI UGC videos with Claude: avatar, voice, lip sync
Claude's models output text. Connect Sume's hosted MCP server with Write on, and Claude can script, voice, and lip-sync a UGC-style avatar clip.

How to make an AI avatar influencer: one face, one voice
An AI influencer is one reusable face and voice. Make a Sume avatar once, reuse its handle for videos and voiceovers, and its still for new photos.

Talking avatar for PowerPoint presentations, slide by slide
Make a talking avatar presenter for PowerPoint: one Sume clip per slide, up to 60 seconds each, in 16:9 or 4:3 to match the slide, inserted as MP4.

AI avatar news anchor: make an AI news presenter video
Make an AI avatar news anchor with Sume: one reusable avatar reads each story as a 16:9 talking video, captioned, then joined into one bulletin.