{{ clock }}

Claude mit der eigenen
Stimme verbinden

Die meisten Voice-Agenten klingen glatt. Keine Betonung, keine Emotion, niemand, dem man zuhören will. Hier klonst du deine eigene Stimme, steuerst die Betonung und baust daraus einen Agenten. Schritt für Schritt, mit den Befehlen, die wirklich funktionieren.

10 Schritte · geprüft an der offiziellen Fish-Audio-Dokumentation · Stand 27. Juli 2026

Einordnung
Fünf Begriffe, die oft vermischt werden
Begriffe
Voice Cloning
Aus deiner Aufnahme entsteht ein Stimmmodell mit einer ID. Das Modell spricht noch nichts, es ist nur die Klangvorlage.
Text-to-Speech
Ein Text geht rein, eine Audiodatei kommt raus. Hier wird die Stimm-ID als reference_id übergeben.
Chat mit Sprachausgabe
Claude antwortet als Text, ein Werkzeug macht daraus auf Anforderung eine MP3. Du liest und hörst, sprichst aber nicht.
Voice-Agent
Ein Gespräch in Echtzeit: Mikrofon, Spracherkennung, Claude, Sprachsynthese, Lautsprecher. Unterbrechen muss möglich sein.
Telefon-Agent
Derselbe Aufbau plus Telefonieschicht, Rufnummer, Ansage, Einwilligung und Übergabe an Menschen.

Diese Seite ist die Anleitung und der Prototyp. Sobald es an eine produktive Backend-Integration geht, übergib die Umsetzung an Claude Code oder deine eigene Entwicklungsumgebung. Serverseitiger Code gehört nicht in eine Webseite.

Die Kette im Überblick
architektur.txt
Deine Eingabe · Text oder Mikrofon
optional bei Sprache: Speech-to-Text
Claude · formuliert die Antwort
Text
Fish Audio · spricht mit deiner Stimm-ID
MP3, Messenger, Webseite oder Telefonleitung

Merk dir diese Kette. Jeder der folgenden Wege baut nur unterschiedlich viel davon zusammen. Der Connector-Weg deckt die letzten beiden Kästen ab, der Echtzeit-Weg alle.

Grundlage · Schritt 01 bis 06
01 Sprachstil für Claude definieren Wortwahl, nicht Klang
Claude · Sprachprofil
Prompt

Analysiere ausschließlich die Gespräche und Textbeispiele, auf die du in diesem Projekt tatsächlich Zugriff hast. Erstelle daraus ein kompaktes Sprachprofil. Beschreibe Satzlänge, Wortwahl, Direktheit, Humor, typische Formulierungen und Dinge, die ich normalerweise vermeide. Erfinde keine Eigenschaften, für die es keine Beispiele gibt.

i
Lade dem Projekt vorher echte Textbeispiele hoch: alte Mails, Nachrichten, Blogtexte. Danach speicherst du das Ergebnis als Projektanweisung, damit jeder neue Chat damit startet. Das Sprachprofil steuert nur die Wortwahl. Klangfarbe und Tonhöhe kommen später von Fish Audio.

Der Satz aus dem Video, Claude solle alle bisherigen Gespräche auswerten, führt zu erfundenen Ergebnissen. Claude sieht nur den aktuellen Chat und die Dateien im Projekt. Gib ihm Material, dann wird das Profil brauchbar.

02 Voraussetzungen und Schlüssel einmalig
Checkliste · Vorbereitung
Claude-Kontofür alle Wege nötig
Fish-Audio-Kontofür alle Wege nötig
Eigene Sprachaufnahmesauber, eine Stimme
Zustimmung der aufgenommenen PersonPflicht
Fish-Audio-API-Schlüsselnur für API und Agenten
Anthropic-API-Schlüsseloptional
n8n, LiveKit oder Pipecatoptional, je nach Weg
!
API-Schlüssel gehören auf den Server
Niemals in eine öffentliche Webseite, in clientseitiges JavaScript, in Screenshots oder in ein Git-Repository. Nutze Umgebungsvariablen oder einen Secret-Store. Ein Schlüssel, der einmal sichtbar war, gilt als verbrannt und wird neu erzeugt.
FISH_API_KEY ANTHROPIC_API_KEY FISH_VOICE_ID

