Skip to content

TTS Service (ElevenLabs)

O Spoke Plus usa ElevenLabs como provedor oficial de síntese de voz.

Requisitos

  • ELEVENLABS_API_KEY configurada no backend API (:3000).
  • Permissões mínimas recomendadas para a chave:
  • Text to Speech Access
  • Voices Read
  • Models Access

Endpoints oficiais utilizados

  • GET https://api.elevenlabs.io/v1/voices
  • GET https://api.elevenlabs.io/v1/models
  • POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}

Fluxo administrativo

  1. Sincronizar vozes com ElevenLabs:
curl -X POST http://localhost:3000/admin/content/voices/sync \
  -H "Authorization: Bearer <ADMIN_TOKEN>"
  1. Consultar inventário consolidado (voices + idiomas verificados + modelos TTS):
curl http://localhost:3000/admin/content/voices/inventory \
  -H "Authorization: Bearer <ADMIN_TOKEN>"
  1. Testar geração de áudio:
curl -X POST http://localhost:3000/admin/tts/generate \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <ADMIN_TOKEN>" \
  -d '{
    "text":"Hello from Spoke Plus",
    "content_type":"sentence",
    "character":"Narrator"
  }'

Cache de custo

Antes de sintetizar novo áudio, a API busca tts_assets por text_hash. Se já existir item ready, retorna o asset existente (sem nova cobrança do provider).

Modelo multilíngue padrão

TTS_DEFAULT_MODEL=eleven_multilingual_v2

Idiomas suportados mudam ao longo do tempo na ElevenLabs. Para lista atualizada e oficial, consulte: - GET /v1/models - GET /v1/voices

Observabilidade

A tela Observability → TTS exibe: - status do provider - modelo padrão - contagem e lista dos últimos assets - teste manual de geração de áudio