Ditt arbetsflöde för promo-video kraschar troligen på samma ställe varje gång. Idén är bra, första utkastet är ”tillräckligt bra”, och sedan landar feedback på fem olika ställen och du slutar med att göra om samma klipp två gånger.
Den här OpenAI Cloudinary-automationen träffar marknadschefer först, men grundare och byråledare känner av den också. Du får en repeterbar granskningsloop som samlar godkännanden i en och samma inkorg, så att du kan leverera fler promos utan det ständiga fram och tillbaka.
Nedan ser du hur arbetsflödet tar fram ämnen och taglines, producerar bild-till-video-utkast, skickar dem via mänskligt godkännande och sedan levererar en granskningsbar Cloudinary-tillgång som du tryggt kan publicera.
Så här fungerar den här automationen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: OpenAI + Cloudinary: kampanjvideor redo att publicera
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Agent: Generate Topic ideas", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "AI: Generate Tag Lines", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "LLM", pos: "b", h: 48 }
n4@{ icon: "mdi:brain", form: "rounded", label: "LLM1", pos: "b", h: 48 }
n5@{ icon: "mdi:wrench", form: "rounded", label: "Thinking", pos: "b", h: 48 }
n6@{ icon: "mdi:wrench", form: "rounded", label: "Thinking1", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Extract JSON", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Extract JSON1", pos: "b", h: 48 }
n9["<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/>Fetch Status1"]
n10@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
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/>Fetch Result1"]
n12["<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/>Fal.ai Image Gen"]
n13@{ icon: "mdi:cog", form: "rounded", label: "gotoHuman - Content", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Rerun input", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Ready?", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Tagline Prompt", pos: "b", h: 48 }
n17["<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/>Cloudinary upload"]
n18@{ icon: "mdi:cog", form: "rounded", label: "Homework: Post it", pos: "b", h: 48 }
n19["<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/>Fetch Status"]
n20@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n21["<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/>Fetch Result"]
n22@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Ready?1", pos: "b", h: 48 }
n23["<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/>Cloudinary upload1"]
n24@{ icon: "mdi:cog", form: "rounded", label: "gotoHuman - Video", pos: "b", h: 48 }
n25@{ icon: "mdi:swap-vertical", form: "rounded", label: "Rerun Video", pos: "b", h: 48 }
n26@{ icon: "mdi:cog", form: "rounded", label: "gotoHuman - Image", pos: "b", h: 48 }
n27["<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/>Remote manual trigger"]
n28["<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/>Fal.ai Video Gen"]
n29["<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/>Set Initial Image Prompt"]
n30["<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/>Set Initial Video Prompt"]
n31["<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/>Set Image Request"]
n32["<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/>Set Video Request"]
n33@{ icon: "mdi:swap-vertical", form: "rounded", label: "Rerun Image", pos: "b", h: 48 }
n34@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Cloudinary options", pos: "b", h: 48 }
n35@{ icon: "mdi:swap-vertical", form: "rounded", label: "Image URL with Tag Line", pos: "b", h: 48 }
n36@{ icon: "mdi:swap-vertical", form: "rounded", label: "Data to send3", pos: "b", h: 48 }
n37@{ icon: "mdi:swap-vertical", form: "rounded", label: "Clip URL with Tag Line", pos: "b", h: 48 }
n38@{ icon: "mdi:swap-vertical", form: "rounded", label: "Data to send4", pos: "b", h: 48 }
n39@{ icon: "mdi:cog", form: "rounded", label: "gotoHuman - Topics", pos: "b", h: 48 }
n40["<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/>Fetch approved examples"]
n41@{ icon: "mdi:swap-vertical", form: "rounded", label: "Data to send", pos: "b", h: 48 }
n42@{ icon: "mdi:swap-vertical", form: "rounded", label: "Data to send2", pos: "b", h: 48 }
n43@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Approved?", pos: "b", h: 48 }
n44@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Approved or Retry?", pos: "b", h: 48 }
n45@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Approved or Retry ?", pos: "b", h: 48 }
n46@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Approved or Retry ?", pos: "b", h: 48 }
n3 -.-> n1
n4 -.-> n2
n20 --> n19
n10 --> n9
n5 -.-> n1
n43 --> n40
n15 --> n11
n15 --> n10
n6 -.-> n2
n22 --> n21
n22 --> n20
n33 --> n31
n25 --> n32
n14 --> n2
n41 --> n39
n7 -.-> n1
n21 --> n23
n19 --> n22
n42 --> n13
n36 --> n26
n38 --> n24
n8 -.-> n2
n11 --> n34
n9 --> n15
n16 --> n2
n12 --> n9
n28 --> n19
n0 --> n1
n17 --> n35
n31 --> n12
n32 --> n28
n26 --> n45
n24 --> n46
n44 --> n29
n44 --> n14
n23 --> n37
n39 --> n43
n45 --> n30
n45 --> n33
n13 --> n44
n46 --> n18
n46 --> n25
n27 --> n1
n2 --> n42
n37 --> n38
n34 --> n17
n40 --> n16
n35 --> n36
n29 --> n31
n30 --> n32
n1 --> n41
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 n1,n2,n7,n8 ai
class n3,n4 aiModel
class n5,n6 ai
class n15,n22,n43,n44,n45,n46 decision
class n9,n11,n12,n17,n19,n21,n23,n27,n28,n40 api
class n29,n30,n31,n32 code
classDef customIcon fill:none,stroke:none
class n9,n11,n12,n17,n19,n21,n23,n27,n28,n29,n30,n31,n32,n40 customIcon
Problemet: promo-innehåll dör i granskningslimbo
Att göra promo-videor är inte svårt på grund av ”video”-delen. Det är svårt eftersom arbetet sicksackar mellan idéarbete, varumärkesgranskning, produktval, copy-justeringar och intressentgodkännanden – och inget av det finns samlat på ett ställe. Någon ber om ”en mer slagkraftig tagline”, sedan vill en annan person ha en ny visuell stil, och plötsligt hanterar du versioner i stället för att få ut inlägg. Multiplicera det med några kampanjer i månaden så blir tidsförlusten uppenbar. Det blir tröttheten också.
Friktionen byggs på. Här är var det faller isär i riktiga team.
- Du tar fram tre idéer, men feedback kommer utspridd över e-posttrådar, Slack och kommentarer.
- Varje revision tvingar dig att kopiera om prompts och ladda upp filer igen, vilket bjuder in små fel som är svåra att fånga.
- Godkännanden spåras inte, så du kan inte se vad som är slutgiltigt förrän någon klagar.
- Även när klippet är ”godkänt” känns publicering fortfarande riskfylld eftersom du inte har en strukturerad, granskningsbar tillgångslänk.
Lösningen: AI-utkast + mänskliga godkännanden + Cloudinary-klara tillgångar
Det här arbetsflödet gör skapandet av promo-videor till en kontrollerad pipeline. Det startar enligt schema (eller via en extern webhook), och sedan genererar OpenAI en kortlista med inläggsämnen och en initial tagline. I stället för att dumpa resultaten i ett dokument och hoppas på det bästa skickas de in i gotoHuman, som fungerar som en övervakad inkorg för varje beslut. När ämne, produkt, stil och tagline är godkända anropar arbetsflödet Fal.ai för att skapa en referensbild och därefter ett kort videoutkast baserat på den godkända kreativa inriktningen. Till sist laddas resultaten upp till Cloudinary så att du får en strukturerad, granskningsbar tillgång som du kan dela internt innan du publicerar.
Arbetsflödet börjar med AI-baserat idéarbete och går sedan över i en guidad granskningsloop för ämnen, bilder och video. Efter varje godkännande körs nästa genereringssteg automatiskt. När videon är godkänd är Cloudinary-länken redo att lämnas över till din publiceringsprocess.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du levererar 3 promoklipp i veckan för en produktlinje. Manuellt ser en typisk cykel ut så här: 30 minuter för att brainstorma och skriva, cirka 45 minuter för att koordinera feedback, och ytterligare en timme för att göra om visuellt material och exportera om – alltså ungefär 2 timmar per klipp. Med det här arbetsflödet lägger du cirka 10 minuter på att välja ämne, stil och produkt, och sedan godkänner du eller gör omförsök på bild och video när de kommer in. De flesta team får ett granskningsbart Cloudinary-klipp på under en timme i ”klocktid”, med bara några minuters faktiskt handpåläggning.
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)
- gotoHuman för att granska, godkänna och göra omförsök på steg.
- OpenAI för generering av ämnen och taglines.
- Fal.ai API-nyckel (hämta den i din Fal.ai-dashboard).
Kunskapsnivå: Medel. Du kopplar in autentiseringar, kopierar mall-ID:n och justerar några prompts utan att behöva koda från grunden.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Starten körs automatiskt. Arbetsflödet kan starta enligt schema eller via en extern webhook, vilket betyder att du kan generera promos veckovis, per lansering eller när en kampanjbrief är klar.
OpenAI tar fram alternativ, inte ”slutgiltiga svar”. Det skapar flera ämnen och bygger sedan taglines utifrån det ämne du godkänner. Resultaten parsas till felfritt strukturerade fält så att de kan granskas och återanvändas konsekvent i stället för att kopieras runt.
gotoHuman styr tempot. Varje nyckelsteg (ämnen, innehållsriktning, bild, video) dyker upp i en granskningsinkorg där du kan godkänna, avvisa eller göra omförsök. Den meddelar dig också via e-post eller Slack så att utkast inte blir liggande tyst i n8n.
Fal.ai skapar materialet, Cloudinary paketerar det för delning. Arbetsflödet genererar först en bild, lägger på din tagline-overlay via Cloudinary och genererar sedan ett videoklipp baserat på den godkända bilden. När det är godkänt laddar det upp den slutliga videon till Cloudinary och ger dig en stabil URL för granskning och överlämning.
Du kan enkelt ändra triggern och promptmallarna för att matcha din kampanjrytm och varumärkesröst. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera schedule-triggern
Konfigurera den primära schemaläggaren och en valfri webhook-ingång för att starta kampanjflödet.
- Öppna Scheduled Kickoff och ställ in veckoregeln så att den körs på dag 4 kl. 12 (redan konfigurerat).
- Granska External Webhook Start om ni vill ha manuell eller extern trigging, och låt HTTP Method vara inställd på
POST. - Kopiera webhook-sökvägen från External Webhook Start om ni planerar att trigga den externt:
9cc44543-3b16-44bb-92e8-7c8bff09d8fe.
Steg 2: konfigurera AI Topic Ideation och parsing
Konfigurera AI-generering av ämnen och säkerställ att den strukturerade output-parsern är korrekt ansluten.
- Öppna AI Topic Ideation och behåll prompttexten med datumuttrycket
{{$today.format('dd/LL/yyyy')}}. - Anslut Chat Model A som språkmodell för AI Topic Ideation (redan kopplad i arbetsflödet).
- Koppla Reasoning Tool A och Parse Topics JSON till AI Topic Ideation (redan anslutna). Lägg till autentiseringsuppgifter i Chat Model A om det krävs.
Autentiseringsuppgifter krävs: Anslut era OpenAI API-uppgifter i Chat Model A. Parse Topics JSON och Reasoning Tool A är AI-undernoder och ärver autentiseringsuppgifter från Chat Model A.
Steg 3: konfigurera ämnesgranskning och tagline-generering
Skicka AI-ämnen till mänsklig granskning och generera sedan en tagline baserat på godkänt innehåll.
- I Prepare Topics Payload ska ni låta topics vara satt till
{{$json.output}}. - I Prepare Topics Payload ska ni låta metaJson vara satt till
{ "_gthWorkflow": { "runName": "{{ $('External Webhook Start').isExecuted ? $('External Webhook Start').item.json.body.responseValues.campaignName.value : "Campaign " + $('Scheduled Kickoff').item.json.Month + " " + $('Scheduled Kickoff').item.json.Year + ", " + $('Scheduled Kickoff').item.json['Day of month'] }}" } }. - Öppna gotoHuman Topics Review och välj ett giltigt granskningsmall-ID.
- Öppna Retrieve Approved Samples och ställ in URL till
https://api.gotohuman.com/queryResponses(redan konfigurerat). - I Compose Tagline Prompt ska ni behålla promptinnehållet och uttrycksreferenserna för målgrupp, aktivitet och miljö; den använder det valda ämnet från gotoHuman Topics Review.
- Anslut Chat Model B till AI Tagline Creator och låt textinmatningen vara satt till
{{ $json.prompt }}.
Autentiseringsuppgifter krävs: Anslut era gotoHumanApi-uppgifter i Retrieve Approved Samples och välj en granskningsmall i gotoHuman Topics Review.
Autentiseringsuppgifter krävs: Anslut era OpenAI API-uppgifter i Chat Model B. Reasoning Tool B och Parse Tagline JSON är AI-undernoder och ärver autentiseringsuppgifter från Chat Model B.
Steg 4: konfigurera innehållsgranskning och beslutslogik
Förbered innehållspaketet för granskning och hantera godkännande- eller försök-igen-flöden.
- I Assemble Content Review ska ni behålla fältmappningarna för audience, scenery och activity med uttryck som
{{ $('gotoHuman Topics Review').item.json.responseValues.topics.value[0].label.audience }}. - Bekräfta att products i Assemble Content Review inkluderar de tre exempel-URL:erna enligt konfigurationen.
- Öppna gotoHuman Content Review och välj ett granskningsmall-ID för innehållsgodkännande.
- Verifiera att reglerna i Content Decision använder uttrycken
{{ ($json.response === "approved") }}och{{ ($json.type === "chat") }}för att routa till Build Image Prompt eller Retry Tagline Input.
Autentiseringsuppgifter krävs: Anslut era gotoHumanApi-uppgifter i gotoHuman Content Review och välj en granskningsmall.
Steg 5: generera bilder och polla tills de är klara
Bygg prompts, skicka bildförfrågningar till Fal och polla tills de är klara.
- I Build Image Prompt ska ni behålla koden som väljer en stil baserat på
$json.responseValues.style.value[0].idoch returnerar{ "prompt": prompt }. - I Create Image Request ska ni bekräfta att request body använder
$json.prompt, hämtarimage_urlfrån{{ $('gotoHuman Content Review').first().json.responseValues.products.selected[0] }}och sätteraspect_ratiotill3:4. - Öppna Fal Image Generation och låt URL vara satt till
https://queue.fal.run/fal-ai/flux-pro/kontextmed JSON Body satt till{{$json}}. - I Check Image Status ska ni låta URL vara satt till
https://queue.fal.run/fal-ai/flux/requests/{{ $json.request_id }}/status. - I Image Ready? ska ni säkerställa att villkoret kontrollerar att
{{ $json.status }}är lika medCOMPLETED, annars loopar det via Pause Image Queue.
Autentiseringsuppgifter krävs: Anslut era HTTP Header Auth-uppgifter för Fal API i Fal Image Generation, Check Image Status och Get Image Result.
COMPLETED och Pause Image Queue kommer loopa utan stopp.Steg 6: ladda upp bild och skicka för granskning
Ladda upp färdiga bilder till Cloudinary och förbered paketet för mänsklig granskning.
- I Configure Cloudinary ställer ni in environment och uploadPreset med era Cloudinary-värden.
- I Upload Image to Cloudinary ska ni låta URL vara satt till
https://api.cloudinary.com/v1_1/{{ $json.environment }}/image/uploadoch skicka file från{{ $('Get Image Result').item.json.images[0].url }}. - I Compose Image URL ska ni behålla URL-byggaruttrycket som lägger tagline-texten ovanpå bilden:
https://res.cloudinary.com/{{ $('Configure Cloudinary').item.json.environment }}/image/upload/w_800,f_auto,q_auto/b_white,l_text:bungee_60_bold:{{$('gotoHuman Content Review').item.json.responseValues.tagLine.value.urlEncode()}},g_center,y_40,w_600,c_fit,co_rgb:E26D5C/fl_layer_apply,bo_40px_solid_white,g_south,y_40/v{{ $json.version }}/{{ $json.public_id }}.{{ $json.format }}. - I Package Image Review ska ni verifiera att objektet refImage inkluderar AI-prompten och den sammansatta URL:en, samt att metaJson använder tidigare gransknings-ID:n.
- Öppna gotoHuman Image Review och välj ett granskningsmall-ID för bildgranskningssteget.
Autentiseringsuppgifter krävs: Anslut era Cloudinary API- eller HTTP-uppgifter (vid behov) i Upload Image to Cloudinary.
Autentiseringsuppgifter krävs: Anslut era gotoHumanApi-uppgifter i gotoHuman Image Review och välj en granskningsmall.
Steg 7: generera och granska videoinnehåll
Konvertera den godkända bilden till en kort video och skicka den genom granskning.
- I Build Video Prompt ska ni behålla prompttexten som beskriver subtil naturlig rörelse.
- I Create Video Request ska ni behålla request body som använder
$json.promptoch bild-URL från{{ $("Image Decision").first().json.responseValues.refImage.value[0].url }}. - I Fal Video Generation ska ni låta URL vara satt till
https://queue.fal.run/fal-ai/kling-video/v2.1/standard/image-to-videomed JSON Body satt till{{ $json }}. - Säkerställ att Check Video Status använder
https://queue.fal.run/fal-ai/flux/requests/{{ $json.request_id }}/statusoch att Video Ready? kontrollerarCOMPLETED. - I Upload Video to Cloudinary skickar ni file från
{{ $json.video.url }}och använder{{ $('Configure Cloudinary').item.json.uploadPreset }}. - I Compose Video URL och Package Video Review ska ni behålla URL-overlay-uttrycket och metaJson som länkar till bildgranskningen.
- Öppna gotoHuman Video Review och välj ett granskningsmall-ID för videogodkännande.
Autentiseringsuppgifter krävs: Anslut era HTTP Header Auth-uppgifter i Fal Video Generation, Check Video Status och Get Video Result.
Autentiseringsuppgifter krävs: Anslut era Cloudinary API- eller HTTP-uppgifter (vid behov) i Upload Video to Cloudinary.
Autentiseringsuppgifter krävs: Anslut era gotoHumanApi-uppgifter i gotoHuman Video Review och välj en granskningsmall.
Steg 8: testa och aktivera ert arbetsflöde
Validera hela arbetsflödet från idégenerering till bild/video-granskning och manuell publicering.
- Kör arbetsflödet manuellt från Scheduled Kickoff eller skicka en POST-förfrågan till External Webhook Start.
- Bekräfta att AI Topic Ideation producerar en giltig strukturerad lista som parsas av Parse Topics JSON, och verifiera sedan att granskningen visas i gotoHuman Topics Review.
- Godkänn ett ämne och säkerställ att AI Tagline Creator körs, att Assemble Content Review bygger payloaden och att gotoHuman Content Review visar alla fält.
- Godkänn innehållet för att trigga Build Image Prompt, och verifiera sedan att Fal-bildflödet slutförs och att Cloudinary-uppladdningar lyckas.
- Godkänn bilden i gotoHuman Image Review och bekräfta att videogenereringskedjan kör klart och avslutas i Manual Publish Task.
- När allt fungerar, aktivera arbetsflödet så att Scheduled Kickoff körs automatiskt varje vecka.
Vanliga fallgropar
- Cloudinary-autentiseringar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först inställningarna för din Cloudinary API-nyckel och upload presets.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Standardprompts i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera resultat i all evighet.
Vanliga frågor
Cirka en timme om du redan har kontona och API-nycklarna.
Nej. Du kommer främst att koppla ihop konton och redigera några prompts och fält i n8n.
Ja. n8n har ett gratisalternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-abonnemang börjar på 20 USD/månad för högre volym. Du behöver också räkna in användningskostnader för OpenAI, Fal.ai och Cloudinary, som beror på hur många utkast du genererar och hur långa dina klipp är.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och hanterar n8n bra. Egen hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.
Ja, men behåll spärrprincipen intakt. Du kan byta schema-triggern mot en Typeform-inskickning eller webhook och sedan justera gotoHuman-granskningsmallarna så att juridik eller varumärke får ett dedikerat godkännandesteg. Vanliga ändringar är att strama åt OpenAI-prompten för ämnen så att den matchar din produktpositionering, redigera stilalternativen som används för bildgenerering och ta bort Cloudinary-overlay helt om du föredrar inlägg med bara bildtext.
Oftast är det ett API-nyckelproblem eller ett problem med upload preset. Skapa om dina Cloudinary-uppgifter och spara dem på nytt i n8n, och bekräfta sedan att arbetsflödet laddar upp till rätt cloud name och mapp. Om bara overlays fallerar, kontrollera att transformationsparametrarna du skickar är tillåtna på ditt konto. Det kan också vara värt att kontrollera rate limits om du godkänner många utkast under en kort period.
Den klarar mycket för ett litet team, men de verkliga begränsningarna är din n8n-plan och Fal.ai:s kötider. På n8n Cloud Starter arbetar du inom din månatliga körningskvot; på egenhostad n8n finns inget plattformsbaserat tak för körningar (din server blir begränsningen). I praktiken är arbetsflödet byggt för batchbart arbete: ett par klipp om dagen är realistiskt, och du kan skala genom att sprida schemalagda körningar och öka Wait-tiderna så att genereringsresultaten säkert hinner bli tillgängliga.
För det här arbetsflödet är n8n oftast en bättre match eftersom det hanterar förgrenade godkännanden, omförsök och väntan på externa genereringsjobb utan att bli en skör kedja av zaps. Du får också möjligheten till egen hosting, vilket är praktiskt om du kör många utkast eller vill ha mer kontroll. Zapier eller Make kan fortfarande fungera om du håller det enkelt, men när du lägger till ”godkänn/avvisa, sedan omförsök, sedan vänta på rendering” blir det snabbt klumpigt. Ärligt talat avgörs det av hur strikt din granskningsprocess är. Prata med en automationsexpert om du vill ha en snabb rekommendation.
När detta väl rullar slutar du ”hantera” promo-videor och börjar godkänna dem. Arbetsflödet tar hand om den repetitiva loopen, och du får tillbaka tid för kampanjer som faktiskt gör skillnad.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.