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

Google Sheets till Google Drive, videor klara

Rickard Andersson Partner, Nodenordic.se

Du börjar med en enkel lista över resmål i Google Sheets … och på något sätt förvandlas det till timmar av kopiering, promptjusteringar, filjakt och kaoset “vart tog den där renderingen vägen?”.

Videoautomation i Sheets är för dem som känner den smärtan mest: marknadschefer som försöker hålla en contentkalender vid liv, rese­skapare som publicerar dagligen och små team som behöver output utan att anställa en till redigerare.

Det här arbetsflödet gör om en rad i Google Sheets till en färdig 20-sekunders resevideo som sparas i Google Drive. Du får se vad som automatiseras, vad du får tillbaka och vad som krävs för att köra det stabilt.

Så här fungerar automationen

Hela n8n-arbetsflödet, från trigger till slutresultat:

n8n Workflow Template: Google Sheets till Google Drive, videor klara

Problemet: att göra videor av resmålsidéer är ett slit

“Vi har idéerna i ett ark” låter organiserat. I praktiken betyder det oftast att du fortfarande måste skriva prompts, generera bilder, vänta på renderingar, ladda ner filer, ladda upp till Drive och sedan uppdatera spårningen så att du kommer ihåg vad som publicerats. Missar du ett steg får du generera om material eftersom en länk gått ut eller ljudfilen aldrig sparades. Och den mentala belastningen är påtaglig: att växla mellan verktyg, flikar och mappar hela dagen dödar momentum, särskilt när du vill publicera konsekvent.

Det växer snabbt. Här är var det faller isär när du försöker skala bortom “en video när vi får tid”.

  • Varje resmål blir ett miniprojekt, så din “contentkalender” blir en backlog som du undviker.
  • Manuell promptskrivning ger inkonsekventa visuella uttryck, vilket innebär fler ändringar och svagare varumärkesigenkänning.
  • Filer sprids över lokala nedladdningar och slumpmässiga Drive-mappar, så teamet slösar tid bara på att hitta senaste versionen.
  • Spårningen blir opålitlig när den bygger på att någon kommer ihåg att uppdatera en statuskolumn efter att renderingen är klar.

Lösningen: generera resevideor från en rad i Google Sheets

Det här n8n-arbetsflödet behandlar ditt Google-ark som en produktionskö. Det börjar med att hämta en resmålsidé (en rad), använder sedan AI för att skapa bildprompts och berättartext. De promptarna skickas vidare för att generera bilder och korta videoklipp, och arbetsflödet väntar på att varje tjänst blir klar innan det går vidare. Därefter syntetiseras en voiceover, ljudet laddas upp till Google Drive och en delbar länk skapas så att renderaren kan komma åt det. Till sist slås allt ihop och en polerad 20-sekunders video renderas via CreateMate, den färdiga filen sparas och ditt ark uppdateras med slutstatus och URL.

Arbetsflödet startar via ett schema eller en manuell körning i n8n och läser sedan nästa resmål i Google Sheets. Därifrån genererar det bilder, videoklipp och voiceover (OpenAI/Gemini + Piapia + Runway + ElevenLabs). Slutresultatet är en publiceringsklar video som sparas i Google Drive och loggas tillbaka i ditt spårningsark.

Det här får du: automation vs. resultat

Exempel: så här ser det ut i praktiken

Säg att du publicerar 5 resevideor i veckan. Manuellt kanske du lägger cirka 15 minuter på att skriva prompts, cirka 20 minuter på att generera och samla media, ytterligare 20 minuter på att sätta ihop, plus 10 minuter på uppladdning och uppdatering av spårningsarket. Runda av till cirka 1 timme per video, alltså ungefär 5 timmar i veckan. Med det här arbetsflödet lägger du till ett resmål i Google Sheets (cirka 2 minuter) och väntar sedan på att den automatiska renderingen blir klar i bakgrunden. Du går i princip bara in om du vill finjustera en promptstil.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger funkar bra)
  • Google Sheets för resmålsidéer och statusspårning
  • Google Drive för att lagra och dela resultat
  • OpenAI API-nyckel (hämta den i OpenAI-dashboarden)
  • RunwayML API-nyckel (hämta den i ditt Runway-konto)
  • ElevenLabs API-nyckel (hämta den i ElevenLabs inställningar)
  • Piapia API-nyckel (hämta den från piapia.ai efter registrering)
  • CreateMate API-åtkomst (hämta den från createmate.ai)

Kunskapsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och testkör hela flödet från start till mål.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så här fungerar det

Ett schema eller en manuell körning startar allt. n8n kan köras på en timer (dagligen, vardagar, vad som passar) eller så klickar du på kör när du vill batcha innehåll.

Arbetsflödet hämtar ett resmål från Google Sheets. Det läser raden, bygger ut den till strukturerade innehållsdelar och förbereder datan så att AI- och medieverktyg får korrekt formaterade inputs i stället för rörig copy-paste.

AI genererar prompts, media och berättarröst. OpenAI (och valfritt Gemini) skriver bildprompts och ett voiceover-manus, och sedan skickar HTTP-förfrågningar jobb till Piapia (bilder), RunwayML (klipp) och ElevenLabs (röst). Det finns inbyggda väntetider (som 90 sekunder för bilder och cirka 2 minuter för klipp) så att arbetsflödet hämtar färdiga tillgångar i stället för att skapa fel för tidigt.

Allt slås ihop och renderas till en enda video. Ljudet laddas upp till Google Drive och delas, sedan renderar CreateMate den slutliga 20-sekundersfilen. n8n hämtar den färdiga videon, sparar resultatet och uppdaterar ditt Google-ark så att du alltid vet vad som är klart.

Du kan enkelt ändra promptstilen så att den matchar din varumärkesröst utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera den manuella triggern

Ställ in hur arbetsflödet startar så att ni kan köra det manuellt för test eller enligt schema för automatisering.

  1. Öppna Manual Start Trigger och låt den vara som den är för tester på begäran.
  2. Öppna Scheduled Run Trigger och definiera intervallet under Rule för att köra automatiskt (t.ex. dagligen eller varje timme).
  3. Bekräfta att båda triggers är kopplade till Fetch Prompt Row som visas i arbetsflödet.

Steg 2: Anslut Google Sheets

Dessa noder hämtar nästa ToDo-prompt och uppdaterar statusfält i takt med att arbetsflödet körs.

  1. Öppna Fetch Prompt Row och ställ in Document till [YOUR_ID] och Sheet till Sheet1.
  2. I Fetch Prompt Row, ställ in filtret så att video status är lika med ToDo.
  3. Öppna Mark Video Status och behåll Operation som update med row_number satt till {{ $('Fetch Prompt Row').item.json.row_number }}.
  4. Öppna Update Output Sheet och behåll Operation som update med videoLink satt till {{ $json.url }}, video status satt till =Created och publish status satt till Processed.
  5. Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Fetch Prompt Row, Mark Video Status och Update Output Sheet.

⚠️ Vanlig fallgrop: Säkerställ att arket innehåller kolumnen row_number och matchar schemat som används av uppdateringsnoderna.

Steg 3: Konfigurera innehållsbygge och generering av bildpromptar

Det här segmentet bygger en innehållsarray, delar upp den i items och genererar rena bildpromptar.

  1. I Assemble Content Array, ställ in content till ["{{ $json['content1'] }}","{{ $json['content2'] }}","{{ $json['content3'] }}","{{ $json['content4'] }}"] och style till {{ $json.style }}.
  2. I Expand Content Items, ställ in Field To Split Out till content.
  3. I Image Prompt Builder, ställ in Text till content: {{ $json.content }} Style: {{ $('Assemble Content Array').item.json.style }}.
  4. I Strip Line Breaks, behåll den medföljande JavaScript-koden för att ta bort radbrytningstecken.
  5. I Assign Prompt Text, ställ in prompts till {{ $json.output }}.
  6. Inloggning krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Model.
  7. OpenAI-uppgifter läggs till i OpenAI Chat Model, som driver Image Prompt Builder.

