Текстовая LLM для аудио: что она может и не может делать делать делать
LLM для преобразования текста в аудио — это обычно два инструмента, работающих вместе: языковой модели, которая пишет промпт, и аудио-модели, которая превращает его в звук. Этот API покрывает первую половину.

Обновлено
Ключевые моменты
Этот сервис работает только с текстом и не генерирует аудио, изображения или видео.
Его задача в аудио-воркфлоу — написание промптов, текстов песен, сценариев сцен и метаданных.
Подключение к аудио-инструменту требует короткого скрипта и вывода JSON.
1 000 промптов (600 токенов на вход, 300 на выход) стоят около $0,24.
Короткий ответ: LLM пишет инструкции, а не звук
Когда люди ищут текстовую LLM для аудио, они часто представляют одну модель, которая читает предложение и возвращает звуковой файл. Большие языковые модели этого не делают. Они читают и пишут текст. Звук создаётся отдельной моделью, созданной для аудио, которая принимает текстовое описание на входе.
Такое разделение полезно, так как качество описания критично. Размытый запрос вроде «расслабляющая музыка» даёт мало данных. Конкретный запрос с жанром, темпом, инструментами, настроением, структурой и длительностью дает больше. Написание таких описаний в большом объеме — задача для языковой модели.
Этот сайт предлагает именно эту половину: совместимый с OpenAI текстовый API. В нём нет генерации звука, эмбеддингов и дообучения. Если вам нужен сам звук, вы подключаете к нему инструмент, создающий звук, и используете этот эндпоинт как этап написания текста перед ним. Мы не связаны ни с одним поставщиком аудио, поэтому ознакомьтесь с документацией каждого инструмента по его правилам ввода.
Где текстовая модель помогает в аудио-пайплайне
Подходят задачи, где результат — текст:
- Написание промптов. Превратите черновую идею в детальное описание с жанром, темпом, инструментами и настроением.
- Тексты и сценарии. Куплеты и припев для песни или текст озвучки для подкаста или главы аудиокниги.
- Вариации. Десять альтернативных промптов из одной идеи, чтобы протестировать разные направления.
- Метаданные. Названия, описания, теги и заметки к треку после создания аудио.
- Редактура. Переписывание промпта, если результат не устроил, с учетом ваших замечаний.
Модель здесь настроена на ответы без отказов по контенту для законного использования взрослыми, что важно для аудио с большим количеством художественного контента, например, для мрачных историй, хоррор-драм или диалогов из игр для взрослых, где более строгая модель может отклонить вполне разумный запрос. Единственное строгое ограничение: не допускается ничего, связанного с несовершеннолетними в сексуальном контексте, и ключи не для этого.
Наша страница промптов для видео описывает тот же принцип для видео-инструментов; шаблон написания структурированного описания сначала и передачи его генератору вторым шагом применяется во всех медиа.
Пример работы: одна идея на входе, структурированный промпт на выходе
Самый надёжный способ передать данные во вспомогательный инструмент — структурированный вывод. JSON-режим (response_format: {"type":"json_object"}) заставляет модель вернуть объект JSON, чтобы ваш скрипт мог прочитать именованные поля, а не парсить абзацы. Вот скрипт на Python, использующий SDK OpenAI для работы с этим эндпоинтом.
import json, os
from openai import OpenAI
client = OpenAI(
base_url="https://api.stableaudio.top/v1",
api_key=os.environ["UNCENSORED_API_KEY"],
)
system = (
"You write prompts for text-to-audio tools. Return a JSON object with keys: "
"genre, tempo_bpm, instruments (list), mood, structure, duration_seconds, prompt. "
"The prompt field is one paragraph, no more than 60 words."
)
resp = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": system},
{"role": "user", "content": "A tense chase scene in a rain-soaked neon city."},
],
response_format={"type": "json_object"},
temperature=0.8,
)
spec = json.loads(resp.choices[0].message.content)
print(spec["prompt"])
Сохраните слово JSON в системном сообщении и перечислите ключи, которые вам нужны. Тогда у модели будет чёткая цель. Проверьте результат перед отправкой дальше: убедитесь, что tempo_bpm — это число, а instruments — список, и повторите запрос один раз, если это не так.
Тот же запрос в curl для быстрой проверки выглядит так:
curl https://api.stableaudio.top/v1/chat/completions \
-H "Authorization: Bearer $UNCENSORED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Return JSON with keys mood and prompt for a text-to-audio tool."},
{"role": "user", "content": "A quiet morning in a mountain village."}
]
}'Написание промптов, понятных аудио-модели
Языковая модель напишет промпт любой формы, поэтому главная задача — определить форму. Несколько правил работают для большинства аудио-инструментов.
Говорите так, как хочет инструмент, в нужном порядке
Изучите документацию аудио-инструмента и используйте его терминологию. Если инструмент реагирует на теги секций или список стилей, добавьте пример такого формата в системное сообщение. Модели точно копируют примеры.
Используйте конкретные существительные
"Sparse piano, brushed drums, upright bass, vinyl crackle" лучше, чем "nice jazzy feel". Попросите модель указать инструменты, диапазон темпа и текстуру, а также избегать слов-заполнителей.
Установите лимиты длины в инструкции
Многие аудио-инструменты ограничивают длину промпта. Укажите лимит в системном сообщении ("не более 60 слов") и проверяйте это в коде. Модели теряют счёт слов, поэтому обрезайте текст или повторяйте запрос, если проверка не пройдена.
Поддерживайте цикл обратной связи
После того как вы услышали результат, верните свою заметку: "Слишком насыщенно во второй половине, барабаны слишком громкие, сохраните тональность". Второй вызов может пересмотреть предыдущий промпт с учётом этой заметки. Контекстное окно на 100 000 токенов позволяет хранить длинную историю попыток, если вы хотите, чтобы модель училась на основе того, что вы постоянно отклоняете.
Подключение модели к аудио-генератору
Код связки короткий. Сгенерируйте спецификацию, валидируйте её и передайте поле prompt в нужный аудио-сервис. Вызов аудио показан как заглушка, так как интерфейсы у разных поставщиков отличаются; параметры берите из их документации.
def make_spec(idea: str) -> dict:
r = client.chat.completions.create(
model="uncensored",
messages=[
{"role": "system", "content": system},
{"role": "user", "content": idea},
],
response_format={"type": "json_object"},
)
return json.loads(r.choices[0].message.content)
ideas = ["Lo-fi study beat", "Epic orchestral trailer hit", "Haunted music box"]
for idea in ideas:
spec = make_spec(idea)
# send spec["prompt"] to your audio generator here
print(idea, "->", spec["prompt"][:80])
Если вы запускаете это параллельно по списку, учитывайте ограничения. Полный ключ позволяет 8 параллельных запросов и 300 в минуту; пробный ключ — 2 и 60. Ошибка 429 с concurrency означает слишком много одновременно, rate_limited означает слишком много в минуту, а заголовок Retry-After: 5 означает, что нужно подождать пять секунд и попробовать снова. Небольшой пул потоков, настроенный под ваше ограничение, плюс повторная попытка — достаточно.
Документация API перечисляет поддерживаемые параметры, включая temperature, top_p, stop и seed. Фиксированный seed помогает получать повторяемые промпты при настройке системного сообщения.
Тексты, озвучка и метаданные в большом объёме
Промпты — не единственный тип текста, который нужен аудиопроекту. После запуска пайплайна тот же эндпоинт может писать другие части проекта. Вы можете использовать объект клиента из предыдущего скрипта.
Тексты для озвучки
Для озвученного аудио попросите сценарий с режиссёрскими указаниями в фиксированной нотации, например, маркер паузы между абзацами и заметку, когда говорящий должен замедлиться. Укажите модели целевое время чтения. Общее правило: диктор читает примерно 150 слов в минуту, поэтому двухминутный текст требует примерно 300 слов; попросите это количество, а затем подсчитайте слова в коде.
Тексты песен с фиксированной структурой
Запросите именованные разделы, схему рифмовки и диапазон слогов на строку. Модель лучше следует инструкции «четыре строки, ABAB, по восемь-десять слогов в каждой», чем «красивое рифмованное стихотворение». Запустите проверку в коде, а затем запросите переписывание только того раздела, который не прошёл проверку.
Названия, теги и описания
После создания аудио отправьте финальный промпт и текст обратно в модель и запросите три варианта названия, пять тегов и описание в два предложения. Это дешевая рутинная работа, хорошо подходящая для текстовой модели.
Истории и игры
Художественное аудио, такое как хоррор-сериал, интерактивная история или диалог для игры, часто включает мрачные или взрослые темы. Модель настроена на ответы без отказов по содержанию для законного использования взрослыми, поэтому запрос, соответствующий жанру, не сопровождается нравоучениями. Правило против сексуального контента с участием несовершеннолетних остаётся абсолютным.
Если вы потоково передаёте длинные сценарии на экран, установите stream: true и читайте чанки по мере их поступления; потребление указывается в конце потока.
Сколько стоит написать тысячу промптов
Текст дёшев по сравнению с этапом генерации аудио. Тариф составляет $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов, списывается с предоплаченного баланса без подписки.
Предположим, каждый запрос отправляет около 600 токенов (системное сообщение плюс идея) и получает обратно около 300 токенов JSON. Для 1 000 запросов:
- Вход: 600 000 токенов x $0,15 / 1 млн = $0,09
- Выход: 300 000 токенов x $0,50 / 1 млн = $0,15
- Итого: $0,24
Таким образом, тысяча готовых промптов стоит около двадцати четырёх центов, а запросы, которые завершились ошибкой или были отклонены, не оплачиваются. В новом аккаунте можно получить $0,50 пробного баланса одним нажатием на странице API-ключа, без привязки карты, срок действия — 7 дней; этого хватит примерно на две тысячи промптов указанного размера. После этого минимальная сумма пополнения составляет $20; подробности бонусных уровней и вариантов оплаты см. в тарифах. Промпты не используются для обучения.
Дополнительные руководства
Вопросы и ответы
Может ли текстовая LLM генерировать аудио?
Нет. Языковая модель генерирует текст. Аудио создаётся отдельной аудио-моделью, а роль LLM заключается в написании промпта, текста песни или сценария, которые нужны этой модели.
Генерирует ли этот API музыку или речь?
Нет. Только текст, без генерации аудио, изображений или видео. Он предназначен как этап написания текста перед аудио-инструментом.
Как получить структурированные промпты, которые можно подать в скрипт?
Используйте JSON-режим с параметром response_format, установленным в json_object, укажите имена ключей в системном сообщении и проверьте результат парсинга в коде.
Сколько стоит генерировать множество промптов?
При цене $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов 1000 промптов длиной около 600 токенов на входе и 300 токенов на выходе обойдутся примерно в $0,24.
Есть ли бесплатный способ попробовать?
Новые пользователи могут получить $0,50 пробного баланса одним кликом после регистрации. Карта не требуется, срок действия — 7 дней.
До вашего ключа — одна форма
Создайте аккаунт, скопируйте ключ, измените базовый URL. Это вся настройка.