Суть урока
Голос диктора — отдельная статья расходов: расписание, студия, ставка за час. Платформа синтеза речи тарифицируется иначе: плата за объём (кредиты в месяц), и на длинных текстах разница заметная (актуальные тарифы: Актуальное сейчас). Claude пишет скрипт (сценарий или программный код), ElevenLabs озвучивает, FFmpeg склеивает видео. Без диктора, без студии, без расписания. Один раз настроил пайплайн (цепочка последовательных шагов) — дальше фабрика работает сама.
Ключевые концепции
- TTS (Text-to-Speech) — технология синтеза речи из текста
- Voice cloning — клонирование голоса (создание AI-копии голоса), цифровой клон твоего голоса из образца
- ElevenLabs — одна из ведущих коммерческих платформ TTS
- ElevenLabs MCP (эм-си-пи — протокол контекста модели) — прямая интеграция с Claude Code: размещённый сервер с входом через OAuth или локальный сервер
- Eleven v4 — новая модель ElevenLabs (28.09.2026): больше управления интонацией, 90+ языков; ранее основной была Multilingual v2
- Kokoro TTS — open source альтернатива для офлайн-озвучки (русский язык не поддерживается)
- TTS пайплайн — Claude пишет скрипт → TTS озвучивает → FFmpeg собирает видео
Теория
Зачем TTS в AI-стеке — вопрос масштаба
Озвучка — последний ручной шаг в производстве контента. Claude пишет текст автоматически, изображения генерирует Midjourney, видео собирает FFmpeg. Но диктор всё ещё живой человек с расписанием и ценником.
TTS закрывает этот пробел.
Три сценария где TTS меняет экономику:
Сценарий 1: YouTube канал на масштабе
Один диктор озвучивает 4-5 видео в неделю — физический предел. С TTS это 20-30 видео, одинакового качества, в одно ночное окно. Голос всегда в одном настроении, никогда не устаёт, не просит переснять.
Сценарий 2: Локализация
Перевод видео на 10 языков с живым диктором — это 10 дикторов и 10 расписаний. С Eleven v4 тот же голос звучит на десятках языков (90+ по данным ElevenLabs на октябрь 2026), а сам пайплайн занимает часы. Произношение и перевод перед публикацией проверяет носитель языка.
Сценарий 3: Аудиокниги и подкасты
Книга на 80 000 слов у диктора — 8-10 часов записи плюс монтаж. Синтез тратит кредиты тарифа: посчитай число символов рукописи и сравни с лимитом тарифа (актуальные цены: Актуальное сейчас). Claude читает рукопись, улучшает для восприятия на слух, ElevenLabs озвучивает главами.
ElevenLabs — устройство и ценообразование
ElevenLabs — одна из самых известных платформ профессионального TTS.
Что внутри (на октябрь 2026):
| Параметр | Значение |
|---|---|
| Модели | Eleven v4 (вышла 28.09.2026), ранее основной была Multilingual v2; есть быстрые модели Flash и Turbo |
| Языки | 90+ у Eleven v4 (по данным ElevenLabs) |
| Форматы вывода | несколько, задаются параметром output_format (например, mp3_44100_128) |
| Клонирование | быстрый клон и профессиональный клон |
| Кроме озвучки | распознавание речи, звуковые эффекты, музыка, голосовые агенты |
Тарифы на октябрь 2026 (актуальные цены: Актуальное сейчас и страница тарифов ElevenLabs):
| План | Цена в месяц | Кредитов в месяц | Коммерческая лицензия | Клонирование |
|---|---|---|---|---|
| Free | $0 | 10 000 | нет | нет |
| Starter | $6 | смотри страницу тарифов | да | быстрый клон |
| Creator | $22 (первый месяц $11) | смотри страницу тарифов | да | быстрый и профессиональный клон |
| Pro | $99 | смотри страницу тарифов | да | быстрый и профессиональный клон |
Расход кредитов зависит от модели и длины текста: посчитай его на коротком тесте и умножь на свой объём. На бесплатном тарифе коммерческой лицензии нет, для клиентских проектов нужен платный.
Voice Cloning: фотография голоса
Voice cloning (клонирование голоса) — создание цифрового клона голоса из аудио образца. После клонирования система синтезирует речь с теми же тембром, интонацией и ритмом.
Требования к образцу:
- Быстрый клон: короткий образец чистой речи (ElevenLabs заявляет клон по 10 секундам записи для Eleven v4). Чем чище и разнообразнее запись, тем лучше результат
- Профессиональный клон: заметно более длинная запись (точные требования смотри в справке ElevenLabs)
- Формат: WAV или MP3, без фоновых шумов
- Без музыки, без других голосов, без эха
Инструкция по быстрому клонированию:
- Зайди на elevenlabs.io → раздел Voices → добавить голос → быстрый клон (нужен тариф Starter или выше)
- Загрузи аудио файл
- Дай голосу название (например "MyVoice_RU")
- Подтверди, что голос твой или что у тебя есть разрешение его владельца
- Дождись обработки и скопируй Voice ID из настроек голоса
После клонирования голос доступен через API. Voice ID нужен для всех запросов.
Важно: ElevenLabs требует согласия владельца голоса на клонирование. Не клонируй голоса без разрешения — это нарушает ToS (Terms of Service — условия использования) и законодательство многих стран.
Базовый пример: Claude пишет скрипт, ElevenLabs озвучивает
from elevenlabs.client import ElevenLabs
import anthropic
import os
anthropic_client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
eleven = ElevenLabs(api_key=os.environ["ELEVENLABS_API_KEY"])
# Шаг 1: генерируем скрипт через Claude
response = anthropic_client.messages.create(
model="claude-sonnet-5-5", # актуальные идентификаторы моделей: документация Anthropic
max_tokens=1000,
messages=[{
"role": "user",
"content": (
"Напиши 60-секундный скрипт для рекламы услуг AI-консультанта. "
"Тон: профессиональный, уверенный, без пустых обещаний. "
"Примерно 150-160 слов. Только текст для озвучки, без ремарок."
)
}]
)
script = "".join(b.text for b in response.content if b.type == "text")
print(f"Скрипт ({len(script.split())} слов):\n{script}\n")
# Шаг 2: озвучиваем через ElevenLabs
audio = eleven.text_to_speech.convert(
text=script,
voice_id="JBFqnCBsd6RMkjVDRZzb", # голос из примера документации; свой Voice ID бери в разделе Voices
model_id="eleven_v4", # модель на октябрь 2026; актуальные имена моделей смотри в документации
output_format="mp3_44100_128",
)
with open("ad-script.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
print("Файл сохранён: ad-script.mp3")Установка:
pip install elevenlabs anthropicПеременные окружения:
export ANTHROPIC_API_KEY="sk-ant-..."
export ELEVENLABS_API_KEY="sk_..."ElevenLabs MCP — озвучка прямо из Claude Code
ElevenLabs предлагает официальные MCP серверы. На октябрь 2026 рекомендуемый вариант — размещённый сервер: ничего не нужно ставить на компьютер, вход через OAuth. Прежний локальный сервер в репозитории ElevenLabs помечен как устаревший. После подключения Claude может озвучивать текст, выбирать голоса и сохранять файлы прямо из чата, без Python скриптов (программных кодов).
Подключение:
# Размещённый сервер ElevenLabs (рекомендуется; вход через OAuth, ключ API не нужен)
claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp
# потом внутри Claude Code: /mcp и пройти вход
# Прежний локальный сервер (в репозитории помечен как устаревший; нужен uv и ключ API в окружении)
claude mcp add elevenlabs --env ELEVENLABS_API_KEY=ваш_ключ -- uvx elevenlabs-mcpИли через .mcp.json (локальный сервер):
{
"mcpServers": {
"elevenlabs": {
"command": "uvx",
"args": ["elevenlabs-mcp"],
"env": {
"ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}"
}
}
}
}После подключения Claude получает инструменты (набор зависит от сервера, точный список смотри на elevenlabs.io/mcp и в репозитории сервера):
- Синтез речи по тексту
- Клонирование голоса и работа с голосами
- Транскрипция, очистка звука, преобразование речи в речь
- Генерация звуковых ландшафтов и музыки
Пример запроса в чате:
Озвучь следующий текст одним из доступных голосов и сохрани в файл intro.mp3: "Добро пожаловать на урок про озвучку. За следующие десять минут ты соберёшь первый пайплайн: сценарий, голос и готовый аудиофайл."
Claude вызовет MCP инструмент и сохранит файл без дополнительного кода.
Бесплатные альтернативы — когда ElevenLabs избыточен
| Сервис | Качество | Цена | Клонирование | Офлайн |
|---|---|---|---|---|
| ElevenLabs | ⭐⭐⭐⭐⭐ | Free и платные тарифы (см. выше) | ✅ на платных | ❌ |
| OpenAI TTS | ⭐⭐⭐⭐ | оплата по объёму через API (цены: Актуальное сейчас) | ❌ | ❌ |
| Kokoro TTS | ⭐⭐⭐ | Бесплатно | ❌ (готовые голоса) | ✅ |
| macOS say | ⭐⭐ | Бесплатно | ❌ | ✅ |
OpenAI TTS — API идентичен другим OpenAI endpoints (конечным точкам API), 13 встроенных голосов, русский язык поддерживается (по документации OpenAI). Нет клонирования собственного голоса. Подходит, когда уже используешь OpenAI.
import openai, os
client = openai.OpenAI(api_key=os.environ["OPENAI_API_KEY"])
with client.audio.speech.with_streaming_response.create(
model="gpt-4o-mini-tts", # tts-1 и tts-1-hd — более ранние модели
voice="coral", # одна из встроенных голосов, список в документации OpenAI
input="Текст для озвучки здесь",
instructions="Говори спокойно и дружелюбно.",
) as response:
response.stream_to_file("output.mp3")Kokoro TTS — open source, работает локально, веса под лицензией Apache 2.0. Качество ниже ElevenLabs, но бесплатно и без отправки данных в облако. Важно: по README проекта Kokoro поддерживает американский и британский английский, испанский, французский, хинди, итальянский, японский, бразильский португальский и китайский. Русского языка нет, поэтому для русскоязычной озвучки Kokoro не подойдёт.
pip install "kokoro>=0.9.4" soundfilefrom kokoro import KPipeline
import soundfile as sf
pipeline = KPipeline(lang_code="a") # "a" — американский английский; русского языка нет
generator = pipeline("Text for local voiceover", voice="af_heart")
for i, (_, _, audio) in enumerate(generator):
sf.write(f"output-{i}.wav", audio, 24000)macOS say — встроен в каждый Mac, бесплатный, работает офлайн. Качество роботизированное, но для прототипов и тестирования — идеально.
# Базовая озвучка
say "Привет, это тестовая озвучка"
# С сохранением в файл
say -v "Milena" -o output.aiff "Текст для озвучки"
# Конвертация в MP3 через ffmpeg
say -v "Milena" -o /tmp/output.aiff "Текст" && \
ffmpeg -i /tmp/output.aiff output.mp3 -y -loglevel error
# Список доступных голосов на русском
say -v "?" | grep ruYouTube пайплайн с TTS озвучкой
Полный скрипт: тема видео на входе, готовый MP4 (видеофайл) на выходе.
#!/usr/bin/env bash
# tts-video-pipeline.sh
# Использование: ./tts-video-pipeline.sh "Тема видео" background.jpg
set -euo pipefail
TOPIC="$1"
BACKGROUND="${2:-background.jpg}"
OUTPUT_DIR="./output"
mkdir -p "$OUTPUT_DIR"
echo "Тема: $TOPIC"
# Шаг 1: Claude пишет скрипт (через claude CLI)
echo "Пишу скрипт..."
SCRIPT=$(claude -p "Напиши 3-минутный YouTube скрипт на тему: $TOPIC.
Тон: разговорный, конкретный, без клише.
Длина: 400-450 слов. Только текст для диктора, без ремарок и заголовков.")
echo "$SCRIPT" > "$OUTPUT_DIR/script.txt"
echo "Скрипт: $(echo "$SCRIPT" | wc -w) слов"
# Шаг 2: ElevenLabs озвучивает
echo "Озвучиваю..."
python3 << PYEOF
from elevenlabs.client import ElevenLabs
import os
client = ElevenLabs(api_key=os.environ["ELEVENLABS_API_KEY"])
with open("$OUTPUT_DIR/script.txt", encoding="utf-8") as f:
text = f.read()
audio = client.text_to_speech.convert(
text=text,
voice_id="JBFqnCBsd6RMkjVDRZzb", # голос из примера документации, замени на свой Voice ID
model_id="eleven_v4",
output_format="mp3_44100_128",
)
with open("$OUTPUT_DIR/voiceover.mp3", "wb") as out:
for chunk in audio:
out.write(chunk)
print("Озвучка готова")
PYEOF
# Шаг 3: FFmpeg создаёт видео
echo "Собираю видео..."
DURATION=$(ffprobe -v error -show_entries format=duration \
-of csv=p=0 "$OUTPUT_DIR/voiceover.mp3" | awk '{print int($1+1)}')
ffmpeg \
-loop 1 -i "$BACKGROUND" \
-i "$OUTPUT_DIR/voiceover.mp3" \
-c:v libx264 -tune stillimage \
-c:a aac -b:a 192k \
-pix_fmt yuv420p \
-t "$DURATION" \
"$OUTPUT_DIR/video.mp4" \
-y -loglevel error
echo "Готово: $OUTPUT_DIR/video.mp4 (${DURATION}с)"Запуск:
chmod +x tts-video-pipeline.sh
./tts-video-pipeline.sh "Как работает RAG в Claude" background.jpgГолосовой дневник и подкаст за 5 минут
Говоришь вслух свои мысли → Whisper (STT — эс-ти-ти, Speech-to-Text — распознавание речи в текст) транскрибирует → Claude редактирует для слуха → ElevenLabs озвучивает профессионально.
import whisper
import anthropic
from elevenlabs.client import ElevenLabs
import os
# Модели
whisper_model = whisper.load_model("small")
claude = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
eleven = ElevenLabs(api_key=os.environ["ELEVENLABS_API_KEY"])
def voice_to_podcast(audio_file: str, output_file: str = "podcast.mp3"):
"""
audio_file: запись голоса (WAV/MP3)
output_file: готовый подкаст-эпизод
"""
# Шаг 1: транскрибируем голосовую заметку
print("Транскрибирую...")
result = whisper_model.transcribe(audio_file, language="ru")
raw_text = result["text"]
print(f"Транскрибация ({len(raw_text.split())} слов): {raw_text[:100]}...")
# Шаг 2: Claude редактирует для восприятия на слух
print("Редактирую...")
response = claude.messages.create(
model="claude-sonnet-5-5", # актуальные идентификаторы моделей: документация Anthropic
max_tokens=2000,
messages=[{
"role": "user",
"content": (
"Это транскрибация устной речи. Отредактируй для подкаста:\n"
"- Убери слова-паразиты (э-э, ну, значит, вот)\n"
"- Исправь обрывы фраз\n"
"- Сохрани разговорный тон и структуру мысли\n"
"- Не добавляй ничего нового — только редактирование\n\n"
f"Текст:\n{raw_text}"
)
}]
)
edited_text = "".join(b.text for b in response.content if b.type == "text")
# Шаг 3: ElevenLabs озвучивает профессионально
print("Озвучиваю...")
audio = eleven.text_to_speech.convert(
text=edited_text,
voice_id="JBFqnCBsd6RMkjVDRZzb", # голос из примера документации, замени на свой Voice ID
model_id="eleven_v4",
output_format="mp3_44100_128",
)
with open(output_file, "wb") as out:
for chunk in audio:
out.write(chunk)
print(f"Подкаст готов: {output_file}")
return edited_text
# Запуск
edited = voice_to_podcast("my-thoughts.wav", "podcast-ep01.mp3")
print("\nОтредактированный текст сохранён в podcast-ep01-script.txt")
with open("podcast-ep01-script.txt", "w", encoding="utf-8") as f:
f.write(edited)Услуги на основе TTS
TTS — не только инструмент для себя. Это основа трёх видов услуг. Цен здесь нет намеренно: цену услуги считай по уроку Как назначить цену, доход никто не гарантирует.
Вариант 1: Озвучка книг и курсов
Клиент приносит рукопись, ты отдаёшь аудио по главам. Claude редактирует текст для слуха, ElevenLabs озвучивает. Себестоимость считается по кредитам: число символов рукописи против кредитов тарифа. Нужны платный тариф с коммерческой лицензией и подтверждённые права клиента на текст.
Идея: десятки часов работы диктора заменяются несколькими часами твоего пайплайна. Качество проверяй на слух: ошибки ударений и имён собственных остаются за тобой.
Вариант 2: Локализация контента
Блогер или бизнес хочет перевести видеокурс на несколько языков. Ты используешь Eleven v4 с тем же голосом. Перевод и произношение проверяет носитель языка, иначе ошибки уйдут в публикацию.
Вариант 3: TTS SaaS (Software-as-a-Service — программное обеспечение как услуга) для малого бизнеса
Риэлторы, репетиторы, малый бизнес — все записывают объявления и презентации голосом. Можно обернуть API ElevenLabs в простой веб-интерфейс: загрузил текст → выбрал голос → скачал MP3. Перед запуском проверь условия API ElevenLabs на перепродажу и коммерческое использование, а себестоимость посчитай по уроку Сколько стоит клиент и сколько он приносит.
Практика
Зарегистрируйся на elevenlabs.io → получи API ключ (Free план — бесплатный тариф достаточен для старта)
Установи зависимости:
bash pip install elevenlabs anthropicЗапусти базовый скрипт "Claude пишет → ElevenLabs озвучивает" из раздела теории. Послушай результат.
Клонируй свой голос (нужен тариф Starter или выше): запиши 60 секунд чёткой речи (читай любой текст), загрузи на ElevenLabs в разделе Voices (быстрый клон). Замени
voice_idв коде на свой Voice ID.Создай файл
tts-video-pipeline.sh, сделай исполняемым, запусти с любой темой. Проверь итоговый MP4.(Продвинуто) Установи Kokoro TTS локально, озвучь английский текст — сравни с ElevenLabs (русский язык Kokoro не поддерживает). Запомни разницу в качестве.
Инструменты и ресурсы
- ElevenLabs — регистрация, API ключ, клонирование голоса
- ElevenLabs API Docs — полная документация
- ElevenLabs MCP — размещённый MCP сервер; прежний локальный: elevenlabs-mcp
- OpenAI TTS — альтернатива, 13 встроенных голосов
- Kokoro TTS — open source (открытый исходный код), офлайн, без русского языка
- OpenAI Whisper — для STT части пайплайна
- Цены и версии: Актуальное сейчас
Ключевые выводы
TTS — последний ручной шаг в контент-пайплайне. ElevenLabs его закрывает. Один голос → много видео, 90+ языков у Eleven v4, без студии.
Voice cloning = короткий образец → бесконечная озвучка. Записал один раз — твой голос работает без тебя, пока у тебя есть разрешение владельца голоса.
Услуги на TTS (озвучка книг, локализация, TTS SaaS) считай по себестоимости: кредиты тарифа, твоё время, проверка носителем языка. Цены и доход никто не гарантирует.
Бесплатный стек для старта: macOS say для тестов, Kokoro TTS для офлайн-прототипов на английском, ElevenLabs Free (10 000 кредитов в месяц, без коммерческой лицензии) для первых экспериментов.
Следующий урок
→ Музыка через AI — Suno и звуковой дизайн — фоновая музыка, джинглы и звуковые эффекты для видео и подкастов
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс