Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Kokoro TTS + Python: MP3-voiceovers på beställning

Rickard Andersson Partner, Nodenordic.se

Du skriver ett manus, och sedan börjar den ”enkla” delen: öppna ett verktyg, klistra in text, välja en röst, exportera, döpa om filer, ladda ner och försöka hålla reda på vilken version du använde. Gör du det några gånger i veckan slutar det vara en småsak. Det blir en bromskloss för allt annat.

Den här Kokoro TTS-automationen träffar videokreatörer först, helt ärligt. Men en marknadsförare som bygger veckoinnehåll och en byråägare som producerar kundvoiceovers känner samma smärta, på olika sätt. Målet är enkelt: MP3-voiceovers vid begäran som du kan återskapa när som helst utan att betala per klipp.

Du får se hur ett n8n-flöde kör ett lokalt Python-skript, genererar en MP3 med Kokoro TTS och lämnar tillbaka ljudet direkt, redo att användas.

Så fungerar den här automationen

Se hur detta löser problemet:

n8n Workflow Template: Kokoro TTS + Python: MP3-voiceovers på beställning

Utmaningen: konsekventa voiceovers utan merjobb

Voiceover-produktion låter snabbt tills du gör det om och om igen. Du jonglerar manus i Docs, captions någon annanstans och ljudexporter med namn som ”final_final_v3” i en mapp som bara växer. En liten ändring i introt eller CTA:n betyder att du gör om hela export- och nedladdningsrundan igen. Lägg till att byta röster, hastigheter eller accenter så slutar du med inkonsekvent ljud mellan videor och kampanjer. Det är inte svårt. Det är konstant, och det äter upp din kreativa tid.

Här är var det brukar fallera i verkligheten.

  • Du betalar för TTS-verktyg främst för att de är bekväma, inte för att de passar ditt arbetsflöde bättre.
  • Manuell export och nedladdning gör små manusjusteringar till en 20-minuters omväg.
  • Filnamngivning och versionshantering blir rörigt snabbt, vilket gör att du ibland publicerar fel tagning.
  • Att hålla en konsekvent ”hus-röst” i allt innehåll är svårare än det borde vara.

Lösningen: generera Kokoro MP3-voiceovers via n8n + Python

Det här flödet gör voiceover-skapande till ett upprepningsbart knapptryck. Du startar flödet, det tilldelar texten du vill få uppläst samt Kokoro-rösten du vill använda, och sedan kör n8n ett Python-kommando på din dator. Python-skriptet pratar med din lokala Kokoro TTS Gradio-server och genererar ljudfilen. Till sist läser n8n in MP3:an från disk så att du kan spela upp den, flytta den, ladda upp den eller skicka den vidare till nästa automation du redan kör. Samma indataformat varje gång. Samma utdataformat varje gång. Och eftersom Kokoro kör lokalt betalar du ingen minutavgift bara för att spela in en mening på nytt.

Flödet börjar med en manuell trigger, vilket är perfekt när du vill ha voiceovers ”på beställning” istället för enligt schema. Sedan fyller det i dina röst-/textvariabler, kör Kokoro Python-skriptet och hämtar tillbaka den genererade MP3:an in i n8n som en fil. Därifrån kan du bygga ut det till en komplett content-pipeline på några minuter.

Vad som förändras: före vs. efter

Effekt i praktiken

Säg att du producerar 5 korta videor i veckan och att varje voiceover tar cirka 20 minuter mellan generering, export, nedladdning och att arkivera den rätt. Det är ungefär 100 minuter per vecka, och det sticker iväg när du gör revideringar. Med det här flödet är starten i princip omedelbar, och generering plus filhämtning brukar kännas som ett par minuters aktiv insats (även om du kan behöva vänta lite på att ljudet renderas). Du får tillbaka ungefär en till två timmar i veckan, och den irriterande delen försvinner.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Självhosting om du föredrar det (Hostinger fungerar bra)
  • Python för att köra det lokala skriptet för röstgenerering.
  • Kokoro TTS (lokalt) för gratis, lokal text-till-tal-generering.
  • Lokal Gradio-server (från Kokoro-paketet) så att skriptet kan anropa endpointen /generate_speech.

Kunskapsnivå: Medel. Du är bekväm med att justera en sökväg i en Python-fil och sätta upp en lokal mapp, men du kommer inte skriva ”riktig kod” utöver det.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödets gång

Du kör det vid behov. En manuell trigger startar flödet när du vill ha en voiceover nu, inte senare. Det gör också att du snabbt kan testa olika röster.

Dina röstinställningar tilldelas. Set-noden fyller i nyckelvariablerna som texten som ska läsas och röstnamnet (till exempel af_sarah). Du kan även lägga in ett hastighetsvärde om du vill kunna justera det per körning.

Python genererar MP3:an lokalt. Execute Command-noden kör ett kommando som python C:\KOKORO\voicegen.py och skickar dina text-/röstvärden till skriptet. Skriptet anropar din lokala Kokoro-endpoint och flyttar den skapade ljudfilen till en känd utplats (som D:\output.mp3).

n8n läser in den färdiga ljudfilen. En Read Binary Files-nod hämtar tillbaka MP3:an in i flödet, vilket betyder att du kan spela upp den, lagra den, skicka den till en kollega eller bifoga den till ett annat automationsutflöde.

Du kan enkelt ändra utfilens sökväg för att spara MP3:er per projekt istället för att skriva över en och samma fil. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera den manuella triggern

