Back to Skills

elevenlabs-narration

verified

ElevenLabs TTS integration for video narration. Use when generating voiceover audio, selecting voices, or building script-to-audio pipelines

View on GitHub

Marketplace

orchestkit

yonatangross/orchestkit

Plugin

ork

development

Repository

yonatangross/orchestkit
55stars

plugins/ork/skills/elevenlabs-narration/SKILL.md

Last Verified

February 4, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/yonatangross/orchestkit/blob/main/plugins/ork/skills/elevenlabs-narration/SKILL.md -a claude-code --skill elevenlabs-narration

Installation paths:

Claude
.claude/skills/elevenlabs-narration/
Powered by add-skill CLI

Instructions

# ElevenLabs Narration for Video Production

Complete integration guide for using ElevenLabs text-to-speech in video production pipelines. Covers voice selection, timing calculations, API patterns, and cost optimization for professional narration.

## Overview

- Generating narration audio for video segments
- Selecting appropriate voices for content type
- Calculating segment timing from frames to milliseconds
- Building script-to-audio pipelines
- Optimizing API usage and costs
- Handling rate limits and errors

## ElevenLabs API Overview

### Model Comparison (2026)

| Model | Latency | Quality | Cost | Best For |
|-------|---------|---------|------|----------|
| **eleven_multilingual_v2** | Medium | Best | $0.30/1K chars | Production, multilingual |
| **eleven_turbo_v2_5** | Low | Excellent | $0.18/1K chars | Real-time, drafts |
| **eleven_flash_v2_5** | Lowest | Good | $0.08/1K chars | Previews, testing |
| **eleven_english_sts_v2** | Medium | Best | $0.30/1K chars | Speech-to-speech |

### API Endpoints

```
Base URL: https://api.elevenlabs.io/v1

POST /text-to-speech/{voice_id}           # Generate audio
POST /text-to-speech/{voice_id}/stream    # Stream audio
GET  /voices                              # List voices
GET  /voices/{voice_id}                   # Voice details
GET  /user                                # Usage/quota
POST /speech-to-speech/{voice_id}         # Voice conversion
```

## Core Integration Pattern

### Basic Text-to-Speech

```typescript
import { ElevenLabsClient } from 'elevenlabs';

const client = new ElevenLabsClient({
  apiKey: process.env.ELEVENLABS_API_KEY
});

async function generateNarration(
  text: string,
  voiceId: string = 'Rachel'
): Promise<Buffer> {
  const audio = await client.generate({
    voice: voiceId,
    text: text,
    model_id: 'eleven_multilingual_v2',
    voice_settings: {
      stability: 0.5,
      similarity_boost: 0.8,
      style: 0.0,
      use_speaker_boost: true
    }
  });

  // Convert stream to buff

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7002 chars