ForHosting KIT · Áudio e voz

Narração com SSML

Este endpoint de texto para voz aceita o texto com marcação SSML que seu pipeline já gera, e também texto simples.

● Betapor 1.000 caracteresUS$ 0,002
Use pelo WebAPIE-mailTelegramApp em breve

Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.

Ele lê as palavras faladas de dentro da marcação e as sintetiza em áudio com voz natural, então um fluxo que já usa SSML pode apontar para cá sem antes remover as tags para deixar texto puro. Vale deixar o limite claro desde o começo: este motor pronuncia as palavras, não os controles acústicos finos que o SSML consegue descrever.

O que é SSML e por que ele existe

Speech Synthesis Markup Language é um padrão do W3C criado para que quem escreve descreva como o motor de voz deve dizer algo, não só o que dizer: onde pausar, qual sílaba acentuar, como pronunciar uma sigla, se uma sequência de dígitos é uma data, um telefone ou uma quantidade simples. Há anos é a convenção da indústria para controlar a fala sintetizada, justamente porque o texto puro é de fato ambíguo — “2/3” pode ser uma data, uma fração ou um placar, e só a marcação resolve isso no abstrato. É esse o formato que este endpoint aceita na entrada; o que ele faz com cada tag está descrito com clareza na seção seguinte.

Como funcionam a requisição e a resposta

Você envia o texto com marcação SSML (ou texto puro) no corpo da requisição. O serviço extrai as palavras faladas da marcação e as sintetiza; as próprias tags são reduzidas ao seu texto antes da síntese. A tarefa é enfileirada de forma assíncrona e devolve um task_id na hora; o áudio pronto é entregue depois por um webhook assinado ou por um link assinado válido por 24 horas. Como o que é sintetizado são as palavras, enviar SSML e enviar o texto puro equivalente produz a mesma narração natural — a marcação é aceita por compatibilidade, não porque cada tag mude o som.

O que este motor representa e o que não representa

Este é o limite honesto, dito para que nada nesta página prometa demais. O motor de voz atual lê o conteúdo de texto e produz uma fala natural e bem cadenciada. Ele não aplica de forma acústica os controles finos do SSML: ênfase, pronúncia fonética, prosódia e durações exatas de pausa são aceitas na entrada e depois removidas, não representadas. Assim, uma tag de pausa de dois segundos não segura a locução por dois segundos, e uma tag de ênfase não acentua aquela palavra mais do que o modelo já faria sozinho. Se o seu uso depende de esses controles serem representados com precisão, essa capacidade ainda não está disponível neste motor — este endpoint existe para que um pipeline com SSML gere áudio hoje sem um ramo separado de texto puro.

Como encaixar em conteúdo automatizado

SSML é apenas texto estruturado, então é fácil gerá-lo de forma programática — um pipeline de conteúdo pode envolver números em tags, inserir pausas entre seções ou marcar um nome com uma dica fonética, tudo sem intervenção humana. O valor deste endpoint para esse público é que ele aceita como está o SSML que eles já emitem: não precisam construir e manter um segundo caminho de código que reduza a marcação a texto puro antes de enviar. O preço reflete a natureza leve e específica da tarefa — uma pequena base por requisição mais uma tarifa por 1000 caracteres do texto enviado, e tarefas que falham nunca são cobradas depois das novas tentativas automáticas.

Acesso e como os resultados são tratados

Este endpoint exige saldo pré-pago, como todos os outros da API; uma requisição sem saldo devolve HTTP 402 em vez de um resultado parcial ou degradado. O texto enviado e o áudio gerado são removidos ao fim do período de retenção e nunca são usados para treinar modelos — a entrega é estritamente pelo seu webhook ou por um link assinado temporário, e nada é guardado além dessa janela.

Substituição direta para um pipeline com SSML

Aponte para este endpoint um fluxo que já emite SSML e receba o áudio falado de volta sem escrever seu próprio passo para remover as tags e deixar texto puro antes.

Narração a partir de roteiros gerados

Transforme roteiros gerados por algoritmo em áudio falado com voz natural, como um passo automatizado a mais de um pipeline de conteúdo.

Texto longo para áudio

Converta artigos, notas ou documentação em áudio para quem prefere ouvir o conteúdo em vez de ler.

Saída de voz multilíngue

Gere áudio falado nos idiomas suportados a partir do mesmo formato de requisição, conforme o campo de idioma.

O que é SSML e como esta api de texto para voz o usa?

SSML é um padrão de marcação para descrever a síntese de fala. Este endpoint aceita texto com marcação SSML, lê dele as palavras faladas e as sintetiza em áudio natural. Ele aceita o formato por compatibilidade; veja a próxima resposta para saber quais controles de SSML são de fato representados.

Ele representa as tags de ênfase, fonema e prosódia?

Não, não no motor de voz atual. Essas tags, junto com as durações exatas de pausa, são aceitas na entrada e depois reduzidas ao seu texto; o áudio pronuncia as palavras com naturalidade em vez de aplicar a ênfase, a pronúncia ou as pausas marcadas. A representação acústica precisa desses controles ainda não está disponível.

Esta api de texto para voz é gratuita?

Não há camada gratuita — camadas grátis são abusadas e deixam tudo lento para todos. O acesso funciona com um saldo pré-pago do ForHosting KIT: recarregue a partir de US$ 10,00 (não expira) e cada requisição é cobrada pelo preço publicado, então uma chamada sem saldo devolve HTTP 402. Sem assinatura, sem tokens nem créditos inventados, e uma tarefa que falha não é cobrada.

Quanto custa?

Custa US$ 0,002 por requisição mais US$ 0,0025 por 1000 caracteres do texto enviado.

Preciso de SSML para um texto para voz básico?

Não. Se você só precisa de áudio com voz natural a partir de texto puro, o endpoint padrão de texto para voz é mais simples e produz o mesmo tipo de narração. Tanto texto puro quanto SSML saem aqui como fala natural.

Como recebo o áudio gerado?

A tarefa roda de forma assíncrona e devolve um task_id na hora; o áudio finalizado é entregue por um webhook assinado ou por um link assinado válido por 24 horas.

O que acontece se minha marcação SSML for inválida?

Como a marcação é reduzida ao seu texto falado antes da síntese, tags malformadas não fazem a requisição falhar — você ainda recebe o áudio das palavras legíveis. Nada é rejeitado por uma tag estar errada, então não conte com este endpoint para validar seu SSML.

Posso usá-lo para controlar a pronúncia de nomes ou siglas?

De forma acústica não — o controle por fonema não é representado neste motor, então uma tag de fonema não força uma pronúncia específica. Se um nome precisa ser dito de certa maneira, escreva-o foneticamente no próprio texto para que as palavras carreguem a pronúncia.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/voice/tts-ssml

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/voice/tts-ssml \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ssml":"<speak>Hola <break time=\"500ms\"/> mundo.</speak>"}'
{
  "ssml": "<speak>Hola <break time=\"500ms\"/> mundo.</speak>"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "voice.tts_ssml",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002
por 1.000 caracteresUS$ 0,0025

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb200
max_minutes180
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →