Din “enkla översättning”-förfrågan blir till en vecka av fram och tillbaka. Ett språk låter för formellt, ett annat låter som en robot och plötsligt är taltempot fel för varje marknad.
Det här är den typ av flerspråkig ljudautomatisering som marknadschefer känner av vid lanseringar. e-learning-producenter stöter på det i stor skala. Och content-studios fastnar i att hantera korrigeringarna, inte det kreativa.
Det här n8n-flödet tar ett källmanus, lokaliserar det på riktigt (inte ordagrant), genererar röstinställningar per språk och levererar sedan en publiceringsklar uppsättning ljudfiler som du kan skeppa.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: OpenAI + ElevenLabs, flerspråkigt ljud på beställning
flowchart LR
subgraph sg0["Start Workflow Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Start Workflow", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Localization Agent", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Model - Localization", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Structured Output - Translat..", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare Languages Array", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Languages", pos: "b", h: 48 }
n7@{ icon: "mdi:wrench", form: "rounded", label: "Speech Optimization Agent Tool", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Model - Speech Optimi..", pos: "b", h: 48 }
n9@{ icon: "mdi:wrench", form: "rounded", label: "Voice Parameter Agent Tool", pos: "b", h: 48 }
n10@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Model - Voice Paramet..", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Structured Output - Voice Pa..", pos: "b", h: 48 }
n12["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate Audio with ElevenLabs"]
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Process Audio Response"]
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Aggregate Results", pos: "b", h: 48 }
n0 --> n1
n14 --> n6
n2 --> n5
n6 --> n12
n13 --> n14
n1 --> n2
n5 --> n6
n9 -.-> n2
n3 -.-> n2
n12 --> n13
n7 -.-> n2
n10 -.-> n9
n4 -.-> n2
n11 -.-> n9
n8 -.-> n7
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n2,n4,n11 ai
class n3,n8,n10 aiModel
class n7,n9 ai
class n12 api
class n13 code
classDef customIcon fill:none,stroke:none
class n12,n13 customIcon
Problemet: flerspråkigt ljud kräver för många rundor
Att producera flerspråkigt röstljud låter enkelt tills du gör det mer än en gång. Du börjar med ett bra manus, skickar det för översättning och lägger sedan timmar på att rätta formuleringar eftersom de är “tekniskt korrekta” men kulturellt fel. Sedan kommer rösten. Samma tempo som fungerar på engelska kan låta stressat på spanska, stelt på tyska eller få konstig betoning på japanska. Sedan ska du namnge filer, spåra versioner och försöka komma ihåg vilken “final_final_v3” som faktiskt är godkänd. Det är utmattande och stjäl fokus från de delar av projektet som faktiskt ger intäkter.
Det går snabbt att det staplas på. Här är var det brukar brista i verkligheten.
- Team gör “översättning” och “lokalisering” som två separata projekt, vilket förlänger tidsplanen med dagar.
- Varje språk får olika ljudbild eftersom röstinställningar gissas, korrigeras och gissas igen.
- Manuell export och filnamngivning skapar onödiga misstag, särskilt när du levererar 10+ språk.
- Kvalitetskontroller blir subjektiva eftersom det saknas en konsekvent process för ton, tempo och betoning.
Lösningen: ett manus in, lokaliserade röstpaket ut
Det här flödet förvandlar ett enda källmanus till ett paketerat set flerspråkiga ljudresurser med OpenAI och ElevenLabs, orkestrerat i n8n. Det startar när du manuellt kör flödet och anger ditt källinnehåll plus listan med målspråk (ISO-koder). OpenAI lokaliserar först texten för varje marknad och anpassar idiom och formuleringar så att det låter naturligt i stället för “översatt”. Därefter finjusterar specialiserade AI-steg hur ljudet ska låta per språk, inklusive tempo och betoning. För varje målspråk anropar flödet ElevenLabs för att generera ljudet, bearbetar svaret, lägger till användbar metadata och samlar alla filer i en leveransklar bundle.
Flödet börjar med setup-parametrar, följt av en lokaliseringspass som ger strukturerade översättningsutdata. Därefter loopar det igenom varje språk, genererar röstinställningar, begär ljud från ElevenLabs och aggregerar resultaten så att du kan publicera utan att sätta ihop allt manuellt.
Vad du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultaten du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du lanserar en produktuppdatering på 8 språk. Manuellt kan du lägga cirka 30 minuter per språk bara på att koordinera text, röstinstruktioner, exporter och filnamngivning, vilket är runt 4 timmar innan någon ens granskar ljudet. Med det här flödet klistrar du in manuset, anger de 8 ISO-språkkoderna en gång och kör. Räkna med cirka 10 minuter för att dra igång, och sedan lite väntetid medan ElevenLabs genererar ljud. Du får en samlad uppsättning filer i stället för en rörig mapp med halva försök.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- OpenAI API för lokalisering och generering av röstparametrar
- ElevenLabs för att generera flerspråkiga röstljudfiler
- ElevenLabs API-nyckel (hämtas i kontoinställningarna i ElevenLabs)
Kunskapsnivå: Medel. Du kopplar API-nycklar, redigerar prompts och testar utdata för några språk.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Manuell start med dina inputs. Du startar flödet, anger källmanuset (eller källinnehållet) och sätter dina målspråk i konfigurationssteget med ISO-språkkoder.
Lokalisering sker först. OpenAI skriver om manuset per språk med kulturell anpassning och ger sedan ett strukturerat resultat så att senare steg inte behöver “gissa” vad som ska läsas.
Röstinstruktioner skapas per språk. Separata AI-steg finjusterar talparametrar (tempo, betoning) och röstegenskaper så att ljudet låter naturligt utifrån varje språks fonetik.
ElevenLabs genererar ljud i en loop. n8n itererar igenom språklistan, anropar ElevenLabs via HTTP request, bearbetar ljudsvaret och samlar sedan varje output i ett slutligt aggregerat paket.
Du kan enkelt ändra listan med målspråk för att lägga till eller ta bort marknader efter behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Det här arbetsflödet startar manuellt så att ni kan validera översättningar och ljudgenerering innan ni aktiverar körningar i produktion.
- Lägg till noden Manual Launch Trigger som er startnod.
- Säkerställ att Manual Launch Trigger är ansluten till Setup Parameters.
Steg 2: Anslut kärnindata för lokalisering
Definiera källtexten, målspråken och ElevenLabs API-inställningarna som driver lokaliseringen och ljudgenereringen.
- Öppna Setup Parameters och sätt chineseText till er källtext (exempelplatshållare:
<__PLACEHOLDER_VALUE__Chinese text to localize__>). - Sätt targetLanguages till en kommaseparerad lista som
English,Spanish,French,German,Japanese. - Sätt elevenLabsApiKey till
[CONFIGURE_YOUR_API_KEY]och ersätt den med er riktiga API-nyckel. - Sätt elevenLabsVoiceId till
[YOUR_ID]och ersätt den med ert ElevenLabs voice ID. - Låt Include Other Fields vara aktiverat.
⚠️ Vanlig fallgrop: Om elevenLabsApiKey eller elevenLabsVoiceId lämnas som platshållare kommer ElevenLabs Audio Request att misslyckas.
Steg 3: Sätt upp AI-orkestreringen för lokalisering
Det här steget konfigurerar AI-agenten som genererar strukturerade översättningar och kulturella noteringar för varje målspråk.
- Öppna Localization Orchestrator och sätt Text till
{{ $json.chineseText }}. - Säkerställ att Prompt Type är satt till
defineoch att Has Output Parser är aktiverat. - Verifiera att OpenAI Localization Model är ansluten som språkmodell för Localization Orchestrator.
- Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Localization Model.
- Bekräfta att Parsed Translation Output är kopplad som output parser för Localization Orchestrator med det angivna JSON-schemat.
- Koppla verktygen Speech Refinement Tool och Voice Settings Tool till Localization Orchestrator.
Steg 4: Bygg och iterera språklistan
Översättningar normaliseras till en array och bearbetas ett språk i taget för ljudgenerering.
- I Build Language List sätter ni languages till
{{ $json.translations }}. - Säkerställ att Build Language List är ansluten till Iterate Language Items.
- Lämna Iterate Language Items som standard för att bearbeta ett språk per batch.
Steg 5: Konfigurera röstoptimering och ljudgenerering
Det här avsnittet förfinar taltext, beräknar röstinställningar och skickar begäran till ElevenLabs för varje språk.
- I Speech Refinement Tool sätter ni Text till
{{ $fromAI("text_to_optimize") }}och behåller verktygsbeskrivningen som angivet. - Verifiera att OpenAI Speech Model är ansluten till Speech Refinement Tool.
Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Speech Model. - I Voice Settings Tool sätter ni Text till
{{ $fromAI("language") }}och aktiverar Has Output Parser. - Säkerställ att Parsed Voice Settings är ansluten som output parser för Voice Settings Tool.
- Verifiera att OpenAI Voice Model är ansluten till Voice Settings Tool.
Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Voice Model. - I ElevenLabs Audio Request sätter ni URL till
=https://api.elevenlabs.io/v1/text-to-speech/{{ $('Setup Parameters').first().json.elevenLabsVoiceId }}. - Sätt Method för begäran till
POST, aktivera Send Body och Send Headers och bekräfta att Response Format är satt till file. - Sätt body-parametrar: text till
{{ $json.translatedText }}, model_id tilleleven_multilingual_v2och voice_settings till{{ { stability: $json.stability, similarity_boost: $json.similarity_boost, style: $json.style, use_speaker_boost: $json.use_speaker_boost } }}. - Sätt header-parametrar: xi-api-key till
{{ $('Setup Parameters').first().json.elevenLabsApiKey }}och Content-Type tillapplication/json.
⚠️ Vanlig fallgrop: ElevenLabs-begäran är beroende av att {{ $json.stability }}, {{ $json.similarity_boost }}, {{ $json.style }} och {{ $json.use_speaker_boost }} kommer från Parsed Voice Settings. Om AI-verktygets output är felaktigt formaterat kan API-anropet misslyckas.
Steg 6: Bearbeta och samla in ljudutdata
Binärt ljudutdata normaliseras med metadata för varje lokaliserat resultat och loopas sedan vidare för nästa språk.
- I Handle Audio Response behåller ni Mode satt till
runOnceForEachItemoch använder den medföljande JavaScript-koden för att lägga till metadata och filnamn. - I Collect Audio Results mappar ni fält för att lagra utdata: audioFile till
{{ $binary.data }}, language till{{ $json.language }}, languageCode till{{ $json.languageCode }}och filename till{{ $json.filename }}. - Säkerställ att Collect Audio Results kopplar tillbaka till Iterate Language Items för att fortsätta loopen.
Steg 7: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera översättningen och ljudutdata innan ni aktiverar arbetsflödet.
- Klicka på Execute Workflow för att köra Manual Launch Trigger och bearbeta hela flödet.
- Bekräfta att Localization Orchestrator ger en strukturerad lista med översättningar i Parsed Translation Output.
- Verifiera att varje loop-varv via Iterate Language Items skapar en binär ljudfil i Handle Audio Response och mappade fält i Collect Audio Results.
- När resultaten ser korrekta ut, slå om arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- OpenAI-inloggningsuppgifter kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först din panel för Credentials i n8n och statusen för din OpenAI API-nyckel.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- ElevenLabs kan avvisa förfrågningar om din API-nyckel saknar åtkomst till de valda rösterna. Bekräfta rösttillgänglighet i din ElevenLabs-dashboard och testa sedan igen med ett språk innan du kör hela batchen.
Vanliga frågor
Cirka en timme om du redan har dina OpenAI- och ElevenLabs-konton klara.
Nej. Du klistrar mest in API-nycklar och redigerar några prompts. Den enda “tekniska” delen är att testa med två språk innan du skalar upp.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-användning och din ElevenLabs-plan, som beror på hur mycket ljud du genererar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Uppdatera lokaliseringsprompterna i OpenAI-agentnoderna “Localization” så att de inkluderar dina tonregler, förbjudna fraser och terminologi. Du kan också justera genereringen av röstinställningar så att vissa språk får ett lugnare tempo eller annan betoning. Många team lägger till en liten valideringskontroll (ett If-villkor) för att flagga utdata som inte uppfyller minimikrav på längd eller stil.
Oftast beror det på en ogiltig eller utgången API-nyckel, så skapa en ny i ElevenLabs och uppdatera den credential som används av noden HTTP Request. Om nyckeln är okej, kontrollera om rösten du begär är tillgänglig i din plan och i din workspace. Begränsningar för rate limits kan också dyka upp när du kör stora språkbatcher, så testa med två språk och skala sedan.
Många, så länge dina gränser hos OpenAI och ElevenLabs stödjer det och din n8n-instans har tillräcklig kapacitet.
Ofta, ja. Det här flödet bygger på att loopa igenom språklister, tolka strukturerad AI-output och justera logik när ett språk behöver annan hantering. n8n är helt enkelt mer bekvämt med den typen av förgreningar och iteration, och du kan self-hosta för obegränsade körningar. Zapier eller Make kan fortfarande fungera om du håller det enkelt, men så fort du lägger till röstinställningar per språk och paketering blir det rörigt och dyrt. Om du är osäker, prata med en automationsexpert och få en rekommendation baserad på din volym.
Sätt upp detta en gång, så slutar nästa “vi behöver 8 språk till fredag”-förfrågan att bli en brandkårsutryckning. Flödet hanterar det repetitiva produktionsarbetet så att du kan fokusera på vad du faktiskt försöker säga.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.