{
  "aboutHtml": "<p>ByteDance Seed Audio 1.0 — модель создания аудио, организованная вокруг звуковой сцены. Речь, эффекты и атмосферу можно формировать совместно через текстовое задание. Это полезно для озвученного рассказа, игровой встречи, короткого драматического диалога или сцены к смонтированному видео. Для работы только с голосом опишите говорящего и исполнение; для полноценной сцены также задайте акустическую среду и связь диалога с окружающими звуками.</p><p>Составляйте задание в том порядке, в котором слушатель должен воспринимать сцену. Обозначьте персонажей, их эмоциональное состояние и слова, которые они должны произнести. Затем опишите пространство, важные звуковые сигналы и развитие момента. Производственное задание должно отделять точный диалог от описания сцены, чтобы результат можно было проверить по обоим. Укажите, какие элементы необходимы для понимания, а какие должны оставаться на фоне. Тихая комната, многолюдный вокзал и открытый двор требуют разного звукового оформления, даже если реплика одинакова.</p><p>Авторский пример — игровой персонаж, успокаивающий спутника в короткой сцене в укрытии: сдержанный голос говорит «Мы можем подождать здесь», на тихом фоне дождя, с одним приближающимся шагом после реплики. Полезная проверка прослушиванием устанавливает, понятны ли слова, передаёт ли голос успокоение и появляется ли звуковой сигнал в уместный момент сцены. Другое задание может запросить чёткого рассказчика, представляющего продукт без окружающей атмосферы. Это примеры способов выразить замысел, а не записи сгенерированного аудио или обещания готового микса.</p><p>Разработчик документирует управление таймингом диалогов персонажей через промпт с шагом 100 мс. Используйте его для задания момента вступления реплики в сценарии или планирования речи под существующий монтаж. Отделяйте тайминг диалогов от размещения эффектов и атмосферы: выпуск называет диалог персонажей основной областью управления временем. Проверяйте реальные начала, паузы и наложения по замыслу сцены. Интервал описывает гранулярность управления модели и не отменяет прослушивание итогового исполнения.</p><p>Голос можно задать текстовым описанием, разрешённым референсным образцом или обоими способами. Производитель представляет это как формирование голоса без обучения отдельной модели для каждого говорящего. Описывайте устойчивые характеристики голоса отдельно от эмоции текущей реплики. Повторяющемуся персонажу могут понадобиться спокойное вступление и срочный ответ с сохранением узнаваемости. На практике выбирайте чистый референс, где нужный голос хорошо слышен, и указывайте, что должно перейти в новое исполнение. Сохраняйте согласованность референса и задания персонажа при подготовке связанных сцен.</p><p>Выпуск документирует генерацию более чем на 20 языках, включая китайский, английский, японский, корейский, испанский, индонезийский, немецкий, французский, тайский и вьетнамский. Описывается адаптация узнаваемого голоса персонажа к ритму и выразительности разных языков. Предоставляйте диалог на конечном языке и проверяйте имена, ударения, паузы и эмоциональный тон со слушателем, понимающим этот язык. В многоязычных версиях сохраняйте роль персонажа и эмоциональный замысел, оставляя каждому сценарию место для естественных фраз. Готовьте перевод на этапе работы над сценарием, не предполагая, что задание звуковой сцены определяет все решения локализации.</p><p>По описанию выпуска разработчика Seed Audio 1.0 может генерировать до двух минут за один проход и поддерживает продолжение. Длинному рассказу помогают границы сцен и повторно используемое задание персонажа. При каждом продолжении слушайте изменения голоса, фактуры фона и темпа, а также слова, связывающие части. Рассматривайте возвращённое аудио как материал для прослушивания: проверяйте фактические сведения о файле при подготовке воспроизведения или импорте в редактор и сохраняйте сценарий и задание сцены рядом с ним для доработки. Собранную работу нужно проверить как непрерывную сцену, а не только как отдельные клипы.</p><p>Производитель описывает единую систему, где творческий замысел на языковом уровне направляет акустический генератор на основе диффузии. Практический вывод для задания — голос и окружение можно продумывать вместе. Сосредоточьтесь на нескольких отношениях, определяющих сцену: находится ли реплика на переднем плане, прерывает ли её эффект и как атмосфера поддерживает эмоциональный момент. Много посторонних сигналов затрудняют понимание того, какую часть результата нужно доработать. Изменяйте указания для фрагмента, если эффект соперничает с диалогом или исполнение не передаёт нужный тон.</p><p>Постоянство голоса в длинных сложных материалах и более тонкий тайминг между звуковыми элементами остаются областями развития, отмеченными в выпуске. Проверяйте конкретные аспекты: точные слова, личность говорящего, язык, вступления, разборчивость и согласованность продолжений. Полезный вывод этой модели — слышимая сцена или речевое исполнение. Отдельные решения о монтажных склейках, субтитрах и формате доставки можно принимать по фактическому результату и требованиям целевой работы.</p>",
  "aboutText": "ByteDance Seed Audio 1.0 — модель создания аудио, организованная вокруг звуковой сцены. Речь, эффекты и атмосферу можно формировать совместно через текстовое задание. Это полезно для озвученного рассказа, игровой встречи, короткого драматического диалога или сцены к смонтированному видео. Для работы только с голосом опишите говорящего и исполнение; для полноценной сцены также задайте акустическую среду и связь диалога с окружающими звуками.\n\nСоставляйте задание в том порядке, в котором слушатель должен воспринимать сцену. Обозначьте персонажей, их эмоциональное состояние и слова, которые они должны произнести. Затем опишите пространство, важные звуковые сигналы и развитие момента. Производственное задание должно отделять точный диалог от описания сцены, чтобы результат можно было проверить по обоим. Укажите, какие элементы необходимы для понимания, а какие должны оставаться на фоне. Тихая комната, многолюдный вокзал и открытый двор требуют разного звукового оформления, даже если реплика одинакова.\n\nАвторский пример — игровой персонаж, успокаивающий спутника в короткой сцене в укрытии: сдержанный голос говорит «Мы можем подождать здесь», на тихом фоне дождя, с одним приближающимся шагом после реплики. Полезная проверка прослушиванием устанавливает, понятны ли слова, передаёт ли голос успокоение и появляется ли звуковой сигнал в уместный момент сцены. Другое задание может запросить чёткого рассказчика, представляющего продукт без окружающей атмосферы. Это примеры способов выразить замысел, а не записи сгенерированного аудио или обещания готового микса.\n\nРазработчик документирует управление таймингом диалогов персонажей через промпт с шагом 100 мс. Используйте его для задания момента вступления реплики в сценарии или планирования речи под существующий монтаж. Отделяйте тайминг диалогов от размещения эффектов и атмосферы: выпуск называет диалог персонажей основной областью управления временем. Проверяйте реальные начала, паузы и наложения по замыслу сцены. Интервал описывает гранулярность управления модели и не отменяет прослушивание итогового исполнения.\n\nГолос можно задать текстовым описанием, разрешённым референсным образцом или обоими способами. Производитель представляет это как формирование голоса без обучения отдельной модели для каждого говорящего. Описывайте устойчивые характеристики голоса отдельно от эмоции текущей реплики. Повторяющемуся персонажу могут понадобиться спокойное вступление и срочный ответ с сохранением узнаваемости. На практике выбирайте чистый референс, где нужный голос хорошо слышен, и указывайте, что должно перейти в новое исполнение. Сохраняйте согласованность референса и задания персонажа при подготовке связанных сцен.\n\nВыпуск документирует генерацию более чем на 20 языках, включая китайский, английский, японский, корейский, испанский, индонезийский, немецкий, французский, тайский и вьетнамский. Описывается адаптация узнаваемого голоса персонажа к ритму и выразительности разных языков. Предоставляйте диалог на конечном языке и проверяйте имена, ударения, паузы и эмоциональный тон со слушателем, понимающим этот язык. В многоязычных версиях сохраняйте роль персонажа и эмоциональный замысел, оставляя каждому сценарию место для естественных фраз. Готовьте перевод на этапе работы над сценарием, не предполагая, что задание звуковой сцены определяет все решения локализации.\n\nПо описанию выпуска разработчика Seed Audio 1.0 может генерировать до двух минут за один проход и поддерживает продолжение. Длинному рассказу помогают границы сцен и повторно используемое задание персонажа. При каждом продолжении слушайте изменения голоса, фактуры фона и темпа, а также слова, связывающие части. Рассматривайте возвращённое аудио как материал для прослушивания: проверяйте фактические сведения о файле при подготовке воспроизведения или импорте в редактор и сохраняйте сценарий и задание сцены рядом с ним для доработки. Собранную работу нужно проверить как непрерывную сцену, а не только как отдельные клипы.\n\nПроизводитель описывает единую систему, где творческий замысел на языковом уровне направляет акустический генератор на основе диффузии. Практический вывод для задания — голос и окружение можно продумывать вместе. Сосредоточьтесь на нескольких отношениях, определяющих сцену: находится ли реплика на переднем плане, прерывает ли её эффект и как атмосфера поддерживает эмоциональный момент. Много посторонних сигналов затрудняют понимание того, какую часть результата нужно доработать. Изменяйте указания для фрагмента, если эффект соперничает с диалогом или исполнение не передаёт нужный тон.\n\nПостоянство голоса в длинных сложных материалах и более тонкий тайминг между звуковыми элементами остаются областями развития, отмеченными в выпуске. Проверяйте конкретные аспекты: точные слова, личность говорящего, язык, вступления, разборчивость и согласованность продолжений. Полезный вывод этой модели — слышимая сцена или речевое исполнение. Отдельные решения о монтажных склейках, субтитрах и формате доставки можно принимать по фактическому результату и требованиям целевой работы.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4f8ee2386fbc758a704dcf1b6f86c7b1822012e4a1ddb0e3c154e8be668e19b9",
    "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\">ByteDance Seed: Seed Audio 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Закрыть\">×</button></div><div class=\"idline\"><span>ByteDance Seed /</span><code>bytedance-seed/seed-audio-1-0</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|speech|/v1/audio/speech|bytedance-seed%2Fseed-audio-1-0\">Озвучка</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\">ByteDance Seed Audio 1.0 создаёт речевое исполнение и звуковые сцены по творческому заданию. Она согласует голоса, эффекты и атмосферу, поддерживает тайминг диалогов с шагом 100 мс и более 20 языков. Разработчик описывает генерацию до двух минут за один раз с возможностью продолжения.</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>ByteDance Seed Audio 1.0 — модель создания аудио, организованная вокруг звуковой сцены. Речь, эффекты и атмосферу можно формировать совместно через текстовое задание. Это полезно для озвученного рассказа, игровой встречи, короткого драматического диалога или сцены к смонтированному видео. Для работы только с голосом опишите говорящего и исполнение; для полноценной сцены также задайте акустическую среду и связь диалога с окружающими звуками.</p><p>Составляйте задание в том порядке, в котором слушатель должен воспринимать сцену. Обозначьте персонажей, их эмоциональное состояние и слова, которые они должны произнести. Затем опишите пространство, важные звуковые сигналы и развитие момента. Производственное задание должно отделять точный диалог от описания сцены, чтобы результат можно было проверить по обоим. Укажите, какие элементы необходимы для понимания, а какие должны оставаться на фоне. Тихая комната, многолюдный вокзал и открытый двор требуют разного звукового оформления, даже если реплика одинакова.</p><p>Авторский пример — игровой персонаж, успокаивающий спутника в короткой сцене в укрытии: сдержанный голос говорит «Мы можем подождать здесь», на тихом фоне дождя, с одним приближающимся шагом после реплики. Полезная проверка прослушиванием устанавливает, понятны ли слова, передаёт ли голос успокоение и появляется ли звуковой сигнал в уместный момент сцены. Другое задание может запросить чёткого рассказчика, представляющего продукт без окружающей атмосферы. Это примеры способов выразить замысел, а не записи сгенерированного аудио или обещания готового микса.</p><p>Разработчик документирует управление таймингом диалогов персонажей через промпт с шагом 100 мс. Используйте его для задания момента вступления реплики в сценарии или планирования речи под существующий монтаж. Отделяйте тайминг диалогов от размещения эффектов и атмосферы: выпуск называет диалог персонажей основной областью управления временем. Проверяйте реальные начала, паузы и наложения по замыслу сцены. Интервал описывает гранулярность управления модели и не отменяет прослушивание итогового исполнения.</p><p>Голос можно задать текстовым описанием, разрешённым референсным образцом или обоими способами. Производитель представляет это как формирование голоса без обучения отдельной модели для каждого говорящего. Описывайте устойчивые характеристики голоса отдельно от эмоции текущей реплики. Повторяющемуся персонажу могут понадобиться спокойное вступление и срочный ответ с сохранением узнаваемости. На практике выбирайте чистый референс, где нужный голос хорошо слышен, и указывайте, что должно перейти в новое исполнение. Сохраняйте согласованность референса и задания персонажа при подготовке связанных сцен.</p><p>Выпуск документирует генерацию более чем на 20 языках, включая китайский, английский, японский, корейский, испанский, индонезийский, немецкий, французский, тайский и вьетнамский. Описывается адаптация узнаваемого голоса персонажа к ритму и выразительности разных языков. Предоставляйте диалог на конечном языке и проверяйте имена, ударения, паузы и эмоциональный тон со слушателем, понимающим этот язык. В многоязычных версиях сохраняйте роль персонажа и эмоциональный замысел, оставляя каждому сценарию место для естественных фраз. Готовьте перевод на этапе работы над сценарием, не предполагая, что задание звуковой сцены определяет все решения локализации.</p><p>По описанию выпуска разработчика Seed Audio 1.0 может генерировать до двух минут за один проход и поддерживает продолжение. Длинному рассказу помогают границы сцен и повторно используемое задание персонажа. При каждом продолжении слушайте изменения голоса, фактуры фона и темпа, а также слова, связывающие части. Рассматривайте возвращённое аудио как материал для прослушивания: проверяйте фактические сведения о файле при подготовке воспроизведения или импорте в редактор и сохраняйте сценарий и задание сцены рядом с ним для доработки. Собранную работу нужно проверить как непрерывную сцену, а не только как отдельные клипы.</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/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Входные данные</dt><dd><code>text</code></dd></div><div><dt>Результат</dt><dd><code>audio</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>bytedance-seed/seed-audio-1-0</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</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>Минимальная длина: 1</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\">voice</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>Минимальная длина: 1</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\">response_format</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>mp3, pcm</div></td><td data-cell-label=\"По умолчанию\" data-default=\"known\"><span class=\"card-cell-label\">По умолчанию</span>pcm</td></tr><tr><th data-cell-label=\"Поле\" scope=\"row\"><span class=\"card-cell-label\">Поле</span><code class=\"card-field-name\">provider</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</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>text</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 или запись в медиатеке</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.005</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-1119-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1119-panel-0\" aria-selected=\"true\" tabindex=\"0\">Используйте реальные входные данные и сохраните полный результат</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-1119-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1119-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;bytedance-seed/seed-audio-1-0&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#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/speech \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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\">Полные двоичные аудиоданные или исходный ответ audio_url, заголовки и каждый ресурс, принадлежащий Ailoot.</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><details class=\"card-about\"><summary>Чтение другого содержимого</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Варианты кода\"><button class=\"cg-tab\" id=\"model-code-1120-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1120-panel-0\" aria-selected=\"true\" tabindex=\"0\">Читать существующие материалы, принадлежащие вам</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-1120-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1120-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><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 для сверки. Читайте только фактически возвращённые значения task_id/asset_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно.</p></div></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=bytedance-seed%2Fseed-audio-1-0&amp;route=Ultra&amp;caller=bytedance-seed%2Fseed-audio-1-0&amp;fmt=speech\"><code>bytedance-seed/seed-audio-1-0</code></a></span></p><h4>Псевдонимы путей метода</h4><p class=\"note-s\">Используйте пути методов, указанные выше.</p><h4>Связанные ID для вызова</h4><p class=\"note-s\"><a href=\"#m=bytedance-seed%2Fseed-audio-1-0&amp;route=Ultra&amp;caller=bytedance-seed%2Fseed-audio-1-0&amp;fmt=speech\"><code>bytedance-seed/seed-audio-1-0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance-seed/seed-audio-1-0",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|bytedance-seed%2Fseed-audio-1-0",
      "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.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task_id/asset_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно."
            },
            "outputs": {
              "all_results": "Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Полные двоичные аудиоданные или исходный ответ audio_url, заголовки и каждый ресурс, принадлежащий Ailoot."
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seed-audio-1-0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_length": 3000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "maxLength": 3000,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seed-audio-1-0"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "bytedance-seed/seed-audio-1-0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Фактически возвращённый task_id или запись в медиатеке",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "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": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bytedance-seed/seed-audio-1-0', 'input': '${ACTUAL_INPUT_TEXT}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\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/speech \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "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": [
          "text"
        ],
        "label": "Речь",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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_output_second": 0.005
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "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.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance-seed/seed-audio-1-0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "793f042487ca5e0aaa7d874192aca809138a41295c1e33d2e7c6172341d2b149",
    "input_html_sha256": "c540e27e31e6eb2a8504cb3e181ccb705dd554dd7de16a13f4abf9aeac005898",
    "private_audit_sha256": "5fa019ce04179eaf8fc65c802f95e367a4c8896b665e1928147f4815b7a955db",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ru/bytedance-seed-seed-audio-1-0/",
    "description": "ByteDance Seed Audio 1.0 создаёт речевое исполнение и звуковые сцены по творческому заданию. Она согласует голоса, эффекты и атмосферу, поддерживает тайминг диалогов с шагом 100 мс и более 20 языков. Разработчик описывает генерацию до двух минут за один раз с возможностью продолжения.",
    "locale": "ru",
    "md_url": "https://ailoot.ai/models/ru/bytedance-seed-seed-audio-1-0/index.md",
    "title": "ByteDance Seed: Seed Audio 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/ru/bytedance-seed-seed-audio-1-0/"
  },
  "rawModel": {
    "about": "ByteDance Seed Audio 1.0 — модель создания аудио, организованная вокруг звуковой сцены. Речь, эффекты и атмосферу можно формировать совместно через текстовое задание. Это полезно для озвученного рассказа, игровой встречи, короткого драматического диалога или сцены к смонтированному видео. Для работы только с голосом опишите говорящего и исполнение; для полноценной сцены также задайте акустическую среду и связь диалога с окружающими звуками.\n\nСоставляйте задание в том порядке, в котором слушатель должен воспринимать сцену. Обозначьте персонажей, их эмоциональное состояние и слова, которые они должны произнести. Затем опишите пространство, важные звуковые сигналы и развитие момента. Производственное задание должно отделять точный диалог от описания сцены, чтобы результат можно было проверить по обоим. Укажите, какие элементы необходимы для понимания, а какие должны оставаться на фоне. Тихая комната, многолюдный вокзал и открытый двор требуют разного звукового оформления, даже если реплика одинакова.\n\nАвторский пример — игровой персонаж, успокаивающий спутника в короткой сцене в укрытии: сдержанный голос говорит «Мы можем подождать здесь», на тихом фоне дождя, с одним приближающимся шагом после реплики. Полезная проверка прослушиванием устанавливает, понятны ли слова, передаёт ли голос успокоение и появляется ли звуковой сигнал в уместный момент сцены. Другое задание может запросить чёткого рассказчика, представляющего продукт без окружающей атмосферы. Это примеры способов выразить замысел, а не записи сгенерированного аудио или обещания готового микса.\n\nРазработчик документирует управление таймингом диалогов персонажей через промпт с шагом 100 мс. Используйте его для задания момента вступления реплики в сценарии или планирования речи под существующий монтаж. Отделяйте тайминг диалогов от размещения эффектов и атмосферы: выпуск называет диалог персонажей основной областью управления временем. Проверяйте реальные начала, паузы и наложения по замыслу сцены. Интервал описывает гранулярность управления модели и не отменяет прослушивание итогового исполнения.\n\nГолос можно задать текстовым описанием, разрешённым референсным образцом или обоими способами. Производитель представляет это как формирование голоса без обучения отдельной модели для каждого говорящего. Описывайте устойчивые характеристики голоса отдельно от эмоции текущей реплики. Повторяющемуся персонажу могут понадобиться спокойное вступление и срочный ответ с сохранением узнаваемости. На практике выбирайте чистый референс, где нужный голос хорошо слышен, и указывайте, что должно перейти в новое исполнение. Сохраняйте согласованность референса и задания персонажа при подготовке связанных сцен.\n\nВыпуск документирует генерацию более чем на 20 языках, включая китайский, английский, японский, корейский, испанский, индонезийский, немецкий, французский, тайский и вьетнамский. Описывается адаптация узнаваемого голоса персонажа к ритму и выразительности разных языков. Предоставляйте диалог на конечном языке и проверяйте имена, ударения, паузы и эмоциональный тон со слушателем, понимающим этот язык. В многоязычных версиях сохраняйте роль персонажа и эмоциональный замысел, оставляя каждому сценарию место для естественных фраз. Готовьте перевод на этапе работы над сценарием, не предполагая, что задание звуковой сцены определяет все решения локализации.\n\nПо описанию выпуска разработчика Seed Audio 1.0 может генерировать до двух минут за один проход и поддерживает продолжение. Длинному рассказу помогают границы сцен и повторно используемое задание персонажа. При каждом продолжении слушайте изменения голоса, фактуры фона и темпа, а также слова, связывающие части. Рассматривайте возвращённое аудио как материал для прослушивания: проверяйте фактические сведения о файле при подготовке воспроизведения или импорте в редактор и сохраняйте сценарий и задание сцены рядом с ним для доработки. Собранную работу нужно проверить как непрерывную сцену, а не только как отдельные клипы.\n\nПроизводитель описывает единую систему, где творческий замысел на языковом уровне направляет акустический генератор на основе диффузии. Практический вывод для задания — голос и окружение можно продумывать вместе. Сосредоточьтесь на нескольких отношениях, определяющих сцену: находится ли реплика на переднем плане, прерывает ли её эффект и как атмосфера поддерживает эмоциональный момент. Много посторонних сигналов затрудняют понимание того, какую часть результата нужно доработать. Изменяйте указания для фрагмента, если эффект соперничает с диалогом или исполнение не передаёт нужный тон.\n\nПостоянство голоса в длинных сложных материалах и более тонкий тайминг между звуковыми элементами остаются областями развития, отмеченными в выпуске. Проверяйте конкретные аспекты: точные слова, личность говорящего, язык, вступления, разборчивость и согласованность продолжений. Полезный вывод этой модели — слышимая сцена или речевое исполнение. Отдельные решения о монтажных склейках, субтитрах и формате доставки можно принимать по фактическому результату и требованиям целевой работы.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance Seed",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ],
        "summary": "Полная информация о ценах конфигурации — в подробностях."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "bytedance-seed/seed-audio-1-0",
    "input": [
      "text"
    ],
    "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.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task_id/asset_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно."
            },
            "outputs": {
              "all_results": "Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Полные двоичные аудиоданные или исходный ответ audio_url, заголовки и каждый ресурс, принадлежащий Ailoot."
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seed-audio-1-0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_length": 3000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "maxLength": 3000,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seed-audio-1-0"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "bytedance-seed/seed-audio-1-0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Фактически возвращённый task_id или запись в медиатеке",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "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": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bytedance-seed/seed-audio-1-0', 'input': '${ACTUAL_INPUT_TEXT}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\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/speech \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "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": [
          "text"
        ],
        "label": "Речь",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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_output_second": 0.005
          }
        },
        "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 output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "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.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance-seed/seed-audio-1-0",
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance Seed: Seed Audio 1.0",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.005,
      "out_label": "per output audio second",
      "sort_in": null,
      "sort_out": 0.005,
      "varies": true
    },
    "short": "ByteDance Seed Audio 1.0 создаёт речевое исполнение и звуковые сцены по творческому заданию. Она согласует голоса, эффекты и атмосферу, поддерживает тайминг диалогов с шагом 100 мс и более 20 языков. Разработчик описывает генерацию до двух минут за один раз с возможностью продолжения."
  },
  "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": "ByteDance Seed Audio 1.0 создаёт речевое исполнение и звуковые сцены по творческому заданию. Она согласует голоса, эффекты и атмосферу, поддерживает тайминг диалогов с шагом 100 мс и более 20 языков. Разработчик описывает генерацию до двух минут за один раз с возможностью продолжения.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "abc3ca4fa27a9abc486dbcd5d0e40296e56a882861eb7df212e65c1e0284470b",
    "renderer_sha256": "aa692ffec412026bdeaf316df24a58e6c5083045e5246f6033f898d132afa5ff"
  },
  "sourceRevision": "099a1a2be9309375a463d9ebcc60525253852d2606763e224a42f5293aaa98f4"
}
