Worder API
Генерируйте речь настоящих, подтверждённых человеческих голосов программно. Оплата за секунду сгенерированного аудио.
Почему стоит строить на Worder?
Голоса из этичных источников
Каждый голос загружен и подтверждён на видео самим актёром озвучивания. Никаких собранных без спроса данных.
Оплата за секунду
Каждый актёр устанавливает свою цену за секунду. Платите только за сгенерированное аудио или экономьте с тарифами подписки.
Актёры получают 90%
После комиссий за обработку карт и ИИ-генерацию актёры озвучивания получают 90% с каждой продажи. Выплаты проходят через Stripe Connect.
Быстрый старт
1. Получите API-ключ и пополните кредиты
Создайте аккаунт, затем откройте Личный кабинет → API для разработчиков и создайте ключ. Пополните кредиты (минимум $5) — каждая генерация списывается с вашего баланса или с подписки на актёра озвучивания.
2. Найдите голос и образец
curl https://worder.com/api/v1/voices \ -H "Authorization: Bearer wdr_YOUR_API_KEY"
Возвращает голоса с идентификаторами, образцами, языками, ценами за секунду и тарифами подписки. Или откройте маркетплейс и скопируйте ID голоса и образца со страницы любого образца → «Сгенерировать через API».
3. Сгенерируйте речь
curl -X POST https://worder.com/api/v1/generate \
-H "Authorization: Bearer wdr_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_id": "VOICE_ID",
"sample_id": "SAMPLE_ID",
"text": "[happy] Hello, this is a test of the Worder API. [pause 1] [calm] Now let us discuss the details."
}'Возвращает подписанный URL сгенерированного WAV, число произведённых секунд, списанную сумму и признак того, списана ли она с подписки или с кредитов.
Типы голосов
Одноэмоциональный
Один образец записи. Весь текст генерируется в одном тоне. Теги направления недоступны. Подходит для дикторского текста, объявлений и контента в едином стиле.
Многоэмоциональный
13 эмоциональных стилей, записанных актёром озвучивания. Покупатели используют теги направления вроде [happy], [angry], [calm], чтобы переключать эмоции по ходу текста. Подходит для рекламы, историй, персонажей и динамичного контента.
Доступные теги: normal, excited, happy, confident, fast, calm, surprised, angry, thoughtful, sad, annoyed, scared, nervous.
Поле voiceType в ответе API показывает тип голоса. Используйте descriptiveTags (до 5 ключевых слов вроде «низкий», «тёплый», «профессиональный»), чтобы искать голоса с нужными качествами.
Справочник API
/api/v1/voicesСписок голосов, подтверждённых на видео и имеющих хотя бы один образец.
Параметры запроса
language — Фильтр по языку (например, "English")
search — Поиск по имени без учёта регистра
limit — Результатов на страницу (по умолчанию 20, максимум 100)
offset — Смещение для постраничной выборки
Ответ
{
"voices": [
{
"id": "...",
"name": "Professional Narrator",
"language": "English (United States)",
"accent": null,
"voiceType": "MULTI_EMOTION",
"descriptiveTags": ["deep", "warm", "professional"],
"samples": [
{ "id": "...", "label": "normal" },
{ "id": "...", "label": "happy" },
{ "id": "...", "label": "angry" }
],
"user": {
"id": "...",
"name": "Sarah Mitchell",
"pricePerSecondCents": 5,
"volumeDiscounts": [
{ "threshold": 3600, "discountPercent": 20 }
],
"storefront": { "slug": "sarahmitchell" }
}
}
],
"total": 42,
"limit": 20,
"offset": 0
}/api/v1/generateГенерирует речь выбранным голосом. Если у вас есть активная подписка на этого актёра озвучивания, секунды списываются с подписки. Иначе кредиты списываются по цене актёра за секунду.
Тело запроса (JSON)
voice_id обязательно — ID голоса
sample_id — Образец по умолчанию для текста без тегов (по умолчанию — первый образец)
text обязательно — Текст для синтеза (от 30 до 5 000 символов). Поддерживает теги направления и теги паузы (см. ниже).
Теги направления
Заключите части текста в квадратные скобки с именем тега, совпадающим с одной из меток образцов голоса. Worder генерирует каждый фрагмент соответствующим образцом, а затем склеивает аудио.
"text": "[happy] Welcome to the show! [confident] Now let's talk business."
Доступные теги зависят от голоса — смотрите поле samples[].label в ответе /api/v1/voices. Текст без тегов использует указанный sample_id или первый образец. У многоэмоционального голоса тег, не совпадающий ни с одним образцом, возвращает 422 со списком доступных тегов — ничего не генерируется и не списывается. Тексты с 13 стандартными тегами работают на любом голосе, который их предлагает.
Тег паузы
Вставляет тишину между фрагментами. Укажите длительность в секундах (целое или дробное число, максимум 30). Текст после паузы продолжается в стиле предыдущего тега.
"text": "[excited] Big news! [pause 2] [calm] But let's take it one step at a time." "text": "[calm] Take a breath. [pause 1.5] Now continue." "text": "[happy] Hola! [pausa 3] [calm] Ahora hablemos con calma."
Поддерживаются и [pause N], и [pausa N] (работает на любом языке).
Тег акцента
Используйте [emphasize], чтобы усилить громкость следующего фрагмента. Стиль голоса не меняется — используется тот же образец, что и у предыдущего тега. Текст после [emphasize] продолжается в стиле предыдущего тега.
"text": "[calm] Take a deep breath. [emphasize] Now give it everything you've got!"
Также поддерживаются: [emphasis], [enfatizar], [énfasis].
Переопределение произношения
Используйте {written|spoken}, чтобы управлять произношением отдельных слов. Движок TTS получает вариант «spoken»; проверка качества сравнивает результат с вариантом «written».
"text": "{Pulse|Pols} es la energía que necesitas. {Nike|Naiki} también lo sabe."Полезно для названий брендов, иностранных слов и технических терминов, которые TTS произносит неправильно.
Требования к фрагментам
Каждый фрагмент с тегом должен содержать не менее 30 символов. Более короткие фрагменты дают ненадёжный результат. Если слишком коротких фрагментов несколько, API возвращает все ошибки сразу.
После генерации Worder расшифровывает результат с помощью Whisper и сравнивает его с исходным текстом. Если совпадение ниже 90%, генерация отклоняется (422) — плата не взимается.
Ответ
{
"audio_url": "https://...",
"voice_id": "...",
"sample_id": "...",
"seconds_generated": 12,
"cost_cents": 60,
"charged_via": "credits",
"subscription_id": null,
"balance_cents": 9940
}Коды ошибок
400 — Ошибка валидации (слишком короткий текст, несовпадение языка, слишком короткий фрагмент). Может содержать несколько ошибок, разделённых переводами строки.
401 — Неверный или отсутствующий API-ключ
402 — Недостаточно кредитов (ответ содержит required_cents, balance_cents)
404 — Голос или образец не найден
422 — Проверка качества не пройдена (ответ содержит similarity, transcript, quality_failed: true). Плата не взимается.
502 — Ошибка генерации (ошибка сервиса TTS)
Цены
Оплата за секунду — каждый актёр озвучивания устанавливает свою цену (минимум $0.01/с). Вы платите только за фактически произведённые секунды аудио.
Подписки — месячный пакет секунд (1, 10 или 100 часов) со скидкой 20–60% от цены за секунду. Подписки покупаются в интерфейсе сайта и применяются автоматически при вызовах API.
Кредиты — разовые пополнения аккаунта, минимум $5. Кредиты списываются, когда генерацию не покрывает подписка.
Распределение выручки — комиссии за обработку карт и ИИ-генерацию вычитаются первыми. Из оставшегося актёры озвучивания получают 90% (через Stripe Connect), а Worder — 10%.