Konfiguration

Transkription und Kosten

Wählen Sie whisper auf dem Gerät (kostenlos), Ihren eigenen OpenAI-Schlüssel oder einen beliebigen OpenAI-kompatiblen Endpoint, etwa Ihren eigenen GPU-Rechner. Das Audio geht direkt von Ihrem Rechner an den gewählten Dienst.

#Wer zahlt und wohin der Datenverkehr geht

Kosten- und Netzwerkmodell

  • Der Entwickler (Japan Marketing LLC) bezahlt keine Transkriptions- oder KI-Nutzung, leitet sie nicht über eigene Server und stellt sie nicht in Rechnung.
  • Anfragen gehen direkt von Ihrem Computer an OpenAI oder Ihren Endpoint, nie über einen Server des Entwicklers.
  • Die OpenAI-Nutzung wird Ihrem eigenen OpenAI-Konto berechnet.
  • Ordnen verwendet die Claude Code / Codex CLI, bei der Sie bereits angemeldet sind, es sei denn, Sie wählen ausdrücklich einen API-Runner (organizer.runner: "api:<provider>", siehe Mit settings.json konfigurieren). Es wechselt nie von selbst zu einem API-Schlüssel.

#Methoden

Die Auswahl treffen Sie unter Einstellungen → Transkription → Engine. Das Popover Mikrofon & Transkription in der Fußzeile zeigt die aktuelle Wahl.

EngineAudio geht anKosten
Auf dem Gerät (kostenlos) (Standard)NirgendwohinKostenlos
OpenAI (eigener Schlüssel)OpenAIIhre OpenAI-Rechnung: gpt-transcribe für 0,0045 $/Min. (etwa 0,27 $/Stunde)
OpenAI-kompatibel (eigene GPU, Groq usw.)Ihre Endpoint-Base-URLHängt vom Endpoint ab

Einstellungen → Transkription → Sprache: Auto, Japanisch oder Englisch. Das ist die gesprochene Sprache, unabhängig von der Sprache der Benutzeroberfläche.

#whisper auf dem Gerät (kostenlos)

Die Transkription auf dem Gerät nutzt whisper.cpp (öffnet in einem neuen Tab): das Programm whisper-cli plus ein GGML-Modell.

1. whisper-cli installieren. Ferret sucht zuerst nach einer mitgelieferten Kopie (resources/whisper/<platform>-<arch>/), dann im PATH und dann an üblichen Orten wie 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. Ein Modell besorgen. Wählen Sie bei ausgewähltem Auf dem Gerät (kostenlos) ein Modell und klicken Sie auf Modell laden. Die Dateien kommen direkt von Hugging Face (ggerganov/whisper.cpp), werden gegen einen in der App festgelegten sha256 geprüft (bei Abweichung wird die Datei gelöscht) und in <userData>/models/ gespeichert. Das heruntergeladene Modell wird automatisch ausgewählt. Abbrechen behält die unvollständige Datei, und Download fortsetzen macht dort weiter.

ModellGrößeHinweise
large-v3-turbo1,6 GBEmpfohlener Standard. Schnell mit Metal / GPU
large-v3-turbo-q5_0574 MBQuantisiert. Spart Speicherplatz und Arbeitsspeicher
small488 MBFür Rechner ohne GPU (nur CPU)
base148 MBLeicht. Viele Fehler bei Japanisch
tiny78 MBAm schnellsten. Für Japanisch nicht genau genug

Sie haben schon ein Modell? Mit Datei auswählen … verweisen Sie auf eine beliebige ggml-*.bin. Ohne Modell zeigen die Einstellungen an, dass kein Modell festgelegt ist. Sie können trotzdem aufnehmen: Das Audio wird gespeichert, und es entstehen nur Befunde aus dem Stift.

whisper-cli ist nicht in der App enthalten. Installieren Sie es selbst wie oben gezeigt. Wird es nicht gefunden, zeigen die Einstellungen whisper.cpp (whisper-cli) wurde nicht gefunden. Installieren Sie es und öffnen Sie die Einstellungen erneut. mit denselben Anleitungen.

#Ihr eigener OpenAI-Schlüssel

  1. Setzen Sie Engine auf OpenAI (eigener Schlüssel).
  2. Fügen Sie einen Schlüssel, der mit sk- beginnt, in OpenAI-API-Schlüssel ein und klicken Sie auf Speichern.
  3. Klicken Sie auf Verbindung testen. Dabei wird 1 Sekunde Stille gesendet (etwa 0,0001 $).

Das Modell ist fest auf gpt-transcribe eingestellt. Nur in der Entwicklung (pnpm dev) wird zusätzlich OPENAI_API_KEY aus einer ignorierten .env-Datei gelesen. Paketierte Builds lesen .env nie.

#OpenAI-kompatible Endpoints

Ferret sendet POST <base>/v1/audio/transcriptions (multipart: file, model, response_format=json, language, prompt) und ist daher für Server ausgelegt, die die Transkriptionsroute von OpenAI implementieren.

  1. Setzen Sie Engine auf OpenAI-kompatibel (eigene GPU, Groq usw.).
  2. Füllen Sie Endpoint-Base-URL und Modell (den Modellnamen des Endpoints) aus.
  3. Falls der Server einen verlangt, geben Sie Endpoint-API-Schlüssel (optional) ein und klicken Sie auf Speichern.
  4. Klicken Sie auf Verbindung testen. Fehlermeldungen nennen die Ursache, z. B. eine falsche Base URL (kein /v1/audio/transcriptions), einen abgelehnten Schlüssel oder einen unbekannten Modellnamen.
ServerBase URLModell (Beispiel)
speaches (öffnet in einem neuen Tab) (früher faster-whisper-server)http://localhost:8000/v1Systran/faster-whisper-small
vLLM (öffnet in einem neuen Tab) (vllm serve openai/whisper-large-v3)http://localhost:8000/v1openai/whisper-large-v3
Groq (öffnet in einem neuen Tab)https://api.groq.com/openai/v1whisper-large-v3-turbo

Ferret ist für OpenAI-kompatible Server wie diese ausgelegt, sie wurden aber noch nicht mit Ferret getestet. Die URLs und Modellnamen sind die dokumentierten Standardwerte der jeweiligen Server.

  • Ein abschließendes /v1 oder ein eingefügtes /v1/audio/transcriptions wird beim Speichern entfernt, beide Formen funktionieren also.
  • URLs mit Benutzername oder Passwort werden abgelehnt, damit Schlüssel nie in settings.json landen.
  • Für einen GPU-Rechner in Ihrem LAN oder Tailnet verwenden Sie dessen Adresse, z. B. http://100.x.y.z:8000/v1.

#Kostenlimit

Für OpenAI und kompatible Endpoints legen Sie ein Kostenlimit fest: Keins oder Bis $0.10 pro Review sowie 0,50 $, 1 $ (Standard), 5 $ und 20 $. Für Ihre eigene GPU ist Keins sinnvoll. Die Einstellung wird als capture.costLimitUsd gespeichert (maximal 1000, null bedeutet kein Limit). Kompatible Endpoints werden mit 0,006 $/Min. veranschlagt.

Würde der nächste Abschnitt das Limit überschreiten, sendet Ferret nichts mehr und behält das Audio. Fehlgeschlagene API-Aufrufe werden nicht automatisch wiederholt.

#Wo Schlüssel gespeichert werden

In den Einstellungen eingegebene Schlüssel werden mit Electron safeStorage verschlüsselt und in <userData>/stt-keys.bin geschrieben. Die App schreibt sie nie in settings.json. Wie Sie stattdessen aus settings.json auf einen Schlüssel verweisen (eine Umgebungsvariable oder einen .env-Eintrag), steht unter API-Schlüssel.

  • macOS: Schlüsselbund (Keychain)
  • Windows: DPAPI
  • Linux: libsecret oder KWallet. Ist nur das Backend basic_text verfügbar, wird der Schlüssel nur für die aktuelle Sitzung im Arbeitsspeicher gehalten (die Schaltfläche heißt dann Für diese Sitzung setzen).

Schlüssel löschen entfernt ihn. Zu den <userData>-Pfaden siehe Dateien und Umgebung.

Bei der Übersetzung dieser Seite auf GitHub helfen (öffnet in einem neuen Tab)