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 + Sora 2: UGC-annonser redo att testa

Rickard Andersson Partner, Nodenordic.se

Du har produktidéer. Du har ett kalkylark. Och ändå fastnar du med att jaga briefs, skrapa “inspo”, skriva om prompts och vänta på ändringar bara för att få fram en enda annons som går att testa.

Det här är det performance marketers klagar på privat. E-handelsgrundare känner det när lanseringar stannar av. Och byråteam blir pressade när kunder vill ha “fem fler vinklar till i morgon.” Den här Sora 2-automationen gör en enkel rad i Google Sheets till en färdig 10-sekunders UGC-inspirerad porträttvideo som du faktiskt kan testa.

Du får se hur arbetsflödet researchar produkten, bygger en starkare prompt, genererar videon via Kie.ai Sora 2 och skriver tillbaka resultatet till ditt kalkylark så att inget tappas bort.

Så fungerar den här automationen

Här är hela arbetsflödet som du kommer att sätta upp:

n8n Workflow Template: Google Sheets + Sora 2: UGC-annonser redo att testa

Varför det här spelar roll: UGC-annons­testning blir en flaskhals

Testning av kortformatannonser låter enkelt tills du gör det i volym. Varje “snabb” creative behöver research (vilka vinklar trendar), en användbar prompt (inte ett luddigt stycke text) och ett konsekvent sätt att spara output så att du kan jämföra vinnare senare. Manuellt blir de stegen utspridda över flikar, DM:s och halvfärdiga dokument. Kontexten försvinner snabbt. Sedan kommer den verkliga kostnaden: färre iterationer, långsammare lärande och återanvända idéer eftersom det är enklare än att börja om från noll igen. Det är ärligt talat så kampanjer blir stagnerade.

Friktionen byggs på. Här är var det oftast faller isär.

  • Research blir inkonsekvent eftersom någon “gissar” vinklar i stället för att kolla vad som faktiskt trendar.
  • Prompts skrivs om om och om igen, vilket bränner en timme du tänkte lägga på teststrategi.
  • Videooutput hamnar på slumpmässiga ställen, så du kan inte se vilken prompt som gav vilket resultat en vecka senare.
  • När du försöker skala sjunker kvaliteten eftersom du förlitar dig på copy-paste i stället för ett repeterbart system.

Det du bygger: Google Sheets till Sora 2-generering av videoannonser

Det här arbetsflödet gör ditt Google Sheet till en lättviktig creative-pipeline. Du lägger in ett produktnamn, en grov idé (eller vinkel) och en bildlänk och kör sedan automationen. n8n hämtar en obehandlad rad, researchar produktkategorin och relaterade trender med Tavily Search och skickar insikterna till en OpenAI-driven “prompt builder”-agent som skriver en modern videoprompt i rätt format för Sora 2. Den prompten, plus din produktbild, skickas till Kie.ai:s Sora 2 image-to-video-endpoint för att generera en 10-sekunders porträttvideo. Arbetsflödet kontrollerar sedan status i en loop tills den är klar och uppdaterar till sist samma rad med den färdiga videolänken och en enkel markering “Processed = Yes”.

Arbetsflödet startar med en manuell körning, så att du behåller kontrollen under test. I mitten gör det grovjobbet: trendresearch, prompt engineering och övervakning av genereringen. På slutet blir ditt kalkylark källan till sanningen, med output-länken kopplad till originalinputen.

Det du bygger

Förväntade resultat

Säg att du vill testa 5 nya vinklar för en produkt den här veckan. Manuellt kanske du lägger cirka 20 minuter per vinkel på snabb research + promptjusteringar + organisering av länkar, vilket blir ungefär 2 timmar innan en enda video ens är genererad. Med det här arbetsflödet fyller du i 5 rader i Google Sheets på cirka 10 minuter och kör sedan varje rad när du är redo. Videorna tar fortfarande tid att generera, men ditt hands-on-arbete blir “skicka in och granska”, inte “bygga allt från grunden”.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger funkar bra)
  • Google Sheets för att spara produktinput och output.
  • Tavily Search API för att researcha trender och kontext.
  • OpenAI API-nyckel (hämta den från sidan för API-nycklar i din OpenAI-dashboard).
  • Kie.ai Sora 2 API för att generera 10-sekunders porträttvideon.

Svårighetsgrad: Nybörjare. Du kopplar konton, klistrar in API-nycklar och ändrar ett Google Sheet-ID samt några nodfält.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Du triggar det manuellt från n8n. Det här arbetsflödet är byggt för kontrollerad generering, så du kör det när du vill bearbeta en produktpost (eller när du testar inställningar).

