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
01Sprachstil für Claude definierenWortwahl, 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.
02Voraussetzungen und Schlüsseleinmalig
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_KEYANTHROPIC_API_KEYFISH_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.
03Sprachaufnahme erstellenbestimmt 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.
04Stimme in der Web-App klonenohne 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.
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.
06Die geklonte Stimme testenerste 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.
06bBetonung und Emotion steuerngegen 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.
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
07Wähle deinen Wegvon 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.
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.
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
08Latenz senkennur 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.
09Sicherheit und verantwortungsvolle Nutzungnicht 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.