Att göra 3D-produktvideor låter kul tills du är på version fem av ”bara justera ljuset lite”, jagar texturer och försöker minnas vilken renderlänk du skickade till vem.
Den här Blender-videoautomationen träffar marknadsteam först (för lanseringar väntar inte), men produktgrundare och byrå-folk känner av det också. Du vill ha en enda prompt som pålitligt producerar en felfri 3D-showcase, plus en logg över varje asset så att inget försvinner.
Det här arbetsflödet förvandlar en enda productPrompt till förpackningsvisuals, PBR-stil-texturer, ett Blender-skript, en förhandsrender, en hostad videolänk och en PostgreSQL-logg. Du får se vad det automatiserar, vad du får ut i andra änden och vad du ska se upp med när du sätter upp det.
Så fungerar automatiseringen
Det fulla n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Blender + PostgreSQL: 3D-produktvideor på autopilot
flowchart LR
subgraph sg0["AI Product Concept G 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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook Trigger"]
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/code.svg' width='40' height='40' /></div><br/>Parse AI Response"]
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/openAi.dark.svg' width='40' height='40' /></div><br/>Generate Packaging Design"]
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/openAi.dark.svg' width='40' height='40' /></div><br/>Generate Texture Maps"]
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/code.svg' width='40' height='40' /></div><br/>Generate 3D Scene Script"]
n5["<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/>Generate 3D Preview Render"]
n6["<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/>Process Video Rendering"]
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/>Upload to Video Service"]
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/merge.svg' width='40' height='40' /></div><br/>Merge All Assets"]
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Render Status", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Wait for Render", 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/code.svg' width='40' height='40' /></div><br/>Format Final Output"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Send Response"]
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/postgres.svg' width='40' height='40' /></div><br/>Save to Database"]
n14@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n15@{ icon: "mdi:robot", form: "rounded", label: "AI Product Concept Generator", pos: "b", h: 48 }
n10 --> n9
n0 --> n15
n8 --> n4
n1 --> n2
n1 --> n3
n1 --> n8
n9 --> n10
n9 --> n11
n11 --> n12
n11 --> n13
n3 --> n8
n6 --> n7
n6 --> n9
n7 --> n11
n4 --> n5
n4 --> n6
n14 -.-> n15
n2 --> n8
n5 --> n6
n15 --> n1
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 n15 ai
class n14 aiModel
class n9 decision
class n13 database
class n0,n5,n7,n12 api
class n1,n4,n6,n11 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n3,n4,n5,n6,n7,n8,n11,n12,n13 customIcon
Problemet: 3D-produktvideor är långsamma, sköra och svåra att upprepa
En bra 3D-showcasevideo är en hög av små beslut: mått, material, ljussättning, kameradistans, rotationshastighet, bakgrund, förpackningsgrafik, texturkartor och exportinställningar. Gör du det manuellt kan du lägga en eftermiddag bara på att nå ”tillräckligt bra”, och sedan en runda till eftersom resultatet inte är konsekvent mellan produkter. Den verkliga kostnaden är kontextbytena. Du jonglerar promptar på ett ställe, renderprogress på ett annat och ”slutlänkar” i ett kalkylark eller en e-posttråd som ingen litar på.
Det drar snabbt iväg. Här är var det brukar fallera i vardagen.
- Varje produkt blir ett specialfall, så kvaliteten beror på vem som senast rörde Blender-filen.
- Förpackning och texturer kommer i olika format, vilket gör att du tappar tid på att normalisera assets innan du ens kan rendera.
- Renderprogress är lätt att ”starta och glömma” tills du inser att det kraschade över natten och inget levererades.
- Utan en databaslogg renderar team om sådant de redan betalat för, eftersom länkar och specifikationer inte lagras centralt.
Lösningen: en prompt in, Blender-showcase ut (loggat i PostgreSQL)
Det här flödet startar med en enkel webhook-förfrågan som innehåller din productPrompt. Därifrån gör Claude (via Anthropic) om idén i klartext till strukturerade 3D-specar, som material, färger, mått och scenanvisningar du faktiskt kan bygga på. De specifikationerna driver bildgenerering för förpackningsvisuals och skapande av texturatlas, så att dina assets matchar konceptet i stället för att glida över tid. Därefter genererar flödet ett Blender Python-skript som sätter upp geometri, en professionell 3-punktsljussättning, kamerainramning och en 8 sekunders 360° rotationsanimation. Slutligen renderar det en förhandsbild, startar videorendering, laddar upp den färdiga videon till din hostingtjänst och lagrar hela körningen i PostgreSQL så att resultatet är lätt att hitta senare.
Flödet börjar när du POST:ar till /product-showcase. AI bygger koncept och assets, och Blender-rendering orkestreras via HTTP-anrop och statuskontroller. När renderingen är klar får du ett strukturerat svarspaket plus en databaspost som du kan återanvända för revisioner eller framtida varianter.
Vad du får: automation vs. resultat
| Det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du lanserar 5 nya produkter per månad och att varje produkt behöver en kort 8 sekunders 360° showcase. Manuellt innebär en vettig första version ofta cirka 2 timmar setup (assets, ljussättning, kamera, animation) plus en timme till för rendering, uppladdning och dokumentation av länkar, så du hamnar runt 15 timmar i månaden. Med det här flödet skickar du in en prompt per produkt (ett par minuter), väntar på preview och videoprocessning och sen är du klar. Realistiskt får du tillbaka ungefär 10 timmar per månad och ett tydligare spår i PostgreSQL.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
- Anthropic API för Claude-koncept/spec-generering
- OpenAI API för att generera förpackningsvisuals och texturer
- PostgreSQL för att lagra promptar, assets och länkar
- Videohostingtjänst för att publicera slutlig showcase-URL
- Anthropic API-nyckel (hämta den i Anthropic-konsolen)
- OpenAI API-nyckel (hämta den i OpenAI-dashboarden)
Kunskapsnivå: Avancerad. Du är bekväm med att konfigurera API-credentials, kontrollera webhook-payloads och validera rendering-endpoints.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En webhook-förfrågan kickar igång allt. Du skickar en POST till flödets endpoint med productPrompt. Den prompten blir den enda ”källan till sanning” för hela körningen.
Konceptet struktureras till byggbara specar. Claude genererar en detaljerad uppdelning (mått, material, färger), och sedan tolkar flödet det till fält som efterföljande verktyg kan använda utan gissningar.
Assets genereras och slås ihop. DALL-E tar fram förpackningsvisuals, texturkartor skapas och n8n kombinerar allt till ett konsekvent assetpaket så att Blender inte matas med inputs som inte matchar varandra.
Blender-output produceras och spåras. Ett Blender Python-skript genereras, en förhandsrender skapas, videorenderingen körs och den slutliga filen laddas upp till din videohost. n8n övervakar status med retry-logik, returnerar slutsvaret och skriver hela posten till PostgreSQL.
Du kan enkelt ändra hostingdestinationen så att den passar din stack och dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera webhook-triggern
Det här arbetsflödet startar när en POST-begäran träffar den inkommande webhook-endpointen.
- Lägg till noden Inbound Webhook Start och ställ in HTTP Method på
POST. - Ställ in Path på
product-showcaseoch behåll Response Mode somresponseNode. - Säkerställ att webhooken är ansluten till AI Concept Builder.
Steg 2: Konfigurera AI-konceptgeneratorn
Det här steget skapar produktkonceptet och förbereder strukturerad data för efterföljande skapande.
- Öppna AI Concept Builder och verifiera att den är ansluten till språkmodellens indata.
- Bekräfta att Gemini Chat Model är ansluten som språkmodell för AI Concept Builder.
- Behörighet krävs: Anslut era
googlePalmApi-inloggningsuppgifter i Gemini Chat Model (inloggningsuppgifter konfigureras på modellen, inte på agenten). - Behåll Interpret AI Output ansluten efteråt för att tolka AI-svaret.
Steg 3: Konfigurera skapande av tillgångar och sammanslagning
Arbetsflödet genererar förpackningsvisuals och texturkartor och slår sedan ihop allt till en enda uppsättning tillgångar.
- I Create Package Visuals ställer ni in Model på
=dall-e-3och behåller Prompt som{{ 'Professional product packaging design for ' + $json.productSpec.productName + '. ' + $json.productSpec.packaging.design + '. Colors: ' + $json.productSpec.colors.primary + ', ' + $json.productSpec.colors.secondary + '. Modern, clean, high-end commercial product photography style. 4K quality.' }}. - Behörighet krävs: Anslut era
openAiApi-inloggningsuppgifter i Create Package Visuals. - I Create Texture Atlases ställer ni in Model på
=dall-e-3och behåller Prompt som{{ 'High-quality texture map for ' + $json.productSpec.materials.join(', ') + ' material. Seamless, tileable, PBR ready. 4K resolution. Professional product rendering quality.' }}. - Behörighet krävs: Anslut era
openAiApi-inloggningsuppgifter i Create Texture Atlases. - Säkerställ att Interpret AI Output skickar utdata till Create Package Visuals, Create Texture Atlases och Combine Asset Set parallellt.
- Ställ in Combine Asset Set till Mode
combineoch Combination ModemergeByPosition.
Steg 4: Bygg och rendera 3D-scenen
Den här fasen bygger scenen och triggar förhandsrendering, och går sedan vidare till videogenerering.
- Behåll Build 3D Scene Script ansluten efter Combine Asset Set.
- Bekräfta att Build 3D Scene Script skickar utdata till både Render 3D Preview och Handle Video Rendering parallellt.
- I Render 3D Preview ställer ni in URL på
https://api.replicate.com/v1/predictions, Method påPOST, och behåller Send Body och Send Headers aktiverade. - Behåll uttrycket för body-parametern input som
{{ { "prompt": "Professional 3D product render of " + $json.productSpec.productName + ", studio lighting, 8K, photorealistic, commercial photography", "width": 1024, "height": 1024 } }}. - Säkerställ att Render 3D Preview är ansluten till Handle Video Rendering.
Steg 5: Ladda upp och verifiera videorendering
Videorenderingen bearbetas och kontrolleras i en loop tills de slutliga tillgångarna är klara.
- Verifiera att Handle Video Rendering skickar utdata till både Upload to Video Host och Verify Render Status parallellt.
- I Upload to Video Host ställer ni in URL på
{{ $json.videoEncodingService || 'https://api.cloudflare.com/client/v4/accounts/[YOUR_ID]/stream' }}och behåller Method somPOST. - Behåll uttrycket för body-parametern meta som
{{ { "name": $json.productName + "_showcase" } }}. - I Verify Render Status bekräftar ni att villkoret kontrollerar att value1
{{ $json.renderStatus }}är lika medqueued. - Ställ in Pause for Render till att vänta Unit
secondsoch Amount30, och loopa sedan tillbaka till Verify Render Status.
renderStatus aldrig uppdateras. Säkerställ att er renderingtjänst returnerar en statusändring så att loopen kan avslutas.Steg 6: Sätt ihop svar och lagra resultat
När renderingen är klar bygger arbetsflödet ett svar och skickar tillbaka det till den som begärde det, samtidigt som datan lagras.
- Säkerställ att Assemble Final Response tar emot utdata från Upload to Video Host och från success-vägen i Verify Render Status.
- Bekräfta att Assemble Final Response skickar utdata till både Return Webhook Reply och Store in Database parallellt.
- I Return Webhook Reply ställer ni in Respond With på
jsonoch Response Body på{{ $json }}. - I Store in Database ställer ni in Table på
product_showcasesoch behåller Mapping Mode somautoMapInputData. - Behörighet krävs: Anslut era
postgres-inloggningsuppgifter i Store in Database.
Steg 7: Testa och aktivera ert arbetsflöde
Validera hela pipelinen från början till slut innan ni slår på den för produktionsanvändning.
- Klicka på Execute Workflow och skicka en test-POST-begäran till URL:en för Inbound Webhook Start.
- Verifiera att Create Package Visuals och Create Texture Atlases körs parallellt, och att Combine Asset Set slår ihop deras utdata.
- Bekräfta att Verify Render Status loopar via Pause for Render tills renderingen är klar.
- Kontrollera att Return Webhook Reply skickar ett JSON-svar och att Store in Database lägger in en rad i
product_showcases. - När allt fungerar växlar ni arbetsflödet till Active för produktionsanvändning.
Vanliga fallgropar
- Anthropic- eller OpenAI-credentials kan löpa ut eller sakna behörigheter. Om något slutar fungera, börja med att kontrollera n8n Credentials manager och din leverantörs sida för användning/nycklar.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardpromptar i AI-noder är generiska. Lägg in er varumärkeston tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Räkna med cirka 1–2 timmar om du redan har API-nycklar och en databas redo.
Nej, ingen kodning krävs för att köra det. Däremot är det bra att vara bekväm med att läsa JSON-svar och att testa en webhook-förfrågan.
Ja. n8n har ett gratis självhostat alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volym. Du behöver också räkna med kostnader för Anthropic/OpenAI API (oftast några cent per körning, beroende på bildgenerering).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.
Ja, men då byter du ut HTTP Request-noderna som laddar upp slutvideon och returnerar den publika URL:en. De flesta team anpassar svarspayloaden (så att den matchar interna verktyg), uppladdningsdestinationen och vilka databasfält som lagras i PostgreSQL-noden.
Oftast handlar det om anslutningssträngen, IP-allowlist eller saknade SSL-inställningar hos din databasleverantör. Bekräfta att databasanvändaren har rätt att göra insert i måltabellen och testa sedan om PostgreSQL-credentialen i n8n. Om det fungerar i ett manuellt test men fallerar i flödet, kontrollera vilka fält som är null eller för stora (bild-URL:er och metadata kan överraska). Rate limits är ovanliga här; schema-mismatch är det inte.
Det beror mer på din renderkapacitet och hosting än på n8n i sig. På n8n Cloud Starter begränsas du av månatliga körningar; på självhostat är det din server och din köstrategi. I praktiken kör team detta i batcher (t.ex. 10–50 koncept) och lutar sig mot statuskontroll + wait-loop för stabilitet.
För AI-tunga renderflöden är n8n oftast bättre eftersom du kan förgrena, göra retries, slå ihop assets och styra hela svaret utan att betala extra för varje villkorsgren. Det hanterar också ”långkörande” jobb bättre eftersom du kan kontrollera renderstatus aktivt och vänta. Zapier och Make kan fungera, helt ärligt, men du kommer känna friktionen när du lägger till retries, databaser och flerstegs-assetgenerering. Vill du ha hjälp att välja, prata med en automationsexpert.
Du sätter standarden en gång, sedan fortsätter flödet att leverera på den. De repetitiva delarna försvinner, och du får till slut konsekventa 3D-showcase-resultat som du dessutom kan hitta igen senare.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.