Skip to content

Опции

Опции задаются для проекта во вкладке «Настройки» кабинета и действуют на все записи. Для одной записи их можно изменить: в кабинете в блоке «Опции распознавания», в API полем settings при загрузке. Ключи одни и те же.

КлючОпцияТариф
formattingПунктуация и заглавные буквы×1
itnЧисла, даты и суммы цифрами×1
stereo_channels_as_speakersСтерео-каналы это собеседники×1
diarization, max_speakersРазделение по спикерам×1
genderПол голоса×1
speaker_roles, call_directionКлиент и менеджер×1
speaker_identificationУзнавать по голосу×1
word_timestampsВремя каждого слова×1
webhook_urlАдрес для уведомления о готовности×1
emotionЭмоции×2
piiПерсональные данные×1.2

У нового проекта включено всё, включая платное. Пока вы не выключили «Эмоции» и «Персональные данные», каждая запись идёт по тарифу ×2.2, то есть больше чем вдвое дороже. Выключить можно в кабинете во вкладке «Настройки» или передать "emotion": false, "pii": false в настройках проекта либо в отдельном запросе.

Три первые опции кабинет не показывает: formatting, itn и stereo_channels_as_speakers включены всегда, потому что выключать их почти никогда не нужно — они не стоят денег и не портят текст. Если всё-таки нужно, это делается только через API, полем settings.

Пунктуация и заглавные буквы

Отдельная модель расставляет точки, запятые и вопросительные знаки и поднимает первую букву предложений и имён. Распознанные слова не меняются.

В ответе: segments[].formatted_text и общий text. Без опции текст идёт строчными буквами без знаков.

Числа, даты и суммы цифрами

«ikki ming yigirma olti» становится «2026», «besh yuz ming so'm» становится «500 000 so'm». Работает по правилам, в строгом режиме: если правило не уверено, слово остаётся словами. Применяется после пунктуации.

Стерео-каналы это собеседники

Для двухканальных записей, где стороны уже разделены по каналам — чаще всего это телефония: левый канал одна сторона, правый другая. Каждый канал распознаётся отдельно и получает номер спикера 0 или 1. Это точнее любого разделения по голосу, потому что стороны уже разделены телефонией.

Для моно-записей ничего не меняет. В ответе stereo_parties: true.

Разделение по спикерам

Для моно-записей с несколькими голосами. Модель слушает запись целиком, делит речь между голосами по тембру, и каждая реплика получает номер спикера: 0, 1, 2, 3. До четырёх голосов.

max_speakers говорит модели, сколько голосов искать. Если известно, что разговор двоих, укажите 2: модель не будет находить лишних. По умолчанию 0, модель решает сама.

Двухканальным записям это не нужно: каналы и есть собеседники. stereo_channels_as_speakers включён всегда и в кабинете не показывается; выключить его можно только через API, для одного запроса.

Пол голоса

По тембру, окнами по 8 секунд речи каждого спикера. Если речи мало или голос на границе, ответ «неизвестно», а не догадка.

В ответе: speaker_info[].gender = {"label": "female" | "male" | "unknown", "confidence": 0.93}.

Клиент и менеджер

По тексту разговора: кто здоровается первым, кто представляется компанией, кто спрашивает и кто отвечает. Нужны ровно два спикера: стерео-каналы или разделение по спикерам. Если max_speakers не задан, при включённых ролях модель ищет двоих.

call_direction передаётся на каждый запрос и повышает точность: "inbound" входящий звонок, "outbound" исходящий, пусто если это не звонок или неизвестно. В кабинете это выбор «Что это за запись» при загрузке.

В ответе: speaker_info[].role = "client" | "manager" | "unknown" и options_report.roles с направлением и тем, кто говорил первым.

Узнавать по голосу

Из речи каждого спикера считается голосовой отпечаток и сравнивается с голосами проекта. Знакомый голос получает свой постоянный номер и имя, если его дали. Новый голос, у которого в записи есть 10 секунд речи и больше, регистрируется сам и с этого момента узнаётся в следующих записях.

В ответе: voices[] со связью «спикер этой записи → номер голоса проекта» и speaker_info[].identity. Как давать имена, объединять голоса и отмечать реплики как одного человека: Голоса и спикеры.

Эмоции

Аудио-модель слушает каждую реплику, не текст, и относит её к одному из состояний: нейтрально, недовольство, напряжение, позитив, удивление. По спикеру считается доля каждого состояния и преобладающее.

Кроме класса модель даёт три шкалы от 0 до 1 и уверенность. Как их читать: Шкалы эмоций.

В ответе: segments[].emotion = {"mood", "label", "confidence", "probabilities", "valence", "arousal", "dominance", "windows"} и speaker_info[].emotion = {"dominant_mood", "mood_share", "valence", "arousal", "dominance"}.

Цена: секунды аудио считаются вдвое.

Персональные данные

Модель помечает в тексте имена, телефоны, адреса, номера документов и карт, даты. Для каждой реплики есть список найденного с позициями в тексте и вариант текста, где данные заменены на [NAME], [PHONE] и так далее. В кабинете есть переключатель «скрыть персональные данные».

В ответе: segments[].pii = {"entities": [{"label": "PHONE", "start": 12, "end": 24}], "redacted_text": "…"}.

Цена: секунды аудио умножаются на 1.2.

Как считается цена

Тариф это множитель к длительности записи: 1 без платных опций, 2 с «Эмоциями», 1.2 с «Персональными данными», 2.2 с обеими. Считается только длина записи, не число опций: три бесплатных опции стоят столько же, сколько ни одной. Кабинет показывает тариф рядом с опциями, а остаток отдаёт GET /v1/usage. Единица учёта — g: Баланс и оплата.