Agent skill

ElevenLabs Voiceover Generator

by digitalsamba in digitalsamba/claude-code-video-toolkit

Generates narration, sound effects and cloned voices through the ElevenLabs API, with model and setting choices tuned to the content's style.

MITAuto-check: notesMedia & Creative

Install ElevenLabs Voiceover Generator

skills CLI
$ npx skills add digitalsamba/claude-code-video-toolkit --skill elevenlabs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install digitalsamba/claude-code-video-toolkit elevenlabs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/elevenlabs .claude/skills/elevenlabs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
elevenlabs
GitHub stars
2.2k
Used in
1 other repo
Token cost
~2.7k tokens
SKILL.md length
429 words
Files
2
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Generates narration, sound effects and cloned voices through the ElevenLabs API, with model and setting choices tuned to the content's style.

  • Works in 3 steps: Generate Per-Scene Audio → Use Audio in Remotion Composition → Per-Scene Audio (Alternative)
  • Generating narration or voiceover audio for a video or podcast
  • SKILL.md covers Text-to-Speech, Voice Cloning, Sound Effects and Music Generation, plus 2 more sections
  • Calls uv and ffmpeg; needs ELEVENLABS_API_KEY

What it does

Picks between four text-to-speech models based on what the content actually needs: a multilingual model for the most consistent, production-ready output across 29 languages with no SSML support, two faster models that support break and phoneme tags for pause and pronunciation control, and the most expressive model, flagged as an unreliable alpha that needs extra prompt engineering and retakes. Voice settings such as stability, similarity and style are given as tuned ranges for natural, conversational and energetic delivery styles, rather than one fixed setting for everything.

Pauses between sections use SSML break tags on the models that support them, capped at three seconds each since longer or excessive breaks cause audible speed artifacts, while the multilingual and most-expressive models fall back to blank-line paragraph breaks or inserting silence afterward with ffmpeg. An ellipsis is explicitly flagged as an unreliable way to create a pause, since it can get vocalized as a word instead of staying silent.

Pronunciation is steered either by respelling a word phonetically with dashes and capitals, which works on any model, or with IPA phoneme tags on the two faster models, and the suggested iterative workflow is to generate, listen, adjust phonetic spelling or break tags, and regenerate rather than fighting the model's own tendencies through the prompt alone. Voice cloning uses the client's instant-clone method rather than an older, now-superseded clone call.

When your agent uses it

  • Generating narration or voiceover audio for a video or podcast
  • Choosing the right ElevenLabs model for a given style and language need
  • Cloning a voice from a sample recording for narration
  • Fixing mispronounced words or imprecise pauses in generated speech

Example prompts

  • “Generate a conversational-style voiceover for this podcast script.”
  • “Clone my voice from sample.mp3 and use it for the narration.”
  • “This name keeps mispronouncing — fix it with a phonetic spelling.”

Requirements

  • An ELEVENLABS_API_KEY in .env

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Generate Per-Scene Audio
  2. Use Audio in Remotion Composition
  3. Per-Scene Audio (Alternative)

What it can do on your machine

Read from SKILL.md and the folder at commit 2c99460. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • ffmpeg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ELEVENLABS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

ElevenLabs Voiceover Generator loads about 2.7k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 429 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:8
    Requires `ELEVENLABS_API_KEY` in `.env`.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from digitalsamba/claude-code-video-toolkit at commit 2c99460, republished under its MIT licence (© digitalsamba). 429 words, ~2,726 tokens.

Download SKILL.mdSave it as .claude/skills/elevenlabs/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
elevenlabs
description
Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or games. Triggers include generating voiceovers, narration, dialogue, sound effects from descriptions, background music, soundtrack generation, voice cloning, or any audio synthesis task.

ElevenLabs Audio Generation

Requires ELEVENLABS_API_KEY in .env.

Text-to-Speech

python
from elevenlabs.client import ElevenLabs
from elevenlabs import save, VoiceSettings
import os

client = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))

audio = client.text_to_speech.convert(
    text="Welcome to my video!",
    voice_id="JBFqnCBsd6RMkjVDRZzb",
    model_id="eleven_multilingual_v2",
    voice_settings=VoiceSettings(
        stability=0.5,
        similarity_boost=0.75,
        style=0.5,
        speed=1.0
    )
)
save(audio, "voiceover.mp3")
Models
ModelQualitySSML SupportNotes
eleven_multilingual_v2Highest consistencyNoneStable, production-ready, 29 languages
eleven_flash_v2_5Good<break>, <phoneme>Fast, supports pause/pronunciation tags
eleven_turbo_v2_5Good<break>, <phoneme>Fastest latency
eleven_v3Most expressiveNoneAlpha — unreliable, needs prompt engineering

