Fish Audio: Transcribe 1 Pro
Transcribe 1 Pro превращает записи длительностью до 60 минут в текст с метками говорящих и необязательными временными метками слов. Сохраняет метки предполагаемых эмоций и голосовых событий, упрощая проверку интервью, встреч и подкастов, поиск по ним и подготовку субтитров.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Transcribe 1 Pro — модель преобразования речи в текст от Fish Audio для коротких клипов, разговоров нескольких говорящих и длинных записей. Она принимает записанный звук и возвращает расшифровку с необязательным таймингом и структурированными репликами говорящих. Её отличительные особенности — смены говорящих, отмеченные в тексте, и метки эмоций или голосовых событий, сохраняющие больше разговорной структуры записи, чем обычная последовательность слов.
Для интервью, встречи или подкаста храните весь разговор в одном файле, чтобы вновь вступающие говорящие могли сохранять одинаковые метки внутри ответа. Полезный материал для проверки — расшифровка, связанная с исходной записью, с отдельно показанными репликами и доступной временной меткой для проверки цитаты. Резюме или список действий — последующий шаг приложения: храните их отдельно от расшифровки, чтобы произнесённый источник оставался доступным для сравнения.
Производитель принимает записи до 60 минут и описывает обработку длинных файлов со сжатым звуком, например MP3, Opus или AAC. Поддерживаемые форматы включают WAV, MP3, AAC в M4A или MP4, FLAC, Ogg с Opus или Vorbis, WebM/Matroska и MOV. Для видеофайла используется первая звуковая дорожка. AIFF, CAF, WMA, AMR, AC-3 и необработанный PCM без заголовка не поддерживаются. На запрос передаётся один аудиофайл; результат приходит после расшифровки всей записи, а обработка длинной записи может занять несколько минут. Клипы короче примерно 0,08 секунды отклоняются.
Ответ производителя содержит полный текст, длительность записи в секундах и массив segments. Pro отмечает смены говорящих внутри текста метками, например <|speaker:0|> и <|speaker:1|>; метка относится к следующему за ней тексту до очередной метки. Это идентификаторы внутри одного ответа, а не проверенные имена или личности, которые можно сопоставлять между запросами. Если в расшифровке нет метки говорящего, руководство считает её результатом с одним говорящим. Сохраняйте текст до первой метки с первой репликой, а не отбрасывайте его.
Временные метки слов необязательны. В запросе производителя ignore_timestamps по умолчанию равен true; значение false запрашивает сегменты с текстом, временем начала и окончания в секундах. Сегмент обычно соответствует слову либо одному или нескольким символам в китайском и японском. Текст сегмента не содержит пунктуации, меток говорящих и событий и может нормализовать произнесённое значение иначе, чем полная расшифровка. У сегмента слова могут совпадать время начала и окончания. Пустой массив segments может означать, что временные метки не запрашивались, речь не найдена или тайминг был временно недоступен. Используйте полную расшифровку для читаемого текста, а сегменты — для выравнивания, не предполагая посимвольного совпадения двух строк.
Настройка diarize по умолчанию равна auto. Если запрошены временные метки и diarize не равен false, Pro также возвращает speaker_turns. Каждая реплика содержит метку говорящего, текст и время начала/окончания, сохраняя пунктуацию и оставленные метки событий без встроенной метки говорящего. Если тайминг слов недоступен, время реплик может быть приблизительным и охватывать всю запись; соседние реплики могут идти с промежутками или перекрываться. Отключение diarize удаляет структурированный список реплик, но оставляет метки говорящих в полном тексте. Известное число говорящих либо минимальное и максимальное число могут по возможности направлять диаризацию длинной записи. Точное число нельзя совмещать с границами числа, а подсказки о числе нельзя использовать при отключённом diarize.
Метки эмоций и голосовых событий появляются как текст в квадратных скобках, например [laughter], рядом с распознанной речью. Это выводы по аудио, а не слова, которые пользователь должен добавить перед расшифровкой. Настройка tag_audio_events в Pro по умолчанию равна true; отключение удаляет эти метки из расшифровки и текста реплик, не меняя тайминг. Отдельного поля эмоции или фиксированного набора эмоций нет. Сохраняйте аннотированную расшифровку, когда важно звучание замечания, и используйте версию без меток, когда последующему результату нужны только произнесённые слова.
Язык определяется автоматически. Необязательная подсказка ISO 639-1 в нижнем регистре не принуждает к переводу и не меняет расшифровку Pro. Если язык нельзя определить, возвращённый код языка может отражать подсказку без проверки по аудио. Производитель сообщает один язык, а не перечень всех языков в многоязычной записи. При подготовке архива с поиском храните исходную формулировку вместе с языковыми метаданными, особенно когда разные части разговора переключаются между языками.
Для субтитров группируйте последовательные слова с таймингом в читаемые блоки SRT или WebVTT вместо одного субтитра на слово. Разделяйте блоки около пауз и выбирайте их длину и время показа с учётом проигрывателя и аудитории. Границы реплик могут сохранять разных говорящих в отдельных блоках. Проверяйте пустой результат тайминга и блоки, у которых окончание должно быть позже начала. Форматирование субтитров, имена для анонимных меток говорящих и последующее резюме — материалы приложения, построенные из результата расшифровки.
Для практического процесса работы с записью заранее решите, нужна ли обычная читаемая расшифровка, аннотированные реплики разговора или субтитры с таймингом. Храните идентификатор аудио вместе с результатом, сохраняйте возвращённый полный текст, когда важны пунктуация и метки событий, и используйте структурированные временные поля для навигации. Возможности Pro для длинных записей и нескольких говорящих отличаются от общей модели Transcribe 1 для коротких записей; их лимиты и настройки не следует считать взаимозаменяемыми.
Ailoot Ultra · Распознавание речи POST /v1/audio/transcriptions fish-audio/transcribe-1-pro
fish-audio/transcribe-1-proНачало
Transcribe 1 Pro превращает записи длительностью до 60 минут в текст с метками говорящих и необязательными временными метками слов. Сохраняет метки предполагаемых эмоций и голосовых событий, упрощая проверку интервью, встреч и подкастов, поиск по ним и подготовку субтитров.
- Допустимые входные данные
- Аудио
- Результаты
- Текст
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Распознавание речи POST /v1/audio/transcriptions
- Входные данные
audio- Результат
text- Выходной формат
- json
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения fish-audio/transcribe-1-pro | По умолчанию— |
Полеinput_audio | Типobject | ТребованиеОбязательно | Значения и ограничения Точные ключи: data, format | По умолчанию— |
Полеinput_audio.data | Типbase64_string | ТребованиеОбязательно | Значения и ограничения Максимум декодированных байтов: 26 214 400 Строгий Base64: Да | По умолчанию— |
Полеinput_audio.format | Типstring | ТребованиеОбязательно | Значения и ограничения Условия: Должен совпадать с форматом, установленным фактической проверкой файла | По умолчанию— |
Полеresponse_format | Типstring | ТребованиеНеобязательно | Значения и ограничения json | По умолчанию— |
Сочетания входных материалов
speech_to_text · Обязательно: input_audio.data, input_audio.format
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, input_audio |
Параметрadditional_properties | Контрактfalse |
Параметрparameters | Контракт{"name":"model","type":"string","required":true,"enum":["fish-audio/transcribe-1-pro"]}, {"name":"input_audio","type":"object","required":true,"exact_keys":["data","format"],"data":"строгое представление base64 фактических байтов поддерживаемого аудио","format":"точный формат, установленный проверкой файла; должен соответствовать фактическим байтам"}, {"name":"response_format","type":"string","required":false,"enum":["json"]} |
Параметрmax_audio_bytes | Контракт26214400 |
Параметрmultipart_for_this_profile | Контрактfalse |
Параметрmaterial_types | Контрактaudio |
Жизненный цикл: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Фактически возвращённый task_id или запись в медиатеке
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Сохраните полный ответ и исходные возвращённые ID.
Никогда не повторяйте создание с неизвестным исходом.
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Расчётная единица | Плата |
|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Расчётная единица— | Плата Вход · Входные токены — / 1K токенов Выход · Выходные токены — / 1K токенов Вход · Чтение кэша — / 1K токенов Вход · Запись в кэш — / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
| Конфигурациясекунда входного аудио | Шкала ставок— | Расчётная единицаза секунду входного аудио | Плата Вход · секунда входного аудио $0.0002 за секунду входного аудио |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Сведения о справочном тарифе
Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.
Fish Audio: Transcribe 1 Pro
Цены по конфигурациям
| Конфигурация | Условия расчёта | Плата |
|---|---|---|
| КонфигурацияFish Audio: Transcribe 1 Pro · Стандартная конфигурация | Условия расчётаКонфигурация по умолчанию | Плата Вход · Секунды входного аудио 0,0002 $ за секунду входного аудио |
Примеры запросов
Ailoot Ultra · Распознавание речи
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set your actual audio file}"
: "${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}"
export AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "fish-audio/transcribe-1-pro", "response_format": "json"}')
import base64
f=Path(os.environ['AILOOT_AUDIO_FILE'])
raw=f.read_bytes()
if not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')
fmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()
if not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')
p['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Получить и сохранить результаты
Ailoot Ultra · Распознавание речи
json
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраните полный JSON, заголовки ответа, текст и каждое фактическое возвращённое поле использования. Используйте фактические идентификаторы задач и ресурсов из ответа или библиотеки собственных ресурсов; operation_id не является task_id.
Если нужно проверить исходный ответ
Сохраняйте исходный operation_id/X-Client-Request-ID для сверки без повторной отправки; отдельного маршрута опроса аудио нет.
Поля ответа
| Поле | Тип | Значение |
|---|---|---|
Полеtext | Типstring | ЗначениеРаспознанный текст. |
Полеusage | Типobject | ЗначениеИспользование аудио. |
Полеusage.seconds | Типnumber | ЗначениеДлительность аудио в секундах. |
Полеduration | Типnumber | ЗначениеДлительность аудио в секундах. |
Полеtask_id | Типstring | ЗначениеID задачи распознавания; возвращается вместе с asset_url, когда непустая расшифровка сохранена, опубликована и получила подписанный URL содержимого. |
Полеasset_url | Типstring | ЗначениеПодписанный URL содержимого расшифровки; возвращается вместе с task_id, когда непустая расшифровка сохранена, опубликована и получила подписанный URL содержимого. |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
Ответserver_error | УсловиеВозвращённый ответ указывает, что операция или результат требуют проверки | Следующий шагСохраните исходный возвращённый ID операции или задачи, заголовки запроса и ответ; продолжайте поддерживаемые операции чтения исходной операции. Не отправляйте запрос создания повторно. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra fish-audio/transcribe-1-pro
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Fish Audio: Transcribe 1 Pro
- Какие входные данные и результаты доступны?
POST /v1/audio/transcriptions·fish-audio/transcribe-1-pro:audio→text- Какие поля использует запрос?
POST /v1/audio/transcriptions·fish-audio/transcribe-1-pro:model,input_audio,response_format