Workflow n8n

Automatisation audio avec n8n : génération et transcription audio

Ce workflow n8n a pour objectif d'automatiser la génération et la transcription d'audio en utilisant des modèles de langage avancés. Dans un contexte où la communication audio est essentielle, ce processus peut être particulièrement utile pour les entreprises souhaitant créer des contenus audio à partir de textes, ou pour des applications nécessitant des transcriptions précises. Par exemple, une agence de communication pourrait l'utiliser pour transformer des scripts en fichiers audio, facilitant ainsi la création de podcasts ou de messages vocaux. Étape 1 : Le workflow débute par un déclencheur manuel, permettant à l'utilisateur de lancer le processus à tout moment. Étape 2 : Ensuite, le modèle de langage OpenAI génère un texte qui sera utilisé pour créer un audio. Étape 3 : Ce texte est ensuite traduit en anglais, avant d'être transformé en audio grâce à une requête HTTP vers un service de génération vocale. Étape 4 : Le fichier audio généré est ensuite transcrit pour obtenir un texte écrit, ce qui permet de fournir un contenu accessible et facilement partageable. Les étapes supplémentaires impliquent des notes autocollantes pour garder une trace des informations pertinentes tout au long du processus. En intégrant ce workflow, les entreprises peuvent améliorer leur efficacité en réduisant le temps nécessaire pour créer et transcrire des contenus audio, tout en augmentant la qualité et la précision de leurs productions. Tags clés : automatisation, audio, n8n.

Catégorie: Manual · Tags: automatisation, audio, n8n, transcription, génération de contenu0

