Remotion AI Voiceover Skill — ElevenLabs TTS
AI skill for adding ElevenLabs text-to-speech voiceover to Remotion videos. Auto-sizes composition duration to match generated audio.
What it is
This is a Remotion skill for adding AI-generated voiceover to programmatic videos using ElevenLabs text-to-speech. The skill generates speech audio per scene and uses Remotion's calculateMetadata function to dynamically size the video composition duration to match the generated audio. This ensures that the video and voiceover are always synchronized.
The skill targets developers creating automated video content with Remotion who want professional-quality voiceover without recording audio manually. It integrates ElevenLabs' voice synthesis directly into the Remotion build pipeline.
How it saves time or tokens
Without this skill, adding voiceover to Remotion videos requires manually generating audio files, calculating their duration, and adjusting video composition length. This skill automates the entire flow: write text, generate audio, and the video adapts automatically. AI agents using this skill can produce narrated videos in a single pass.
How to use
- Install the Remotion skills:
npx skills add remotion-dev/skills. - Set your ElevenLabs API key:
export ELEVENLABS_API_KEY=your_key. - Use the voiceover pattern in your Remotion compositions with calculateMetadata for dynamic duration.
Example
# Install Remotion skills
npx skills add remotion-dev/skills
# Set ElevenLabs API key
export ELEVENLABS_API_KEY=your_key
import { Audio, useCurrentFrame } from 'remotion';
// calculateMetadata generates TTS and returns duration
export const calculateMetadata = async ({ props }) => {
const audio = await generateVoiceover(props.script);
const durationInFrames = Math.ceil(audio.duration * 30);
return {
durationInFrames,
props: { ...props, audioUrl: audio.url },
};
};
export const NarratedScene = ({ audioUrl, script }) => {
return (
<>
<Audio src={audioUrl} />
<div style={{ fontSize: 24, padding: 40 }}>
{script}
</div>
</>
);
};
Related on TokRepo
- Video AI Tools — Video production tools
- Voice AI Tools — Text-to-speech and voice synthesis
Common pitfalls
- ElevenLabs API calls cost money per character of generated speech. Long scripts accumulate costs. Estimate costs before generating voiceover for large video batches.
- Audio generation adds build time to Remotion renders. Cache generated audio files to avoid regenerating unchanged voiceovers on every render.
- Voice quality depends on the ElevenLabs model and voice selection. Test different voices for your content type before committing to a production workflow.
Frequently Asked Questions
ElevenLabs is an AI voice synthesis platform that generates realistic text-to-speech audio. It offers multiple voice models with different characteristics. This skill uses ElevenLabs' API to generate voiceover audio for Remotion videos.
The calculateMetadata function generates the voiceover audio, measures its duration, and sets the Remotion composition's durationInFrames accordingly. This ensures the video is exactly as long as the voiceover.
Yes. ElevenLabs supports custom cloned voices and a library of pre-made voices. Configure the voice ID in your skill settings or composition props.
This specific skill requires ElevenLabs. For other TTS providers, you would need to modify the audio generation function to call a different API while keeping the calculateMetadata pattern.
ElevenLabs offers a free tier with limited characters per month. Paid plans start at $5/month for more quota. Pricing is per character of generated speech. Check elevenlabs.io for current pricing.
Citations (3)
- Remotion Skills GitHub— Remotion AI voiceover skill with ElevenLabs TTS integration
- ElevenLabs— ElevenLabs text-to-speech API
- Remotion Documentation— Remotion calculateMetadata for dynamic composition sizing
Related on TokRepo
Source & Thanks
Created by Remotion. Licensed under MIT. remotion-dev/skills — Voiceover rule
Discussion
Related Assets
Claude-Flow — Multi-Agent Orchestration for Claude Code
Layers swarm and hive-mind multi-agent orchestration on top of Claude Code with 64 specialized agents, SQLite memory, and parallel execution.
ccusage — Real-Time Token Cost Tracker for Claude Code
CLI that reads ~/.claude logs and breaks down Claude Code token spend by day, session, and project — pluggable into your statusline.
SuperClaude — Workflow Framework for Claude Code
Adds 16+ slash commands, 9 cognitive personas, and a smart flag system to Claude Code in one pipx install.