Renderly Ships AI Voiceover and Auto-Captions
Renderly now turns a script into a narrated, word-synced-captioned video in one API call. AI voiceover (9 voices) + auto-captions, flat credit pricing.
Phil Duong
Founder

Two new AI features are live in Renderly today: AI voiceover and auto-captions. Each is useful on its own. Together, they collapse an entire production pipeline: one render request now takes a script and returns a narrated video with word-synced captions.
Here's the release in one demo. We took a 31-second real-estate listing template with an empty narration slot, wrote a 77-word script, and sent this:
POST https://renderly.video/api/v1/renders
Authorization: Bearer rnd_...
{
"projectId": "your-project-id",
"replacements": {
"narration": {
"tts": {
"text": "Just listed in Montauk: twenty-seven Dune Crest Road. Tucked where the dunes meet the door, this is coastal living at its finest. Inside — sun-drenched spaces, walls of glass, a chef's kitchen in white oak, and a wrap-around deck over the water. Four bedrooms. Three baths. Thirty-two hundred square feet. And open sand, just a two-minute walk away. Offered at three million, four hundred ninety-five thousand. Book your private tour with Salt and Cedar today.",
"voice": "onyx"
}
}
}
}That's the whole integration. Out came the finished listing video — narration mixed over the music bed, scenes paced to the script — for 1.5 credits total (0.5 for the voiceover, 1.0 for the 31-second render). No TTS service, no audio file juggling, no second pass.
And because we're that kind of team, we verified it by transcribing the finished video back through our own captions endpoint. The transcript came back word for word — with the spoken price formatted back to "$3,495,000".
Key Takeaways
POST /api/v1/ai/voiceoverturns text into narration (9 voices, up to 4,096 characters);POST /api/v1/ai/captionstranscribes any public URL into captions with real word-level timings- Both work inside a render: declare
ttsandtranscribevalues on template variables and one API call goes script → voiceover → word-synced captions → video- Clip windows mean you're billed for what you transcribe — a 9-second highlight of a 6-minute podcast costs 0.25 credits, not 1.75
- Flat pricing: 0.25 credits per started caption-minute, 0.5 credits per started 1,000 TTS characters, charged only on success
What's in the release?
Auto-captions — POST /api/v1/ai/captions transcribes any public audio or video URL into captions with real word-level timings, so word-by-word highlighting works out of the box. It handles files up to 5 GB and audio up to 3 hours, ingested by URL — we never proxy your file. The response includes both a captions[] array and a paste-able captionOverlay JSON.
AI voiceover — POST /api/v1/ai/voiceover takes up to 4,096 characters of text and returns a narration mp3, saved to your media library, with its public URL and measured duration. Nine voices (alloy, ash, coral, echo, fable, nova, onyx, sage, shimmer) and adjustable speed from 0.25× to 4×.
Both are also available in the editor. Select a video overlay, open the AI tab, and Generate Captions transcribes exactly the trimmed portion on your timeline — with a confirmation dialog showing the credit cost before anything runs.
Why is the one-call pipeline the real story?
Auto-captions and text-to-speech are table stakes for video APIs in 2026 — most platforms have some version of them. What nobody else does is chain them on template variables inside a single render.
In Renderly, the same replacements object you already use for text and media now accepts AI values:
- A sound variable set to
{"tts": {"text": "...", "voice": "onyx"}}generates the narration at render time. The overlay — and the composition itself, if needed — stretches to the real audio length, and billing reflects it. - A caption variable set to
{"transcribe": {"source": "narration"}}fills the overlay with word-synced captions transcribed from that overlay's audio. Andsourcecan point at the TTS narration generated in the same request — so the captions are guaranteed to match the voiceover, word for word.
Add that one transcribe line to the listing request above and the same call also burns in styled captions. Script in, narrated and captioned video out. (Caps: 3 tts and 3 transcribe values per render.)
If you run automation workflows, you'll feel this immediately: the usual script → TTS service → transcription service → compose → render chain — five nodes in n8n or Make — becomes one Renderly node. And the captions don't take JSON styling parameters; they inherit whatever caption design your template already uses, word-highlight styles included. Designers own the look, the API fills the words.
Caption a clip, pay for the clip
Long source, short clip is the normal case — a podcast highlight, a webinar excerpt, a talking-head cut. Auto-captions bill by the clip window, not the file. Pass startTime/endTime (in seconds) to the captions endpoint, or let a render derive the window automatically from the video overlay's trim — including speed changes. Timings come back clip-relative, ready to drop onto a caption overlay.
That 7× difference compounds fast if you're clipping at scale. Most caption APIs don't discuss trims at all — you transcribe the file you send.
What does it cost?
Flat, predictable rates from the same credit balance you already use for rendering:
| Operation | Price |
|---|---|
| Auto-captions | 0.25 credits per started minute of transcribed audio |
| AI voiceover | 0.5 credits per started 1,000 characters |
Three guarantees behind those numbers: you're charged only on success, failed operations are refunded automatically, and retrying an in-flight transcription never double-charges. Per-usage metering surprises are the top pricing complaint we hear about AI audio tooling — so every operation is also logged as an inspectable AI job.
For context: 1 credit covers about 4 caption-minutes or 2,000 characters of voiceover.
Your AI assistant can do this too
Both features are exposed through Renderly's MCP connector as renderly_generate_captions, renderly_generate_voiceover, and renderly_get_ai_job. Connect Renderly to Claude and "write a 30-second narration for my listing video and render it with captions" is now a sentence, not a pipeline.
Getting started
API keys are self-serve — grab one from your Renderly dashboard under Settings → API Keys, and new accounts start with free credits to test with.
- AI features guide — pricing, endpoints, clip windows, and the full one-call walkthrough
- Rendering guide — AI replacement values alongside regular text and media replacements
- MCP guide — all nine tools for AI assistants
- API reference — the OpenAPI spec, under the "AI" tag
We'll follow up with step-by-step tutorials for the two workflows we get asked about most: adding AI narration to real-estate listing videos, and auto-captioning podcast clips. In the meantime, the real-estate automation guide shows the template pattern the narration slot plugs into.
If you build something with tts + transcribe chained in one call, we'd genuinely love to see it — drop us a line at support@renderly.video.
Related Articles

How to Create Videos with Claude Using Renderly's MCP Connector
Renderly is now an MCP connector. Connect it to Claude and render personalized videos by typing a sentence — here's how, plus why 10,000+ MCP servers now exist.
June 4, 2026

How to Automate Real Estate Listing Videos with an API
474,976 new US listings hit the market in May 2026 — almost none got a video. Here's how to turn listing data into property videos with one API call.
June 12, 2026

How to Set Up Video Rendering Webhooks (Production Guide)
Video rendering is asynchronous — polling wastes 90%+ of requests. This guide covers HMAC SHA-256 signature verification, retry semantics, idempotency, and the raw-body pitfall that breaks most webhook handlers.
May 28, 2026

How to Generate 1,000+ Personalized Videos with API Automation (2026 Update)
Personalized videos convert at 3x the rate of generic ones (Tavus, 2025). This developer guide shows how to build a bulk video generation pipeline using REST APIs — 1,000 videos in under 20 minutes at $0.10–0.50 each.
May 18, 2026