Om ni ändrar systemprompten i Image Prompt Builder, behåll instruktionen “no newlines” för att undvika felaktigt formaterade promptar i efterföljande API-anrop.

Steg 4: Konfigurera skapande av bild- och videouppgifter

Dessa noder genererar bilder, konverterar dem till korta videoklipp och pollar efter resultat med väntesteg.

  1. I Create Image Task, ställ in URL till https://api.piapi.ai/api/v1/task och behåll JSON-body med "model": "Qubico/flux1-dev" och "task_type": "txt2img".
  2. Inloggning krävs: Anslut era httpHeaderAuth-uppgifter i Create Image Task och Retrieve Image Task.
  3. I Pause 90 Seconds, ställ in Amount till 90 för att ge bildgenereringen tid att slutföras.
  4. I Retrieve Image Task, ställ in URL till https://api.piapi.ai/api/v1/task/{{ $json.data.task_id }}.
  5. I Create Video Clips, behåll URL som https://api.dev.runwayml.com/v1/image_to_video och ställ in body-parametrar för promptImage, model gen3a_turbo, ratio 768:1280 och duration 5.
  6. I Pause 2 Minutes, ställ in Unit till minutes och Amount till 2.
  7. I Retrieve Video Task, ställ in URL till https://api.dev.runwayml.com/v1/tasks/{{ $json.id }} och behåll headern X-Runway-Version: 2024-11-06.
  8. Inloggning krävs: Anslut era httpHeaderAuth-uppgifter i Retrieve Video Task.

⚠️ Vanlig fallgrop: Create Video Clips och Render Final Video förlitar sig på statiska header-tokens. Ersätt [CONFIGURE_YOUR_TOKEN] med en giltig API-token, annars misslyckas anropen.

Steg 5: Konfigurera ljudgenerering och lagring

Den här grenen bygger en ljudprompt, syntetiserar ljud och sparar det i Google Drive för senare användning i den slutliga renderingen.

  1. I Audio Prompt Builder, ställ in Text till Style: {{ $('Fetch Prompt Row').item.json.style }}.
  2. Inloggning krävs: Anslut era googlePalmApi-uppgifter i Gemini Chat Model.
  3. Gemini-uppgifter läggs till i Gemini Chat Model, som driver Audio Prompt Builder.
  4. I Assign Audio Prompt, ställ in audio till {{ $json.output.trimEnd() }}.
  5. I Synthesize Audio, ställ in URL till https://api.elevenlabs.io/v1/sound-generation och mappa text till {{ $json.audio }} med duration_seconds satt till 20.
  6. Inloggning krävs: Anslut era httpHeaderAuth-uppgifter i Synthesize Audio.
  7. I Upload Audio File, ställ in Name till {{ $('Fetch Prompt Row').item.json.style }}.mp3 och välj ert mål-mapp-ID.
  8. I Share Audio File, behåll Operation som share och tillåt anyone att visa.
  9. Inloggning krävs: Anslut era googleDriveOAuth2Api-uppgifter i Upload Audio File och Share Audio File.

Steg 6: Sätt ihop, rendera och uppdatera utdata

Dessa noder sammanfogar ljud- och videodata, renderar den slutliga videon och uppdaterar statusfält. Detta inkluderar en parallell gren efter videohämtningen.

  1. Efter Retrieve Video Task, notera att den skickar utdata till både Combine Streams och Limit Records parallellt.
  2. I Limit Records, behåll standardinställningarna och koppla den till Mark Video Status för att sätta video status till Created.
  3. I Combine Streams, ställ in Mode till combine och Combine By till combineAll.
  4. I Extract URL Parts, behåll JavaScript-koden som bygger en urls-array från videoutdata.
  5. I Render Final Video, ställ in URL till https://api.creatomate.com/v1/renders och ersätt [YOUR_ID] i template_id.
  6. I Render Final Video, behåll ändringarna som mappar videokällor och textfält som {{ $json.urls[0].url }} och {{ $('Fetch Prompt Row').first().json.content1 }}.
  7. I Pause 25 Seconds, ställ in Amount till 25 och hämta sedan resultat via Fetch Rendered Video med URL {{ $json.url }}.

