Skip to main content

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:

URLMétodosPropósito
/v1/audio/*QualquerProxy pass-through para serviço de audio Anthropic
/v1/bGET, POST, PUT, DELETECatch-all para prototipação voice beta
/api/ws/voice/*WebSocketPotencial 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:

APIUso
MediaRecorderGravação de audio do microfone
getUserMediaCaptura de stream de audio do microfone
AudioContextProcessamento e análise de audio

Codecs Suportados

CodecRecomendadoObservação
OpusSimMaior eficiência, recomendado para transmissão
PCMNãoSem compressão, maior largura de banda

Sample Rates

TaxaUso
16kHzRecomendado para fala, menor largura de banda
48kHzQualidade superior, maior largura de banda

format: md

Proxy Configuration

ConfiguraçãoDescrição
audio_proxy_urlURL base do proxy de audio (configurável via store)
Defaulthttps://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.

HeaderValorObrigatório
AuthorizationBearer <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).

HeaderValorObrigatório
AuthorizationBearer <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ódigoSignificado
400Formato de audio inválido
401Não autorizado
413Arquivo de audio muito grande
415Codec não suportado
500Erro interno do serviço de audio
502Proxy de audio indisponível