Typecast API
Um servidor MCP para a API Typecast, permitindo geração de voz com IA para diversos conteúdos.
Documentação
typecast-api-mcp-server
Servidor MCP para typecast-api, permitindo integração perfeita com clientes MCP. Este projeto fornece uma forma padronizada de interagir com a API Typecast por meio do Model Context Protocol.
Sobre
Este projeto implementa um servidor Model Context Protocol para a API Typecast, permitindo que clientes MCP interajam com a API Typecast de forma padronizada.
Modelos Suportados
| Modelo | Descrição | Controle de Emoção |
|---|---|---|
| ssfm-v30 | Modelo mais recente (recomendado) | Predefinição + Modo Inteligente |
| ssfm-v21 | Modelo de produção estável | Somente predefinição |
Recursos do ssfm-v30
- 7 Predefinições de Emoção: normal, feliz, triste, bravo, sussurro, tom acima, tom abaixo
- Modo Inteligente: A IA infere automaticamente a emoção a partir do contexto usando
previous_textenext_text - 37 Idiomas: Suporte estendido a idiomas
Status de Implementação de Recursos
| Recurso | Status |
|---|---|
| Gerenciamento de Voz | |
| Documentação de Pesquisa | ✅ |
| Obter Vozes (API V3) | ✅ |
Obter Vozes com filtro use_cases | ✅ |
| Obter Voz (API V3) | ✅ |
| Recomendar Vozes | ✅ |
| Texto para Fala | ✅ |
| Texto para Fala (Streaming) | ✅ |
| Texto para Fala (com Timestamps) | ✅ |
| Obter Minha Assinatura | ✅ |
| Reproduzir Áudio | ✅ |
| Controles de Saída | |
Normalização de volume target_lufs | ✅ |
| Suporte ssfm-v30 | |
| Modo Predefinição | ✅ |
| Modo Inteligente | ✅ |
| Voz Personalizada | |
| Clone Instantâneo / Profissional | ✅ |
| Listar / Obter / Excluir Voz Personalizada | ✅ |
Clonagem Rápida de Voz
O servidor MCP expõe ferramentas para a API atual de Voz Personalizada:
clone_voice: cria uma voz personalizada com clone instantâneo a partir de um arquivo WAV ou MP3 local.create_professional_voice: inicia um clone profissional; consulte o status antes de usar.get_custom_voiceseget_custom_voice: listam vozes ou verificam o status do clone.delete_cloned_voice: exclui um ID de voz clonada que começa comuc_.
Restrições do clone instantâneo:
- O nome da voz deve ter de 1 a 30 caracteres.
- A amostra de áudio deve ser WAV ou MP3.
- A amostra de áudio deve ter 25 MB ou menos.
- Use
ssfm-v30a menos que você tenha um motivo específico de compatibilidade.
Fluxo típico:
- Execute
clone_voicecomname,audio_file_pathemodelopcional. - Use o
next_step_voice_ide onext_step_modelretornados emtext_to_speech,text_to_speech_streamoutext_to_speech_with_timestamps. - Execute
delete_cloned_voicequando a voz clonada temporária não for mais necessária.
A clonagem profissional retorna 202 Accepted. Consulte get_custom_voice até que o status se torne completed ou failed; a conclusão pode levar até duas horas.
Recomendações de Voz
Use recommend_voices quando você souber o estilo, o humor, o idioma ou o caso de uso desejado, mas ainda não souber o ID exato da voz. Ele chama GET /v1/voices/recommendations e retorna candidatos ordenados por pontuação.
A resposta de recomendação contém intencionalmente apenas voice_id, voice_name e score. Se um agente precisar de detalhes sobre uma voz recomendada, chame get_voice para cada ID retornado ou get_voices para uma lista filtrada mais ampla antes de usar o ID em TTS.
Configuração
Servidor Hospedado
O endpoint HTTP Streamable hospedado é:
https://typecast-api-docs-web-production.up.railway.app/mcp
Sem autenticação, o servidor expõe apenas search_documentation. Envie uma chave da API Typecast em cada solicitação MCP para desbloquear as ferramentas da API Typecast:
X-API-KEY: YOUR_TYPECAST_API_KEY
Authorization: Bearer YOUR_TYPECAST_API_KEY também é suportado. O servidor hospedado não armazena a chave. O áudio gerado é retornado como uma URL de download privada e impossível de adivinhar, que expira após uma hora. play_audio continua sendo uma ferramenta somente local, pois um servidor hospedado não pode reproduzir som no dispositivo do cliente MCP.
Para preservar a forma como o código de integração Typecast foi criado, os clientes hospedados podem enviar ambos os cabeçalhos de atribuição juntos:
X-Typecast-Integration-Source: api-docs
X-Typecast-Generated-By: codex
Use api-page para integração na página da API e api-docs para integração na documentação da API. Os valores legados llms e skill continuam aceitos. X-Typecast-Generated-By aceita um token ASCII minúsculo de até 32 caracteres. O servidor mantém seu próprio User-Agent typecast-mcp/<version> e anexa essa atribuição em vez de substituí-la.
No servidor hospedado, clone_voice aceita apenas audio_base64 juntamente com um audio_filename terminando em .wav ou .mp3. audio_file_path está disponível somente quando este servidor MCP é executado localmente.
Variáveis de Ambiente
Defina as seguintes variáveis de ambiente:
TYPECAST_API_KEY=<your-api-key>
TYPECAST_OUTPUT_DIR=<your-output-directory> # default: ~/Downloads/typecast_output
TYPECAST_INTEGRATION_SOURCE=<llms|skill|api-page|api-docs> # optional; set both attribution variables
TYPECAST_GENERATED_BY=<coding-agent-id> # optional; e.g. codex or claude-code
Uso com Claude Desktop / Cursor
Você pode adicionar o seguinte ao seu claude_desktop_config.json ou às configurações MCP do Cursor:
Recomendado: Usando uvx (Sem instalação necessária)
{
"mcpServers": {
"typecast-api-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/neosapience/typecast-api-mcp-server.git",
"typecast-api-mcp-server"
],
"env": {
"TYPECAST_API_KEY": "YOUR_API_KEY",
"TYPECAST_OUTPUT_DIR": "PATH/TO/YOUR/OUTPUT/DIR"
}
}
}
}
Este método busca e executa automaticamente o servidor do GitHub sem clonagem manual.
Nota para usuários Linux: Se você estiver executando no Linux, precisará adicionar a variável de ambiente XDG_RUNTIME_DIR à seção env:
"env": {
"TYPECAST_API_KEY": "YOUR_API_KEY",
"TYPECAST_OUTPUT_DIR": "PATH/TO/YOUR/OUTPUT/DIR",
"XDG_RUNTIME_DIR": "/run/user/1000"
}
Alternativa: Instalação Local
Se preferir clonar e executar localmente:
Git Clone
git clone https://github.com/neosapience/typecast-api-mcp-server.git
cd typecast-api-mcp-server
Dependências
Este projeto requer Python 3.10 ou superior e usa uv para gerenciamento de pacotes.
# Create virtual environment and install packages
uv venv
uv pip install -e .
Configuração Local
{
"mcpServers": {
"typecast-api-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/PATH/TO/YOUR/PROJECT",
"run",
"typecast-api-mcp-server"
],
"env": {
"TYPECAST_API_KEY": "YOUR_API_KEY",
"TYPECAST_OUTPUT_DIR": "PATH/TO/YOUR/OUTPUT/DIR"
}
}
}
}
Substitua /PATH/TO/YOUR/PROJECT pelo caminho real onde seu projeto está localizado.
Execução Manual
Você também pode executar o servidor manualmente:
uv run python app/main.py
Contribuindo
Contribuições são sempre bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Licença
Licença MIT