Den API-Schlüssel legst du im Fish-Audio-Konto unter API Keys an. Für den Connector-Weg in Schritt 07 brauchst du ihn nicht, dort meldest du dich per OAuth an.

03 Sprachaufnahme erstellen bestimmt die Qualität
Aufnahme · stimme.wav
So klingt es gut
Nur eine sprechende Person
Ruhiger Raum, weiche Möbel, wenig Hall
Gleichmäßige Lautstärke, konstanter Abstand
Mindestens zehn Sekunden pro Aufnahme
Für gute Ähnlichkeit ein bis zwei Minuten
Mehrere Clips für verschiedene Stimmungen
Das ruiniert den Klon
Musik oder Hintergrundgeräusche
Hall aus großen, leeren Räumen
Überlappende Stimmen
Starke Kompression aus Sprachnachrichten
Geflüster oder Rufen als einzige Vorlage
Podcast-Mitschnitte mit Jingle
Formate: .wav .mp3 .m4a .opus
!
Nur deine eigene Stimme
Klone nur deine eigene Stimme oder eine Stimme, für die du eine eindeutige Erlaubnis besitzt. Verwende die Technik nicht, um andere Personen zu täuschen oder ihre Identität vorzutäuschen.

Fish Audio bereinigt Aufnahmen vor dem Training standardmäßig auf. Das rettet leichte Störgeräusche, ersetzt aber keine saubere Aufnahme. Wenn dein Material schon studioartig ist, kannst du die Aufbereitung abschalten.

04 Stimme in der Web-App klonen ohne Programmierung
fish.audio · Voice Cloning
1Bei Fish Audio anmelden und den Bereich Voice Cloning öffnen.
2Eine oder mehrere Aufnahmen hochladen.
3Der Stimme einen eindeutigen Namen geben, zum Beispiel „Meine Stimme privat".
4Sichtbarkeit auf private lassen. Das ist die Voreinstellung.
5Modell erstellen und warten, bis der Status trained lautet.
6Voice-ID kopieren und sichern. Das ist die einzige Angabe, die du später wirklich brauchst.
i
Die Voice-ID ist eine lange Zeichenkette, keine Webadresse. Die URL der Fish-Audio-Seite hilft dir nirgends weiter. In der API-Antwort steht sie je nach Format als _id oder id, später heißt dasselbe Feld reference_id.

Mit dem schnellen Trainingsmodus ist die Stimme meist sofort einsatzbereit. Wenn eine spätere Anfrage die ID ablehnt, prüfe zuerst den Status des Modells.

05 Alternativ: Stimme per API anlegen Terminal
Terminal · POST /model
curl --request POST https://api.fish.audio/model \
  --header "Authorization: Bearer $FISH_API_KEY" \
  --form type=tts \
  --form title="Meine Stimme" \
  --form "description=Private persönliche Stimme" \
  --form visibility=private \
  --form train_mode=fast \
  --form voices=@stimme.wav
Antwort auswerten
Die Antwort enthält das neue Modell mit seiner ID und einem Statusfeld. Je nach Antwortformat heißt die ID _id oder id, der Status wandert von created nach trained. Diese ID setzt du überall als reference_id ein.
FISH_VOICE_ID=hier-die-erzeugte-modell-id

Mehrere Clips hängst du einfach mit weiteren --form voices=@datei Zeilen an. Wenn du die passenden Transkripte mitschickst, wird die Aussprache genauer.

