Att göra om en PDF till en ljudbok låter enkelt tills du faktiskt provar. Du kopierar text, klistrar in den i ett TTS-verktyg, laddar ner en hög ljudklipp och lägger sedan orimligt mycket tid på att namnge filer och sy ihop dem.
Det här är den typen av automatisering för PDF-ljudbok som räddar förståndet för studenter med tung läsning, marknadsteam som återanvänder skrivna tillgångar och konsulter som vill lyssna på rapporter under pendlingen. I stället för dussintals röriga fragment får du en enda korrekt sammanslagen MP3 i Google Drive.
Det här arbetsflödet visar hur delarna hänger ihop, vad du behöver för att köra det och vilka resultat du kan förvänta dig när det är i drift.
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Drive-ljudböcker från PDF:er med Replicate
flowchart LR
subgraph sg0["FORM Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Save Audio Chucks", pos: "b", h: 48 }
n1["<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/>Generate 'concat_list.txt'"]
n2@{ icon: "mdi:cog", form: "rounded", label: "Save concat_list", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Join audio chucks and delete..", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "read final_merged", pos: "b", h: 48 }
n5["<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/form.svg' width='40' height='40' /></div><br/>FORM"]
n6@{ icon: "mdi:cog", form: "rounded", label: "EXTRACT TEXT", pos: "b", h: 48 }
n7["<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/>SPLITS THE TEXT ACCORGING TO.."]
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Text chunks (5) at..", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "WAITS FOR 5 SECONDS", pos: "b", h: 48 }
n10["<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/>CONVERTS URL TO AUDIO FILES"]
n11["<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/>GIVES INDEXES TO AUDIO FILES"]
n12@{ icon: "mdi:cog", form: "rounded", label: "Uploads Ebook", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>MINIMAX TTS"]
n5 --> n6
n13 --> n9
n6 --> n7
n2 --> n3
n0 --> n1
n4 --> n12
n9 --> n8
n1 --> n2
n10 --> n11
n11 --> n0
n7 --> n8
n8 --> n10
n8 --> n13
n3 --> n4
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 n5 trigger
class n10,n13 api
class n1,n7,n11 code
classDef customIcon fill:none,stroke:none
class n1,n5,n7,n10,n11,n13 customIcon
Problemet: PDF:er blir inte ljudböcker utan strul
Du börjar med en PDF och slutar i kaos. Text-till-tal-verktyg har ofta längdbegränsningar, så du delar upp dokumentet, klistrar in bit för bit och hoppas att du inte missade ett stycke i mitten. Sedan kommer ljudet tillbaka som separata filer med slumpmässiga namn, lite olika tempo och klumpiga avhugg vid sidbrytningar. Om du gör detta för en lärobok, en lång rapport eller kundresearch är det inte bara irriterande. Det blir ett återkommande tidstjuv som du skjuter upp eftersom det är monotont.
Friktionen växer snabbt. Här är var den manuella metoden oftast faller isär.
- Du tappar cirka 1–2 timmar på en lång PDF bara på copy/paste, export och filstädning.
- Ljudklipp slås inte ihop snyggt om du inte kan det, så du får glapp, upprepningar eller tvära klipp.
- Långa dokument triggar rate limits eller timeouts i verktyget, vilket gör att du måste passa processen och köra om misslyckade delar.
- Även när det “fungerar” blir resultatet inte delningsbart eftersom det är en mapp med fragment, inte en enda ljudboksfil.
Lösningen: konvertera valfri PDF till en MP3 i Google Drive
Det här arbetsflödet gör en PDF till en färdig ljudbok med en enda uppladdning. Det startar med ett enkelt inskickningsformulär i n8n. När du laddar upp PDF:en extraherar n8n texten, delar upp den i vettiga delar och skickar dessa till Replicate för generering med MiniMax TTS (Speech-02-HD). Arbetsflödet hanterar långa dokument i batchar, väntar kort mellan anropen för att hålla det stabilt och laddar sedan ner varje returnerat ljudsegment. Till sist använder det FFmpeg för att slå ihop allt till en enda MP3 och laddar upp MP3:an till en dedikerad “Audiobook”-mapp i Google Drive, redo att delas eller lyssnas på direkt.
Arbetsflödet börjar när du skickar in en PDF via formulärtriggern. Replicate genererar ljud i kontrollerade batchar om fem delar åt gången, och n8n samlar varje segment i rätt ordning. FFmpeg sammanfogar segmenten till en fil, och därefter tar Google Drive emot den slutliga MP3:an automatiskt.
Det du får: automatisering vs. resultat
| Vad detta arbetsflöde automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du vill ha en ljudboksversion av en PDF-rapport på 100 sidor. Manuellt lägger de flesta cirka 10 minuter per 10 sidor på att kopiera, strukturera, exportera och namnge filer, och sedan ytterligare 30–60 minuter på att försöka slå ihop allt till ett enda spår. Det är ungefär 2 timmar av irriterande jobb. Med det här arbetsflödet laddar du upp en gång (kanske 2 minuter) och låter det sedan köra i cirka 10–20 minuter baserat på tempot “1–2 minuter per 10 sidor”. Den färdiga MP3:an hamnar i Google Drive, redan sammanslagen och klar.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Replicate för MiniMax Speech-02-HD text-till-tal
- Google Drive för att lagra den färdiga MP3-ljudboken
- Replicate API-token (hämta den i inställningarna för ditt Replicate-konto)
Kunskapsnivå: Medel. Du klistrar in en API-token, kopplar Google Drive OAuth2 och installerar FFmpeg på din server eller Docker-container.
Vill du inte sätta upp detta själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du laddar upp en PDF via ett n8n-formulär. Inskicket är triggern, så du behöver inte bevaka en mapp eller starta körningar manuellt. Ladda upp, skicka in, klart.
PDF-texten extraheras och delas upp i användbara delar. Arbetsflödet läser PDF-innehållet och tillämpar sedan chunking-regler i ett kodsteg så att varje TTS-anrop håller sig inom praktiska gränser för långa dokument.
Replicate genererar tal i kontrollerade batchar. n8n skickar fem delar åt gången till MiniMax TTS-modellen via HTTP-anrop, väntar kort mellan anropen och hämtar sedan ljudfilerna från de returnerade URL:erna. Sortering hanteras så att den färdiga uppläsningen behåller rätt ordning.
FFmpeg slår ihop allt och Google Drive tar emot resultatet. Ljudsegment skrivs till disk, en concat-lista byggs och FFmpeg producerar en enda MP3. Den sammanslagna filen laddas sedan upp till din “Audiobook”-mapp i Google Drive automatiskt.
Du kan enkelt ändra röst, hastighet och känsloinställningar för att matcha din föredragna berättarstil. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera formulärtriggern
Konfigurera formuläret som användare ska använda för att ladda upp sin e-boks-PDF i arbetsflödet.
- Lägg till och konfigurera Submission Form Trigger.
- Ställ in Form Title på
Ebook to Audiobook. - Ställ in Form Description på
Upload your Ebook here. - I Form Fields ska ni säkerställa att ett filfält med etiketten UPLOAD är obligatoriskt och endast tillåter en fil.
Steg 2: Koppla PDF-extrahering och textsegmentering
Extrahera text från den uppladdade PDF:en och dela upp den i TTS-vänliga segment.
- Konfigurera Extract PDF Content med Operation satt till
pdfoch Binary Property Name satt tillUPLOAD. - I Segment Text by Rules behåller ni den angivna JavaScript Code för att rensa och dela upp texten i segment på ~500 tecken.
- Ställ in Batch Text Segments (5) att använda Batch Size
5.
Steg 3: Konfigurera TTS-generering och hämtning av ljud
Skicka varje textsegment till TTS-API:et, pausa kort och hämta sedan det genererade ljudet.
- Konfigurera TTS Synthesis Request med URL
https://api.replicate.com/v1/models/minimax/speech-02-hd/predictionsoch MethodPOST. - Ställ in JSON Body till
={ "input": { "text": "{{ $json.text }}", "pitch": 0, "speed": 1, "volume": 1, "bitrate": 128000, "channel": "mono", "emotion": "happy", "voice_id": "Friendly_Person", "sample_rate": 32000, "language_boost": "English", "english_normalization": true } }. - Aktivera Send Body och ange Specify Body som
json. Säkerställ att header-parametern Prefer är satt tillwait. - Inloggningsuppgifter krävs: Anslut era httpBearerAuth-uppgifter i TTS Synthesis Request.
- Konfigurera Delay 5 Seconds som den är för att skapa en kort buffert innan ljudet hämtas.
- Ställ in Fetch Audio from URL att använda URL
={{ $json.output }}.
Batch Text Segments (5) skickar output till både TTS Synthesis Request och Fetch Audio from URL parallellt, vilket möjliggör chunkad TTS-bearbetning och hämtning.
Steg 4: Spara ljudsegment och bygg concat-filen
Lagra varje ljudsegment, tilldela filindex och generera FFmpeg concat-listan.
- I Assign Audio Indexes behåller ni den angivna koden för att byta namn på binära nycklar och filnamn som
audio 0.mp3,audio 1.mp3. - Konfigurera Write Audio Segments med Operation
write, File Name=/tmp/audio {{$itemIndex}}.mp3och Data Property Name=audio {{ $itemIndex }}. - I Build Concat List File behåller ni den angivna koden för att generera en
concat_list.txt-fil som innehåller FFmpeg:s fildirektiv. - Ställ in Store Concat List till Operation
writeoch File Name/tmp/concat_list.txt.
Steg 5: Slå ihop ljud och ladda upp till Google Drive
Sammanfoga alla ljudsegment till en enda fil och ladda upp den till Drive.
- Konfigurera Merge Audio via FFmpeg med Command
ffmpeg -y -f concat -safe 0 -i /tmp/concat_list.txt \ -c copy /tmp/final_merged.mp3. - I Load Merged Audio ställer ni in File Selector till
/tmp/final_merged.mp3. - Konfigurera Upload Audio to Drive med Name
audiobook.mp3och välj er mål-Drive och mapp. - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-uppgifter i Upload Audio to Drive.
Steg 6: Testa och aktivera ert arbetsflöde
Validera hela flödet från e-bok till ljudbok innan ni kör det i produktion.
- Klicka på Execute Workflow och ladda upp en exempel-PDF i Submission Form Trigger.
- Bekräfta att Write Audio Segments skapar flera
/tmp/audio *.mp3-filer och att Store Concat List skriver/tmp/concat_list.txt. - Verifiera att Load Merged Audio läser in
/tmp/final_merged.mp3och att Upload Audio to Drive laddar uppaudiobook.mp3till er valda mapp. - När allt är bekräftat, växla arbetsflödet till Active för skarp drift.
Vanliga fallgropar
- Google Drive OAuth2-inloggningsuppgifter kan löpa ut eller sakna nödvändiga scopes. Om uppladdningar misslyckas, kontrollera först autentiseringen i n8n och bekräfta sedan att din mapp “Audiobook” fortfarande är korrekt vald.
- Om du använder Wait-noder eller extern renderering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Replicate kan begränsa långa körningar, och standardinställningarna är inte alltid snälla mot stora böcker. Om du ser fel, öka väntetiden i “Delay 5 Seconds” till cirka 10–15 sekunder och håll batchstorleken konservativ.
Vanliga frågor
Cirka en timme om du redan har en server och Google Drive klart.
Nej. Du kopplar mest konton och klistrar in en Replicate API-token. Den enda “tekniska” delen är att installera FFmpeg på maskinen som kör n8n.
Ja. n8n har ett gratis alternativ för egen hosting 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 Replicate-kostnader (MiniMax TTS ligger ungefär på 0,15 USD per 1 000 tecken, alltså cirka 3–5 USD för en genomsnittlig bok).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Uppdatera inställningarna för röst, känsla och hastighet i Replicate-noden för TTS-anropet (steget “TTS Synthesis Request”). Vanliga justeringar är att byta voice_id, sänka hastigheten för tekniskt material och använda “neutral” känsla för läroböcker så att det inte låter överdrivet peppigt.
Oftast är det en ogiltig eller utgången API-token. Skapa en ny Replicate-token och uppdatera den i HTTP-request-noden för TTS. Om token är okej handlar det ofta om rate limiting på längre böcker, så öka väntetiden och håll batcharna små. Kontrollera också att dina textdelar från PDF:en inte är för stora, eftersom för stora requests kan misslyckas tyst och ge dig saknade segment.
Många, men stora böcker tar längre tid.
För just det här jobbet, ja. Zapier och Make passar sämre när du behöver lokal filhantering plus FFmpeg för sammanslagning, eftersom du vanligtvis inte kan installera systemverktyg i deras hostade miljöer. n8n kan köras på din egen server, vilket betyder att du styr över FFmpeg, temporär lagring och återförsök. Du får också mer flexibel looping och batchning utan att betala per steg på samma sätt. Om du bara behöver ett litet flöde “PDF in, länk ut” kan de verktygen vara enklare, men de kommer inte pålitligt att producera en enda korrekt sammanslagen MP3. Prata med en automatiseringsexpert om du är osäker på vad som passar.
När detta är på plats slutar du “göra ljudböcker” och börjar generera dem. Ladda upp PDF:en, låt det köra och få tillbaka din tid.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.