Twitch TTSДокументация
API /N/TTS ↗ К озвучке

Документация Twitch TTS

Страница озвучивает сообщения чата Twitch голосами сервиса /N/TTS: от «поставил токен и подключился» до тонкой настройки фильтров, прав зрителей и работы в OBS.

Версия страницы: v8 · Документация обновлена 10.10.2026

Быстрый старт

Чтобы озвучка заработала, нужны три вещи: токен /N/TTS, имя вашего канала и пара кликов.

  1. Получите токен /N/TTS Откройте профиль на сайте /N/TTS (вход там выполняется через Discord) и скопируйте личный API-токен.
  2. Вставьте токен Нажмите чип Токен не задан в шапке, вставьте токен в поле и нажмите «Сохранить токен». Чип станет зелёным: Токен ✓.
  3. Подключитесь к каналу Введите имя канала Twitch (без #) и нажмите «Подключиться». В плитке «Статус» загорится «Подключено».
  4. Включите озвучку Нажмите Все пользователи, чтобы озвучивались все сообщения чата, либо оставьте выключенным и разрешите зрителям команду !tts (см. «Доступ к командам»).

Проверка за 10 секунд. Напишите в своём чате !tts привет. Стример и модераторы могут использовать команду всегда, без дополнительных настроек.

Страница только читает чат (подключение анонимное, без входа в Twitch), поэтому бот не отвечает на команды сообщениями в чате. Все подсказки и ошибки показываются на самой странице.

Токен и подключение

Для чего нужен токен

Токен выдаёт сервис /N/TTS. Он нужен для всего, что создаёт звук или меняет ваши данные:

ДействиеНужен токен
Смотреть список голосов и их описанияНет — список открыт всем
Список эффектовНет
Озвучка сообщений, предпрослушка ▶Да
Загрузка и удаление своих голосовДа (свои голоса привязаны к токену)

Состояния чипа токена

  • Токен не задан — озвучка работать не будет, пока вы его не введёте.
  • Токен ✓ — токен сохранён в этом браузере.
  • Токен отклонён — сервер ответил ошибкой 401: токен неверный или истёк. Очередь остановлена, новые запросы не отправляются, пока вы не сохраните другой токен.

Куда уходят данные

Токен хранится только в вашем браузере (localStorage) и отправляется только на API озвучки в заголовке Authorization. Подробнее — в разделе «Данные и приватность».

Подключение к каналу

Введите имя канала и нажмите «Подключиться» (или Enter в поле). Последний канал запоминается. Состояния подключения:

  • серый — ожидание или отключено;
  • жёлтый — идёт подключение;
  • зелёный — подключено, сообщения читаются;
  • красный — ошибка чата, проверьте имя канала и интернет.

Чтобы подключаться автоматически при открытии страницы, см. «OBS и автоподключение».

Обзор интерфейса

Плитки состояния

Статус подключения, канал, число сообщений в очереди и то, что звучит прямо сейчас. Число в очереди дублируется в заголовке вкладки: (3) Twitch TTS.

Строка управления

Кнопки групп авто-озвучки, бейджи доступа к командам, «Скип» (пропустить текущее) и «Очистить очередь» (остановить звук и удалить всё).

Голоса

Поиск, категории, предпрослушка, копирование ID и добавление своих голосов.

Зрители

До 100 последних авторов сообщений: назначить голос или перестать слушать зрителя.

История

Последние 50 озвученных сообщений с кнопкой «озвучить ещё раз».

Настройки

Выезжающая панель: токен, озвучка, фильтры, автоподключение, резервная копия, список команд.

На экранах уже 900 px три панели превращаются во вкладки «Голоса / Зрители / История», а шапка перестаёт закрепляться.

Бейджи доступа

Показывают, кому из зрителей сейчас разрешены команды !tts и !s: VIP: открыт All: закрыт. Управляются командами !open / !close.

Голоса

Голоса сгруппированы по категориям (игры, фильмы, стримеры и т. д.). Свои голоса всегда закреплены сверху в категории «Мои голоса». Остальные категории свёрнуты — раскрытое состояние запоминается.

  • Поиск работает по названию, ID, категории и описанию; во время поиска все подходящие категории раскрыты.
  • Описание голоса появляется во всплывающей подсказке при наведении на строку.
  • ID голоса — клик по нему копирует идентификатор (он нужен для команды !s).
  • Предпрослушка ▶ озвучивает фразу «так звучит мой голос» с текущими громкостью и эффектом. Нужен токен.

Если голоса не загрузились, вместо списка появится кнопка «Повторить». Страница не требует токена, чтобы показать список, но если анонимный доступ вдруг перестанет работать, сохраните токен: запрос с ним может пройти.

Свои голоса

Вы можете создать голос по образцу записи. Кнопка «Добавить свой голос» открывает форму:

  1. Имя голосаЛюбое название для себя. Из него автоматически подставляется ID: кириллица транслитерируется («Мой Голос» → moy_golos).
  2. ID голосаИменно он отправляется на сервер как speaker_name. Допустимы латиница, цифры и _. Поле можно править вручную: после первой правки автоподстановка из имени прекращается.
  3. АудиофайлОбразец голоса. Требования к длительности и формату определяет сервис /N/TTS; если файл не подошёл, страница покажет ответ сервера.
  • Если ID уже занят (встроенным или вашим голосом), поле сообщает об этом сразу, и отправка блокируется — раньше такой голос загружался и пропадал из списка.
  • После загрузки список обновляется, голос появляется в «Мои голоса» с кнопкой удаления. Удаление необратимо и требует подтверждения.
  • Свои голоса привязаны к токену и доступны с любого устройства, где введён тот же токен.

Голоса зрителей

У каждого зрителя свой голос. Когда его сообщение озвучивается впервые, голос выбирается случайно и запоминается, поэтому он не меняется от сообщения к сообщению.

Как сменить голос зрителю

  • В колонке «Зрители» нажмите кнопку с названием голоса (или «Назначить голос»), найдите голос и выберите его. Пункт «— без голоса —» сбрасывает назначение, голос снова будет выбран случайно.
  • Зритель сам пишет !s id_голоса, если у него есть доступ к командам.
  • Модератор пишет !s ник id_голоса.

Кнопка игнора

Значок динамика в строке зрителя добавляет его в список игнорируемых: его сообщения и команды больше не обрабатываются. Он остаётся в списке зачёркнутым, чтобы вы могли вернуть его в один клик. Стримера игнорировать нельзя.

Голоса и игнор-лист привязаны к логину зрителя. Зритель, сменивший ник, будет считаться новым.

История озвученных сообщений

В панель попадают последние 50 сообщений, которые начали звучать: время, зритель, голос и текст. Кнопка со стрелкой ставит сообщение в очередь ещё раз (повтор помечается «повтор» и проходит без фильтров). Кнопка с корзиной очищает историю.

История хранится только в памяти страницы и пропадает при перезагрузке.

Команды чата

Нажмите значок копирования, чтобы скопировать команду.

Зрителям (если им открыт доступ)

!tts текстозвучить текст
!s id_голосасменить свой голос; подойдёт ID или точное название голоса

Модераторам и стримеру: авто-озвучка

!tts onозвучивать все сообщения чата; сбрасывает ручные списки, выключает random и очищает очередь
!tts offвыключить озвучку всех сообщений (те же сбросы)
!tts on vipвключить для VIP (как кнопка Vip)
!tts off modsвыключить для модераторов; ключевые слова: vip, mods, all
!tts on никвсегда озвучивать этого зрителя
!tts off никне озвучивать этого зрителя автоматически
!tts random 10раз в 10 секунд озвучивать случайное сообщение
!tts random offвыключить рандомную озвучку
!tts clearостановить звук и очистить очередь

Модераторам и стримеру: доступ и голоса

!openоткрыть команды всем зрителям и VIP
!closeзакрыть для всех и сбросить персональные разрешения
!open allоткрыть для всех зрителей (!close all — закрыть)
!open vipоткрыть для VIP (!close vip — закрыть)
!open никразрешить конкретному зрителю (!close ник — запретить)
!s ник id_голосаназначить голос другому зрителю

Слова-команды у модераторов. Если модератор пишет !tts on, !tts off, !tts clear или !tts random …, это всегда управление, а не текст для озвучки.

Голос из нескольких слов. У модератора !s Джо Байден будет понято как «назначить голос Байден зрителю Джо». Для себя указывайте ID голоса.

Доступ к командам

Команды !tts и !s проверяют права по порядку:

  1. Стример и модераторы — всегда можно.
  2. Зритель, которому написали !close ник — нельзя, даже если открыто для всех.
  3. Если открыто для всех (!open all) — можно.
  4. VIP при открытом для VIP — можно.
  5. Зритель, которому написали !open ник — можно.
  6. Иначе — нельзя, команда молча игнорируется.

Доступ к командам и авто-озвучка не зависят друг от друга: авто-озвучка читает обычные сообщения и не требует прав на команды.

Состояние доступа хранится в памяти и сбрасывается при перезагрузке страницы: после неё все команды для зрителей снова закрыты.

Авто-озвучка

Автоматическая озвучка читает обычные сообщения, без команд. Она включается кнопками в строке управления или командами из раздела выше:

КнопкаЧто озвучивается
VipСообщения VIP
ModsСообщения модераторов и стримера
Все пользователиВсе сообщения

Персональные правила сильнее групп: !tts on ник озвучивает зрителя даже при выключенной группе, а !tts off ник отключает ему автоматическую озвучку (команда !tts у него при этом работает по правилам доступа). Количество персональных правил показано рядом с кнопками: «Включено вручную / Отключено вручную».

Включённые группы и персональные списки запоминаются между сеансами.

Рандомная озвучка

Команда !tts random n включает режим, в котором озвучиваются случайные сообщения тех зрителей, которым авто-озвучка не включена. Это удобно, чтобы «подсвечивать» живой чат, не читая его целиком.

  1. С момента включения страница копит сообщения в пул (до 100 штук).
  2. Каждые n секунд (минимум 1) из накопленных выбирается одно случайное сообщение и ставится в очередь.
  3. После выбора пул очищается — копить начинается заново.

Сообщения зрителей с включённой авто-озвучкой в пул не попадают (иначе они прозвучали бы дважды). К рандому применяются анти-спам и ограничение очереди; лимит на одного зрителя не применяется. Режим не сохраняется между перезагрузками.

Настройки: озвучка

Открываются кнопкой «Настройки» в шапке. Все изменения сохраняются сразу.

ПараметрПо умолчаниюОписание
Громкость100%Громкость озвучки и предпрослушки; меняется на лету, даже во время звучания.
Эффект голосаБез эффектаАудиоэффект сервера для всех сообщений и предпрослушки (список ниже).
Макс. символов400От 10 до 500. Слишком длинные сообщения пропускаются целиком, а не обрезаются. Считается после очистки текста.
Пауза между сообщениями4 сОт 0 до 30 секунд. Соблюдается всегда, даже если новое сообщение пришло во время паузы.
Готовить следующее заранееВклПока играет текущее сообщение, следующее уже синтезируется — паузы между репликами короче.
Лимит на одного зрителяВыкл, 10 сНе чаще одного сообщения от зрителя за N секунд (1–600). Касается и авто-озвучки, и !tts. Модераторов и стримера не ограничивает.

Эффекты голоса

Список загружается с сервера, поэтому он всегда актуален:

Настройки: фильтры чата

ФильтрПо умолчаниюЧто делает
Игнорировать ботовВклНе читает и не показывает в списке сообщения известных ботов: Nightbot, StreamElements, Streamlabs, Moobot, Fossabot, WizeBot, Own3d, DeepBot, CoeBot, RevloBot, CommanderRoot, SoundAlerts, KofiStreamBot, Blerp, Streamholics и других.
Не зачитывать смайлы TwitchВклВырезает смайлы Twitch из текста («Kappa привет Kappa» → «привет»). Сообщение из одних смайлов не озвучивается.
Сжимать повторыВклБуква, повторённая больше трёх раз, сокращается до трёх («аааааааа» → «ааа»); слово, повторённое три раза подряд и больше, — до двух («лол лол лол лол» → «лол лол»).
Не зачитывать @упоминанияВыклУбирает слова вида @ник.
Анти-спамВыклНе озвучивает повторно одинаковый текст в течение 30 секунд. Регистр, пробелы, знаки препинания и растянутые буквы различиями не считаются («Привет, ЧАТ!!!» и «привеет чат» — одно и то же). Работает для авто-озвучки и random, но не для явной команды !tts.
Запрещённые словаВыклСообщение, содержащее любое слово или фразу из списка (без учёта регистра, как часть текста), не озвучивается. Действует на всё: авто-озвучку, random и !tts, в том числе у модераторов.
Игнорируемые зрителипустоЛогины по одному на строку. Сообщения и команды этих зрителей игнорируются. Тот же список меняется кнопкой в колонке «Зрители».

Ограничения. Смайлы сторонних расширений (7TV, BTTV, FFZ) в данных Twitch отсутствуют, поэтому не вырезаются: добавьте их названия в «Запрещённые слова». В командах !tts вырезаются только смайлы, которые уже встречались в чате за этот сеанс.

Как обрабатывается сообщение

Порядок важен: он объясняет, почему то или иное сообщение не прозвучало.

  1. Боты и игнор. Известные боты (если фильтр включён) и игнорируемые зрители отбрасываются.
  2. Подходит ли сообщение. Оно должно попасть под авто-озвучку (группа или персональное правило) либо под random. Иначе оно игнорируется.
  3. Очистка текста: смайлы → ссылки и адреса сайтов → @упоминания → повторы → лишние пробелы.
  4. Пустое после очистки или начинающееся с ! — пропускается.
  5. Длина больше лимита — пропускается.
  6. Запрещённые слова — пропускается.
  7. Очередь уже содержит 100 сообщений — пропускается.
  8. Авто-озвучка: анти-спам → лимит на зрителя → проверка токена → голос зрителя → в очередь.
    Для остальных при включённом random сообщение попадает в пул для случайного выбора.

Для команды !tts порядок почти тот же: шаг 1 действует так же, вместо шага 2 проверяются права доступа (стример и модераторы проходят всегда), анти-спам не применяется, а лимит на одного зрителя — применяется.

Очередь, паузы и ошибки

  • Сообщения озвучиваются по одному, в порядке поступления; в очереди помещается до 100.
  • Скип прерывает текущее сообщение и сразу запускает следующее. Если сейчас пауза между сообщениями, «Скип» пропускает паузу.
  • Очистить очередь останавливает звук и удаляет всё ожидающее (то же делает !tts clear).

Что происходит при ошибках

СитуацияПоведение
Ошибка сервера (5xx) или сбой сетиСообщение пробуется до 3 раз, затем пропускается с уведомлением. Остальная очередь не блокируется.
Ошибка запроса (4xx, например неподходящий текст)Сообщение пропускается сразу.
429 — слишком много запросовСтраница ждёт время, указанное сервером, и повторяет запрос.
401 — токен недействителенОчередь очищается и остановлена, пока не будет сохранён новый токен.
Браузер запретил автовоспроизведениеСообщение возвращается в начало очереди; кликните по странице или нажмите клавишу — озвучка продолжится.

Уведомления об ошибках исчезают через 7 секунд или по кнопке закрытия.

OBS и автоподключение

Чтобы страница подключалась к каналу сама, включите «Подключаться к каналу при открытии страницы» в настройках либо задайте параметры в адресе:

/?channel=имя_канала&autoconnect=1подключиться к каналу сразу
/?channel=имя_каналатолько подставить канал
/?autoconnect=0отключить автоподключение на этот раз

Токен через адрес не передаётся, это небезопасно.

Использование в OBS

  • Добавьте страницу как источник «Браузер» (или как пользовательскую док-панель браузера).
  • Чтобы озвучка шла отдельной дорожкой в аудиомикшере, в свойствах источника «Браузер» включите «Управлять звуком через OBS».
  • В обычной вкладке или доке звук воспроизводится на системное устройство вывода, как у любой веб-страницы.

OBS хранит данные отдельно от вашего браузера. Токен и настройки, введённые в Chrome, в OBS не появятся. Введите токен прямо в OBS (ПКМ по источнику → «Взаимодействовать») или перенесите настройки через резервную копию.

Резервная копия

Раздел «Резервная копия» в настройках сохраняет и загружает JSON-файл. Он нужен, чтобы перенести настройки на другой компьютер или браузер либо не потерять их при очистке данных.

Входит в файлНе входит
Все настройки и фильтры, игнор-лист, запрещённые слова, голоса зрителей, включённые группы авто-озвучки и персональные списки API-токен, история, очередь, режим random, права доступа !open

Импорт заменяет текущие настройки и голоса после подтверждения. Некорректные значения в файле отбрасываются или приводятся к допустимым, повреждённый файл страница не применяет.

Данные и приватность

Что и где хранится

ДанныеГдеСохраняется
API-токенВаш браузерДа
Настройки и фильтры, игнор-лист, запрещённые словаВаш браузерДа
Голоса зрителейВаш браузерДа
Группы авто-озвучки и персональные спискиВаш браузерДа
Последний канал, раскрытые категории голосовВаш браузерДа
Свои загруженные голосаСервер /N/TTS (по вашему токену)Да
История, очередь, список зрителей, random, права !openПамять страницыНет

Данные браузера не синхронизируются между устройствами и пропадут при очистке данных сайта и в режиме инкогнито. Для переноса используйте резервную копию.

Куда отправляются запросы

  • Чат Twitch — анонимное подключение только на чтение. Библиотека ComfyJS (версия 1.1.29) загружается с cdn.jsdelivr.net и защищена контрольной суммой (SRI).
  • API озвучки /N/TTS — через зеркало nttsfuckrkn.fdev.team (основной домен может быть недоступен из-за блокировок). Туда уходят текст озвучиваемого сообщения, ID голоса, выбранный эффект и ваш токен в заголовке.

Больше страница никуда ничего не отправляет: собственного сервера у неё нет.

Решение проблем

Сообщения не озвучиваются

Пройдите по списку сверху вниз:

  1. Статус «Подключено», канал указан верно.
  2. Чип токена зелёный Токен ✓.
  3. В колонке «Голоса» отображается число голосов (они загрузились).
  4. Включена нужная группа авто-озвучки (Vip / Mods / Все) или зрителю открыт доступ к !tts.
  5. Сообщение не отсеяно: лимит символов, запрещённые слова, анти-спам, лимит на зрителя, игнор зрителя или бота, сообщение из одних смайлов и ссылок. См. «Как обрабатывается сообщение».
  6. Плитка «В очереди» показывает число > 0, но звука нет — проверьте автовоспроизведение (ниже) и громкость.

«Кликните в любом месте страницы…»

Браузер не разрешает звук, пока вы не взаимодействовали со страницей. Кликните по странице или нажмите любую клавишу: сообщение, которое ждало, начнёт звучать. В источнике OBS обычно это не требуется.

«Сервер отклонил токен (401)»

Токен неверный или истёк. Скопируйте актуальный из профиля /N/TTS и сохраните его в настройках: очередь запустится заново.

Голоса не загрузились

Нажмите «Повторить». Если не помогло, проверьте интернет, VPN и блокировщики для nttsfuckrkn.fdev.team, а также попробуйте ввести токен в настройках: запрос с токеном может пройти, даже если анонимный не проходит.

Настройки пропали на другом компьютере или в OBS

Настройки хранятся в конкретном браузере. Перенесите их через «Резервную копию».

Зрителя не видно в списке или у нескольких зрителей один голос

Известное ограничение: ключом зрителя служит имя, очищенное до латиницы, цифр и _. Если отображаемое имя состоит из других символов, оно не распознаётся; если часть — из латиницы или цифр, ключ строится только из них (например, «Игрок123» превращается в «123»).

Читаются смайлы

Сторонние смайлы (7TV, BTTV, FFZ) страница отличить от слов не может. Добавьте их названия в «Запрещённые слова».

API /N/TTS

Страница работает с публичным API сервиса. Полная официальная документация — на ntts.fdev.team/docs. Ниже — что используется страницей.

ЗапросТокенЗачем
GET /api/v1/tts/speakersне нуженСписок голосов (и своих, если передан токен)
GET /api/v1/tts/effectsне нуженСписок эффектов
GET /api/v1/tts ?speaker=&text=&ext=wav&effect=нуженСинтез речи (звук wav)
POST /api/v1/tts/speakersнуженСоздание голоса: форма с полями audio и speaker_name
DELETE /api/v1/tts/speakers/{id}нуженУдаление своего голоса

Токен передаётся в заголовке Authorization: Bearer …. Страница обращается к зеркалу API: в адресах выше основной домен заменён на nttsfuckrkn.fdev.team.

Клавиатура и доступность

КлавишаДействие
Tab / Shift+TabПеремещение по элементам; в открытой панели настроек фокус не уходит за её пределы
EnterПодключиться (в поле канала), сохранить токен (в поле токена)
EscЗакрыть панель выбора голоса или настроек
/На этой странице — перейти к поиску по документации

Все кнопки и поля имеют подписи для скринридеров, фокус виден, ошибки объявляются автоматически, а контраст текста не ниже 4,5:1. Анимации отключаются, если в системе включено уменьшение движения.

Что нового

ВерсияИзменения
v8Добавлена эта документация и кнопка «Документация» на странице озвучки.
v7Новый интерфейс (шапка, плитки состояния, панель настроек, вкладки на телефоне); история с повтором; «Скип»; фильтры (смайлы, повторы, упоминания, запрещённые слова, игнор-лист, умный анти-спам, лимит на зрителя); предзагрузка и настраиваемая пауза; автоподключение и параметры адреса; резервная копия; транслитерация ID голоса. Исправлено: зависание очереди при ошибке сервера, повторная озвучка одного сообщения, потеря поиска, одновременная предпрослушка, обработка неверного токена, защита от недоступного localStorage; ComfyJS закреплён с контрольной суммой.
v6Настоящий случайный выбор в random; отдельное поле ID голоса и проверка занятости.
v5Эффекты голоса; список голосов без токена; описания голосов; громкость; игнор ботов; анти-спам; настраиваемый лимит символов.
v4«Сейчас звучит»; предпрослушка голоса; бейджи доступа; кнопка остановки очереди; адаптивная вёрстка; автоскрытие ошибок.
v3Кнопки групп авто-озвучки; выбор голоса зрителю из списка; список всех зрителей чата.
По вашему запросу ничего не найдено. Попробуйте другое слово.