06 Die geklonte Stimme testen erste MP3
Terminal · POST /v1/tts
curl --request POST https://api.fish.audio/v1/tts \
  --header "Authorization: Bearer $FISH_API_KEY" \
  --header "Content-Type: application/json" \
  --header "model: s2.1-pro-free" \
  --data '{
    "text": "Hallo, dies ist ein Test meiner geklonten Stimme.",
    "reference_id": "FISH_VOICE_ID",
    "format": "mp3",
    "prosody": {
      "speed": 1,
      "volume": 0,
      "normalize_loudness": true
    }
  }' \
  --output test.mp3
Feld
Bedeutung
text
Der gesprochene Inhalt.
reference_id
Deine Voice-ID aus Schritt 04 oder 05.
model
Kopfzeile, nicht Teil des JSON. Bestimmt das Sprachmodell.
format
Audioformat, hier MP3. Für Agenten oft PCM oder Opus.
--output
Speichert die Antwort als Datei, hier test.mp3.
Veränderliche Angabe. Zum Stand 27. Juli 2026 nennt die Dokumentation s2.1-pro als empfohlenes Produktionsmodell und s2.1-pro-free als gleiches Modell zum Preis von null, unter Fair-Use-Grenzen und ohne Garantie für Antwortzeit oder Verfügbarkeit. Ob das so bleibt, steht nirgends. Prüfe vor jedem Produktivstart die Preis- und Limitseite.

Hörst du dich selbst, ist die halbe Arbeit erledigt. Ab hier geht es nur noch darum, wer diesen Aufruf auslöst: du, Claude, n8n oder ein Agent.

06b Betonung und Emotion steuern gegen den Ansagetext-Klang
Prosodie · Emotion

Ein Stimmklon allein macht noch keinen guten Agenten. Wenn dein Bot flach klingt, liegt das fast nie an der Stimme, sondern am Text: lange Schachtelsätze, keine Satzzeichen, keine Hinweise, wo Betonung hingehört. Die S2-Modelle nehmen Regieanweisungen direkt im Text entgegen.

Regieanweisung im Text
Also gut. [kurze Pause] Ich fasse das noch mal zusammen.
Wir hatten zwei Termine offen [nachdenklich] und einen davon
hast du gestern abgesagt. [freundlich] Passt Donnerstag?
S2.1-Pro und S2-Pro
Anweisungen in eckigen Klammern. Es gibt keine feste Liste, das Modell versteht auch eigene Beschreibungen wie [flüstert] oder [lacht kurz]. Setze sie genau dort, wo die Wirkung anfangen soll.
S1
Ältere Reihe mit runden Klammern und einem festen Satz von über 60 Ausdrücken, dafür nur 13 Sprachen. Nur relevant, wenn du eine bestehende Integration pflegst.
[whisper] [laugh] [emphasis] [sigh] [pause] [excited] [gasp]
i
Drei Dinge, die mehr bringen als jede Klammer: kurze Sätze, echte Satzzeichen und Zahlen ausgeschrieben, wie man sie spricht. Über prosody stellst du zusätzlich Tempo und Lautstärke ein. Sparsam markieren, sonst wirkt die Stimme überdreht.

Lass Claude die Regieanweisungen gleich mitschreiben. Nimm den Systemprompt aus Variante A und ergänze eine Zeile: Setze sparsam Betonungshinweise in eckigen Klammern, höchstens einen pro Satz.

Drei Wege zum Ziel
07 Wähle deinen Weg von zehn Minuten bis mehrere Tage
Umsetzung

Variante A: Web-App und n8n

Für alle, die keine Zeile Code schreiben wollen. Gut für Abläufe, die im Hintergrund laufen: Newsletter vertonen, Antworten auf Formulare, Sprachnachrichten an Kunden. Ein echtes Live-Telefonat mit sofortiger Reaktion wird daraus nicht, dafür fehlt die Streaming-Kette.