Choose: multilingual_v2 for reliability, flash/turbo for SSML control, v3 for maximum expressiveness (expect retakes).

Voice Settings by Style
Stylestabilitysimilaritystylespeed
Natural/professional0.75-0.850.90.0-0.11.0
Conversational0.5-0.60.850.3-0.40.9-1.0
Energetic/YouTuber0.3-0.50.750.5-0.71.0-1.1
Pauses Between Sections

With flash/turbo models: Use SSML break tags inline:

...end of section. <break time="1.5s" /> Start of next...

Max 3 seconds per break. Excessive breaks can cause speed artifacts.

With multilingual_v2 / v3: No SSML support. Options:

  • Paragraph breaks (blank lines) — creates ~0.3-0.5s natural pause
  • Post-process with ffmpeg: split audio and insert silence

WARNING: ... (ellipsis) is NOT a reliable pause — it can be vocalized as a word/sound. Do not use ellipsis as a pause mechanism.

Pronunciation Control

Phonetic spelling (any model): Write words as you want them pronounced:

  • Janus → Jan-us
  • nginx → engine-x
  • Use dashes, capitals, apostrophes to guide pronunciation

SSML phoneme tags (flash/turbo only):

<phoneme alphabet="ipa" ph="ˈdʒeɪnəs">Janus</phoneme>
Iterative Workflow
  1. Generate → listen → identify pronunciation/pacing issues
  2. Adjust: phonetic spellings, break tags, voice settings
  3. Regenerate. If pauses aren't precise enough, add silence in post with ffmpeg rather than fighting the TTS engine.

Voice Cloning

Instant Voice Clone
python
with open("sample.mp3", "rb") as f:
    voice = client.voices.ivc.create(
        name="My Voice",
        files=[f],
        remove_background_noise=True
    )
print(f"Voice ID: {voice.voice_id}")
  • Use client.voices.ivc.create() (not client.voices.clone())
  • Pass file handles in binary mode ("rb"), not paths
  • Convert m4a first: ffmpeg -i input.m4a -codec:a libmp3lame -qscale:a 2 output.mp3
  • Multiple samples (2-3 clips) improve accuracy
  • Save voice ID for reuse

Professional Voice Clone: Requires Creator plan+, 30+ min audio. See reference.md.

Show full SKILL.md (164 more words)Show less

Sound Effects

Max 22 seconds per generation.

python
result = client.text_to_sound_effects.convert(
    text="Thunder rumbling followed by heavy rain",
    duration_seconds=10,
    prompt_influence=0.3
)
with open("thunder.mp3", "wb") as f:
    for chunk in result:
        f.write(chunk)

Prompt tips: Be specific — "Heavy footsteps on wooden floorboards, slow and deliberate, with creaking"

Music Generation

10 seconds to 5 minutes. Use client.music.compose() (not .generate()).

python
result = client.music.compose(
    prompt="Upbeat indie rock, catchy guitar riff, energetic drums, travel vlog",
    music_length_ms=60000,
    force_instrumental=True
)
with open("music.mp3", "wb") as f:
    for chunk in result:
        f.write(chunk)

Prompt structure: Genre, mood, instruments, tempo, use case. Add "no vocals" or use force_instrumental=True for background music.

Remotion Integration

Complete Workflow: Script to Synchronized Scene
VOICEOVER-SCRIPT.md → voiceover.py → public/audio/ → Remotion composition
        ↓                  ↓               ↓                 ↓
  Scene narration    Generate MP3    Audio files     <Audio> component
  with durations     per scene       with timing     synced to scenes
Step 1: Generate Per-Scene Audio

Use the toolkit's voiceover tool to generate audio for each scene:

bash
# Generate voiceover files for each scene
uv run tools/voiceover.py --scene-dir public/audio/scenes --json

# Output:
# public/audio/scenes/
#   ├── scene-01-title.mp3
#   ├── scene-02-problem.mp3
#   ├── scene-03-solution.mp3
#   └── manifest.json  (durations for each file)

The manifest.json contains timing info:

json
{
  "scenes": [
    { "file": "scene-01-title.mp3", "duration": 4.2 },
    { "file": "scene-02-problem.mp3", "duration": 12.8 },
    { "file": "scene-03-solution.mp3", "duration": 15.3 }
  ],
  "totalDuration": 32.3
}
Step 2: Use Audio in Remotion Composition
tsx
// src/Composition.tsx
import { Audio, staticFile, Series, useVideoConfig } from 'remotion';

