API do Worder
Gere voz a partir de vozes humanas reais e verificadas, por programação. Pague por segundo de áudio gerado.
Por que construir com o Worder?
Vozes de origem ética
Cada voz é enviada e verificada em vídeo pelo próprio locutor. Nada de dados raspados da internet.
Preço por segundo
Cada locutor define sua tarifa por segundo. Pague só pelo áudio que gerar, ou economize com os níveis de assinatura.
Locutores ficam com 90%
Depois das taxas de cartão de crédito e de geração por IA, os locutores ficam com 90% de cada venda. Os repasses são processados pelo Stripe Connect.
Início rápido
1. Obtenha sua chave de API + adicione créditos
Crie uma conta e depois acesse Painel → API para desenvolvedores para criar uma chave. Adicione créditos (mínimo de $5) — cada geração é cobrada do seu saldo ou de uma assinatura que você tenha com um locutor.
2. Encontre uma voz + amostra
curl https://worder.com/api/v1/voices \ -H "Authorization: Bearer wdr_YOUR_API_KEY"
Retorna as vozes com IDs, amostras, idiomas, preço por segundo e níveis de assinatura. Ou explore o marketplace e copie o ID da voz / amostra em qualquer página de amostra → "Gerar via API".
3. Gere voz
curl -X POST https://worder.com/api/v1/generate \
-H "Authorization: Bearer wdr_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_id": "VOICE_ID",
"sample_id": "SAMPLE_ID",
"text": "[happy] Hello, this is a test of the Worder API. [pause 1] [calm] Now let us discuss the details."
}'Retorna uma URL assinada do WAV gerado, o número de segundos produzidos, o valor cobrado e se a cobrança veio de uma assinatura ou dos seus créditos.
Tipos de voz
Emoção única
Uma amostra gravada. O roteiro inteiro é gerado em um tom uniforme. Etiquetas de direção não estão disponíveis. Ideal para narração, avisos e conteúdo de estilo constante.
Multiemoção
13 estilos emocionais gravados pelo locutor. Os compradores usam etiquetas de direção como [happy], [angry], [calm] para trocar de emoção no meio do roteiro. Ideal para anúncios, narrativas, personagens e conteúdo dinâmico.
Etiquetas disponíveis: normal, excited, happy, confident, fast, calm, surprised, angry, thoughtful, sad, annoyed, scared, nervous.
O campo voiceType na resposta da API indica o tipo de cada voz. Use descriptiveTags (até 5 palavras-chave como “grave”, “quente”, “profissional”) para buscar vozes com uma qualidade específica.
Referência da API
/api/v1/voicesLista as vozes verificadas em vídeo que têm pelo menos uma amostra.
Parâmetros de consulta
language — Filtrar por idioma (ex.: "English")
search — Busca por nome, sem distinguir maiúsculas
limit — Resultados por página (padrão 20, máximo 100)
offset — Deslocamento da paginação
Resposta
{
"voices": [
{
"id": "...",
"name": "Professional Narrator",
"language": "English (United States)",
"accent": null,
"voiceType": "MULTI_EMOTION",
"descriptiveTags": ["deep", "warm", "professional"],
"samples": [
{ "id": "...", "label": "normal" },
{ "id": "...", "label": "happy" },
{ "id": "...", "label": "angry" }
],
"user": {
"id": "...",
"name": "Sarah Mitchell",
"pricePerSecondCents": 5,
"volumeDiscounts": [
{ "threshold": 3600, "discountPercent": 20 }
],
"storefront": { "slug": "sarahmitchell" }
}
}
],
"total": 42,
"limit": 20,
"offset": 0
}/api/v1/generateGera voz a partir de uma voz. Se você tiver uma assinatura ativa com esse locutor, os segundos são descontados da assinatura. Caso contrário, seus créditos são cobrados pela tarifa por segundo do locutor.
Corpo da requisição (JSON)
voice_id obrigatório — ID da voz
sample_id — Amostra padrão para o texto sem etiqueta (por padrão, a primeira amostra)
text obrigatório — Texto a sintetizar (mín. 30, máx. 5.000 caracteres). Aceita etiquetas de direção e de pausa (veja abaixo).
Etiquetas de direção
Envolva partes do roteiro em colchetes com um nome de etiqueta que corresponda a um dos rótulos de amostra da voz. O Worder gera cada trecho com a amostra correspondente e depois une o áudio.
"text": "[happy] Welcome to the show! [confident] Now let's talk business."
As etiquetas disponíveis dependem da voz — consulte o campo samples[].label em /api/v1/voices. O texto sem etiqueta usa o sample_id que você indicou, ou a primeira amostra. Em uma voz multiemoção, uma etiqueta que não corresponde a nenhuma amostra retorna 422 com as etiquetas disponíveis da voz — nada é gerado nem cobrado. Roteiros escritos com as 13 etiquetas padrão funcionam em qualquer voz que as ofereça.
Etiqueta de pausa
Insere silêncio entre trechos. Indique a duração em segundos (inteiro ou decimal, máximo 30). O texto depois de uma pausa continua no estilo da etiqueta anterior.
"text": "[excited] Big news! [pause 2] [calm] But let's take it one step at a time." "text": "[calm] Take a breath. [pause 1.5] Now continue." "text": "[happy] Hola! [pausa 3] [calm] Ahora hablemos con calma."
Tanto [pause N] quanto [pausa N] são aceitos (funciona em qualquer idioma).
Etiqueta de ênfase
Use [emphasize] para aumentar o volume do trecho seguinte. Não muda o estilo da voz — usa a mesma amostra da etiqueta anterior. O texto depois de [emphasize] continua no estilo da etiqueta anterior.
"text": "[calm] Take a deep breath. [emphasize] Now give it everything you've got!"
Também aceitos: [emphasis], [enfatizar], [énfasis].
Substituições de pronúncia
Use {written|spoken} para controlar como palavras específicas são pronunciadas. O motor de TTS recebe a versão “falada”; a verificação de qualidade compara com a versão “escrita”.
"text": "{Pulse|Pols} es la energía que necesitas. {Nike|Naiki} también lo sabe."Útil para nomes de marcas, palavras estrangeiras ou termos técnicos que o TTS pronuncia errado.
Requisitos dos trechos
Cada trecho etiquetado deve ter pelo menos 30 caracteres. Trechos mais curtos produzem áudio pouco confiável. Se vários trechos forem curtos demais, a API retorna todos os erros de uma vez.
Depois da geração, o Worder transcreve o resultado com o Whisper e o compara com o texto de entrada. Se a correspondência for inferior a 90%, a geração é rejeitada (422) — você não é cobrado.
Resposta
{
"audio_url": "https://...",
"voice_id": "...",
"sample_id": "...",
"seconds_generated": 12,
"cost_cents": 60,
"charged_via": "credits",
"subscription_id": null,
"balance_cents": 9940
}Códigos de erro
400 — Erro de validação (texto curto demais, idioma incompatível, trecho curto demais). Pode conter vários erros separados por quebras de linha.
401 — Chave de API inválida ou ausente
402 — Créditos insuficientes (a resposta inclui required_cents, balance_cents)
404 — Voz ou amostra não encontrada
422 — Falha na verificação de qualidade (a resposta inclui similarity, transcript, quality_failed: true). Você não é cobrado.
502 — Falha na geração (erro no serviço de TTS)
Preços
Preço por segundo — cada locutor define sua própria tarifa (mínimo de $0.01/s). Você paga só pelos segundos de áudio realmente produzidos.
Assinaturas — contrate um pacote mensal de segundos (1 h, 10 h ou 100 h) e economize de 20 a 60% sobre a tarifa por segundo. Compre assinaturas na interface; elas se aplicam automaticamente quando você chama a API.
Créditos — recargas avulsas na sua conta, mínimo de $5. Os créditos são cobrados quando nenhuma assinatura cobre uma geração.
Divisão da receita — as taxas de processamento de cartão e de geração por IA saem primeiro. Do que resta, os locutores ficam com 90% (pagos via Stripe Connect) e o Worder com 10%.