1In n8n unter Settings den Bereich Community Nodes öffnen und auf Install klicken.
2Das Paket n8n-nodes-fishaudio eintragen, Risikohinweis bestätigen, installieren.
3Unter Credentials neue Zugangsdaten vom Typ Fish Audio API anlegen und den Schlüssel hinterlegen.
4Neuen Workflow anlegen und einen Trigger wählen: Webhook, Formular, Chat oder eine eingehende Audiodatei.
5Bei Spracheingaben eine Speech-to-Text-Stufe davorsetzen. Der Fish-Audio-Knoten kann auch transkribieren.
6Einen AI-Agent-Knoten mit Claude als Modell verbinden und ihm den Systemprompt von unten geben.
7Dahinter den Fish-Audio-Knoten im Modus Text-to-Speech setzen und FISH_VOICE_ID als Stimme wählen.
8Die Audiodatei speichern, zurücksenden oder an den nächsten Dienst übergeben.
9Fehlerpfade ergänzen: fehlende Voice-ID, ungültiger Schlüssel, leere Claude-Antwort. Erst mit kurzen Texten testen.
Eingabe
optional: Speech-to-Text
Claude · AI Agent
Fish Audio · Text-to-Speech
MP3, Messenger, Webseite oder Telefonsystem
Systemprompt für den Agenten
Du bist ein deutschsprachiger Voice-Agent für [ZWECK].

Aufgaben:
- Beantworte Fragen kurz und konkret.
- Verwende meistens ein bis drei gesprochene Sätze.
- Stelle genau eine Rückfrage, wenn wichtige Angaben fehlen.
- Behaupte nie, eine Aktion ausgeführt zu haben, wenn kein
  Tool-Ergebnis vorliegt.
- Lies keine API-Schlüssel, internen IDs oder technischen
  Fehlermeldungen laut vor.
- Formuliere Zahlen, Abkürzungen und Datumsangaben so, dass
  sie natürlich ausgesprochen werden.
- Weise zu Beginn eines Anrufs transparent darauf hin, dass
  du ein KI-Sprachassistent bist.
- Übergib das Gespräch an einen Menschen, wenn der Nutzer
  dies verlangt oder du die Aufgabe nicht zuverlässig
  lösen kannst.

Sprechstil:
[HIER DAS ZUVOR ERSTELLTE SPRACHPROFIL EINFÜGEN]

Variante B: Fish Audio per MCP mit Claude verbinden

Die einfachste echte Verbindung. Claude bekommt Werkzeuge statt einer Textbeschreibung: Stimmen suchen, Sprache erzeugen, Audio transkribieren. Die Anmeldung läuft über OAuth bei Fish Audio, du kopierst keinen Schlüssel in den Chat.

1Claude öffnen und zu den Einstellungen unter Customize beziehungsweise Anpassen wechseln.
2Den Bereich Connectors öffnen und auf Add custom connector klicken.
3Als Namen „Fish Audio" eingeben und als MCP-Server diese Adresse eintragen:
https://api.fish.audio/mcp
4Connector hinzufügen und die OAuth-Anmeldung bei Fish Audio durchführen.
5In einem neuen Chat über das Plus-Menü den Fish-Audio-Connector aktivieren.
6Den Zugriff nur in den Chats einschalten, in denen du ihn wirklich brauchst.
i
Bei Team- und Enterprise-Konten muss ein Owner den Connector erst freigeben. Die Menübezeichnungen in Claude ändern sich gelegentlich. Wenn du Connectors nicht findest, suche in den Einstellungen nach dem Begriff Connector oder MCP.
Drei Testprompts

Nutze den aktivierten Fish-Audio-Connector und erzeuge aus folgendem Text eine MP3-Datei: „Hallo, dies ist meine erste Sprachausgabe aus Claude."

Verwende meine private Fish-Audio-Stimme mit der Voice-ID FISH_VOICE_ID und erzeuge eine deutsche Sprachausgabe.

Formuliere zuerst eine kurze Antwort in meinem hinterlegten Schreibstil. Erzeuge anschließend mit Fish Audio eine Audiodatei dieser Antwort.

