Din ”enkla” process för kortvideo är förmodligen inte enkel längre. Briefar ligger på ett ställe, manus på ett annat, avatars någon annanstans, och statusuppdateringar försvinner i chattrådar.
Den här Baserow HeyGen-automationen träffar Content Managers först, men byråägare och ensammarknadsförare känner av den också. Du slutar med att dubbelkolla detaljer, köra om renderingar, och ändå leverera färre inlägg än du planerade.
Det här arbetsflödet gör en Baserow-kö till färdiga kortvideor (med valfria avatars, undertexter, visuella element och musik) och skriver sedan tillbaka resultaten så att du alltid vet vad som är klart och vad som behöver åtgärdas.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Baserow + HeyGen, batcha korta videor utan kaos
flowchart LR
subgraph sg0["Basic LLM Chain Flow"]
direction LR
n0@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Should Process?", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch ScriptType", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Basic LLM Chain", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Body", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n6@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n7["<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/>Leo - Improve Prompt"]
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/>Leo - Get imageId"]
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/>Leo - Generate Image"]
n10@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Scenes Mapping", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Runway - Create Video"]
n14["<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/>Runway - Get Video"]
n15@{ icon: "mdi:cog", form: "rounded", label: "Wait2", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "loop_over_scenes", 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/code.svg' width='40' height='40' /></div><br/>Code"]
n18@{ icon: "mdi:cog", form: "rounded", label: "Wait", 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/>json2video : Video Rendering"]
n20["<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/>json2video : Check Video Ren.."]
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/baserow.svg' width='40' height='40' /></div><br/>Baserow"]
n22["<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/baserow.svg' width='40' height='40' /></div><br/>Baserow Processing"]
n23@{ icon: "mdi:swap-vertical", form: "rounded", label: "output", pos: "b", h: 48 }
n24["<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/baserow.svg' width='40' height='40' /></div><br/>Update Script"]
n25@{ icon: "mdi:swap-horizontal", form: "rounded", label: "BackgroundType", pos: "b", h: 48 }
n26@{ icon: "mdi:swap-vertical", form: "rounded", label: "output image", pos: "b", h: 48 }
n27@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow2", pos: "b", h: 48 }
n28@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow3", pos: "b", h: 48 }
n29@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow4", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>HeyGen"]
n31@{ icon: "mdi:cog", form: "rounded", label: "Wait4", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>HeyGen : Check Video"]
n33@{ icon: "mdi:swap-horizontal", form: "rounded", label: "heygen_response", pos: "b", h: 48 }
n34@{ icon: "mdi:cog", form: "rounded", label: "Wait6", pos: "b", h: 48 }
n35["<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/>CaptionsAI1"]
n36["<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/>CaptionsAI : Check Poll1"]
n37@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", pos: "b", h: 48 }
n38@{ icon: "mdi:swap-horizontal", form: "rounded", label: "j2v_response", pos: "b", h: 48 }
n39@{ icon: "mdi:cog", form: "rounded", label: "json2video Execute ERROR", pos: "b", h: 48 }
n40@{ icon: "mdi:cog", form: "rounded", label: "json2video Execute ERROR1", pos: "b", h: 48 }
n41@{ icon: "mdi:cog", form: "rounded", label: "CAPTIONS Execute ERROR", pos: "b", h: 48 }
n42@{ icon: "mdi:swap-horizontal", form: "rounded", label: "cap_response", pos: "b", h: 48 }
n43["<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/>Code Add Sub"]
n44@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow", pos: "b", h: 48 }
n45["<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/>Code Heygen"]
n46["<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"]
n47@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If_with_heygen", pos: "b", h: 48 }
n48@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If_with_avatar", pos: "b", h: 48 }
n49@{ icon: "mdi:cog", form: "rounded", label: "heygen Execute ERROR", pos: "b", h: 48 }
n50@{ icon: "mdi:cog", form: "rounded", label: "heygen Execute ERROR2", pos: "b", h: 48 }
n51@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow5", pos: "b", h: 48 }
n52@{ icon: "mdi:cog", form: "rounded", label: "CAPTIONS Execute ERROR1", pos: "b", h: 48 }
n53@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow6", pos: "b", h: 48 }
n54@{ icon: "mdi:robot", form: "rounded", label: "Basic LLM Chain Manual", pos: "b", h: 48 }
n55@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n3 --> n54
n3 --> n44
n4 --> n0
n17 --> n47
n18 --> n20
n10 --> n8
n15 --> n14
n31 --> n32
n34 --> n36
n30 --> n31
n30 --> n49
n23 --> n16
n46 --> n4
n37 --> n35
n12 --> n16
n35 --> n34
n35 --> n52
n45 --> n19
n43 --> n19
n42 --> n43
n42 --> n34
n42 --> n41
n38 --> n21
n38 --> n18
n38 --> n40
n26 --> n16
n25 --> n13
n25 --> n26
n48 --> n37
n48 --> n17
n47 --> n30
n47 --> n19
n11 --> n12
n2 --> n11
n2 --> n24
n2 --> n29
n0 --> n1
n0 --> n22
n33 --> n45
n33 --> n31
n16 --> n48
n16 --> n7
n8 --> n25
n6 -.-> n2
n1 --> n3
n1 --> n2
n55 -.-> n54
n14 --> n23
n14 --> n53
n32 --> n33
n32 --> n50
n9 --> n10
n9 --> n28
n7 --> n9
n7 --> n51
n13 --> n15
n13 --> n27
n54 --> n24
n54 --> n11
n54 --> n29
n36 --> n42
n5 -.-> n2
n5 -.-> n54
n19 --> n18
n19 --> n39
n20 --> n38
end
subgraph sg1["When Executed by Another Workflow Flow"]
direction LR
n56["<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/baserow.svg' width='40' height='40' /></div><br/>Baserow Error"]
n57@{ icon: "mdi:location-exit", form: "rounded", label: "Stop and Error", pos: "b", h: 48 }
n58@{ icon: "mdi:play-circle", form: "rounded", label: "When Executed by Another Wor..", pos: "b", h: 48 }
n56 --> n57
n58 --> n56
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 n58 trigger
class n2,n5,n54 ai
class n6,n55 aiModel
class n0,n1,n3,n25,n33,n38,n42,n47,n48 decision
class n7,n8,n9,n13,n14,n19,n20,n30,n32,n35,n36,n46 api
class n17,n43,n45 code
classDef customIcon fill:none,stroke:none
class n7,n8,n9,n13,n14,n17,n19,n20,n21,n22,n24,n30,n32,n35,n36,n43,n45,n46,n56 customIcon
Problemet: batchning av kortvideor blir tab-kaos
Att batcha kortvideor låter effektivt tills du faktiskt ska göra det. Du börjar med en lista idéer och sedan hoppar du mellan en databas, ett dokument för manus, ett AI-verktyg för visuella element, ett annat AI-verktyg för avatars och en separat plats för undertexter och exporter. Någonstans i den vändan missas en röstinställning, fel bakgrundsstil smyger in, eller en rendering misslyckas och ingen märker det på timmar. Det värsta är den mentala belastningen: du skapar inte bara innehåll, du barnvaktar en produktionslinje byggd av webbläsarflikar.
Det bygger snabbt på. Här är var det faller isär.
- Även en kortvideo kan kräva 10+ små kontroller, och varje kontroll stjäl fokus.
- Statusspårning blir rörig eftersom ”pågår” sitter i någons minne, inte i ditt system.
- När du försöker skala till en veckobatch multipliceras felen, och omarbete äter tyst upp hela tiden du hoppades spara.
- De flesta team får inkonsekvent output eftersom inställningar glider från en video till nästa.
Lösningen: kö i Baserow, generera i HeyGen, spåra allt
Det här n8n-arbetsflödet är byggt som ett litet produktionssystem. En ny request kommer in via en inkommande webhook (oftast kopplad till ett formulär eller en köad post), och sedan avgör arbetsflödet hur den ska hanteras: enkelvideoläge för snabba leveranser, eller bulk-läge när du vill generera en hel batch. Därefter hanterar det manusskapande (antingen AI-skrivet via en LLM eller hämtat från din egen input), mappar fälten till en korrekt formaterad payload och genererar de mediedelar som behövs för slutredigeringen. Beroende på dina inställningar kan det generera visuella element, bygga scener, begära en avatarvideo från HeyGen, lägga till undertexter och sätta ihop slutrenderingen. När det är klart uppdaterar det din Baserow-post så att hela teamet ser output och status utan att behöva fråga runt.
Arbetsflödet startar med en köad brief (ofta lagrad i Baserow) och routar den baserat på vald manustyp och videoalternativ. Sedan genererar det tillgångar, pollar externa verktyg tills resultaten är klara och skriver till sist tillbaka detaljer om den färdiga outputen till Baserow så att du kan granska, försöka igen eller publicera.
Vad du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du batchar 20 kortvideor varje måndag. Manuellt kanske du lägger cirka 10 minuter per video på att bara kopiera briefen, kontrollera röst-/avatarinställningar, exportera filer och uppdatera en tracker, vilket är runt 3 timmar administration innan det ”riktiga jobbet” ens räknas. Med det här arbetsflödet lägger du de 20 briefarna i kö i Baserow och triggar körningen en gång, och sedan hanterar n8n generering och statuskontroller medan du gör annat. Du behöver fortfarande lägga tid på att granska output, men den repetitiva spårningen och barnvaktandet sjunker till en snabb genomgång av de uppdaterade raderna i Baserow.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Baserow för att köa briefar och spåra status
- HeyGen för att generera avatar-drivna videosegment
- OpenAI API-nyckel (hämta den från OpenAI API-dashboarden)
Kunskapsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och mappar några fält så att dina Baserow-kolumner matchar din videomall.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En köad request sätter igång allt. En webhook tar emot en payload (ofta skapad från ett Baserow-formulär eller en ”redo att producera”-post), och sedan formar arbetsflödet det till standardiserade fält som det kan lita på.
Arbetsflödet avgör vad som ska genereras. Det routar baserat på manustyp (AI-genererat vs manuellt), kontrollerar vilken produktionsväg du aktiverat (HeyGen-avatar eller en alternativ undertext-rutt) och förbereder rätt request bodies för varje externt verktyg.
Mediegenerering körs i batcher. Scener kan delas upp och processas i grupper, med väntetider och statuskontroller emellan så att arbetsflödet inte går vidare förrän tillgångar faktiskt är klara. Här håller HTTP-requestar, villkorslogik och sammanslagning av output allt synkat.
Resultat skrivs tillbaka till ditt master-system. När renderingar blir klara (eller misslyckas) uppdaterar arbetsflödet Baserow-posten med output-fält och loggar fel tydligt, så att du kan försöka igen utan att gissa vad som hände.
Du kan enkelt justera Baserow-fälten och genereringsalternativen så att de matchar din tonalitet och ditt videoformat. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: konfigurera webhook-triggern
Ställ in startpunkten så att externa system kan starta automatiseringen.
- Lägg till och öppna Incoming Webhook Trigger.
- Konfigurera webhook-sökvägen och den HTTP-metod som källsystemet förväntar sig.
- Kopiera test-URL:en och använd den för att skicka en provförfrågan för att validera inkommande payload.
Steg 2: anslut Baserow
Baserow används för att läsa, uppdatera och logga poster under workflowet.
- Öppna Process Baserow Entry och anslut till rätt databas och tabell.
- Öppna Modify Script Record och konfigurera uppdateringsmappningen för posten för att spara script-resultat.
- Öppna Update Baserow Record och mappa fälten för att spara slutligt renderingsresultat och status.
- Öppna Log Baserow Error och mappa fälten som används för felloggning.
Steg 3: sätt upp request-mappning och processrutter
Normalisera inkommande payload och avgör vilken processväg som ska användas.
- I Map Request Body mappar ni fält från webhook-payloaden till en ren struktur som används längre fram.
- Konfigurera Determine Processing för att avgöra vilken väg requesten följer.
- Konfigurera Route Script Type för att routa payloaden till rätt script-väg.
- Bekräfta parallell exekvering: Determine Processing skickar output parallellt till både Route Script Type och Process Baserow Entry.
Steg 4: konfigurera AI/LLM-kedjorna
Dessa noder genererar och tolkar strukturerad scen-data för workflowet.
- Öppna Primary LLM Chain och konfigurera prompts och inputs för automatisk scriptgenerering.
- Öppna Manual LLM Chain för fallback-/manuell väg när Conditional Gate routar till manuell bearbetning.
- Säkerställ att Structured Result Parser är ansluten till båda LLM-kedjorna för tolkning av strukturerad output.
- Bekräfta parallell exekvering: Primary LLM Chain skickar output parallellt till både Map Scene Fields och Modify Script Record, och Manual LLM Chain skickar output parallellt till både Modify Script Record och Map Scene Fields.
Steg 5: bygg loopen för scenbearbetning och mediegenerering
Transformera scener, dela upp dem i batchar och generera bilder eller videobakgrunder.
- I Map Scene Fields mappar ni den strukturerade LLM-outputen till scenfält.
- Använd Split Scene Items för att dela upp varje scen i individuella items och loopa sedan med Iterate Scene Batch.
- I Refine Prompt Call → Generate Image Request → Pause Image Poll → Retrieve Image ID konfigurerar ni flödet för bildgenerering och polling.
- Routa bakgrundslogiken i Check Background Type till antingen Runway Video Create eller Set Image Output.
- Konfigurera Runway-pollingsekvensen: Runway Video Create → Pause Runway Poll → Runway Video Fetch → Set Output Fields → Iterate Scene Batch.
Steg 6: konfigurera avatar, undertexter och renderingspipeline
Styr om avatarer och undertexter ska läggas till och rendera sedan den slutliga videon.
- Ställ in avatar-routing i Check Avatar Enabled, som skickar scener till Aggregate Scenes eller Transform Logic.
- Konfigurera Check HeyGen Enabled för att routa till HeyGen Video Request eller direkt till Render Video Request.
- Sätt upp HeyGen-polling: HeyGen Video Request → Pause HeyGen Poll → Check HeyGen Status → Route HeyGen Response → Prepare HeyGen Payload.
- Konfigurera undertexter: Aggregate Scenes → CaptionsAI Request → Pause Captions Poll → Check Captions Status → Route Captions Response → Append Subtitles Logic.
- Slutför renderingsflödet: Prepare HeyGen Payload eller Append Subtitles Logic → Render Video Request → Pause Render Check → Check Render Status → Route Render Response → Update Baserow Record.
Steg 7: anslut konfigurationsnoder för sub-workflows
Detta workflow anropar flera sub-workflows för konfiguration och felhantering.
- Öppna alla executeWorkflow-noder som används för konfiguration: Run Sub-Workflow A (Config), Run Sub-Workflow B (Config), Run Sub-Workflow C (Config), Run Sub-Workflow D (Config), Run Sub-Workflow E (Config) och Run Sub-Workflow F (Config).
- Välj rätt mål-workflows i varje nod.
- Verifiera sub-workflows för felrouting: Run Sub-Workflow RenderErr, Run Sub-Workflow RenderErr2, Run Sub-Workflow CaptErr, Run Sub-Workflow CaptErr2, Run Sub-Workflow HeyGenErr och Run Sub-Workflow HeyGenErr2.
Steg 8: lägg till felhantering
Säkerställ att felvägar loggar fel och stoppar körningen på ett säkert sätt.
- Bekräfta att Triggered by Workflow Call routar till Log Baserow Error för centraliserad felloggning.
- Säkerställ att Log Baserow Error är mappad för att registrera feldetaljer och att flödet sedan går vidare till Stop With Error.
- Kontrollera att felgrenar från HeyGen Video Request, CaptionsAI Request och Render Video Request är kopplade till respektive sub-workflow-felhanterare.
Steg 9: testa och aktivera ert workflow
Validera end-to-end-flödet innan ni aktiverar det i produktion.
- Klicka på Execute Workflow och skicka en provförfrågan till Incoming Webhook Trigger.
- Verifiera att Determine Processing routar korrekt och att antingen Primary LLM Chain eller Manual LLM Chain slutförs.
- Bekräfta att scenloopen slutförs: Map Scene Fields → Split Scene Items → Iterate Scene Batch, och att mediegenereringsrequester lyckas.
- Kontrollera att Update Baserow Record skriver slutligt renderingsresultat och status.
- När ni är nöjda, växla workflowet till Active för användning i produktion.
Vanliga fallgropar
- Baserow-autentisering kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först din Credentials-sida i n8n och Baserow-tokens scope.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- HeyGen-requestar kan misslyckas om din payload saknar en obligatorisk avatar-/röstinställning. Kontrollera senaste HTTP response body i n8n och bekräfta sedan att dina HeyGen-mallinställningar matchar fälten du mappar.
Vanliga frågor
Cirka 30 minuter när dina konton är redo.
Nej. Du kopplar mestadels konton och mappar fält från Baserow in i videorequesten.
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 OpenAI API-användning (ofta några cent per körning) samt eventuella HeyGen-kostnader för generering i din plan.
Två alternativ: n8n Cloud (hanterat, enklast setup) 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.
Ja, och det bör du. De flesta anpassar manus-prompterna i LLM-kedjan, justerar de mappade fälten som styr undertexter och ljud, och byter avatarinställningar i HeyGen-förberedelsen av payloaden. Om du vill ha en annan intake-struktur kan du också ändra Baserow-tabellen (och sedan uppdatera noderna ”Map Request Body” och ”Set Output Fields” så att de matchar). Det är oftast skillnaden mellan ”det funkar” och ”det levereras on-brand”.
Oftast är det en utgången API-nyckel eller att ett obligatoriskt fält saknas i request body. Kontrollera svaret i HTTP Request-noden i n8n för att se exakt fel och bekräfta sedan att dina HeyGen-identiteter för mall, avatar och röst matchar det du skickar. Om det funkar för enstaka videor men fallerar i bulk kan rate limits eller för korta väntetider också vara boven, om jag ska vara ärlig.
Om du self-hostar finns ingen körningsgräns i n8n, så din praktiska gräns är din server och din HeyGen-plan.
Ofta, ja, eftersom den här typen av arbetsflöde behöver förgreningslogik, batchning och beteendet ”polla tills renderingen är klar”, vilket blir klumpigt (och dyrt) i enklare verktyg. n8n ger dig också mer kontroll över fältmappning, retries och felhantering, vilket spelar roll när du genererar 20 eller 200 videor. Zapier eller Make kan fortfarande vara bra för en lättviktig version, som ”ny rad → skicka en request → posta en notis”. I samma stund du vill ha bulk-generering plus statusspårning tillbaka i Baserow är n8n oftast det lugnare valet. Prata med en automationsexpert om du vill ha hjälp att välja.
När det här väl rullar slutar batchning kännas som en produktionsbrandövning. Du köar jobbet, arbetsflödet gör de repetitiva delarna, och Baserow berättar sanningen om vad som faktiskt är klart.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.