{
  "aboutHtml": "<p>ElevenLabs Scribe v2 — модель пакетного распознавания речи для записанного аудио, расшифровки и создания субтитров, в том числе с обозначением звуков. Она развивает Scribe v1, улучшая обработку длинных записей, пауз, изменений тона и продолжительной тишины. Результат — речь в письменном виде с временной информацией и необязательными аннотациями говорящих и аудиособытий. Scribe v2 Realtime — отдельная редакция для транскрипции в реальном времени; назначение этой модели — обработка полных записей.</p><p>Производитель документирует распознавание более чем на 90 языках и автоматическое определение языка, в том числе на записях с переключением между языками. Подсказка с известным языком может помочь модели интерпретировать аудио. Подготовьте разборчивую запись, сохраните исходный язык и имена, избегайте сильного клиппинга и ненужной обработки, удаляющей детали речи. Среди распространённых документированных форматов входных данных — WAV, MP3, FLAC, M4A, AAC, OGG, Opus и WebM. Выберите представление входных данных, поддерживаемое реализацией транскрипции, и сохраните исходную запись для проверки.</p><p>Стандартный ответ содержит распознанный текст, сведения об определённом языке и последовательность слов с временными метками. Записи слов могут включать время начала и конца, идентификаторы говорящих и логарифмическую вероятность распознавания. Благодаря этому результат подходит для субтитров, интервью с поиском или редактора, позволяющего перейти к нужному месту аудио. Храните результат с временными метками вместе с исходным аудио. Например, для подкаста итоговыми материалами могут быть редактируемая расшифровка и запись слов с привязкой ко времени, позволяющая находить исправления перед размещением субтитров.</p><p>Диаризация обозначает, кто и когда говорит в аудио с несколькими участниками; производитель документирует поддержку до 32 говорящих. Включайте её, если важна смена реплик, и указывайте обоснованное число говорящих, когда оно известно. Отличайте обнаруженную метку говорящего от подтверждённого имени человека. Для интервью или встречи проверяйте смену реплик по записи, особенно при наложении или сходном звучании голосов. Метка помогает упорядочить расшифровку; сама по себе она не устанавливает личность говорящего.</p><p>Запись с одним говорящим в каждом канале имеет иную структуру, чем несколько голосов, смешанных в одном канале. Интерфейс производителя может независимо обрабатывать до пяти каналов и возвращать отдельные расшифровки либо общую расшифровку, упорядоченную по времени, с индексами каналов. Сохраняйте эту структуру каналов, когда она значима. Сведение раздельной записи звонка в один канал перед транскрипцией может удалить полезный источник сведений о говорящих. Отделяйте определение принадлежности речи по каналам от диаризации, выведенной из смешанного аудио. Ответ с объединёнными каналами требует временных меток и не может включать обнаружение или скрытие сущностей.</p><p>Подсказки с ключевыми терминами направляют распознавание имён, названий продуктов и специальной лексики с учётом контекста. Текущая документация пакетной обработки допускает до 1 000 терминов, каждый короче 50 символов и не длиннее пяти слов. Передавайте нужные варианты написания, а не обширный несвязанный каталог. Для технического интервью укажите названия продуктов и сокращения, которые могут прозвучать, а затем проверьте их по временным меткам результата. Ключевые термины влияют на распознавание; они не являются указанием вставить термин, который не подтверждается записью.</p><p>Определите назначение расшифровки перед очисткой текста. Дословная запись сохраняет произнесённые формулировки, а документированный режим no-verbatim удаляет слова-паразиты, незавершённые начала фраз и речевые сбои, делая результат удобнее для чтения. Динамическая разметка аудио может выявлять неречевые события, такие как смех или шаги. Отредактированная расшифровка может быть полезна для субтитров или чтения, но не должна незаметно заменять исходную запись, если для задачи важны повторы, исправления или неречевые звуки.</p><p>Производитель также документирует обнаружение сущностей и экспериментальное редактирование расшифровки. В интерфейсе производителя редактирование расшифровки нельзя совмещать с обнаружением сущностей, их скрытием или многоканальной транскрипцией. Обнаруженные сущности дают структурированные позиции выбранных сведений в расшифровке. Необязательное скрытие сущностей маскирует обнаруженный текст метками замены; оно зависит от обнаружения сущностей, а при включённом скрытии список сущностей не возвращается. Скрытие выполняется во время транскрипции с использованием общей метки замены, метки категории или нумерованной метки категории. Автоматическое скрытие может пропустить конфиденциальные сведения, поэтому проверьте обработанную расшифровку перед передачей другим. Редактирование по инструкции на естественном языке возвращает изменённый текст вместе с исходным результатом, сохраняя доступ к первоначальным временным меткам и сведениям о говорящих. Держите эти материалы раздельно: исправленное написание или переформатированное предложение может потребовать повторной проверки перед привязкой к аудио или последующим извлечением данных. Эти функции обрабатывают расшифровку; они не устанавливают, что каждая важная деталь была распознана правильно.</p><p>Для завершённой расшифровки проверьте имена, числа, отрицания и смену говорящих, возвращаясь к соответствующему аудио. Уделите внимание тихим участкам, наложению речи и переключению языков, а не оценивайте качество только по гладкости текста. Сохраняйте неуверенно распознанные формулировки для исправления, вместо того чтобы дополнять неслышный фрагмент правдоподобным предложением. Полезный результат — проверенная текстовая запись с временными метками и сведениями о говорящих, необходимыми для предполагаемого использования; затем расшифровка может стать входными данными для отдельного этапа подготовки сводки, перевода или анализа.</p>",
  "aboutText": "ElevenLabs Scribe v2 — модель пакетного распознавания речи для записанного аудио, расшифровки и создания субтитров, в том числе с обозначением звуков. Она развивает Scribe v1, улучшая обработку длинных записей, пауз, изменений тона и продолжительной тишины. Результат — речь в письменном виде с временной информацией и необязательными аннотациями говорящих и аудиособытий. Scribe v2 Realtime — отдельная редакция для транскрипции в реальном времени; назначение этой модели — обработка полных записей.\n\nПроизводитель документирует распознавание более чем на 90 языках и автоматическое определение языка, в том числе на записях с переключением между языками. Подсказка с известным языком может помочь модели интерпретировать аудио. Подготовьте разборчивую запись, сохраните исходный язык и имена, избегайте сильного клиппинга и ненужной обработки, удаляющей детали речи. Среди распространённых документированных форматов входных данных — WAV, MP3, FLAC, M4A, AAC, OGG, Opus и WebM. Выберите представление входных данных, поддерживаемое реализацией транскрипции, и сохраните исходную запись для проверки.\n\nСтандартный ответ содержит распознанный текст, сведения об определённом языке и последовательность слов с временными метками. Записи слов могут включать время начала и конца, идентификаторы говорящих и логарифмическую вероятность распознавания. Благодаря этому результат подходит для субтитров, интервью с поиском или редактора, позволяющего перейти к нужному месту аудио. Храните результат с временными метками вместе с исходным аудио. Например, для подкаста итоговыми материалами могут быть редактируемая расшифровка и запись слов с привязкой ко времени, позволяющая находить исправления перед размещением субтитров.\n\nДиаризация обозначает, кто и когда говорит в аудио с несколькими участниками; производитель документирует поддержку до 32 говорящих. Включайте её, если важна смена реплик, и указывайте обоснованное число говорящих, когда оно известно. Отличайте обнаруженную метку говорящего от подтверждённого имени человека. Для интервью или встречи проверяйте смену реплик по записи, особенно при наложении или сходном звучании голосов. Метка помогает упорядочить расшифровку; сама по себе она не устанавливает личность говорящего.\n\nЗапись с одним говорящим в каждом канале имеет иную структуру, чем несколько голосов, смешанных в одном канале. Интерфейс производителя может независимо обрабатывать до пяти каналов и возвращать отдельные расшифровки либо общую расшифровку, упорядоченную по времени, с индексами каналов. Сохраняйте эту структуру каналов, когда она значима. Сведение раздельной записи звонка в один канал перед транскрипцией может удалить полезный источник сведений о говорящих. Отделяйте определение принадлежности речи по каналам от диаризации, выведенной из смешанного аудио. Ответ с объединёнными каналами требует временных меток и не может включать обнаружение или скрытие сущностей.\n\nПодсказки с ключевыми терминами направляют распознавание имён, названий продуктов и специальной лексики с учётом контекста. Текущая документация пакетной обработки допускает до 1 000 терминов, каждый короче 50 символов и не длиннее пяти слов. Передавайте нужные варианты написания, а не обширный несвязанный каталог. Для технического интервью укажите названия продуктов и сокращения, которые могут прозвучать, а затем проверьте их по временным меткам результата. Ключевые термины влияют на распознавание; они не являются указанием вставить термин, который не подтверждается записью.\n\nОпределите назначение расшифровки перед очисткой текста. Дословная запись сохраняет произнесённые формулировки, а документированный режим no-verbatim удаляет слова-паразиты, незавершённые начала фраз и речевые сбои, делая результат удобнее для чтения. Динамическая разметка аудио может выявлять неречевые события, такие как смех или шаги. Отредактированная расшифровка может быть полезна для субтитров или чтения, но не должна незаметно заменять исходную запись, если для задачи важны повторы, исправления или неречевые звуки.\n\nПроизводитель также документирует обнаружение сущностей и экспериментальное редактирование расшифровки. В интерфейсе производителя редактирование расшифровки нельзя совмещать с обнаружением сущностей, их скрытием или многоканальной транскрипцией. Обнаруженные сущности дают структурированные позиции выбранных сведений в расшифровке. Необязательное скрытие сущностей маскирует обнаруженный текст метками замены; оно зависит от обнаружения сущностей, а при включённом скрытии список сущностей не возвращается. Скрытие выполняется во время транскрипции с использованием общей метки замены, метки категории или нумерованной метки категории. Автоматическое скрытие может пропустить конфиденциальные сведения, поэтому проверьте обработанную расшифровку перед передачей другим. Редактирование по инструкции на естественном языке возвращает изменённый текст вместе с исходным результатом, сохраняя доступ к первоначальным временным меткам и сведениям о говорящих. Держите эти материалы раздельно: исправленное написание или переформатированное предложение может потребовать повторной проверки перед привязкой к аудио или последующим извлечением данных. Эти функции обрабатывают расшифровку; они не устанавливают, что каждая важная деталь была распознана правильно.\n\nДля завершённой расшифровки проверьте имена, числа, отрицания и смену говорящих, возвращаясь к соответствующему аудио. Уделите внимание тихим участкам, наложению речи и переключению языков, а не оценивайте качество только по гладкости текста. Сохраняйте неуверенно распознанные формулировки для исправления, вместо того чтобы дополнять неслышный фрагмент правдоподобным предложением. Полезный результат — проверенная текстовая запись с временными метками и сведениями о говорящих, необходимыми для предполагаемого использования; затем расшифровка может стать входными данными для отдельного этапа подготовки сводки, перевода или анализа.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "de13117691249af50ca94f8a140671dd8bfef3b40d5f20818cc550dc5c7a48a6",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ru",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ElevenLabs: Scribe v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Закрыть\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</code><button type=\"button\" id=\"copy-id\">Скопировать ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Разделы карточки модели\"><button type=\"button\" data-card-jump=\"overview\">Начало</button><button type=\"button\" data-card-jump=\"methods\">Входные данные и методы</button><button type=\"button\" data-card-jump=\"pricing\">Тарифы</button><button type=\"button\" data-card-jump=\"examples\">Примеры</button><button type=\"button\" data-card-jump=\"results\">Результаты</button><button type=\"button\" data-card-jump=\"aliases\">Псевдонимы</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Методы API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2\">Распознавание</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Начало</h3><p class=\"mdesc-full\">ElevenLabs Scribe v2 расшифровывает записанное аудио более чем на 90 языках с временными метками каждого слова, необязательным разделением речи по говорящим и метками неречевых событий. Модель предназначена для длинных записей, субтитров и редактируемых расшифровок; поддерживает контекстные ключевые термины и выбор между дословной транскрипцией и текстом с удалением речевых шероховатостей.</p><dl class=\"card-io\" data-card-io><div><dt>Допустимые входные данные</dt><dd>Аудио</dd></div><div><dt>Результаты</dt><dd>Текст</dd></div></dl><details class=\"card-about\"><summary>О модели</summary><p class=\"note-s\" data-model-method-boundary>Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.</p><div class=\"mabout\" id=\"m-about\"><p>ElevenLabs Scribe v2 — модель пакетного распознавания речи для записанного аудио, расшифровки и создания субтитров, в том числе с обозначением звуков. Она развивает Scribe v1, улучшая обработку длинных записей, пауз, изменений тона и продолжительной тишины. Результат — речь в письменном виде с временной информацией и необязательными аннотациями говорящих и аудиособытий. Scribe v2 Realtime — отдельная редакция для транскрипции в реальном времени; назначение этой модели — обработка полных записей.</p><p>Производитель документирует распознавание более чем на 90 языках и автоматическое определение языка, в том числе на записях с переключением между языками. Подсказка с известным языком может помочь модели интерпретировать аудио. Подготовьте разборчивую запись, сохраните исходный язык и имена, избегайте сильного клиппинга и ненужной обработки, удаляющей детали речи. Среди распространённых документированных форматов входных данных — WAV, MP3, FLAC, M4A, AAC, OGG, Opus и WebM. Выберите представление входных данных, поддерживаемое реализацией транскрипции, и сохраните исходную запись для проверки.</p><p>Стандартный ответ содержит распознанный текст, сведения об определённом языке и последовательность слов с временными метками. Записи слов могут включать время начала и конца, идентификаторы говорящих и логарифмическую вероятность распознавания. Благодаря этому результат подходит для субтитров, интервью с поиском или редактора, позволяющего перейти к нужному месту аудио. Храните результат с временными метками вместе с исходным аудио. Например, для подкаста итоговыми материалами могут быть редактируемая расшифровка и запись слов с привязкой ко времени, позволяющая находить исправления перед размещением субтитров.</p><p>Диаризация обозначает, кто и когда говорит в аудио с несколькими участниками; производитель документирует поддержку до 32 говорящих. Включайте её, если важна смена реплик, и указывайте обоснованное число говорящих, когда оно известно. Отличайте обнаруженную метку говорящего от подтверждённого имени человека. Для интервью или встречи проверяйте смену реплик по записи, особенно при наложении или сходном звучании голосов. Метка помогает упорядочить расшифровку; сама по себе она не устанавливает личность говорящего.</p><p>Запись с одним говорящим в каждом канале имеет иную структуру, чем несколько голосов, смешанных в одном канале. Интерфейс производителя может независимо обрабатывать до пяти каналов и возвращать отдельные расшифровки либо общую расшифровку, упорядоченную по времени, с индексами каналов. Сохраняйте эту структуру каналов, когда она значима. Сведение раздельной записи звонка в один канал перед транскрипцией может удалить полезный источник сведений о говорящих. Отделяйте определение принадлежности речи по каналам от диаризации, выведенной из смешанного аудио. Ответ с объединёнными каналами требует временных меток и не может включать обнаружение или скрытие сущностей.</p><p>Подсказки с ключевыми терминами направляют распознавание имён, названий продуктов и специальной лексики с учётом контекста. Текущая документация пакетной обработки допускает до 1 000 терминов, каждый короче 50 символов и не длиннее пяти слов. Передавайте нужные варианты написания, а не обширный несвязанный каталог. Для технического интервью укажите названия продуктов и сокращения, которые могут прозвучать, а затем проверьте их по временным меткам результата. Ключевые термины влияют на распознавание; они не являются указанием вставить термин, который не подтверждается записью.</p><p>Определите назначение расшифровки перед очисткой текста. Дословная запись сохраняет произнесённые формулировки, а документированный режим no-verbatim удаляет слова-паразиты, незавершённые начала фраз и речевые сбои, делая результат удобнее для чтения. Динамическая разметка аудио может выявлять неречевые события, такие как смех или шаги. Отредактированная расшифровка может быть полезна для субтитров или чтения, но не должна незаметно заменять исходную запись, если для задачи важны повторы, исправления или неречевые звуки.</p><p>Производитель также документирует обнаружение сущностей и экспериментальное редактирование расшифровки. В интерфейсе производителя редактирование расшифровки нельзя совмещать с обнаружением сущностей, их скрытием или многоканальной транскрипцией. Обнаруженные сущности дают структурированные позиции выбранных сведений в расшифровке. Необязательное скрытие сущностей маскирует обнаруженный текст метками замены; оно зависит от обнаружения сущностей, а при включённом скрытии список сущностей не возвращается. Скрытие выполняется во время транскрипции с использованием общей метки замены, метки категории или нумерованной метки категории. Автоматическое скрытие может пропустить конфиденциальные сведения, поэтому проверьте обработанную расшифровку перед передачей другим. Редактирование по инструкции на естественном языке возвращает изменённый текст вместе с исходным результатом, сохраняя доступ к первоначальным временным меткам и сведениям о говорящих. Держите эти материалы раздельно: исправленное написание или переформатированное предложение может потребовать повторной проверки перед привязкой к аудио или последующим извлечением данных. Эти функции обрабатывают расшифровку; они не устанавливают, что каждая важная деталь была распознана правильно.</p><p>Для завершённой расшифровки проверьте имена, числа, отрицания и смену говорящих, возвращаясь к соответствующему аудио. Уделите внимание тихим участкам, наложению речи и переключению языков, а не оценивайте качество только по гладкости текста. Сохраняйте неуверенно распознанные формулировки для исправления, вместо того чтобы дополнять неслышный фрагмент правдоподобным предложением. Полезный результат — проверенная текстовая запись с временными метками и сведениями о говорящих, необходимыми для предполагаемого использования; затем расшифровка может стать входными данными для отдельного этапа подготовки сводки, перевода или анализа.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Доступно в Ailoot · входные данные и методы</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Распознавание речи</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Входные данные</dt><dd><code>audio</code></dd></div><div><dt>Результат</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Поле</th><th>Тип</th><th>Требование</th><th>Значения и ограничения</th><th>По умолчанию</th></tr></thead><tbody><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>string</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Обязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span><div>elevenlabs/scribe-v2</div></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span><code>object</code></td><td data-cell-label=\"Требование\"><span class=\"card-cell-label\">Требование</span>Обязательно</td><td data-cell-label=\"Значения и ограничения\"><span class=\"card-cell-label\">Значения и ограничения</span></td><td data-cell-label=\"По умолчанию\" data-default=\"unspecified\"><span class=\"card-cell-label\">По умолчанию</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Параметры и жизненный цикл метода</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Контракт</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>content_type</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>application/json</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>model, input_audio</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>audio</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_conditions</code></th><td data-cell-label=\"Контракт\"><span class=\"card-cell-label\">Контракт</span>Пример читает ваш реальный непустой файл PCM WAV, кодирует все байты файла в base64 и передаёт wav в input_audio.format.</td></tr></tbody></table></div><p>Жизненный цикл: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · точный task_id из существующей записи медиаресурса, принадлежащего Ailoot</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифы</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.</p><dl data-price-conditions><dt>Быстрый режим</dt><dd>Не указано <span class=\"note-s\">При выборе быстрого режима</span></dd><dt>Режим flex</dt><dd>Не указано <span class=\"note-s\">При выборе режима flex</span></dd><dt>Максимальная интенсивность рассуждений</dt><dd>Не указано <span class=\"note-s\">При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ставки Ailoot</h4><h4>Цены по конфигурациям</h4><p class=\"note-s\">Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Конфигурация</th><th>Шкала ставок</th><th>Расчётная единица</th><th>Плата</th></tr></thead><tbody><tr><th data-cell-label=\"Конфигурация\" scope=\"row\"><span class=\"card-cell-label\">Конфигурация</span>Базовые тарифы на токены</th><td data-cell-label=\"Шкала ставок\"><span class=\"card-cell-label\">Шкала ставок</span>Базовая ставка</td><td data-cell-label=\"Расчётная единица\"><span class=\"card-cell-label\">Расчётная единица</span>—</td><td data-cell-label=\"Плата\"><span class=\"card-cell-label\">Плата</span><div><span>Вход · Входные токены</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Выход · Выходные токены</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Вход · Чтение кэша</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Вход · Запись в кэш</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div><div><span>Вход · Запись в кэш, 1 час</span> <b>—</b> <span class=\"price-unit\">/ 1K токенов</span></div></td></tr><tr><th data-cell-label=\"Конфигурация\" scope=\"row\"><span class=\"card-cell-label\">Конфигурация</span>секунда входного аудио</th><td data-cell-label=\"Шкала ставок\"><span class=\"card-cell-label\">Шкала ставок</span>—</td><td data-cell-label=\"Расчётная единица\"><span class=\"card-cell-label\">Расчётная единица</span>за секунду входного аудио</td><td data-cell-label=\"Плата\"><span class=\"card-cell-label\">Плата</span><div><span>Вход · секунда входного аудио</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">за секунду входного аудио</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. <a href=\"/docs/ru/billing/reserve/\">Как работают резервирование и расчёт →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Примеры запросов</h3><h4>Ailoot Ultra · Распознавание речи</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Варианты кода\"><button class=\"cg-tab\" id=\"model-code-1328-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1328-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · реальный файл WAV и полный исходный результат</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Скопировать код\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1328-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1328-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;elevenlabs/scribe-v2&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Получить и сохранить результаты</h3><h4>Ailoot Ultra · Распознавание речи</h4><p class=\"note-s\">Полное исходное тело ответа, статус и переданные заголовки. Этот обработчик не добавляет универсальную структуру JSON, текстовое поле или оболочку задачи.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Сохраняйте все готовые результаты</h5><p class=\"note-s\">Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.</p><p class=\"note-s\">Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Если нужно проверить исходный ответ</h5><p class=\"note-s\">Сохраните фактический X-Client-Request-ID и полный ответ. Читайте исходные ресурсы, принадлежащие Ailoot, по их точным подписанным URL содержимого; никогда не повторяйте создание с неопределённым исходом.</p></div><details class=\"card-about\" data-output-fields><summary>Поля ответа</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Поле</th><th>Тип</th></tr></thead><tbody><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span></td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Тип\" data-field-type><span class=\"card-cell-label\">Тип</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Ошибки и дальнейшие шаги</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Ответ</th><th>Условие</th><th>Следующий шаг</th></tr></thead><tbody><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Тело JSON или явно указанный канонический ID модели недопустимы.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Сохраните ответ и исправьте указанное поле запроса.</td></tr><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Недействительный ключ Ailoot API.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Используйте ваш авторизованный ключ Ailoot API.</td></tr><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>403 · <code>permission_error</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Группа ключа не допускает этот метод.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Сохраните возвращённые подробности ошибки.</td></tr><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>У выбранного метода нет допущенного маршрута.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Сохраните возвращённые подробности ошибки.</td></tr><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Для принятого тарифа невозможно определить требуемое количество входных данных или его границу.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Сохраните ответ; используйте представление входных данных, требуемое принятым тарифом.</td></tr><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>503 · <code></code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Требуемое хранилище, маршрут, цена метода или резервирование недоступны.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Сохраните полный исходный ответ. Неопределённость резервирования не разрешает повторную отправку.</td></tr><tr><th data-cell-label=\"Ответ\" scope=\"row\"><span class=\"card-cell-label\">Ответ</span>502 · <code>server_error</code></th><td data-cell-label=\"Условие\"><span class=\"card-cell-label\">Условие</span>Исходный результат, использование или окончательный расчёт требуют проверки.</td><td data-cell-label=\"Следующий шаг\"><span class=\"card-cell-label\">Следующий шаг</span>Сохраните фактический ID запроса и исходный ответ. Читайте существующую запись ресурса, принадлежащего Ailoot; не повторяйте создание.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Псевдонимы</h3><h4>Псевдонимы моделей</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></span></p><h4>Псевдонимы путей метода</h4><p class=\"note-s\">Используйте пути методов, указанные выше.</p><h4>Связанные ID для вызова</h4><p class=\"note-s\"><a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "elevenlabs/scribe-v2",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Тело JSON или явно указанный канонический ID модели недопустимы.",
                "http_status": 400,
                "recovery": "Сохраните ответ и исправьте указанное поле запроса.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Недействительный ключ Ailoot API.",
                "http_status": 401,
                "recovery": "Используйте ваш авторизованный ключ Ailoot API.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Группа ключа не допускает этот метод.",
                "http_status": 403,
                "recovery": "Сохраните возвращённые подробности ошибки.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "У выбранного метода нет допущенного маршрута.",
                "http_status": 404,
                "recovery": "Сохраните возвращённые подробности ошибки.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Для принятого тарифа невозможно определить требуемое количество входных данных или его границу.",
                "http_status": 422,
                "recovery": "Сохраните ответ; используйте представление входных данных, требуемое принятым тарифом.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Требуемое хранилище, маршрут, цена метода или резервирование недоступны.",
                "http_status": 503,
                "recovery": "Сохраните полный исходный ответ. Неопределённость резервирования не разрешает повторную отправку.",
                "type": null
              },
              {
                "code": null,
                "condition": "Исходный результат, использование или окончательный расчёт требуют проверки.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Сохраните фактический ID запроса и исходный ответ. Читайте существующую запись ресурса, принадлежащего Ailoot; не повторяйте создание.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Сохраните фактический X-Client-Request-ID и полный ответ. Читайте исходные ресурсы, принадлежащие Ailoot, по их точным подписанным URL содержимого; никогда не повторяйте создание с неопределённым исходом."
            },
            "outputs": {
              "all_results": "Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Полное исходное тело ответа, статус и переданные заголовки. Этот обработчик не добавляет универсальную структуру JSON, текстовое поле или оболочку задачи."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "elevenlabs/scribe-v2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Пример читает ваш реальный непустой файл PCM WAV, кодирует все байты файла в base64 и передаёт wav в input_audio.format."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "точный task_id из существующей записи медиаресурса, принадлежащего Ailoot",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'elevenlabs/scribe-v2', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "elevenlabs/scribe-v2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "4deb7ff32d6100bda4b4d4b0e52dbc3a400381cca18b75e690312225a65c1783",
    "input_html_sha256": "36a1fa35d8c861d328a9d7ccc0fc35148efe73ce3e1250fdea02b0a7ab8c0682",
    "private_audit_sha256": "762c88dbd628b73709ac698441e9d959a2669256360874c5d848a614c647b676",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ru/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2 расшифровывает записанное аудио более чем на 90 языках с временными метками каждого слова, необязательным разделением речи по говорящим и метками неречевых событий. Модель предназначена для длинных записей, субтитров и редактируемых расшифровок; поддерживает контекстные ключевые термины и выбор между дословной транскрипцией и текстом с удалением речевых шероховатостей.",
    "locale": "ru",
    "md_url": "https://ailoot.ai/models/ru/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/ru/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2 — модель пакетного распознавания речи для записанного аудио, расшифровки и создания субтитров, в том числе с обозначением звуков. Она развивает Scribe v1, улучшая обработку длинных записей, пауз, изменений тона и продолжительной тишины. Результат — речь в письменном виде с временной информацией и необязательными аннотациями говорящих и аудиособытий. Scribe v2 Realtime — отдельная редакция для транскрипции в реальном времени; назначение этой модели — обработка полных записей.\n\nПроизводитель документирует распознавание более чем на 90 языках и автоматическое определение языка, в том числе на записях с переключением между языками. Подсказка с известным языком может помочь модели интерпретировать аудио. Подготовьте разборчивую запись, сохраните исходный язык и имена, избегайте сильного клиппинга и ненужной обработки, удаляющей детали речи. Среди распространённых документированных форматов входных данных — WAV, MP3, FLAC, M4A, AAC, OGG, Opus и WebM. Выберите представление входных данных, поддерживаемое реализацией транскрипции, и сохраните исходную запись для проверки.\n\nСтандартный ответ содержит распознанный текст, сведения об определённом языке и последовательность слов с временными метками. Записи слов могут включать время начала и конца, идентификаторы говорящих и логарифмическую вероятность распознавания. Благодаря этому результат подходит для субтитров, интервью с поиском или редактора, позволяющего перейти к нужному месту аудио. Храните результат с временными метками вместе с исходным аудио. Например, для подкаста итоговыми материалами могут быть редактируемая расшифровка и запись слов с привязкой ко времени, позволяющая находить исправления перед размещением субтитров.\n\nДиаризация обозначает, кто и когда говорит в аудио с несколькими участниками; производитель документирует поддержку до 32 говорящих. Включайте её, если важна смена реплик, и указывайте обоснованное число говорящих, когда оно известно. Отличайте обнаруженную метку говорящего от подтверждённого имени человека. Для интервью или встречи проверяйте смену реплик по записи, особенно при наложении или сходном звучании голосов. Метка помогает упорядочить расшифровку; сама по себе она не устанавливает личность говорящего.\n\nЗапись с одним говорящим в каждом канале имеет иную структуру, чем несколько голосов, смешанных в одном канале. Интерфейс производителя может независимо обрабатывать до пяти каналов и возвращать отдельные расшифровки либо общую расшифровку, упорядоченную по времени, с индексами каналов. Сохраняйте эту структуру каналов, когда она значима. Сведение раздельной записи звонка в один канал перед транскрипцией может удалить полезный источник сведений о говорящих. Отделяйте определение принадлежности речи по каналам от диаризации, выведенной из смешанного аудио. Ответ с объединёнными каналами требует временных меток и не может включать обнаружение или скрытие сущностей.\n\nПодсказки с ключевыми терминами направляют распознавание имён, названий продуктов и специальной лексики с учётом контекста. Текущая документация пакетной обработки допускает до 1 000 терминов, каждый короче 50 символов и не длиннее пяти слов. Передавайте нужные варианты написания, а не обширный несвязанный каталог. Для технического интервью укажите названия продуктов и сокращения, которые могут прозвучать, а затем проверьте их по временным меткам результата. Ключевые термины влияют на распознавание; они не являются указанием вставить термин, который не подтверждается записью.\n\nОпределите назначение расшифровки перед очисткой текста. Дословная запись сохраняет произнесённые формулировки, а документированный режим no-verbatim удаляет слова-паразиты, незавершённые начала фраз и речевые сбои, делая результат удобнее для чтения. Динамическая разметка аудио может выявлять неречевые события, такие как смех или шаги. Отредактированная расшифровка может быть полезна для субтитров или чтения, но не должна незаметно заменять исходную запись, если для задачи важны повторы, исправления или неречевые звуки.\n\nПроизводитель также документирует обнаружение сущностей и экспериментальное редактирование расшифровки. В интерфейсе производителя редактирование расшифровки нельзя совмещать с обнаружением сущностей, их скрытием или многоканальной транскрипцией. Обнаруженные сущности дают структурированные позиции выбранных сведений в расшифровке. Необязательное скрытие сущностей маскирует обнаруженный текст метками замены; оно зависит от обнаружения сущностей, а при включённом скрытии список сущностей не возвращается. Скрытие выполняется во время транскрипции с использованием общей метки замены, метки категории или нумерованной метки категории. Автоматическое скрытие может пропустить конфиденциальные сведения, поэтому проверьте обработанную расшифровку перед передачей другим. Редактирование по инструкции на естественном языке возвращает изменённый текст вместе с исходным результатом, сохраняя доступ к первоначальным временным меткам и сведениям о говорящих. Держите эти материалы раздельно: исправленное написание или переформатированное предложение может потребовать повторной проверки перед привязкой к аудио или последующим извлечением данных. Эти функции обрабатывают расшифровку; они не устанавливают, что каждая важная деталь была распознана правильно.\n\nДля завершённой расшифровки проверьте имена, числа, отрицания и смену говорящих, возвращаясь к соответствующему аудио. Уделите внимание тихим участкам, наложению речи и переключению языков, а не оценивайте качество только по гладкости текста. Сохраняйте неуверенно распознанные формулировки для исправления, вместо того чтобы дополнять неслышный фрагмент правдоподобным предложением. Полезный результат — проверенная текстовая запись с временными метками и сведениями о говорящих, необходимыми для предполагаемого использования; затем расшифровка может стать входными данными для отдельного этапа подготовки сводки, перевода или анализа.",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Полная информация о ценах конфигурации — в подробностях."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "elevenlabs/scribe-v2",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Тело JSON или явно указанный канонический ID модели недопустимы.",
                "http_status": 400,
                "recovery": "Сохраните ответ и исправьте указанное поле запроса.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Недействительный ключ Ailoot API.",
                "http_status": 401,
                "recovery": "Используйте ваш авторизованный ключ Ailoot API.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Группа ключа не допускает этот метод.",
                "http_status": 403,
                "recovery": "Сохраните возвращённые подробности ошибки.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "У выбранного метода нет допущенного маршрута.",
                "http_status": 404,
                "recovery": "Сохраните возвращённые подробности ошибки.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Для принятого тарифа невозможно определить требуемое количество входных данных или его границу.",
                "http_status": 422,
                "recovery": "Сохраните ответ; используйте представление входных данных, требуемое принятым тарифом.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Требуемое хранилище, маршрут, цена метода или резервирование недоступны.",
                "http_status": 503,
                "recovery": "Сохраните полный исходный ответ. Неопределённость резервирования не разрешает повторную отправку.",
                "type": null
              },
              {
                "code": null,
                "condition": "Исходный результат, использование или окончательный расчёт требуют проверки.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Сохраните фактический ID запроса и исходный ответ. Читайте существующую запись ресурса, принадлежащего Ailoot; не повторяйте создание.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Сохраните фактический X-Client-Request-ID и полный ответ. Читайте исходные ресурсы, принадлежащие Ailoot, по их точным подписанным URL содержимого; никогда не повторяйте создание с неопределённым исходом."
            },
            "outputs": {
              "all_results": "Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Полное исходное тело ответа, статус и переданные заголовки. Этот обработчик не добавляет универсальную структуру JSON, текстовое поле или оболочку задачи."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "elevenlabs/scribe-v2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Пример читает ваш реальный непустой файл PCM WAV, кодирует все байты файла в base64 и передаёт wav в input_audio.format."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "точный task_id из существующей записи медиаресурса, принадлежащего Ailoot",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'elevenlabs/scribe-v2', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "elevenlabs/scribe-v2",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      }
    ],
    "name": "ElevenLabs: Scribe v2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "ElevenLabs Scribe v2 расшифровывает записанное аудио более чем на 90 языках с временными метками каждого слова, необязательным разделением речи по говорящим и метками неречевых событий. Модель предназначена для длинных записей, субтитров и редактируемых расшифровок; поддерживает контекстные ключевые термины и выбор между дословной транскрипцией и текстом с удалением речевых шероховатостей."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "ElevenLabs Scribe v2 расшифровывает записанное аудио более чем на 90 языках с временными метками каждого слова, необязательным разделением речи по говорящим и метками неречевых событий. Модель предназначена для длинных записей, субтитров и редактируемых расшифровок; поддерживает контекстные ключевые термины и выбор между дословной транскрипцией и текстом с удалением речевых шероховатостей.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "afea8ff3c2b8654c9dcbd57de30cab965ca8b7bc6f2e4028712d2a270cc3c08f",
    "renderer_sha256": "aa692ffec412026bdeaf316df24a58e6c5083045e5246f6033f898d132afa5ff"
  },
  "sourceRevision": "32e671f123f11aecb94d5fab5a2b0aa0c198c3a7ef318c67c8a4cc402c828146"
}