Eftersom flera HTTP request-noder används bör ni ta hänsyn till API:ernas rate limits när ni kör stora batcher.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett kontrollerat test, verifiera utdataraderna och aktivera därefter schemalagd automatisering.

  1. Klicka Execute WorkflowManual Start Trigger för att köra ett enskilt test.
  2. Bekräfta att Fetch Prompt Row returnerar en rad med video status satt till ToDo och att Update Output Sheet skriver den slutliga videoLink.
  3. Verifiera att Google Drive innehåller ljudfilen som skapats av Upload Audio File och delats av Share Audio File.
  4. När allt är validerat, slå på arbetsflödet till Active så att Scheduled Run Trigger behandlar rader automatiskt.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Inloggningar för Google Sheets kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först inställningarna för autentiseringsuppgifter i n8n och Google OAuth-åtkomst.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här videoautomationen i Sheets?

Cirka 45 minuter om dina API:er är klara.

Behöver jag kunna koda för att automatisera skapandet av resevideor?

Nej. Du kommer främst att koppla konton och klistra in API-nycklar i n8n.

Är n8n gratis att använda för det här arbetsflödet för videoautomation i Sheets?

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 kostnader för användning av OpenAI, RunwayML, ElevenLabs, Piapia och CreateMate, som beror på hur många videor du genererar.

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 egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för videoautomation i Sheets för olika videostilar?

Ja, och det är ärligt talat det första du bör göra. Uppdatera berättelsen och formateringen i delen “Set Content” i arbetsflödet och justera sedan agenten “Image Prompt Builder” så att den alltid levererar din föredragna visuella stil (till exempel filmiskt, minimalistiskt eller “3D-render”-utseende). Du kan också justera “Audio Prompt Builder” så att voiceovern matchar din varumärkeston (mer peppig, mer faktabaserad, kortare meningar). Om du någon gång byter leverantörer är HTTP Request-stegen som anropar Piapia, Runway, ElevenLabs och CreateMate de vanliga ställena att byta ut.

Varför misslyckas min Google Sheets-anslutning i det här arbetsflödet?

Oftast handlar det om utgången OAuth-åtkomst eller att fel Google-konto är kopplat. Återanslut dina Google Sheets-uppgifter i n8n och bekräfta att kalkylarket är delat med det kontot. Kontrollera också att namn på sheet/flik fortfarande matchar vad arbetsflödet förväntar sig, eftersom en omdöpt flik kan bryta uppslag.

Hur många videor klarar den här videoautomationen i Sheets?

Många, men de verkliga begränsningarna är dina API-kvoter och hur lång tid mediegenereringen tar. På n8n Cloud begränsas du av månatliga körningar i din plan, medan egen hosting tar bort körningstak (då blir servern begränsningen). I praktiken kör de flesta team detta som en jämn kö, till exempel 5–20 videor per dag, så att du inte slår i rate limits i Runway eller hos din renderare.

Är den här videoautomationen i Sheets bättre än att använda Zapier eller Make?

För mediegenerering i flera steg är n8n oftast bättre eftersom du kan lägga in väntetider, sammanfogningar och förgreningslogik utan att slåss med planbegränsningar. Zapier och Make funkar för enkla flöden av typen “ny rad → ladda upp fil”, men det här arbetsflödet har många rörliga delar: flera externa API:er, statusuppdateringar och hämtsteg efter rendering. n8n ger dig också alternativet för egen hosting, vilket blir viktigt när du börjar generera i volym. Om du vill ha hjälp att välja, prata med en automationsexpert.

När det här väl rullar slutar ditt Google-ark vara en önskelista och börjar fungera som en produktionslina. Arbetsflödet tar hand om de repetitiva delarna så att du kan fokusera på att publicera och förbättra det som faktiskt presterar.

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