Att skapa “snabba” UGC-inspirerade produktvideor går sällan snabbt. Du klistrar in prompts i två olika AI-verktyg, väntar på renderingar, laddar ner filer, laddar upp dem igen någonstans säkert och försöker sedan komma ihåg var du sparade länken.
Den här UGC video automation slår hårdast mot e-handelsmarknadsförare, men byråoperatörer och drivna grundare känner av den också. Resultatet är enkelt: produktprompter blir till MP4:or i Google Drive, med en strukturerad delningslänk som loggas automatiskt i Google Sheets.
Du får se exakt hur arbetsflödet körs, vad du behöver koppla ihop och hur du justerar det så att teamet kan leverera fler creatives utan att öppna fler flikar.
så fungerar automationen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Gemini till Google Drive: UGC-videor snabbt
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Nano Banana"]
n2["<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/>Extract Image"]
n3["<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/>SORA 2"]
n4["<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/>Get Video"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Video Complete?", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Wait & Retry", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Add to Google Sheets", pos: "b", h: 48 }
n8["<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/>Download Video File"]
n9@{ icon: "mdi:cog", form: "rounded", label: "Upload file", pos: "b", h: 48 }
n3 --> n4
n0 --> n1
n4 --> n5
n1 --> n2
n9 --> n7
n6 --> n4
n2 --> n3
n5 --> n8
n5 --> n6
n8 --> n9
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 decision
class n7 database
class n0,n1,n3,n4,n8 api
class n2 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n3,n4,n8 customIcon
varför det här spelar roll: UGC-videoskapande blir snabbt rörigt
När UGC-inspirerad videoproduktion görs manuellt fallerar processen på små, irriterande sätt. Du genererar en bild på ett ställe, en video på ett annat, och den “färdiga” filen hamnar på någons laptop tills de kommer ihåg att ladda upp den. Sedan sker granskning i DM:ar, delningslänken ändras och ingen litar på trackern eftersom den alltid saknar två poster. Värst är den mentala belastningen. Du kan inte skala annonser när varje ny SKU känns som ett miniprojekt du måste passa.
Det eskalerar snabbt. Här är var det brukar gå snett.
- Renderingarna blir klara vid slumpmässiga tider, så du fortsätter att kolla läget i stället för att göra riktigt arbete.
- Videofiler laddas ner och laddas upp igen, vilket skapar versionsförvirring och borttappade tillgångar.
- Spårning i ett kalkylark blir något man gör “senare”, och senare blir aldrig.
- När du vill producera 20 varianter kollapsar processen i copy-paste-trötthet och onödiga fel.
vad du bygger: leverans från prompt till video i Drive + Sheets
Det här arbetsflödet omvandlar en webhook-förfrågan till en komplett leveranspipeline för UGC-inspirerade produktvideor. Det startar när ditt system (ett formulär, ett produktverktyg, en intern app, vad som helst som kan skicka en POST-förfrågan) anropar en /create-ugc-video-endpoint med en produktprompt och en videoprompt. Gemini skapar en produktbild från produktbeskrivningen, och sedan extraherar arbetsflödet base64-bilddatan så att den kan användas längre fram. Därefter anropas OpenAI:s SORA 2 för att generera en kort vertikal video med den kreativa riktningen. Eftersom videorendering kan ta tid pollar arbetsflödet jobbstatus tills den är klar, laddar ner MP4:an, laddar upp den till Google Drive, skapar en delningslänk och loggar hela körningen till Google Sheets så att du alltid har en pålitlig historik.
Arbetsflödet börjar med en webhook-förfrågan och går direkt vidare till bildskapande med Gemini. Därefter startar det SORA 2-videogenereringen och väntar tålmodigt i en retry-loop tills renderingen är klar. Till sist pushar det MP4:an till Google Drive och skriver en rad i Google Sheets med delnings-URL, status och tidsstämpel.
det här bygger du
| vad som automatiseras | vad du uppnår |
|---|---|
|
|
förväntade resultat
Säg att ditt team skapar 10 UGC-inspirerade produktvideor i veckan. Manuell process: du kanske lägger cirka 10 minuter på att generera en bild, ytterligare 10 minuter på att sätta upp videoprompten och sedan 10 minuter till på att ladda ner, namnge, ladda upp till Drive och klistra in en länk i Sheets. Det är ungefär 30 minuter per video, eller runt 5 timmar i veckan. Med det här arbetsflödet handlar det snarare om 5 minuter för att skicka in förfrågan (eller trigga den från ett annat verktyg), och sedan väntar du på renderingen medan n8n sköter pollning, uppladdning och loggning automatiskt.
innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra MP4-filer centralt.
- Google Sheets för att logga delningslänkar och statusar.
- Gemini API-nyckel (hämta den från Google AI Studio / Google Cloud-uppgifter).
- OpenAI API-nyckel (hämta den från OpenAI-dashboarden).
nivå: medel. Du är bekväm med att koppla konton, testa en webhook och klistra in API-nycklar i fält för autentiseringsuppgifter.
Vill du att någon bygger detta åt dig? prata med en automationsexpert (gratis 15-minuters konsultation).
steg för steg
En webhook-förfrågan startar allt. Din app skickar en POST-förfrågan till /create-ugc-video med en produktprompt, en videoprompt och de API-nycklar som arbetsflödet behöver för att köra.
Gemini skapar produktbilden. Arbetsflödet anropar Geminis bildmodell med din produktbeskrivning och avkodar sedan den returnerade base64-payloaden så att bilden kan skickas vidare korrekt till nästa steg.
SORA 2 genererar den vertikala videon. n8n skickar videoprompten till OpenAI:s SORA 2 API (konfigurerad för 720×1280 och 8 sekunder), tar emot ett jobb-ID och kontrollerar sedan status tills renderingen faktiskt är klar. Om den fortfarande bearbetas väntar arbetsflödet ungefär en minut och försöker igen.
Drive och Sheets blir din källa till sanning. När allt är klart laddas MP4:an ner, laddas upp till Google Drive, en delningslänk skapas och Google Sheets får en ny loggrad med prompter, status, länk och tidsstämpel.
Du kan enkelt justera prompterna och platsen för Google Drive-mappen efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera webhook-triggern
Sätt upp den inkommande webhooken så att externa system kan skicka prompts och API-nycklar för att starta arbetsflödet.
- Lägg till och konfigurera Inbound Webhook Start med HTTP Method inställt på
POST. - Ställ in Path på
create-ugc-video. - Ställ in Response Mode på
lastNodeså att arbetsflödet returnerar slutresultatet.
geminiApiKey, productPrompt, videoPrompt och openaiApiKey i request body för att uppfylla uttrycken längre fram i flödet.Steg 2: Koppla bildgenereringsförfrågan
Generera en produktbild via Gemini med hjälp av den inkommande prompten.
- Konfigurera Gemini Image Request med URL inställt på
=https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent?key={{ $json.body.geminiApiKey }}. - Ställ in Method på
POSToch aktivera Send Body. - Ställ in JSON Body på
={ "contents": [{ "parts": [{ "text": "{{ $json.body.productPrompt }}" }] }] }.
geminiApiKey saknas i webhook-payloaden kommer Gemini Image Request att misslyckas med auktorisering.Steg 3: Sätt upp bearbetningslogiken
Extrahera den genererade bilddatan och förbered prompts för videogenerering.
- I Decode Image Payload behåller ni JavaScript Code som den är, för att extrahera
imageBase64och vidarebefordra prompts och API-nyckel från Inbound Webhook Start. - Verifiera att utdatafälten inkluderar
productPrompt,videoPromptochopenaiApiKeyför senare noder.
Steg 4: Konfigurera videogenerering och statuspollning
Skicka videoprompten till Sora och polla tills renderingen är klar.
- Konfigurera Sora Video Generation med URL inställt på
https://api.openai.com/v1/videosoch Method inställt påPOST. - Ställ in JSON Body på
={ "model": "sora-2", "prompt": "{{ $json.videoPrompt }}", "size": "720x1280", "seconds": "8" }. - Ställ in headers i Sora Video Generation: Authorization till
=Bearer {{ $json.openaiApiKey }}och Content-Type tillapplication/json. - Konfigurera Retrieve Video Status med URL inställt på
=https://api.openai.com/v1/videos/{{ $('Sora Video Generation').item.json.id }}och headern Authorization inställd på=Bearer {{ $('Decode Image Payload').item.json.openaiApiKey }}. - I Completion Status Check ställer ni in villkoret så att Value 1
={{ $json.status }}är lika med Value 2completed. - I Delay and Retry ställer ni in Unit på
minutesoch Amount på1, och loopar sedan tillbaka till Retrieve Video Status.
Steg 5: Konfigurera lagring av utdata och loggning
Ladda ner den renderade filen, spara den i Drive och logga metadata till Google Sheets.
- Konfigurera Download Rendered Video med URL inställt på
=https://api.openai.com/v1/videos/{{ $json.id }}/contentoch headern Authorization inställd på=Bearer {{ $('Inbound Webhook Start').first().json.body.openaiApiKey }}. Säkerställ att response format är inställt på file. - I Store Video in Drive ställer ni in Name på
=={{ $json.id }}.mp4, väljer Drive somMy Driveoch Folder som/ (Root folder). - Credential Required: Anslut era googleDriveOAuth2Api-credentials i Store Video in Drive.
- Konfigurera Log Entry to Sheets med Operation inställt på
append. - Mappa kolumner i Log Entry to Sheets: Status
={{ $json.status }}, Created={{ new Date().toISOString() }}, Product={{ $('Decode Image Payload').item.json.productPrompt }}och Video URL=={{ $('Store Video in Drive').item.json.webViewLink }}. - Credential Required: Anslut era Google Sheets-credentials i Log Entry to Sheets (den här noden har inga credentials konfigurerade ännu).
Steg 6: Testa och aktivera ert arbetsflöde
Validera flödet end-to-end och aktivera det sedan för produktion.
- Klicka på Execute Workflow och skicka en test-POST-request till Inbound Webhook Start-URL:en med de JSON body-fält som krävs.
- Bekräfta att arbetsflödet loopar via Delay and Retry tills Completion Status Check routar till Download Rendered Video.
- Verifiera att en ny MP4-fil visas i Google Drive från Store Video in Drive och att en ny rad läggs till av Log Entry to Sheets.
- När allt är validerat växlar ni arbetsflödet till Active för att aktivera webhook-körning i drift.
tips för felsökning
- Behörigheter i Google Drive kan blockera uppladdningar eller delningslänkar. Om MP4:an inte dyker upp, kontrollera det anslutna Google-kontot i n8n-credentials och bekräfta att det har Drive-åtkomst och rättigheter att dela.
- 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 er varumärkesröst tidigt, annars kommer du att sitta och redigera output i all evighet.
snabba svar
Cirka 30 minuter om dina API-nycklar och Google-åtkomst är klara.
Nej. Du klistrar in API-nycklar, kopplar Google Drive/Sheets och testar ett webhook-anrop.
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 in användning av Gemini- och OpenAI-API:er, vilket kan lägga till en mindre kostnad per rendering beroende på hur många videor 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 sannolikt göra. De flesta team börjar med att justera prompterna som skickas i stegen “Gemini Image Request” och “Sora Video Generation” så att output matchar erbjudandet och varumärkesrösten. Du kan också ändra var filerna hamnar genom att redigera inställningarna i “Store Video in Drive” (mapp, namngivningsregler). Vanliga justeringar är andra bildförhållanden, längre eller kortare videor samt att lägga till en Slack- eller e-postnotis efter att loggen i Google Sheets har skapats.
Oftast handlar det om behörigheter. Återanslut Google Drive-credential i n8n och bekräfta sedan att Google-kontot kan ladda upp till mål-Drive och har rätt att skapa delningslänkar. Om din organisation begränsar länkdelning kan uppladdningen lyckas men länksteget fallera, så kontrollera även Drive-admininställningar. Titta också på det exakta felet i exekveringsloggen för noden “Store Video in Drive”, eftersom den normalt nämner vilken behörighet som saknas.
Det beror främst på din n8n-plan och hur lång tid SORA 2 tar att rendera. I n8n Cloud stödjer högre planer fler exekveringar per månad, medan self-hosting inte har något hårt tak (din server blir begränsningen). I praktiken är arbetsflödet byggt för att hantera många förfrågningar, men varje körning kan ligga i polling-loopen i några minuter, så team med hög volym brukar lägga till en kö eller köra flera workers.
För det här arbetsflödet har n8n några fördelar: mer komplex logik med obegränsad förgrening utan extra kostnad, ett self-hosting-alternativ för obegränsade körningar och inbyggda mönster för webhook + polling som är enklare att hantera när rendering sker asynkront. Zapier och Make kan göra det, men polling i flera steg blir ofta klumpigt och dyrt när volymen växer. Om du bara behöver en enkel proof of concept “skicka prompt → få länk” är de verktygen okej. När du genererar många videor och behöver stabilitet brukar n8n vara det lugnare alternativet, ärligt talat. Prata med en automationsexpert om du är osäker på vad som passar.
När detta väl rullar blir “skapa en ny UGC-video” en repeterbar förfrågan, inte ett litet produktionsprojekt. Arbetsflödet hanterar väntan, uppladdningen och loggningen så att du kan fokusera på att testa hooks och vinklar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.