Vue d'ensemble du workflow n8n

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Détail des nœuds du workflow n8n

  • OpenAI Chat Model

    Ce noeud utilise le modèle de chat OpenAI pour générer des réponses basées sur les options fournies.

  • When clicking "Execute Workflow"

    Ce noeud déclenche manuellement l'exécution du workflow lorsque l'utilisateur clique sur 'Exécuter le workflow'.

  • Generate French Audio

    Ce noeud envoie une requête HTTP pour générer un audio en français à partir des paramètres spécifiés.

  • Set ElevenLabs voice ID and text

    Ce noeud définit l'ID de voix d'ElevenLabs et le texte à utiliser pour la synthèse vocale.

  • Translate Text to English

    Ce noeud traduit un texte en français en anglais en utilisant un modèle de langage.

  • Translate English text to speech

    Ce noeud envoie une requête HTTP pour traduire un texte anglais en audio.

  • Transcribe Audio

    Ce noeud envoie une requête HTTP pour transcrire un audio en texte.

  • Sticky Note2

    Ce noeud crée une note autocollante avec les paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note3

    Ce noeud crée une note autocollante avec les paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note4

    Ce noeud crée une note autocollante avec les paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note

    Ce noeud crée une note autocollante avec les paramètres de couleur, largeur, hauteur et contenu spécifiés.

  • Sticky Note1

    Ce noeud crée une note autocollante avec les paramètres de couleur, largeur, hauteur et contenu spécifiés.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
  },
  "nodes": [
    {
      "id": "aa0c62d1-2a5e-4336-8783-a8a21cb23374",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1180,
        760
      ],
      "parameters": {
        "options": {
          "temperature": 0
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "VQtv7frm7eLiEDnd",
          "name": "OpenAi account 7"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0c7d21e6-5bf6-4927-ad23-008b22e2ffde",
      "name": "When clicking \"Execute Workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        280,
        560
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "352de912-3a36-4bf2-b013-b46e0ace38e9",
      "name": "Generate French Audio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        720,
        560
      ],
      "parameters": {
        "url": "=https://api.elevenlabs.io/v1/text-to-speech/{{ $json.voice_id }}",
        "method": "POST",
        "options": {},
        "jsonBody": "={\"text\":\"{{ $json.text }}\",\"model_id\":\"eleven_multilingual_v2\",\"voice_settings\":{\"stability\":0.5,\"similarity_boost\":0.5}}",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "optimize_streaming_latency",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "accept",
              "value": "audio/mpeg"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "OMni1VQQclVYOmeZ",
          "name": "ElevenLabs David"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "0cde2e89-0669-41b4-8fe1-1a6aff14792f",
      "name": "Set ElevenLabs voice ID and text",
      "type": "n8n-nodes-base.set",
      "position": [
        500,
        560
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "voice_id",
              "stringValue": "wl7sZxfTOitHVachQiUm"
            },
            {
              "name": "text",
              "stringValue": "=Après, on a fait la sieste, Camille a travaillé pour French Today et j’ai étudié un peu, et puis Camille a proposé de suivre une visite guidée de l’Abbaye de Beauport qui commençait à 17 heures. On a marché environ vingt minutes, et je m’arrêtais souvent pour prendre des photos : la baie de Paimpol est si jolie ! Mais Camille m’a dit : « Dépêche-toi Sunny ! La visite guidée commence dans cinq minutes. » Donc, j’ai bougé mes fesses et on est arrivées à l’abbaye"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "38aa323e-a899-4018-afb9-4d4682ac8ff1",
      "name": "Translate Text to English",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1180,
        560
      ],
      "parameters": {
        "prompt": "=Translate to English:\n{{ $json.text }}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "f0b7adad-fa0b-4764-96e0-0883bbcc02d6",
      "name": "Translate English text to speech",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1540,
        560
      ],
      "parameters": {
        "url": "=https://api.elevenlabs.io/v1/text-to-speech/{{ $('Set ElevenLabs voice ID and text').item.json.voice_id }}",
        "method": "POST",
        "options": {},
        "jsonBody": "={\"text\":\"{{ $json[\"text\"].replaceAll('\"', '\\\\\"').trim() }}\",\"model_id\":\"eleven_multilingual_v2\",\"voice_settings\":{\"stability\":0.5,\"similarity_boost\":0.5}}",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "optimize_streaming_latency",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "accept",
              "value": "audio/mpeg"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "OMni1VQQclVYOmeZ",
          "name": "ElevenLabs David"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "f8700266-5491-4ca7-b29a-3f5ec1e9b66f",
      "name": "Transcribe Audio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        960,
        560
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/audio/transcriptions",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            },
            {
              "name": "model",
              "value": "whisper-1"
            }
          ]
        },
        "nodeCredentialType": "openAiApi"
      },
      "credentials": {
        "openAiApi": {
          "id": "VQtv7frm7eLiEDnd",
          "name": "OpenAi account 7"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "25630b45-3827-4ee0-a77e-c30cadefe999",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        449.2637232176971,
        319.7947500318393
      ],
      "parameters": {
        "color": 7,
        "width": 199.37543798209555,
        "height": 420.623805972039,
        "content": "1] In ElevenLabs, add a voice to your [voice lab](https://elevenlabs.io/voice-lab) and copy its ID. Open this node and add the ID there"
      },
      "typeVersion": 1
    },
    {
      "id": "a41d2622-4476-44c2-bac6-212be237aa4b",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        320
      ],
      "parameters": {
        "color": 7,
        "width": 192.21792012722693,
        "height": 418.3754668433847,
        "content": "2] Get your ElevenLabs API key (click your name in the bottom-left of [ElevenLabs](https://elevenlabs.io/voice-lab) and choose ‘profile’)\n\nIn this node, create a new header auth cred. Set the name to `xi-api-key` and the value to your API key"
      },
      "typeVersion": 1
    },
    {
      "id": "58143bb1-816f-4ff6-9cac-9ce7765e02be",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        320
      ],
      "parameters": {
        "color": 7,
        "width": 192.21792012722693,
        "height": 414.59045768149747,
        "content": "3] In the 'credential' field of this node, create a new OpenAI cred with your [OpenAI API key](https://platform.openai.com/api-keys)"
      },
      "typeVersion": 1
    },
    {
      "id": "bd2ef5d2-c27d-45e4-a66e-a73168f94087",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        273.1221160672591
      ],
      "parameters": {
        "color": 7,
        "width": 230.39134868652621,
        "height": 233.3354221029769,
        "content": "### About\nThis workflow takes some French text, and translates it into spoken audio.\n\nIt then transcribes that audio back into text, translates it into English and generates an audio file of the English text"
      },
      "typeVersion": 1
    },
    {
      "id": "a1f207d4-dbed-4dfa-aad5-2b2f6e4e6271",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        440,
        272.42998167622557
      ],
      "parameters": {
        "color": 7,
        "width": 685.8541178336201,
        "height": 478.0993479050163,
        "content": "### Setup steps"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Transcribe Audio": {
      "main": [
        [
          {
            "node": "Translate Text to English",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Translate Text to English",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate French Audio": {
      "main": [
        [
          {
            "node": "Transcribe Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Translate Text to English": {
      "main": [
        [
          {
            "node": "Translate English text to speech",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set ElevenLabs voice ID and text": {
      "main": [
        [
          {
            "node": "Generate French Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \"Execute Workflow\"": {
      "main": [
        [
          {
            "node": "Set ElevenLabs voice ID and text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Pour qui est ce workflow ?

Ce workflow s'adresse principalement aux agences de communication, aux créateurs de contenu et aux entreprises souhaitant automatiser la production audio. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, capables de manipuler des outils d'automatisation comme n8n.

Problème résolu

Ce workflow résout le problème de la création et de la transcription manuelle de contenus audio, qui peut être long et fastidieux. En automatisant ces étapes, les utilisateurs gagnent un temps précieux et réduisent les erreurs humaines. De plus, il permet d'améliorer l'accessibilité des contenus audio en fournissant des transcriptions écrites, ce qui est essentiel pour atteindre un public plus large.

Étapes du workflow

Étape 1 : Le workflow est déclenché manuellement par l'utilisateur. Étape 2 : Le modèle OpenAI génère un texte à partir d'un prompt donné. Étape 3 : Ce texte est traduit en anglais pour s'assurer de sa clarté. Étape 4 : Une requête HTTP est effectuée pour générer un audio à partir du texte traduit. Étape 5 : Ce fichier audio est ensuite transcrit pour obtenir une version écrite. Étape 6 : Des notes autocollantes sont ajoutées pour suivre les informations importantes tout au long du processus.

Guide de personnalisation du workflow n8n

Pour personnaliser ce workflow, vous pouvez modifier le prompt utilisé dans le modèle OpenAI pour générer du texte selon vos besoins spécifiques. Assurez-vous également de configurer correctement les paramètres de la requête HTTP pour la génération audio, notamment l'URL et les options d'authentification. Si vous souhaitez intégrer d'autres services, vous pouvez ajouter des noeuds supplémentaires pour enrichir le flux. Pensez à tester chaque étape pour garantir le bon fonctionnement de l'automatisation.