TTS Service (ElevenLabs)¶
O Spoke Plus usa ElevenLabs como provedor oficial de síntese de voz.
Requisitos¶
ELEVENLABS_API_KEYconfigurada 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/voicesGET https://api.elevenlabs.io/v1/modelsPOST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}
Fluxo administrativo¶
- Sincronizar vozes com ElevenLabs:
curl -X POST http://localhost:3000/admin/content/voices/sync \
-H "Authorization: Bearer <ADMIN_TOKEN>"
- Consultar inventário consolidado (voices + idiomas verificados + modelos TTS):
curl http://localhost:3000/admin/content/voices/inventory \
-H "Authorization: Bearer <ADMIN_TOKEN>"
- 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