Google Sheets levererar nästa rad att jobba med. n8n läser ditt ark, hittar en rad som inte har bearbetats ännu och hämtar fälten du bryr dig om (produktnamn, prompt/idén och bildlänken).

AI gör “grov idé” till en användbar Sora 2-prompt. Agenten använder Tavily-sökresultat för att lägga till realistiska detaljer (scen, ton, ljussättning, kamerarörelse och känsla) och formaterar sedan allt så att videogeneratorn har färre chanser att missförstå dig.

Kie.ai genererar 10-sekunders porträttvideon, sedan kontrollerar n8n tills den är klar. En kort väntan sker mellan statuskontrollerna, och arbetsflödet routar success-, pending- eller error-lägen så att du kan köra om utan att behöva passa processen.

Slutlänken går tillbaka in i Google Sheets. Samma rad uppdateras med videolänken (utan vattenstämpel) och “Processed = Yes”, vilket gör ditt ark till en enkel creative-tracker.

Du kan enkelt ändra promptstilen så att den matchar din tonalitet och ditt varumärke 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 testa hela videopipelinen från början till slut innan ni automatiserar den.

  1. Lägg till och öppna Manual Start Trigger.
  2. Lämna alla inställningar som standard (inga parametrar krävs).

Steg 2: anslut Google Sheets

