Обзор лучших API для транскрибации речи 2025

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

На прошлой неделе мы сравнивали селфхарм селфхост решения для speech-to-text на Apple Silicon процессорах. Но что делать, если вы - бизнес, и вам нужно API для транскрибации? Или что делать, если вы - разработчик, и вам просто хочется сделать пет-проект с транскрибацией? Сейчас посмотрим, какие варианты есть на рынке, и какой из них самый лучший (спойлер - однозначного победителя нет).

Зачем сравнивать?

Возникает вопрос, а зачем сравнивать API? Ведь 100% кто-то это уже до меня делал. И да, действительно, если загуглить сравнение, можно найти сайт Artificial Analysis, на котором есть сравнение всех моделей на свете, в том числе и speech-to-text моделей. Вот пример столбиков с разными провайдерами:

https://artificialanalysis.ai/speech-to-text
https://artificialanalysis.ai/speech-to-text

С ценой все понятно, со скоростью вроде тоже, но давайте посмотрим, как они замеряют ошибку. Листаем до методологии и видим, что они считают ошибку на датасете Common Voice 16.1, а в этом датасете максимальная длина аудио - 15 секунд. Это значит, что никак не проверяется самое интересное - как каждый провайдер работает с длинными файлами (у Whisper максимальная длина входного файла - 30 секунд). На прошлой неделе мы с вами убедились, что у каждого свои алгоритмы, и даже с одинаковой моделью можно получать разную ошибку, так как у каждого своя имплементация склейки чанков.

Ошибка разных версий Whisper, видно, что все v3 одинаковые (кроме Fireworks)
Ошибка разных версий Whisper, видно, что все v3 одинаковые (кроме Fireworks)

А на графике мы видим, что у всех Whisper одной конфигурации одинаковая ошибка, что, как мне кажется, невозможно. В этой статье я и проверю, как провайдеры работают с длинными файлами на самом деле. Тоже будут красивые столбики и графики, не переживайте.

Игроки

Встречайте наших игроков!

Команда зарубежных решений:

  • AssemblyAI - судя по всему, самая точная модель и имеет самое большое количество функций, судя по лэндингу;

  • OpenAI API - то, чем все пользуются;

  • Fireworks - удивила высокая скорость и низкая точность, посмотрим, пожертвовали ли они точностью ради скорости;

  • DeepInfra - самый дешевый провайдер Whisper, посмотрим, претендент на победу;

  • fal - очень дешевый провайдер с высокой скоростью, тоже рассчитываю на хороший результат от них.

Выбрал их из списка Artificial Analysis (потому что у них самые приятные цвета столбиков)

Команда российских решений:

  • Yandex SpeechKit (куда ж без него);

  • VseGPT - сервис, который раздает все модели на свете, и в том числе Whisper;

  • Nexara - только транскрибация, только API, посмотрим, хорошо ли у них получилось сделать базу;

  • Шопот - очень богатый на функционал сервис, имеет API, тоже питаю большие надежды к их сервису.

Первые проблемы

Я рассчитывал потратить на тестирование разных сервисов ровно 0 рублей 0 копеек, но к сожалению, не у всех есть free-tier в их API. OpenAI и DeepInfra не дают ни копейки на тестирование API, а случай с VseGPT особенно комичен, потому что они дают бесплатно целых 5 рублей на тестирование API! Спасибо, очень щедро. Не будем учитывать, что минута их Whisper стоит полтора рубля.

На другом конце спектра AssemblyAI, который дает бесплатно целых 50 долларов на тестирование! Вот этого реально достаточно, чтобы проверить все функции их API (а у них их очень много).

Правила игры

На этот раз я собрал бенчмарк из 16 аудиофайлов, основанный на видео с YouTube с авторскими субтитрами. В нем есть аудио на немецком, английском, русском, испанском и французском языках с разной степенью шума и четкости речи. Также, включил в датасет три песни, чтобы посмотреть, сможет ли хоть какая-нибудь модель распознать слова в песнях (спойлер - нет).

Проверять буду Word Error Rate (WER, %) и скорость каждого провайдера (сколько секунд аудио считается за секунду транскрибации). WER обычно считают после нормализации текста (удаления пунктуации и приведения всего текста в нижний регистр), но я так делать не буду. Хочется проверить, насколько хорошо текст читается без дополнительной обработки через LLM. Рассчитываю, что авторские субтитры в видео - эталон пунктуации и качества, и буду замерять WER через них. Да, в них могут быть не только слова, но и описание звуков (например [Music Playing], и это, очевидно, повысит ошибку), но я сравниваю не абсолютную точность моделей, а относительную точность между разными провайдерами.