!
Der Connector erzeugt Dateien, keine automatische Sprachausgabe
Claude spricht nicht plötzlich jede Antwort. Je nach Oberfläche und Toolberechtigung musst du die Spracherzeugung ausdrücklich anfordern oder bestätigen. Das Ergebnis ist eine Audiodatei, die du abspielst.
Optionale Projektanweisung

Wenn ich ausdrücklich „als Audio" schreibe, formuliere zuerst eine kurze Antwort und verwende anschließend den aktivierten Fish-Audio-Connector, um daraus eine Audiodatei mit meiner privaten Stimme zu erzeugen. Verwende keine andere Stimme und veröffentliche meine Voice-ID nicht.

Variante C: Echter Echtzeit-Agent

Ein Gespräch ohne spürbare Pausen. Fish Audio liefert dabei nur die Sprachsynthese. Gesprächslogik, Unterbrechungserkennung, Sitzungsverwaltung und Telefonanbindung musst du selbst orchestrieren. LiveKit Agents nimmt dir davon den größten Teil ab, Pipecat ist eine Alternative mit ähnlichem Zuschnitt.

Mikrofon oder Telefon
Streaming Speech-to-Text
Claude als Gesprächsmodell
Fish Audio Realtime Text-to-Speech
Lautsprecher oder Telefonleitung
1Python 3.9 oder neuer installieren und eine virtuelle Umgebung anlegen.
2LiveKit Agents mit Fish-Audio-Unterstützung installieren.
pip install "livekit-agents[fishaudio]"
pip install anthropic
3Umgebungsvariablen setzen, niemals Schlüssel im Quelltext.
export FISH_API_KEY="dein-fish-audio-api-key"
export ANTHROPIC_API_KEY="dein-anthropic-api-key"
export FISH_VOICE_ID="deine-private-voice-id"
4Einen Streaming-Dienst für Spracherkennung wählen und Claude als Gesprächsmodell einbinden.
5Fish Audio als TTS-Komponente einrichten und die private Voice-ID als reference_id übergeben.
import os
from livekit.plugins.fishaudio import TTS

fish_tts = TTS(
    reference_id=os.environ["FISH_VOICE_ID"],
    sample_rate=24000,
    latency_mode="balanced",
)
!
Modellnamen im Plugin prüfen
Das LiveKit-Plugin führt einen eigenen Standardwert für model und eine eigene Liste unterstützter Namen. Ein Name, der am REST-Endpunkt funktioniert, muss im Plugin nicht verfügbar sein. Prüfe die aktuelle Plugin-Dokumentation, bevor du einen Modellnamen fest einträgst. Der Modus balanced liegt laut Dokumentation bei etwa 300 Millisekunden, normal bei etwa 500.
6Audio als PCM oder Opus streamen und Unterbrechungen erlauben, damit der Agent beim Sprechen des Nutzers stoppt.
7Claude-Antworten kurz halten, Protokollierung, Fehlerbehandlung und Timeouts ergänzen.
8Zuerst im Browser testen. Telefonie kommt erst dazu, wenn das Gespräch dort sauber läuft.

Telefon-Agent ergänzen

Für echte Anrufe kommt eine Telefonieschicht dazu. Fish Audio nimmt keine Anrufe an und bucht nichts in dein CRM. Das sind eigene Bausteine.

Telefonnummer
SIP- oder Telefonieanbieter
LiveKit-Agentenraum
Speech-to-Text · Claude · Fish Audio
Telefonleitung
·Rufnummer oder SIP-Trunk
·Weiterleitung eingehender Anrufe
·Datenschutzansage zu Beginn
·Einwilligung bei Aufzeichnungen
·Übergabe an Mitarbeiter
·Maximale Gesprächsdauer
·Kostenlimits und Rate Limits
·Notfall- und Eskalationsregeln

Fang mit dem Connector an. Du siehst in zehn Minuten, ob dir das Ergebnis gefällt, und weißt danach viel besser, ob sich der Aufwand für Variante C lohnt.

