LLM de texto para áudio: o que pode e não pode fazer
Um LLM de texto para áudio geralmente são duas ferramentas trabalhando juntas: um modelo de linguagem que escreve o prompt e um modelo de áudio que o converte em som. Esta API cobre a primeira metade.

Atualizado
Pontos principais
Este serviço é apenas texto e não gera áudio, imagens ou vídeo.
Sua função em um fluxo de áudio é escrever prompts, letras, roteiros de cena e metadados.
Conectá-lo a uma ferramenta de áudio requer um script curto e saída JSON.
1.000 prompts de cerca de 600 tokens de entrada e 300 de saída custam cerca de $0,24.
Resposta curta: um LLM escreve as instruções, não o som
Quando as pessoas procuram por um llm de texto para áudio, muitas vezes imaginam um único modelo que lê uma frase e retorna um arquivo de som. Modelos de linguagem grandes não fazem isso. Eles leem e escrevem texto. O som vem de um modelo separado construído para áudio, que recebe uma descrição textual como entrada.
Essa separação é útil porque a qualidade da descrição importa muito. Um pedido vago como "música relaxante" dá pouco material para um modelo de áudio trabalhar. Um pedido específico que nomeia gênero, tempo, instrumentos, humor, estrutura e duração dá muito mais. Escrever essa descrição específica em volume, em um formato consistente, é uma boa tarefa para um modelo de linguagem.
Este site oferece exatamente essa metade: uma API de texto compatível com OpenAI. Não há geração de áudio, embeddings nem ajuste fino. Se você precisa do som em si, combine-o com uma ferramenta que produza som e use este endpoint como a etapa de escrita antes dele. Não somos afiliados a nenhum fornecedor de áudio, então verifique a documentação própria de cada ferramenta para suas regras de entrada.
Onde um modelo de texto ajuda em um pipeline de áudio
As tarefas adequadas são aquelas em que a saída é palavras:
- Escrita de prompts. Transforme uma ideia vaga em uma descrição detalhada com gênero, tempo, instrumentação e humor.
- Letras e roteiros. Versos e um refrão para uma música, ou um roteiro de narração para a introdução de um podcast ou um capítulo de audiolivro.
- Variações. Dez prompts alternativos a partir de um conceito, para que você possa testar várias direções.
- Metadados. Títulos, descrições, tags e notas de faixa assim que o áudio existir.
- Revisão. Reescrever um prompt após um resultado ter falhado, usando suas anotações sobre o que deu errado.
O modelo aqui é ajustado para responder sem recusas de conteúdo para uso adulto legal, o que é importante para áudio com muita ficção, como contos sombrios, dramas de terror ou diálogos de jogos maduros, onde um modelo mais rigoroso pode recusar um pedido perfeitamente razoável. A única linha dura é que nada envolvendo menores de idade em contexto sexual é permitido, e as chaves não são para isso.
Nossa página de prompt de vídeo cobre a mesma ideia para ferramentas de vídeo; o padrão de escrever uma descrição estruturada primeiro e passá-la para um gerador depois se aplica a todos os meios.
Exemplo prático: uma ideia entra, um prompt estruturado sai
A maneira mais confiável de alimentar uma ferramenta downstream é a saída estruturada. O modo JSON (response_format: {"type":"json_object"}) faz o modelo retornar um objeto JSON, para que seu script possa ler campos nomeados em vez de analisar parágrafos. Aqui está um script Python usando o SDK OpenAI neste endpoint.
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"])
Mantenha a palavra JSON na sua mensagem do sistema e liste as chaves que você deseja. O modelo então tem um alvo claro. Valide o resultado antes de enviá-lo adiante: verifique se tempo_bpm é um número e se instruments é uma lista, e tente novamente uma vez se não for.
A mesma solicitação em curl, útil para uma verificação rápida, é assim:
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."}
]
}'Escrevendo prompts que o modelo de áudio pode usar
Um modelo de linguagem escreverá qualquer formato de prompt que você pedir, então o trabalho real é decidir o formato. Algumas regras se mantêm na maioria das ferramentas de áudio.
Diga o que a ferramenta quer, na ordem que ela quer
Leia a documentação da ferramenta de áudio e copie seu vocabulário. Se ela responde a tags de seção entre colchetes ou a uma linha de estilo com descritores separados por vírgula, coloque um exemplo desse formato exato na sua mensagem do sistema. Os modelos imitam exemplos de perto.
Dê substantivos concretos
"Piano espaçado, bateria escovada, contrabaixo acústico, crepitar de vinil" supera "sensação jazz agradável". Diga ao modelo para nomear instrumentos, faixa de tempo e textura, e evitar adjetivos supérfluos.
Defina limites de comprimento na instrução
Muitas ferramentas de áudio limitam o comprimento do prompt. Coloque o limite na mensagem do sistema ("não mais que 60 palavras") e imponha isso no código também. Os modelos têm dificuldade com contagem de palavras, então trunque ou tente novamente quando a verificação falhar.
Mantenha um loop de feedback
Após ouvir um resultado, envie sua anotação de volta: "Muito ocupado na segunda metade, bateria muito alta, mantenha a tonalidade." Uma segunda chamada pode revisar o prompt anterior com essa anotação no contexto. A janela de contexto de 100.000 tokens permite que você carregue um longo histórico de tentativas se quiser que o modelo aprenda o que você continua rejeitando.
Conectando o modelo a um gerador de áudio
O código de cola é curto. Gere a especificação, valide-a e, em seguida, passe o campo prompt para qualquer serviço de áudio que você usar. A chamada de áudio é mostrada como um espaço reservado porque a interface de cada fornecedor difere; pegue seus parâmetros da documentação deles.
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])
Se você executar isso em paralelo sobre uma lista, observe os limites. Uma chave completa permite 8 requisições simultâneas e 300 por minuto; a chave de teste permite 2 e 60. Um 429 com concurrency significa muitas de uma vez, rate_limited significa muitas por minuto, e um cabeçalho Retry-After: 5 significa aguarde cinco segundos e tente novamente. Um pool de threads pequeno ajustado ao seu limite, mais uma tentativa, é suficiente.
A documentação da API lista os parâmetros suportados, incluindo temperature, top_p, stop e seed. Um seed fixo ajuda quando você quer prompts repetíveis enquanto ajusta a mensagem do sistema.
Letras, narração e metadados em escala
Prompts são apenas um tipo de texto que um projeto de áudio precisa. Uma vez que o pipeline está em execução, o mesmo endpoint pode escrever as outras peças ao redor, e você pode reutilizar o objeto cliente do script anterior.
Roteiros de narração
Para áudio falado, peça um roteiro com indicações cênicas em uma notação fixa, como um marcador de pausa entre parágrafos e uma nota quando o locutor deve falar mais devagar. Informe ao modelo o tempo de leitura alvo. Uma regra prática comum é que um locutor lê cerca de 150 palavras por minuto, então uma peça de dois minutos precisa de cerca de 300 palavras; peça essa quantidade e depois conte as palavras no código.
Letras com estrutura fixa
Peça seções nomeadas, uma estrutura de rimas e uma faixa de sílabas por linha. Um modelo segue "quatro linhas, ABAB, oito a dez sílabas cada" muito melhor do que "um verso rimado bonito". Execute uma verificação no código depois e peça uma reescrita apenas da seção que falhou.
Títulos, tags e descrições
Após o áudio existir, envie o prompt final e as letras de volta ao modelo e peça três opções de título, cinco tags e uma descrição de duas frases. Este é um trabalho barato e repetitivo que se adapta bem a um modelo de texto.
Histórias e jogos
Áudio de ficção, como uma série de terror, uma história interativa ou o diálogo de um jogo, muitas vezes inclui temas sombrios ou maduros. O modelo é ajustado para responder sem recusas de conteúdo para uso adulto legal, então uma solicitação que se encaixa no gênero não encontra uma repreensão. A regra contra conteúdo sexual envolvendo menores de idade permanece absoluta.
Se você transmitir roteiros longos para uma tela, defina stream: true e leia os chunks conforme chegam; o uso é reportado no final do stream.
O custo para escrever mil prompts
Texto é barato comparado à etapa de áudio. A taxa é de $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, cobrados do crédito pré-pago sem assinatura.
Suponha que cada requisição envie cerca de 600 tokens (mensagem do sistema mais ideia) e receba cerca de 300 tokens de JSON. Para 1.000 requisições:
- Entrada: 600.000 tokens x $0,15 / 1M = $0,09
- Saída: 300.000 tokens x $0,50 / 1M = $0,15
- Total: $0,24
Então mil prompts finalizados custam cerca de vinte e quatro centavos, e solicitações que falham ou são recusadas não são cobradas. Uma nova conta pode reivindicar $0,50 de crédito de teste com um clique na página de chaves, sem cartão, válido por 7 dias, o que equivale a aproximadamente dois mil prompts no tamanho acima. Depois disso, recargas começam em $20; veja preços para os níveis de bônus e opções de pagamento. Prompts não são usados para treinamento.
Mais guias
Perguntas e respostas
Um LLM de texto pode gerar áudio?
Não. Um modelo de linguagem produz texto. O áudio vem de um modelo de áudio separado, e o papel do LLM é escrever o prompt, a letra ou o script que esse modelo precisa.
Esta API gera música ou fala?
Não. É apenas texto, sem geração de áudio, imagem ou vídeo. É destinado como a etapa de escrita antes de uma ferramenta de áudio.
Como obtenho prompts estruturados que posso passar para um script?
Use o modo JSON com response_format definido como json_object, nomeie as chaves na sua mensagem do sistema e valide o resultado analisado no código.
Quanto custa gerar muitos prompts?
A $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, 1.000 prompts de cerca de 600 tokens de entrada e 300 de saída custam cerca de $0,24.
Existe uma maneira gratuita de testar?
Novos usuários podem reivindicar $0,50 de crédito de teste com um clique após entrar. Não precisa de cartão e é válido por 7 dias.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave e altere a URL base. Essa é toda a configuração.