// Import scene components
import { TitleSlide } from './scenes/TitleSlide';
import { ProblemSlide } from './scenes/ProblemSlide';
import { SolutionSlide } from './scenes/SolutionSlide';

// Scene durations (from manifest.json, converted to frames at 30fps)
const SCENE_DURATIONS = {
  title: Math.ceil(4.2 * 30),      // 126 frames
  problem: Math.ceil(12.8 * 30),   // 384 frames
  solution: Math.ceil(15.3 * 30),  // 459 frames
};

export const MainComposition: React.FC = () => {
  return (
    <>
      {/* Scene sequence */}
      <Series>
        <Series.Sequence durationInFrames={SCENE_DURATIONS.title}>
          <TitleSlide />
        </Series.Sequence>
        <Series.Sequence durationInFrames={SCENE_DURATIONS.problem}>
          <ProblemSlide />
        </Series.Sequence>
        <Series.Sequence durationInFrames={SCENE_DURATIONS.solution}>
          <SolutionSlide />
        </Series.Sequence>
      </Series>

      {/* Audio track - plays continuously across all scenes */}
      <Audio src={staticFile('audio/voiceover.mp3')} volume={1} />

      {/* Optional: Background music at lower volume */}
      <Audio src={staticFile('audio/music.mp3')} volume={0.15} />
    </>
  );
};
Step 3: Per-Scene Audio (Alternative)

For more control, add audio to each scene individually:

tsx
// src/scenes/ProblemSlide.tsx
import { Audio, staticFile, useCurrentFrame } from 'remotion';

export const ProblemSlide: React.FC = () => {
  const frame = useCurrentFrame();

  return (
    <div style={{ /* slide styles */ }}>
      <h1>The Problem</h1>
      {/* Scene content */}

      {/* Audio starts when this scene starts (frame 0 of this sequence) */}
      <Audio src={staticFile('audio/scenes/scene-02-problem.mp3')} />
    </div>
  );
};
Syncing Visuals to Voiceover

Calculate scene duration from audio, not the other way around:

tsx
// src/config/timing.ts
import manifest from '../../public/audio/scenes/manifest.json';

const FPS = 30;

// Convert audio durations to frame counts
export const sceneDurations = manifest.scenes.reduce((acc, scene) => {
  const name = scene.file.replace(/^scene-\d+-/, '').replace('.mp3', '');
  acc[name] = Math.ceil(scene.duration * FPS);
  return acc;
}, {} as Record<string, number>);

// Usage in composition:
// <Series.Sequence durationInFrames={sceneDurations.title}>
Audio Timing Patterns
tsx
import { Audio, Sequence, interpolate, useCurrentFrame } from 'remotion';

// Fade in audio
export const FadeInAudio: React.FC<{ src: string; fadeFrames?: number }> = ({
  src,
  fadeFrames = 30
}) => {
  const frame = useCurrentFrame();
  const volume = interpolate(frame, [0, fadeFrames], [0, 1], {
    extrapolateRight: 'clamp',
  });
  return <Audio src={src} volume={volume} />;
};

// Delayed audio start
export const DelayedAudio: React.FC<{ src: string; delayFrames: number }> = ({
  src,
  delayFrames
}) => (
  <Sequence from={delayFrames}>
    <Audio src={src} />
  </Sequence>
);

// Usage:
// <FadeInAudio src={staticFile('audio/music.mp3')} fadeFrames={60} />
// <DelayedAudio src={staticFile('audio/sfx/whoosh.mp3')} delayFrames={45} />
Voiceover + Demo Video Sync

When a scene has both voiceover and demo video:

tsx
import { Audio, OffthreadVideo, staticFile, useVideoConfig } from 'remotion';

export const DemoScene: React.FC = () => {
  const { durationInFrames, fps } = useVideoConfig();

  // Calculate playback rate to fit demo into voiceover duration
  const demoDuration = 45; // seconds (original demo length)
  const sceneDuration = durationInFrames / fps; // seconds (from voiceover)
  const playbackRate = demoDuration / sceneDuration;

  return (
    <>
      <OffthreadVideo
        src={staticFile('demos/feature-demo.mp4')}
        playbackRate={playbackRate}
      />
      <Audio src={staticFile('audio/scenes/scene-04-demo.mp3')} />
    </>
  );
};
Error Handling
tsx
import { Audio, staticFile, delayRender, continueRender } from 'remotion';
import { useEffect, useState } from 'react';

