Configuração
Transcrição e custos
Escolha o whisper no dispositivo (gratuito), sua própria chave da OpenAI ou qualquer endpoint compatível com OpenAI, como a sua própria máquina com GPU. O áudio vai direto da sua máquina para o serviço que você escolher.
#Quem paga e para onde vai o tráfego
Modelo de custos e de rede
- O desenvolvedor (Japan Marketing LLC) não paga, não intermedeia e não cobra nenhum uso de transcrição ou de IA.
- As requisições vão direto do seu computador para a OpenAI ou para o seu endpoint, nunca por um servidor do desenvolvedor.
- O uso da OpenAI é cobrado na sua própria conta da OpenAI.
- Organizar usa a CLI do Claude Code / Codex em que você já fez login, a menos que você escolha explicitamente um executor por API (
organizer.runner: "api:<provider>", veja Configurar com o settings.json). Ele nunca passa a usar uma chave de API por conta própria.
#Métodos
Escolha em Configurações → Transcrição → Mecanismo. O popover Microfone e transcrição do rodapé mostra a escolha atual.
| Mecanismo | Para onde vai o áudio | Custo |
|---|---|---|
| No dispositivo (gratuito) (padrão) | Para lugar nenhum | Gratuito |
| OpenAI (sua chave) | OpenAI | Na sua conta da OpenAI: gpt-transcribe a US$ 0,0045/min (cerca de US$ 0,27/hora) |
| Compatível com OpenAI (GPU auto-hospedada, Groq etc.) | A sua Base URL do endpoint | Depende do endpoint |
Configurações → Transcrição → Idioma: Automático, Japonês ou Inglês. Este é o idioma falado, separado do idioma da interface.
#Whisper no dispositivo (gratuito)
A transcrição no dispositivo usa o whisper.cpp (abre em uma nova aba): o binário whisper-cli mais um modelo GGML.
1. Instale o whisper-cli. O Ferret procura uma cópia embutida (resources/whisper/<platform>-<arch>/), depois o PATH e depois locais comuns, como o Homebrew.
# macOS
brew install whisper-cpp
# Linux: build from source, then add build/bin to PATH
git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp
cmake -B build && cmake --build build -j --config Release
# Windows: download the zip from github.com/ggml-org/whisper.cpp/releases
# and add the folder containing whisper-cli.exe to PATH
2. Obtenha um modelo. Com No dispositivo (gratuito) selecionado, escolha um Modelo e clique em Baixar modelo. Os arquivos vêm direto do Hugging Face (ggerganov/whisper.cpp), são conferidos com um sha256 fixado no app (se não conferir, o arquivo é excluído) e são salvos em <userData>/models/. O modelo baixado é selecionado automaticamente. Cancelar mantém o arquivo parcial, e Retomar download continua de onde parou.
| Modelo | Tamanho | Observações |
|---|---|---|
large-v3-turbo | 1,6 GB | Padrão recomendado. Rápido com Metal / GPU |
large-v3-turbo-q5_0 | 574 MB | Quantizado. Economiza disco e memória |
small | 488 MB | Para máquinas só com CPU |
base | 148 MB | Leve. Muitos erros em japonês |
tiny | 78 MB | O mais rápido. Não é preciso o bastante para japonês |
Já tem um modelo? Use Escolher um arquivo… para apontar para qualquer ggml-*.bin. Sem um modelo, as Configurações informam que nenhum modelo está definido. Você ainda pode gravar: o áudio é salvo, e só os apontamentos da caneta são gerados.
O whisper-cli não vem com o app. Instale-o você mesmo como mostrado acima. Quando ele não é encontrado, as Configurações mostram O whisper.cpp (whisper-cli) não foi encontrado. Instale-o e reabra as configurações.
com as mesmas instruções.
#Sua própria chave da OpenAI
- Defina Mecanismo como OpenAI (sua chave).
- Cole uma chave que comece com
sk-em Chave de API da OpenAI e clique em Salvar. - Clique em Testar conexão. Isso envia 1 segundo de silêncio (cerca de US$ 0,0001).
O modelo é fixo em gpt-transcribe. Apenas em desenvolvimento (pnpm dev), o OPENAI_API_KEY de um arquivo .env ignorado também é lido. As versões empacotadas nunca leem o .env.
#Endpoints compatíveis com OpenAI
O Ferret envia POST <base>/v1/audio/transcriptions (multipart: file, model, response_format=json, language, prompt), então foi pensado para servidores que implementam a rota de transcrição da OpenAI.
- Defina Mecanismo como Compatível com OpenAI (GPU auto-hospedada, Groq etc.).
- Preencha Base URL do endpoint e Modelo (o nome do modelo no endpoint).
- Se o servidor exigir, informe a Chave de API do endpoint (opcional) e clique em Salvar.
- Clique em Testar conexão. Os erros indicam a causa, por exemplo uma Base URL errada (sem
/v1/audio/transcriptions), uma chave recusada ou um nome de modelo desconhecido.
| Servidor | Base URL | Modelo (exemplo) |
|---|---|---|
| speaches (abre em uma nova aba) (antigo faster-whisper-server) | http://localhost:8000/v1 | Systran/faster-whisper-small |
vLLM (abre em uma nova aba) (vllm serve openai/whisper-large-v3) | http://localhost:8000/v1 | openai/whisper-large-v3 |
| Groq (abre em uma nova aba) | https://api.groq.com/openai/v1 | whisper-large-v3-turbo |
O Ferret foi pensado para servidores compatíveis com OpenAI como esses, mas eles ainda não foram testados com o Ferret. As URLs e os nomes de modelos são os padrões documentados pelos próprios servidores.
- Um
/v1no final ou um/v1/audio/transcriptionscolado é removido ao salvar, então qualquer uma das formas funciona. - URLs que contêm nome de usuário ou senha são recusadas, para que as chaves nunca acabem no
settings.json. - Para uma máquina com GPU na sua LAN ou tailnet, use o endereço dela, por exemplo
http://100.x.y.z:8000/v1.
#Limite de custo
Para a OpenAI e endpoints compatíveis, defina o Limite de custo: Nenhum ou de Até $0.10 por revisão até $0.50, $1 (padrão), $5 e $20. Para a sua própria GPU, Nenhum faz sentido. A configuração é armazenada como capture.costLimitUsd (máximo 1000; null significa sem limite). Para endpoints compatíveis, a estimativa é de US$ 0,006/min.
Quando o próximo trecho ultrapassaria o limite, o Ferret para de enviar e mantém o áudio. Chamadas de API que falham não são repetidas automaticamente.
#Onde as chaves são armazenadas
As chaves informadas em Configurações são criptografadas com o safeStorage do Electron e gravadas em <userData>/stt-keys.bin. O app nunca as grava no settings.json. Para apontar para uma chave a partir do settings.json (uma variável de ambiente ou uma entrada do .env), veja Chaves de API.
- macOS: Keychain
- Windows: DPAPI
- Linux: libsecret ou KWallet. Se só o backend
basic_textestiver disponível, a chave fica na memória apenas durante a sessão atual (o botão mostra Definir para esta sessão).
Excluir chave a remove. Para os caminhos de <userData>, veja Arquivos e ambiente.
Ajude a traduzir esta página no GitHub (abre em uma nova aba)