Ställ in arbetsflödet så att det startar manuellt så att ni kan testa röstuppspelningsprocessen från början till slut.

  1. Lägg till noden Manual Start Trigger som startpunkt för arbetsflödet.
  2. Behåll standardinställningarna (inga parametrar krävs).
  3. (Valfritt) Behåll den klistrade anteckningen Flowpast Branding för dokumentation och sammanhang.

Steg 2: Koppla röstvariablerna

Definiera text- och röstvärdena som ska skickas in i Python-kommandot.

  1. Lägg till noden Assign Voice Variables efter Manual Start Trigger.
  2. Ställ in Moderaw.
  3. Ställ in JSON Output{ "voice": "af_sarah", "text": "Hello world!" }.

Tips: Anpassa voice och text här för att generera olika utdata utan att redigera Python-kommandot.

Steg 3: Sätt upp Python-kommandot

Kör skriptet för röstgenerering med variablerna från föregående steg.

  1. Lägg till noden Run Python Command efter Assign Voice Variables.
  2. Ställ in Command=python C:\KOKORO\voicegen.py "{{ $json.text }}" "{{ $json.voice }}" 1.

⚠️ Vanlig fallgrop: Säkerställ att sökvägen C:\KOKORO\voicegen.py är korrekt på er n8n-host och att Python finns tillgängligt i systemets PATH.

Steg 4: Konfigurera utdata för ljudfilen

Läs in den genererade MP3-filen så att n8n kan mata ut den eller skicka den vidare till nästa steg.

  1. Lägg till noden Play Audio File efter Run Python Command.
  2. Ställ in File SelectorD:/output.mp3.

⚠️ Vanlig fallgrop: Python-skriptet måste spara filen till D:/output.mp3, annars kommer noden Play Audio File att misslyckas.

Steg 5: Testa och aktivera ert arbetsflöde

Verifiera arbetsflödet från början till slut och aktivera det sedan för löpande användning.

  1. Klicka på Execute Workflow för att köra Manual Start Trigger.
  2. Bekräfta att Run Python Command slutförs utan fel och genererar D:/output.mp3.
  3. Verifiera att Play Audio File läser den binära filen korrekt i utdata-panelen.
  4. Växla arbetsflödet till Active när ni är redo för regelbunden användning.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tänk på detta

  • Execute Command fungerar bara stabilt på självhostad n8n. Om du kör n8n Cloud kommer just det här flödet att misslyckas eftersom det inte kan köra Python på din lokala dator.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Filsökvägar knäcker fler flöden än ”AI” någonsin kommer göra. Om din MP3 inte laddas, verifiera att Python-skriptets ut-sökväg (som D:\output.mp3) matchar Read Binary Files-sökvägen exakt, inklusive snedstreck.

Vanliga frågor

Hur snabbt kan jag implementera den här Kokoro TTS-automationen?

Cirka en timme om Python och Kokoro redan kör lokalt.

Kan icke-tekniska team implementera den här MP3-voiceover-automationen?

Ja, men någon behöver göra den engångsvisa lokala setupen. Efter det handlar det i princip om att fylla i text och klicka på ”execute”.

Är n8n gratis att använda för det här Kokoro TTS-automationsflödet?

Ja. n8n har ett gratis självhostat 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 in lokala beräkningskostnader (oftast bara din befintliga dator) eftersom Kokoro kör lokalt.

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. För just den här Kokoro TTS-automationen är självhosting det praktiska valet eftersom du behöver Execute Command för att köra Python lokalt.

Hur anpassar jag den här Kokoro TTS-automationslösningen till mina specifika utmaningar?

Börja med att redigera Set-noden (Assign Voice Variables) så att den hämtar text från där du faktiskt skriver, som Google Sheets eller en PDF. Ändra sedan Python-kommandot i Run Python Command så att det skriver unika filnamn (till exempel med projektnamn eller tidsstämpel) istället för att skriva över D:\output.mp3. Om du inte vill använda en Gradio-server kan du byta Python-koden så att den anropar en annan lokal endpoint, men behåll samma beteende ”text in, MP3 ut” så att resten av flödet förblir strukturerat.

Varför misslyckas min Execute Command-anslutning i det här flödet?

Vanligtvis beror det på att flödet körs i n8n Cloud, där Execute Command inte kan komma åt din lokala Python-miljö. På självhostad n8n: kontrollera att python finns i PATH och att skriptsökvägen (som C:\KOKORO\voicegen.py) är korrekt. Om kommandot kör men ingen MP3 dyker upp är det oftast en felaktig ut-sökväg eller att den lokala Gradio-servern inte kör på http://localhost:7860/.

Vilken kapacitet har den här Kokoro TTS-automationslösningen?

Den begränsas i praktiken av din dator och hur snabbt Kokoro kan rendera ljud.

Är den här Kokoro TTS-automationen bättre än att använda Zapier eller Make?

För lokal TTS-generering, ja, eftersom Zapier och Make inte enkelt kan köra ett Python-skript på din dator och sedan läsa tillbaka en lokal MP3-fil. n8n hanterar också grenlogik utan att prissätta dig in i ett hörn, vilket spelar roll när du börjar generera varianter (olika röster, hastigheter, introtexter och språk). Nackdelen är setupen: du ansvarar för att köra Kokoro lokalt, och det är inte en SaaS med ett klick. Om du bara behöver molnbaserad TTS och två enkla steg kan Zapier eller Make fungera bra. Om du vill ha ett flöde som blir en del av ditt produktionssystem är n8n bättre. Prata med en automationsexpert om du är osäker på vad som passar.

Du sätter upp det en gång, och sedan blir voiceovers något du genererar, inte något du ”producerar”. Flödet tar hand om det repetitiva så att du kan hålla fokus på innehållet.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal