Du får äntligen tillbaka en CGI-rendering… och sedan börjar den tråkiga delen. Ladda ner stora filer, ladda upp dem någonstans där det är hanterbart, fixa Drive-behörigheter och skicka “här är länken”-meddelanden som ändå kommer tillbaka med “jag har inte åtkomst.”
Den här Sora Drive-automationen träffar marknadschefer först, eftersom godkännanden går i samma takt som åtkomst. Men creative leads som hanterar varianter och byråägare som jonglerar kunder känner av det också. Resultatet är enkelt: du skickar in en prompt en gång och får ett mejl med en korrekt formaterad Google Drive-länk som du faktiskt kan dela.
Nedan ser du hur flödet gör “prompt → rendering → dela” till en repeterbar process, vad den ersätter och var team vanligtvis justerar den för att passa sin kampanjuppsättning.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Sora 2 till Google Drive, CGI-annonser via e-post
flowchart LR
subgraph sg0["On form submission Flow"]
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/form.svg' width='40' height='40' /></div><br/>On form submission"]
n1@{ icon: "mdi:cog", form: "rounded", label: "Wait for API Response", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>API Request: Check Task Status"]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Condition: Task Output Status", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Wait for Task to Complete", pos: "b", h: 48 }
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email: API Error - Task..", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Upload File to Google Drive", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email: API Error - Task..", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Set Google Drive Permissions", pos: "b", h: 48 }
n9@{ icon: "mdi:message-outline", form: "rounded", label: "Send an email : Video Link", 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/>Download Video"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Sora API Processor"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Condition: Check Prediction Id", 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/code.svg' width='40' height='40' /></div><br/>Clean Output "]
n13 --> n10
n10 --> n6
n0 --> n11
n11 --> n12
n1 --> n2
n4 --> n2
n6 --> n8
n8 --> n9
n3 --> n13
n3 --> n4
n3 --> n7
n2 --> n3
n12 --> n1
n12 --> n5
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 n0 trigger
class n3,n12 decision
class n2,n10,n11 api
class n13 code
classDef customIcon fill:none,stroke:none
class n0,n2,n10,n11,n13 customIcon
Utmaningen: dela CGI-annonsrenderingar utan allt extrajobb
Att generera en video är bara halva jobbet. Den verkliga tidstjuven är allt runt omkring: kontrollera om renderingen är klar, hämta filen där verktyget råkar hosta den, få in den i din Drive-struktur och sedan säkerställa att länken fungerar för dem som ska godkänna. Om du kör flera varianter för en enda kampanj blir den där “lilla administrationen” hela arbetsdagen. Och ärligt talat är det lätt att det blir fel. En enda felaktig behörighetsinställning och du tappar en feedbackrunda till för att någon inte kan öppna filen.
Det eskalerar snabbt. Här brukar det fallera i riktiga team.
- Folk sitter och uppdaterar en dashboard eller inkorg för att se om Sora-jobbet är klart, vilket bara skapar onödiga kontextbyten.
- Att ladda ner och ladda upp stora videofiler tar tid, särskilt när du gör flera iterationer för hooks, erbjudanden eller säsongsanpassade kortversioner.
- Drive-länkar delas innan behörigheterna är rätt, så intressenter klickar på “begär åtkomst” och din tidsplan spricker.
- Det finns inget konsekvent “kvitto” på vad som genererades, var det ligger och vem som blev notifierad, så överlämningar blir röriga.
Lösningen: generera i Sora 2, ladda upp till Drive, mejla länken
Det här flödet gör CGI-annonsproduktion till en enda spårbar loop. Det startar när någon skickar in en prompt via ett formulär (i praktiken din “brief”). n8n skickar prompten till Sora 2 API:t för att starta en text-till-video-rendering, väntar och kontrollerar sedan jobbstatus tills den är klar. När resultatet är färdigt hämtar flödet den färdiga videofilen, laddar upp den till Google Drive och applicerar delningsbehörigheter automatiskt så att länken fungerar direkt. Till sist mejlar det beställaren en korrekt formaterad Drive-länk för granskning, kundgodkännande eller schemaläggning. Om något går fel (saknat task-ID, misslyckad rendering) skickar det i stället ett mejl-larm, så att det inte misslyckas tyst.
Flödet börjar med en enkel inskickning och ett API-anrop för att starta renderingen. Därefter loopar det genom “vänta → kontrollera status” tills renderingen lyckas eller misslyckas. När den lyckas laddar det upp till Google Drive, ställer in delning och mejlar den slutliga åtkomstlänken.
Vad som förändras: före vs. efter
| Detta elimineras | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att ditt team producerar 5 CGI-annonsvarianter i veckan. Manuellt kan du lägga cirka 10 minuter per variant på att kontrollera status och hantera filer, plus ytterligare 10 minuter på att ladda upp och fixa behörigheter, alltså runt 20 minuter varje gång (cirka 2 timmar per vecka). Med det här flödet skickar du in prompten på en minut, låter rendercykeln gå klart i bakgrunden och mejlet kommer med en Drive-länk som är redo att dela. Den mänskliga tiden sjunker till några minuter totalt för hela batchen.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Sora 2 API (RapidAPI) för text-till-video-renderingsförfrågningar
- Google Drive för att lagra videor och skapa delningslänkar
- Sora 2 API-nyckel (hämta den i din RapidAPI-dashboard)
Kunskapsnivå: Medel. Du kopplar konton, lägger in en API-nyckel och justerar ett par fält som mappplats och mejlmottagare.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet steg för steg
Formulärinskickning startar allt. Någon skriver in en prompt och skickar in formuläret, vilket ger ett konsekvent underlag i stället för prompts utspridda i Slack, mejl och anteckningar.
Renderingsförfrågan går till Sora 2. n8n skickar prompten till Sora 2 API-endpointen för att skapa ett nytt videojobb och kontrollerar sedan att ett prediction/task-ID kommer tillbaka så att flödet kan följa progressen.
Statuskontroller körs i en loop. Automationen väntar ungefär en minut, anropar status-endpointen och routar utfallet. Om den fortfarande bearbetar väntar den och kontrollerar igen. Om den misslyckas mejlar den en varning så att du inte upptäcker det senare.
Den färdiga filen laddas upp och delas. När allt lyckas hämtar flödet resultat-URL:en, laddar ner videofilen, laddar upp den till Google Drive, applicerar delningsbehörigheter och mejlar sedan den slutliga Drive-länken till beställaren.
Du kan enkelt ändra Drive-mappens plats och mejlmottagare för att matcha din kund- eller kampanjuppsättning. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Det här arbetsflödet startar när en användare skickar in ett formulär. Konfigurera formulärfälten och texten som samlar in videoprompten.
- Lägg till och öppna Form Submit Trigger.
- Ställ in Form Title till
CGI Ads With Sora 2. - Ställ in Form Description till
CGI Ads With Sora 2. - Under Form Fields, säkerställ att fältetiketten är
Promptoch markera den som obligatorisk.
Prompt kommer JSON body-uttrycket Submit Sora Render {{ $json.Prompt }} att vara tomt.Steg 2: koppla Sora API-anropen
Dessa HTTP-noder skickar prompten till Sora API:t och pollar efter att det ska bli klart.
- Öppna Submit Sora Render och ställ in URL till
https://sora-2-openai.p.rapidapi.com/txttovideo.php. - Ställ in Method till POST och JSON Body till
{ "prompt": "{{ $json.Prompt }}", "quality": "hd", "aspect_ratio": "landscape"}. - I Submit Sora Render-headers, ställ in x-rapidapi-host till
sora-2-openai.p.rapidapi.comoch x-rapidapi-key till[CONFIGURE_YOUR_API_KEY]. - Öppna Fetch Task Status och ställ in URL till
=https://sora-2-openai.p.rapidapi.com/result.php. - I Fetch Task Status query parameters, ställ in predictionId till
{{ $json.predictionId }}och använd samma RapidAPI-headers. - Öppna Validate Prediction ID och bekräfta att villkoret kontrollerar att
{{ $json.predictionId }}finns. - Ställ in Pause for API Reply för att vänta
60sekunder. - Konfigurera Route Task Outcome med tre regler som använder
{{ $json.status }}försuccess,generatingochfailed. - Ställ in Delay Task Recheck för att vänta
60sekunder innan ni pollar igen. - Öppna Extract Result URLs och behåll JavaScript-koden som parsar
$input.first().json.resultoch returnerarresultUrls. - Öppna Retrieve Video File och ställ in URL till
{{ $json.resultUrls[0] }}. - Öppna Upload Video to Drive och välj Drive som
My Driveoch Folder som/ (Root folder). - Inloggningsuppgift krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter till Upload Video to Drive.
- Öppna Apply Drive Sharing och ställ in Resource till
file, Operation tillshareoch File ID till{{ $json.id }}. - Inloggningsuppgift krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter till Apply Drive Sharing.
- Öppna Email Alert: Missing Task ID och ställ in To Email och From Email till er adress (ersätt
[YOUR_EMAIL]). - Inloggningsuppgift krävs: Anslut era smtp-inloggningsuppgifter till Email Alert: Missing Task ID.
- Öppna Email Alert: Task Failed och behåll HTML-body
Task id : {{ $json.id }} Failed to generate video.. - Inloggningsuppgift krävs: Anslut era smtp-inloggningsuppgifter till Email Alert: Task Failed.
- Öppna Email Video Access Link och ställ in HTML till
Hey , Your video is ready. Link : {{ $('Upload Video to Drive').item.json.webViewLink }}. - Inloggningsuppgift krävs: Anslut era smtp-inloggningsuppgifter till Email Video Access Link.
- Klicka på Execute Workflow och skicka in en testprompt via Form Submit Trigger.
- Verifiera att Submit Sora Render returnerar ett
predictionIdoch att Fetch Task Status till slut returnerarstatussomsuccess. - Bekräfta att Upload Video to Drive skapar en fil och att Apply Drive Sharing returnerar en delbar länk.
- Kontrollera att Email Video Access Link kommer fram med korrekt Drive-länk, eller att felmejlen triggas vid behov.
- När det fungerar, slå om arbetsflödet till Active för att möjliggöra användning i produktion.
Steg 3: konfigurera validering, väntan och routning
Dessa noder validerar prediction ID, väntar på att det ska bli klart och routar utfall.
success eller failed.Steg 4: konfigurera videohämtning och leverans via Google Drive
När renderingen lyckas extraherar arbetsflödet video-URL:en, laddar ner den, laddar upp till Drive och delar den.
Steg 5: konfigurera e-postnotifieringar
Konfigurera e-post för saknade task ID:n, misslyckade jobb och lyckad leverans.
{{ $('Upload Video to Drive').item.json.webViewLink }}, så delningssteget måste lyckas innan e-postmeddelandet skickas.Steg 6: testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta att inskick av prompt, render-pollning och leveranskedjan fungerar korrekt.
Se upp med
- Google Drive-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först sidan Credentials i n8n och din Google OAuth-samtycke/appåtkomst.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera outputen i all evighet.
Vanliga frågor
Cirka 30 minuter om din Sora API-nyckel och ditt Google-konto är redo.
Ja, men någon behöver hantera den initiala Google Drive OAuth-kopplingen en gång. Efter det handlar det mest om att fylla i fält som mapp, mejladresser och promptformuläret.
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 med kostnader för Sora 2 API (RapidAPI), som beror på din plan och renderingsvolym.
Två alternativ: n8n Cloud (hanterad, 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.
Du kan ändra var videor hamnar i Drive genom att redigera noden “Upload Video to Drive” (mapp) och noden “Apply Drive Sharing” (vem som får åtkomst). Vanliga justeringar är att mejla flera granskare, namnge filer med kampanj och datum samt lägga till en rad i Google Sheets efter uppladdning för uppföljning. Om ditt team redan använder ett verktyg för beställningsformulär kan du byta ut “Form Submit Trigger” mot en webhook utan att ändra resten.
Oftast beror det på en ogiltig eller utgången RapidAPI-nyckel, eller att förfrågan träffar fel endpoint för din plan. Kontrollera också den tidiga valideringsgrenen: om prediction/task-ID saknas mejlar flödet dig av en anledning, så granska Sora-svarets payload i n8n:s körningsloggar.
Om du hostar n8n själv finns ingen gräns för antal körningar (det begränsas av din server och hur många renderingar du kör samtidigt), och i n8n Cloud beror det på din plans månatliga antal körningar. I praktiken är den begränsande faktorn renderingstid plus API-gränser, inte uppladdningssteget till Google Drive.
Ofta, ja. Det här flödet kräver polling (vänta, kontrollera status, loop), förgrening på “lyckad vs bearbetar vs misslyckad”, plus filhantering och Drive-behörigheter, och det är just där Zapier-scenarion blir klumpiga eller dyra. n8n hanterar den logiken snyggt, och egen hosting tar bort oron för att “varje kontroll kostar en task”. Zapier eller Make kan fortfarande vara bra om du bara vill ha ett enkelt flöde “skicka in prompt → skicka ett mejl” och du inte bryr dig om uppladdning till Drive och åtkomststyrning. Så fort du behöver pålitlig delning för godkännanden är n8n det lugnare valet. Om du är osäker, prata med en automationsexpert så mappar vi det mot din faktiska volym.
När detta väl rullar blir “rendering klar” ett mejl du kan vidarebefordra direkt. Flödet sköter det repetitiva, så att teamet kan lägga tid på kreativt arbete och godkännanden i stället för fillogistik.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.