Введение
Отправьте URL аудио и при желании язык речи, список ключевых терминов и три переключателя: числа цифрами, слова-паразиты и расшифровка по каналам. Задача возвращает расшифровку текстом, а также структурированную расшифровку с пословными метками времени, определённым языком и длиной аудио; файл не создаётся. SpicyAPI не применяет фильтр контента: речь без фильтров расшифровывается так, как она прозвучала. Тарификация — за секунду аудио.
| Характеристика | Значение |
|---|---|
| Ввод | Аудио |
| Вывод | Текст |
| Обязательное поле |
|
| Необязательные поля | language (25 кодов), |
| Результат | Расшифровка текстом и output.transcript с пословным временем, языком и длительностью; с multichannel — по каналам |
| Тарифицируемое количество | Секунды аудио; загруженный файл резервируется по своей длине, ссылка — по максимуму в два часа |
| Типичное время | Около 3 секунд на 10-секундный клип, около 15 секунд на час |
| Хранение | Загруженное аудио удаляется через сутки; расшифровка стирается вместе с данными промпта |
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
audio_url | Да | Аудио для расшифровки: загруженный MP3 или WAV либо публичный URL на MP3, WAV, M4A, FLAC, OGG, Opus, AAC, MP4 или MKV. От 1 секунды до 2 часов. Не менее 1 символов |
language | Нет | Язык речи в виде кода языка. Оставьте пустым, чтобы язык определился автоматически; речь на любом поддерживаемом языке расшифровывается в обоих случаях. |
text_normalization | Нет | Если включено, произнесённые числа, цены, даты и единицы записываются цифрами — «$1,250» и «March 14» вместо слов. Требует language. По умолчанию: |
keyterms | Нет | До 100 слов или коротких фраз (по 50 символов), которым расшифровка должна отдавать предпочтение, — имена, бренды, жаргон. На цену не влияет. По умолчанию: |
filler_words | Нет | Если включено, слова-паразиты вроде um и uh остаются в расшифровке; выключено (по умолчанию) — удаляются. На цену не влияет. По умолчанию: |
multichannel | Нет | Если включено, каждый канал многоканального файла (до 8) расшифровывается отдельно и возвращается своей строкой в порядке каналов. По умолчанию: |
Стоимость
$0.00003 / секунда аудио
Тарификация за секунду аудио. При создании задачи для загруженного аудио резервируется цена его реальной длины, а для ссылки на аудио — цена максимальных двух часов; вы платите за реальную длину, а остаток освобождается. Неудачный запрос не тарифицируется.
Сценарии использования
Голосовые заметки и аудиоистории
Речь без фильтров расшифровывается так, как она звучит, поэтому голосовые сообщения, записи ролевых игр и аудиоистории можно искать, снабжать субтитрами или редактировать как текст.
Записи звонков
Записи, где у каждой стороны свой канал, с включённым multichannel возвращаются по строке на сторону. Без него наши тесты возвращали только одну из двух сторон, так что для звонков с раздельными каналами включайте его.
Проверка синтезированной речи
Прогоните результат синтеза речи обратно через модель и сравните расшифровку со сценарием: пропущенные слова, обрезанный конец или зачитанный вслух тег видны сразу.
Имена, бренды и числа
Добавьте необычные имена в ключевые термины и включите нормализацию текста — расшифровка напишет имена по-вашему, а цены и даты в виде $1,250 или March 14.
Руководство по промптам и практические советы
Укажите аудио в
audio_urlЗагрузите MP3 или WAV либо передайте публичный URL, который отвечает самим аудио, — страница плеера или ссылка для обмена, возвращающая HTML, не сработает. От 1 секунды до 2 часов.
Добавьте то, что знаете
Задайте language, если знаете язык, перечислите имена и бренды в keyterms и включите
text_normalization, если нужны числа цифрами.text_normalizationтребует language.Прочитайте текст из задачи
Расшифровка приходит текстом в результате задачи, а в output.transcript перечислено каждое слово с временем начала и конца. С multichannel — по строке на канал в порядке каналов. Скопируйте её в своё хранилище, если она понадобится позже.
Что возвращается
Расшифровка текстом в результате задачи, а также output.transcript: определённый язык и его код, длина аудио в секундах и каждое слово с временем начала и конца в секундах. С multichannel в output.transcript.channels лежит то же самое для каждого канала. Файл не создаётся, в хранилище медиа ничего не попадает. Метки говорящих не входят.
Отправка аудио
audio_url принимает загруженный MP3 или WAV либо публичный URL на MP3, WAV, M4A, FLAC, OGG, Opus, AAC, MP4 или MKV длиной от 1 секунды до 2 часов. URL должен отвечать самим аудио. Сырой звук без заголовка файла (PCM, μ-law, A-law) не принимается.
Язык и числа
Если language пуст, язык определяется автоматически; речь на любом из 25 поддерживаемых языков расшифровывается в обоих случаях. Задайте его и включите text_normalization, чтобы числа, цены, даты и единицы записывались в письменной форме, — в нашем тесте «one thousand two hundred fifty dollars on March fourteenth» превратилось в «$1,250 on March 14». text_normalization требует language.
Ключевые термины и слова-паразиты
keyterms принимает до 100 терминов длиной до 50 символов, по одному в строке. В нашем тесте «Xandrelle» и «Qorvessa» без них вернулись как «Xandrel» и «Corvessa», а с ними — в точности верно. filler_words сохраняет um и uh, которые по умолчанию удаляются.
Несколько каналов
Включайте multichannel для записей, где у каждого говорящего свой канал. Каждый канал расшифровывается отдельно и возвращается своей строкой в порядке каналов. Оставляйте выключенным, только если на всех каналах одинаковый звук: в наших тестах стереофайл с разными говорящими на каждой стороне вернулся без одного из двух.
Тарификация
За секунду аудио. При создании задачи для загруженного аудио резервируется цена его реальной длины, а для ссылки на аудио — цена максимальных двух часов; вы платите за реальную длину, а остаток освобождается. Ни одна опция на цену не влияет. Неудачные запросы не тарифицируются.
Контент
SpicyAPI не добавляет фильтр контента. В наших тестах речь без фильтров возвращалась дословно, без звёздочек, гудков и пропусков.
SpicyAPI не добавляет фильтр контента: речь расшифровывается так, как прозвучала, а не маскируется и не отклоняется. Вы отвечаете за права на отправляемое аудио и за согласие записанных людей.
Быстрый старт API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "xai/grok-stt/speech-to-text",
"input": {
"audio_url": "https://example.com/reference.mp3"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.





