In diesem Workflow werden folgende Schritte durchgeführt:
1. Webhook (Type: n8n-nodes-base.webhook)
Dieser Node ermöglicht es, Anfragen an einen bestimmten Endpunkt zu empfangen. In diesem Fall wird der Webhook unter dem Pfad /generate-voice erstellt. Die HTTP-Methode ist POST, was bedeutet, dass wir Daten an die API senden.
2. If params correct (Type: n8n-nodes-base.if)
Dieser Node wird verwendet, um die erhaltenen Parameter von der eingehenden Anfrage zu überprüfen. Es werden zwei Bedingungen überprüft:
- Ob voice_id existiert und nicht leer ist.
- Ob text existiert und nicht leer ist.
Wenn beide Bedingungen erfüllt sind, wird der Workflow fortgesetzt. Andernfalls wird eine Fehlermeldung generiert.
3. Generate voice (Type: n8n-nodes-base.httpRequest)
Wenn die Parameter überprüft und korrekt sind, wird dieser Node aufgerufen. Er führt eine HTTP POST-Anfrage an die Elevenlabs API durch, die den Text in Sprache umwandelt. Der URL Parameter verwendet den voice_id, der in der Anfrage empfangen wurde, um den passenden Sprachstil auszuwählen. Der jsonBody enthält den zu konvertierenden Text.
Zusätzlich werden die folgenden Header-Parameter definiert:
- Content-Type: application/json
Der Node verwendet auch benutzerdefinierte Authentifizierung, um die erforderlichen API-Schlüssel hinzuzufügen.
4. Respond to Webhook (Type: n8n-nodes-base.respondToWebhook)
Nach erfolgreichem Abschluss der Sprachgenerierung sendet dieser Node die Antwort zurück an den Ursprung der Anfrage. Hier wird die Antwort in einem binären Format zurückgesendet, das die generierte Sprachdatei enthält.
5. Error (Type: n8n-nodes-base.respondToWebhook)
Wenn die Eingabeparameter ungültig sind, wird dieser Node aktiviert. Er sendet eine JSON-Antwort zurück, die den Fehlertext { "error": "Invalid inputs." } enthält, damit der Benutzer weiß, dass die Anfrage fehlerhaft war.
Ergebnis
Dieser Workflow ermöglicht es, die Sprachsynthesefunktion von Elevenlabs über eine einfache API-Schnittstelle zu nutzen. Benutzer müssen lediglich einen POST-Request mit voice_id und text senden, um den gewünschten Sprachinhalt zu generieren. Dieser Workflow spart Zeit in vielen Anwendungen, insbesondere in der Videoproduktion.
Happy automating! The n8Ninja