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.

MecanismoPara onde vai o áudioCusto
No dispositivo (gratuito) (padrão)Para lugar nenhumGratuito
OpenAI (sua chave)OpenAINa 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 endpointDepende 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.

ModeloTamanhoObservações
large-v3-turbo1,6 GBPadrão recomendado. Rápido com Metal / GPU
large-v3-turbo-q5_0574 MBQuantizado. Economiza disco e memória
small488 MBPara máquinas só com CPU
base148 MBLeve. Muitos erros em japonês
tiny78 MBO 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

  1. Defina Mecanismo como OpenAI (sua chave).
  2. Cole uma chave que comece com sk- em Chave de API da OpenAI e clique em Salvar.
  3. 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.

  1. Defina Mecanismo como Compatível com OpenAI (GPU auto-hospedada, Groq etc.).
  2. Preencha Base URL do endpoint e Modelo (o nome do modelo no endpoint).
  3. Se o servidor exigir, informe a Chave de API do endpoint (opcional) e clique em Salvar.
  4. 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.
ServidorBase URLModelo (exemplo)
speaches (abre em uma nova aba) (antigo faster-whisper-server)http://localhost:8000/v1Systran/faster-whisper-small
vLLM (abre em uma nova aba) (vllm serve openai/whisper-large-v3)http://localhost:8000/v1openai/whisper-large-v3
Groq (abre em uma nova aba)https://api.groq.com/openai/v1whisper-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 /v1 no final ou um /v1/audio/transcriptions colado é 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_text estiver 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)