export const SafeAudio: React.FC<{ src: string }> = ({ src }) => {
  const [handle] = useState(() => delayRender());
  const [audioReady, setAudioReady] = useState(false);

  useEffect(() => {
    const audio = new window.Audio(src);
    audio.oncanplaythrough = () => {
      setAudioReady(true);
      continueRender(handle);
    };
    audio.onerror = () => {
      console.error(`Failed to load audio: ${src}`);
      continueRender(handle); // Continue without audio rather than hang
    };
  }, [src, handle]);

  if (!audioReady) return null;
  return <Audio src={src} />;
};
Toolkit Command: /generate-voiceover

The /generate-voiceover command handles the full workflow:

/generate-voiceover

1. Reads VOICEOVER-SCRIPT.md
2. Extracts narration for each scene
3. Generates audio via ElevenLabs API
4. Saves to public/audio/scenes/
5. Creates manifest.json with durations
6. Updates project.json with timing info
  • George: JBFqnCBsd6RMkjVDRZzb (warm narrator)
  • Rachel: 21m00Tcm4TlvDq8ikWAM (clear female)
  • Adam: pNInz6obpgDQGcFmaJgB (professional male)

List all: client.voices.get_all()

For full API docs, see reference.md.

© digitalsamba, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .claude/skills/elevenlabs of digitalsamba/claude-code-video-toolkit.

  • SKILL.md
  • reference.md

Open the folder on GitHubat commit 2c99460

Used in 1 other repository

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in digitalsamba/claude-code-video-toolkit, which our catalogue first saw on October 7, 2026.

Compare with similar skills

ElevenLabs Voiceover Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

ElevenLabs Voiceover Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
ElevenLabs Voiceover Generator this skilldigitalsamba/claude-code-video-toolkit2.2k1 repos~2.7kAutomated safety check: NotesMIT
Release Videohuytieu/COG-second-brain1.3k—~1.7kAutomated safety check: PassMIT
Musictadaspetra/loop2962 repos~827Automated safety check: PassMIT
Sound Effectstadaspetra/loop2962 repos~1.1kAutomated safety check: PassMIT
Hyperframes Mediachmonitor/chmonitor2991 repos~2.8kAutomated safety check: NotesGPL-3.0
Qiaomu Cutjoeseesun/qiaomu-cut-skill372—~6.8kAutomated safety check: NotesMIT

Similar skills

  • Release Video

    huytieu/COG-second-brain

    Turn a product release (the list of shipped items plus real screen recordings) into a motion recap video and one explained demo per feature, with sound effects tied to on-screen motion and a…

    1.3k GitHub stars~1.7k tokensUpdated 7 days ago
    Media & CreativeAuto-check passed
  • Music

    tadaspetra/loop

    Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.

    296 GitHub starsUsed in 2 repos~827 tokens
    Media & CreativeAuto-check passed
  • Sound Effects

    tadaspetra/loop

    Generate sound effects from text descriptions using ElevenLabs.

    296 GitHub starsUsed in 2 repos~1.1k tokens
    Media & CreativeAuto-check passed
  • Hyperframes Media

    chmonitor/chmonitor

    Audio and media assets for HyperFrames compositions, produced by one shared audio engine (scripts/audio.mjs) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound…

    299 GitHub starsUsed in 1 repo~2.8k tokens
    Media & CreativeAuto-check: notes
  • Qiaomu Cut

    joeseesun/qiaomu-cut-skill

    把一句话需求转成可复现、可验收视频工程的乔木智能剪辑导演。Use when the user asks to create, plan, edit, remix, explain, narrate, subtitle, animate, composite, or render a video—including one-line requests such as “制作一个科普视频:介绍…

    372 GitHub stars~6.8k tokensUpdated 11 days ago
    Media & CreativeAuto-check: notes
  • Video Production

    speechlab0210/video-production-skill

    AI educational video production pipeline. An agent skill from speechlab0210/video-production-skill.

    105 GitHub stars~4.1k tokensUpdated 3 mo ago
    Media & CreativeAuto-check: notes

More from digitalsamba/claude-code-video-toolkit