Betrieb · Schritt 08 bis 10
08 Latenz senken nur für Variante C relevant
Optimierung
Claude-Antworten kurz halten
Antworten streamen statt abwarten
Fish Audio im Streaming-Modus nutzen
An Satzgrenzen an die Synthese geben
Keine winzigen Textfragmente senden
Unterbrechungserkennung aktivieren
Format und Abtastrate zur Plattform passend
Verbindung zwischen Generierungen warm halten
Netzwerkwege kurz halten
Timeouts und Wiederholungen definieren
HTTP-Streaming
Der Text steht schon vollständig fest. Die Audiodaten kommen in Stücken zurück, du spielst das erste Stück sofort ab. Einfachster Weg für Vorlesetexte.
WebSocket-Streaming
Der Text entsteht erst nach und nach, Token für Token aus dem Modell. Du schickst ihn laufend rein und bekommst laufend Audio zurück. Pflicht für Voice-Agenten.

Die größte Wirkung hat der kürzeste Hebel: kurze Antworten. Ein Agent, der drei Sätze sagt statt zehn, wirkt schneller als jede technische Optimierung.

09 Sicherheit und verantwortungsvolle Nutzung nicht optional
Regeln
01Nur eigene oder ausdrücklich freigegebene Stimmen klonen.
02Die KI-Stimme gegenüber Gesprächspartnern offenlegen.
03Keine fremde Identität vortäuschen, auch nicht im Spaß.
04Die private Voice-ID nicht veröffentlichen und Sprachmodelle auf privat lassen.
05API-Schlüssel ausschließlich serverseitig speichern.
06Logs auf personenbezogene Daten prüfen und kürzen.
07Aufzeichnungen nur mit passender Rechtsgrundlage speichern.
08Lösch- und Sperrmöglichkeiten von Anfang an vorsehen.
09Kritische Aktionen von einem Menschen bestätigen lassen.
10Kosten- und Nutzungsgrenzen setzen, bevor der Agent live geht.

Eine geklonte Stimme ist ein biometrisches Merkmal. Behandle sie wie ein Passwort, das du nicht ändern kannst.

10 Fehlerdiagnose die sechs häufigsten Fälle
Diagnose
Symptom
Mögliche Ursache
Lösung
401 Unauthorized
Schlüssel fehlt oder ist ungültig.
Umgebungsvariable und den Bearer-Header prüfen. Schlüssel im Konto neu erzeugen.
reference_id invalid
Falsche Voice-ID oder Modell noch nicht fertig trainiert.
Modellstatus abfragen und die ID direkt aus der API-Antwort oder aus My Voices kopieren.
Claude sieht Fish Audio nicht
Connector ist im aktuellen Chat nicht aktiviert.
Plus-Menü öffnen, Connector einschalten, Toolzugriff bestätigen.
Claude erzeugt nur Text
Die Spracherzeugung wurde nicht ausdrücklich angefordert.
Claude anweisen, nach der Textantwort das Fish-Audio-Werkzeug zu benutzen.
Schlechte Stimmqualität
Hall, Musik, mehrere Personen oder zu wenig Material.
Neue saubere Aufnahme mit gleichmäßiger Lautstärke, danach neu klonen.
Agent reagiert zu langsam
Keine Streaming-Pipeline oder zu lange Antworten.
Streaming aktivieren, Antworten kürzen, an Satzgrenzen segmentieren.

Wenn nichts davon passt, teste den nackten cURL-Aufruf aus Schritt 06. Funktioniert der, liegt der Fehler in deinem Workflow, nicht bei Fish Audio.

Bevor du live gehst
Abschluss-Checkliste
{{ c.mark }} {{ c.label }}
{{ checkLabel }}
© {{ year }} · Anleitung ohne Gewähr. Kein Ersatz für Rechtsberatung zu Stimmaufnahmen und Telefonie.
1 2 3 4 5 6 7 8 9 10