format: md
Voice / Audio
Voice no Claude Desktop é 100% client-side, processado no renderer através de Web APIs. Não há IPC para audio. Os endpoints de audio são roteados via proxy para o serviço Anthropic.
format: md
Proxy de Audio
O gateway roteia requisições de audio como pass-through para o serviço Anthropic:
| URL | Métodos | Propósito |
|---|---|---|
/v1/audio/* | Qualquer | Proxy pass-through para serviço de audio Anthropic |
/v1/b | GET, POST, PUT, DELETE | Catch-all para prototipação voice beta |
/api/ws/voice/* | WebSocket | Potencial full-duplex para voz (não implementado) |
Exemplo: Proxy de Audio
curl -X POST http://localhost:4000/v1/audio/transcriptions \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "file=@audio.wav" \
-F "model=whisper-1"
format: md
Processamento de Audio (Client-side)
O processamento de audio ocorre inteiramente no navegador/renderer usando Web APIs padrão:
| API | Uso |
|---|---|
MediaRecorder | Gravação de audio do microfone |
getUserMedia | Captura de stream de audio do microfone |
AudioContext | Processamento e análise de audio |
Codecs Suportados
| Codec | Recomendado | Observação |
|---|---|---|
| Opus | Sim | Maior eficiência, recomendado para transmissão |
| PCM | Não | Sem compressão, maior largura de banda |
Sample Rates
| Taxa | Uso |
|---|---|
| 16kHz | Recomendado para fala, menor largura de banda |
| 48kHz | Qualidade superior, maior largura de banda |
format: md
Proxy Configuration
| Configuração | Descrição |
|---|---|
audio_proxy_url | URL base do proxy de audio (configurável via store) |
| Default | https://audio.anthropic.com |
A configuração do proxy de audio pode ser alterada via store do Claude Desktop:
{
"audio_proxy_url": "https://audio.anthropic.com"
}
format: md
Endpoints de Audio Proxy
POST /v1/audio/transcriptions
POST /v1/audio/transcriptions
Transcreve audio para texto.
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer <token> | Sim |
Request: multipart/form-data com arquivo de audio.
Response:
{
"text": "transcrição do audio"
}
format: md
POST /v1/audio/speech
POST /v1/audio/speech
Gera audio a partir de texto (TTS).
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer <token> | Sim |
Request Body:
{
"model": "tts-1",
"input": "Texto para converter em fala",
"voice": "alloy",
"response_format": "opus"
}
Response: Binary audio stream (Opus ou PCM conforme response_format).
format: md
GET /v1/b
GET /v1/b
Catch-all para prototipação de endpoints voice beta.
format: md
Códigos de Erro
| Código | Significado |
|---|---|
400 | Formato de audio inválido |
401 | Não autorizado |
413 | Arquivo de audio muito grande |
415 | Codec não suportado |
500 | Erro interno do serviço de audio |
502 | Proxy de audio indisponível |