All 11 skills in this repo
  • FFmpeg for Video Production

    digitalsamba/claude-code-video-toolkit

    Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.

    2.2k GitHub starsUsed in 3 repos~3.3k tokens
    Auto-check passed
  • LTX-2.3 Video Generation

    digitalsamba/claude-code-video-toolkit

    Generates roughly five-second video clips from a text prompt or a still image with the LTX-2.3 22B model, run through a Modal endpoint by `tools/ltx2.py`.

    2.2k GitHub starsUsed in 1 repo~2.4k tokens
    Auto-check: notes
  • Playwright Browser Demo Recording

    digitalsamba/claude-code-video-toolkit

    Records browser interactions as video with Playwright, covering viewport sizing, cursor highlighting, and converting output for Remotion.

    2.2k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • ACE-Step Music Generation

    digitalsamba/claude-code-video-toolkit

    Generates background music, vocal tracks, covers and stems with ACE-Step 1.5 through a bundled music_gen.py tool, using cloud or self-hosted providers.

    2.2k GitHub stars~3.3k tokensUpdated 4 days ago
    Auto-check: notes
  • Ideogram 4 Prompt Builder

    digitalsamba/claude-code-video-toolkit

    Turns a casual image request into the structured JSON caption Ideogram 4 needs for legible on-image text, exact brand colors and controlled layout.

    2.2k GitHub stars~1.3k tokensUpdated 4 days ago
    Auto-check: notes
  • moviepy Text-on-Video Composer

    digitalsamba/claude-code-video-toolkit

    Overlays deterministic, accurate text on AI-generated video clips and builds short single-file Python video projects without a Remotion toolchain.

    2.2k GitHub stars~3.3k tokensUpdated 4 days ago
    Auto-check passed

Questions about ElevenLabs Voiceover Generator

What does ElevenLabs Voiceover Generator do?

Generates narration, sound effects and cloned voices through the ElevenLabs API, with model and setting choices tuned to the content's style. Picks between four text-to-speech models based on what the content actually needs: a multilingual model for the most consistent, production-ready output across 29 languages with no SSML support, two faster models that support break and phoneme tags for pause and pronunciation control, and the most expressive model, flagged as an unreliable alpha that needs extra prompt engineering and retakes. Voice settings such as stability, similarity and style are given as tuned ranges for natural, conversational and energetic delivery styles, rather than one fixed setting for everything.

When should I use ElevenLabs Voiceover Generator?

ElevenLabs Voiceover Generator fits situations like: generating narration or voiceover audio for a video or podcast; choosing the right ElevenLabs model for a given style and language need; cloning a voice from a sample recording for narration; fixing mispronounced words or imprecise pauses in generated speech.

How do I install ElevenLabs Voiceover Generator in Claude Code?

Run `npx skills add digitalsamba/claude-code-video-toolkit --skill elevenlabs -a claude-code`. Or copy the skill folder (.claude/skills/elevenlabs in digitalsamba/claude-code-video-toolkit) into .claude/skills/elevenlabs in your project. Claude Code loads it when a task matches its description.

How do I install ElevenLabs Voiceover Generator in Codex?

Run `npx skills add digitalsamba/claude-code-video-toolkit --skill elevenlabs -a codex`. Or copy the skill folder (.claude/skills/elevenlabs in digitalsamba/claude-code-video-toolkit) into .agents/skills/elevenlabs in your project. Codex loads it when a task matches its description.

Can I use ElevenLabs Voiceover Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add digitalsamba/claude-code-video-toolkit --skill elevenlabs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/elevenlabs, .gemini/skills/elevenlabs, .github/skills/elevenlabs and .opencode/skills/elevenlabs in your project.

What does ElevenLabs Voiceover Generator need to run?

Going by SKILL.md and its folder, ElevenLabs Voiceover Generator needs the command-line tools its instructions call (uv and ffmpeg) and credentials named ELEVENLABS_API_KEY. Our summary lists: An ELEVENLABS_API_KEY in .env.

Does ElevenLabs Voiceover Generator access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is ElevenLabs Voiceover Generator safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does ElevenLabs Voiceover Generator use?

ElevenLabs Voiceover Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does ElevenLabs Voiceover Generator use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to ElevenLabs Voiceover Generator?

Skills that share tags, products or a category with ElevenLabs Voiceover Generator: Release Video (huytieu/COG-second-brain, 1.3k stars), Music (tadaspetra/loop, 296 stars), Sound Effects (tadaspetra/loop, 296 stars) and Hyperframes Media (chmonitor/chmonitor, 299 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains ElevenLabs Voiceover Generator?

digitalsamba (a GitHub organization) maintains it in digitalsamba/claude-code-video-toolkit, which has 2,185 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 5, 2026.

Source: digitalsamba/claude-code-video-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.