Если запрос выдает ошибку - ставлю 100% WER и нулевую скорость, никаких компромиссов, API должны работать всегда. Чем выше uptime, тем лучше для бизнеса.

Тесты и первые жертвы

Начнем сразу с грустного, с дисквалификаций некоторых провайдеров из конкурса.

  1. fal (wizper) - в нем, к сожалению, нет автоматического определения языка, что для меня неприемлемо, так как типичный пользователь API не сможет определять язык у себя на обычном бэкенде, для этого понадобятся дополнительные мощности.

  2. VseGPT (stt-openai/whisper-1) - положил на аккаунт 500 рублей (спасибо богатому free-tier), и получил то же самое в ответ от сервера. Все запросы, к сожалению, возвращали 500 Internal Server Error, и протестировать я их не смог.

  3. Yandex SpeechKit - … оставим, пожалуй, для отдельной рубрики.

Какие проблемы у других:

  1. OpenAI API - обязательно нужно иметь сервер за границей (либо пользоваться запрещенными технологиями) и отправлять файлы размером до 25 МБ. Это ограничение не позволило посчитать три файла из бенчмарка, поэтому пришлось поставить им минус. Делить большие файлы на бэкенде очень сложно (что делать на стыке чанков?), и эта проблема перекладывается с API на бэкендера. А он уже, к примеру, не сможет использовать эвристики из статьи OpenAI, потому что для них нужны логиты, которые по API, естественно, не отправляются.

  2. DeepInfra - тоже, к сожалению, не оправдал моих ожиданий и такой маленькой ценой за API (на весь бенчмарк ушло всего 6 центов) вы платите надежностью. 6 запросов из 16 вернули ошибку транскрибации.

  3. Шопот - с ними вообще сложная история, я на них рассчитывал, а они… Во-первых, один запрос вернул какую-то странную внутреннюю ошибку. Во-вторых, у них интересно построен API - вы отправляете запрос, и либо регулярно проверяете эндпоинт на готовность транскрибации, либо используете вебхук. Это, с какой-то стороны, хорошее решение, так как транскрибация может занимать долгое время, и держать подключение открытым долго не рекомендуется. Но, с другой стороны, это усложняет работу бэкендера и нужно прикручивать работу с вебхуками. В итоге, для себя я поставил ожидание ответа в течение двух минут, и если ответ не пришел, ставлю минус. Поэтому у Шопота не считал скорость транскрибации, так как все аудио считаются 120 секунд. В моем бенчмарке самое длинное аудио 3811 секунд длиной, и при ограничении в 2 минуты должно считаться примерно 30–35 минут в минуту. И из-за того, что их сервис на порядок дороже остальных, хотелось бы такую скорость транскрибации получить.

Яндекс - услышим одно, напишем другое

API их я использовать не стал, решил просто провести тест через их UI на SpeechKit Playground. Начал с первого видео - оно у меня на французском языке. Через некоторое время получил ответ, забил в свой python скрипт, который считает WER, и вижу ошибку в 174%

Источник: https://habr.com/ru/articles/886924/


Интересные статьи

Интересные статьи

Современные дети могут начать изучать программирование даже в дошкольные и школьные годы. Конкретный возраст не играет роли: есть множество простых языков, вспомогательных сред и даже обучающих и разв...
При загрузке данных в Highload-блоки возможна ситуация, когда объем загружаемых данных очень велик.Тем не менее, самый распространенный путь для добавления данных - их перебор в цикле, и последующее д...
Декораторы в python являются одной из самых часто используемых возможностей языка. Множество библиотек и, особенно, веб-фреймворков предоставляют свой функционал в виде декораторов. У неопытного pytho...
Я давно знаком с Битрикс24, ещё дольше с 1С-Битрикс и, конечно же, неоднократно имел дела с интернет-магазинами которые работают на нём. Да, конечно это дорого, долго, местами неуклюже...
Те, кто собираются открывать интернет-магазин, предварительно начитавшись в интернете о важности уникального контента, о фильтрах, накладываемых поисковиками за копирование материалов с других ресурсо...