Dessa noder läser en enskild obehandlad rad och skriver senare tillbaka den genererade videolänken till samma kalkylark.

  1. Öppna Retrieve Sheet Row och ställ in Document till [YOUR_ID] och Sheet till Sheet1.
  2. Under Filters behåller ni Lookup Column som Processed och aktiverar Return First Match.
  3. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Sheet Row.
  4. Öppna Update Sheet Record och bekräfta att Operation är appendOrUpdate, Document är [YOUR_ID] och Sheet är Sheet1.
  5. I Update Sheet Record ställer ni in kolumnmappningar till: Prompt ={{ $('Retrieve Sheet Row').item.json.Prompt }}, Processed Yes och Video Link ={{ $json.video_link }}, med Matching Columns inställt på Prompt.
  6. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Update Sheet Record.
  7. Steg 3: konfigurera Prompt Builder Agent

    Det här steget bygger en rik videoprompt med hjälp av OpenAI och Tavily som webb-sökverktyg.

    1. Öppna Prompt Builder Agent och ställ in Text till =Here is the prompt: {{ $json.Prompt }}.
    2. Behåll Prompt Type som define och behåll det befintliga systemmeddelandet som vägleder prompt engineering.
    3. Öppna OpenAI Chat Engine och ställ in Model till gpt-4.1-mini.
    4. Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Chat Engine, som är ansluten som språkmodell för Prompt Builder Agent.
    5. Öppna Tavily Search Tool och bekräfta att URL är https://api.tavily.com/search, Method är POST och att JSON Body innehåller sökuttrycket {{ "What is " + $json["Product Name"] + " used for and what emotions or settings fit its video marketing?" }}.
    6. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-inloggningsuppgifter för Tavily Search Tool (det här verktyget körs under Prompt Builder Agent).
    7. Steg 4: konfigurera förfrågningar för videogenerering

      Dessa noder skickar videoförfrågan till Kie.ai, väntar och kontrollerar sedan jobbstatusen.

      1. Öppna Generate Video Request och bekräfta att URL är https://api.kie.ai/api/v1/jobs/createTask med Method inställd på POST.
      2. Ställ in JSON Body så att den använder "model": "sora-2-image-to-video" och "prompt": "{{ $json.output.replace(/\r?\n|\r/g, ' ').replace(/"/g, '\\"') }}".
      3. Säkerställ att image_urls använder det Drive-säkra uttrycket: {{ $('Retrieve Sheet Row').item.json['Image Link'].match(/\/d\/(.*?)\//) ? 'https://drive.google.com/uc?export=download&id=' + $('Retrieve Sheet Row').item.json['Image Link'].match(/\/d\/(.*?)\//)[1] : $('Retrieve Sheet Row').item.json['Image Link'] }}.
      4. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-inloggningsuppgifter i Generate Video Request.
      5. Öppna Delay Pause och ställ in Amount till 15 (sekunder).
      6. Öppna Fetch Video Status och ställ in URL till https://api.kie.ai/api/v1/jobs/recordInfo, med Query Parameter taskId inställd på ={{ $json.data.taskId }}.
      7. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-inloggningsuppgifter i Fetch Video Status.
      8. Steg 5: konfigurera routning och uppdateringar i kalkylarket

        Statusroutern avgör om videons URL ska mappas, om den ska försöka igen efter en paus eller om ett felmeddelande ska skickas.

        1. Öppna Status Router och bekräfta att regeln Success kontrollerar att ={{ $json.data.state }} är lika med success.
        2. Bekräfta att regeln Error kontrollerar att ={{ $json.code }} är lika med 500 och att fallback-utdata är extra.
        3. I Map Output Fields ställer ni in video_link till ={{ JSON.parse($json.data.resultJson).resultUrls[0] }}.
        4. Säkerställ att körflödet fortsätter som: Fetch Video StatusStatus RouterMap Output FieldsUpdate Sheet Record.
        5. Observera att Status Router också skickar utdata till Compose Error Notice vid fel och till Delay Pause för att kontrollera status igen.
        6. ⚠️ Vanlig fallgrop: Compose Error Notice refererar till {{ $('Grab Ffff').item.json.msg }}, men ingen nod Grab Ffff finns i det här arbetsflödet. Uppdatera uttrycket eller ta bort denna nod för att undvika fel vid körning.

          Steg 6: testa och aktivera ert arbetsflöde

          Kör ett manuellt test för att verifiera videoförfrågan, statuspollning och uppdateringsloopen i kalkylarket.

          1. Klicka på Execute Workflow och följ hur items flödar från Manual Start Trigger till Retrieve Sheet Row och vidare in i Prompt Builder Agent.
          2. Bekräfta att Generate Video Request returnerar en taskId och att Fetch Video Status till slut returnerar success.
          3. Verifiera att Update Sheet Record skriver Video Link och sätter Processed till Yes i ert Google-kalkylark.
          4. När resultaten är korrekta, växla arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Google Sheets-autentisering kan gå ut eller kräva specifika behörigheter. Om det börjar strula, kontrollera först det kopplade Google-kontot och statusen för n8n-credentialn.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompts i AI-noder är generiska. Lägg in din varumärkeston tidigt, annars kommer du redigera output för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här Sora 2-automationen?

Cirka 30 minuter om dina API:er är redo.

Krävs det kod för den här Sora 2-automationen?

Nej. Du klistrar mest in API-nycklar, kopplar Google Sheets och justerar några fält i n8n.

Är n8n gratis att använda för det här Sora 2-automationsarbetsflödet?

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 samt Tavily- och Kie.ai-genereringskostnader, som beror på hur många annonser du skapar.

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) 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 serveradministration.

Kan jag modifiera det här Sora 2-automationsarbetsflödet för andra användningsfall?

Ja, och det bör du. De flesta börjar med att ändra Prompt Builder Agentens systemmeddelande så att output matchar varumärkets tonalitet och annonsstruktur. Du kan också byta Tavily-söklogiken för att fokusera på konkurrenter, fördelar eller invändningar. Om du vill ha längre eller kortare creatives justerar du genereringsrequesten som skickas i HTTP-noden “Generate Video Request” (så länge din Kie.ai-plan stödjer det).

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

Oftast handlar det om en OAuth-anslutning som gått ut eller fel Google-konto. Återanslut Google Sheets-credentialn i n8n och bekräfta sedan att kalkylarket är delat med det kontot. Kontrollera också att arkets kolumner matchar vad arbetsflödet förväntar sig (inklusive fälten “Processed” och “Video Link”), eftersom saknade kolumner kan se ut som ett auth-problem.

Vilken volym kan det här Sora 2-automationsarbetsflödet hantera?

Det är designat för att bearbeta en rad per körning, men du kan köra det upprepat eller anpassa det för att loopa igenom rader. På n8n Cloud är din praktiska gräns din månatliga körningskvot, medan self-hosting främst beror på din server. Det verkliga taket är oftast Kie.ai:s genereringskapacitet och API-gränser, inte Google Sheets.

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

Ofta, ja, eftersom det här arbetsflödet har förgreningslogik (success/pending/error), loopande statuskontroller och ett AI-agentsteg som är enklare att styra i n8n. Zapier och Make kan göra delar av det, men komplexa retries och prompt engineering i flera steg blir snabbt rörigt. n8n ger dig också en self-hosting-väg, vilket spelar roll när du börjar generera många creatives. Nackdelen är att du lägger lite mer tid på att sätta upp det första gången. Om du vill ha en second opinion, prata med en automationsexpert.

När det här väl rullar blir ditt kalkylark en creative-motor i stället för en dumpningsplats. Sätt upp det, generera konsekvent och lägg tiden på testbeslut – inte på admin.

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