Annonstestning dör i de tråkiga delarna. Någon måste samla idéer, jaga produktbilder, skriva om copy igen, skapa varianter, exportera filer, ladda upp överallt och sedan hålla koll på vad som faktiskt publicerades.
Den här automatiseringen för Telegram-videoannonser träffar marknadsförare först, men den märks också för en stressad e-handelsägare och byråansvarig som försöker skala kreativ produktion utan att anställa ett helt litet produktionsteam.
Du skickar ett meddelande i Telegram (text plus en bild). Flödet gör om det till flera AI-visuals, en filmisk Veo 3-video, autopublicerar i flera kanaler via Blotato och loggar allt i Google Sheets så att du faktiskt kan lära dig av testerna.
Så fungerar automatiseringen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Telegram + Google Sheets: videoannonser publicerade
flowchart LR
subgraph sg0["Trigger: Receive Idea via Telegram 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/telegram.svg' width='40' height='40' /></div><br/>Telegram: Get Image File"]
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/telegram.svg' width='40' height='40' /></div><br/>Trigger: Receive Idea via Te.."]
n2@{ icon: "mdi:cog", form: "rounded", label: "Google Drive: Upload Image", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Parse Idea Into Prompts"]
n4@{ icon: "mdi:robot", form: "rounded", label: "Generate Image Prompt", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n6@{ icon: "mdi:wrench", form: "rounded", label: "Think", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", 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/>NanoBanana: Create Image"]
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/>Check Merge Status"]
n10@{ icon: "mdi:cog", form: "rounded", label: "Wait: Merge Process", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Upload Final Video to Google..", pos: "b", h: 48 }
n12@{ icon: "mdi:database", form: "rounded", label: "Read Brand Settings", 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/>Extract Brand Info"]
n14@{ icon: "mdi:robot", form: "rounded", label: "Message a model", pos: "b", h: 48 }
n15@{ icon: "mdi:database", form: "rounded", label: "Save Ad Data to Google Sheets", pos: "b", h: 48 }
n16["<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/telegram.svg' width='40' height='40' /></div><br/>Send Video URL via Telegram"]
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/telegram.svg' width='40' height='40' /></div><br/>Send a video"]
n18@{ icon: "mdi:robot", form: "rounded", label: "AI Agent: Generate Video Scr..", 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/>Generate Video with VEO3"]
n20@{ icon: "mdi:cog", form: "rounded", label: "Wait for VEO3 Rendering", 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/>Download Video from VEO3"]
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/code.svg' width='40' height='40' /></div><br/>Format Prompt"]
n23@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n24@{ icon: "mdi:wrench", form: "rounded", label: "Think1", pos: "b", h: 48 }
n25@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser1", pos: "b", h: 48 }
n26["<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/>3 prompts"]
n27@{ icon: "mdi:cog", form: "rounded", label: "Upload Video to BLOTATO", pos: "b", h: 48 }
n28@{ icon: "mdi:cog", form: "rounded", label: "Youtube", pos: "b", h: 48 }
n29@{ icon: "mdi:cog", form: "rounded", label: "Tiktok", pos: "b", h: 48 }
n30@{ icon: "mdi:database", form: "rounded", label: "Update Status to 'DONE'", pos: "b", h: 48 }
n31@{ icon: "mdi:cog", form: "rounded", label: "Linkedin", pos: "b", h: 48 }
n32@{ icon: "mdi:cog", form: "rounded", label: "Facebook", pos: "b", h: 48 }
n33@{ icon: "mdi:cog", form: "rounded", label: "Instagram", pos: "b", h: 48 }
n34@{ icon: "mdi:cog", form: "rounded", label: "Threads", pos: "b", h: 48 }
n35@{ icon: "mdi:cog", form: "rounded", label: "Bluesky", pos: "b", h: 48 }
n36@{ icon: "mdi:cog", form: "rounded", label: "Pinterest", pos: "b", h: 48 }
n37@{ icon: "mdi:cog", form: "rounded", label: "Twitter (X)", pos: "b", h: 48 }
n38["<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/>Merge1"]
n39["<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/>Seedream: Generate image fro.."]
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/>Download image from Seedream"]
n41["<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 4o Image(GPT IMAG 1)"]
n42@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Master Prompt", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Merge 3 Videos"]
n44@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items - Split In B..", pos: "b", h: 48 }
n45@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet", pos: "b", h: 48 }
n46@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split out – iterate image_pr..", pos: "b", h: 48 }
n47@{ icon: "mdi:cog", form: "rounded", label: "Wait – NanoBanana job", pos: "b", h: 48 }
n48@{ icon: "mdi:database", form: "rounded", label: "Update URL Final video", pos: "b", h: 48 }
n49["<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/>NanoBanana – fetch edited im.."]
n50@{ icon: "mdi:cog", form: "rounded", label: "Wait – image rendering", pos: "b", h: 48 }
n51@{ icon: "mdi:database", form: "rounded", label: "Google Sheets – save image U..", pos: "b", h: 48 }
n52["<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 – collect image source.."]
n53["<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/>ChatGPT Image – fetch genera.."]
n54@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set – select Seedream image ..", pos: "b", h: 48 }
n55@{ icon: "mdi:cog", form: "rounded", label: "Wait – image rendering II", pos: "b", h: 48 }
n56@{ icon: "mdi:cog", form: "rounded", label: "Aggregate – gather 3 video U..", pos: "b", h: 48 }
n6 -.-> n4
n38 --> n30
n24 -.-> n18
n29 --> n38
n35 --> n38
n34 --> n38
n28 --> n38
n32 --> n38
n31 --> n38
n26 --> n44
n33 --> n38
n36 --> n38
n37 --> n38
n17 --> n27
n22 --> n19
n43 --> n10
n14 --> n15
n7 -.-> n4
n42 --> n18
n9 --> n11
n13 --> n14
n23 -.-> n18
n12 --> n13
n45 --> n43
n10 --> n48
n4 --> n46
n48 --> n9
n3 --> n4
n27 --> n29
n27 --> n31
n27 --> n32
n27 --> n33
n27 --> n37
n27 --> n28
n27 --> n34
n27 --> n35
n27 --> n36
n20 --> n21
n47 --> n49
n21 --> n44
n19 --> n20
n8 --> n47
n5 -.-> n4
n0 --> n2
n50 --> n40
n25 -.-> n18
n2 --> n3
n16 --> n17
n55 --> n53
n40 --> n54
n15 --> n16
n18 --> n26
n56 --> n45
n41 --> n55
n51 --> n42
n49 --> n52
n54 --> n52
n44 --> n56
n44 --> n22
n46 --> n8
n46 --> n39
n46 --> n41
n1 --> n0
n11 --> n12
n39 --> n50
n53 --> n52
n52 --> n51
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 n1 trigger
class n4,n5,n14,n18,n25 ai
class n7,n23 aiModel
class n6,n24 ai
class n12,n15,n30,n45,n48,n51 database
class n8,n9,n19,n21,n39,n40,n41,n43,n49,n53 api
class n3,n13,n22,n26 code
classDef customIcon fill:none,stroke:none
class n0,n1,n3,n8,n9,n13,n16,n17,n19,n21,n22,n26,n38,n39,n40,n41,n43,n49,n52,n53 customIcon
Varför det här spelar roll: skala videoannonser utan kaos
Att göra en bra videoannons går. Att göra tio varianter, varje vecka, på en massa plattformar är där det blir stökigt. Du studsar mellan en chatttråd för idéer, en Drive-mapp för material, ett AI-verktyg för bilder, ett annat för manus, ett annat för video och sedan ett schemaläggningsverktyg (eller manuell publicering) för distribution. Samtidigt minns ingen vilken prompt som skapade vilken visual, och “vinnaren” går inte att återskapa eftersom inputs ligger utspridda. Ärligt talat är det värsta den mentala belastningen: du gör produktionsledning, inte marknadsföring.
Friktionen byggs på. Här är var det faller isär.
- Idéer och produktfoton finns i Telegram, men resten av teamet behöver ett spårbart system som källa för sanningen.
- Att generera bild- och videovarianter i flera AI-verktyg blir ett copy-paste-maraton som äter ett par timmar per batch.
- Att publicera till TikTok, Instagram, YouTube, LinkedIn, X, Threads, Pinterest, Facebook, Bluesky med fler blir en repetitiv checklista som är lätt att göra fel i.
- Utan strukturerad metadata (prompter, länkar, statusar) kan du inte jämföra resultat eller skala det som fungerar.
Det du bygger: Telegram → AI-videoannonser → autopublicerat + spårat
Det här flödet gör Telegram till din kanal för “kreativ intake” och Google Sheets till din kontrollcentral. Det startar när du skickar ett Telegram-meddelande till din bot med en produktbild och en kort idé (hook, vinkel, erbjudande eller till och med en stökig anteckning). Flödet hämtar bilden, laddar upp den till Google Drive och använder sedan dina varumärkesinställningar från Google Sheets för att generera konsekventa prompter och annonstexter. Därefter skapar det flera produktvisuals med Seedream 4.0, NanoBanana och ChatGPT Image (så du får realistiska alternativ plus några mer kreativa svängar). Efter det skriver en AI-agent ett videomanus och Veo 3 genererar filmiska klipp. Klippen slås ihop till en färdig annons, laddas upp till Drive och pushas sedan till alla valda plattformar via Blotato. Till sist får du en Telegram-notis med länken, och Sheets uppdateras med allt du behöver för testning.
Flödet börjar med en Telegram-trigger och en bildhämtning. AI hanterar promptbyggande, bildgenerering, manus och videorendering medan Sheets ger räcken (tonalitet, produktdetaljer, erbjudanden). Sedan sköter Blotato distributionen och flödet skriver tillbaka resultaten så att du kan granska, iterera och starta nästa batch utan att bygga om från grunden.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du testar 5 nya annonsvinklar i veckan och publicerar varje till 9 plattformar. Manuellt, även med en konservativ uppskattning på 10 minuter per plattform (export, uppladdning, justering av caption, länkkontroller) blir det cirka 7 timmar i veckan bara för publiceringen, och då är bild/video-generering inte ens inräknad. Med det här flödet lägger du kanske 5 minuter per vinkel på att skicka Telegram-meddelandet och verifiera varumärkesinställningarna i Sheets, alltså runt 25 minuter totalt. Rendering och publicering sker i bakgrunden, och sedan får du ett Telegram-meddelande med slutlänken och uppdateringar i Sheet.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Telegram-bot för att fånga idéer och skicka notiser
- Google Sheets + Google Drive för att lagra inställningar, material och länkar
- API-nycklar (OpenAI, Kie AI, Fal.ai, Blotato; hämta dem i respektive leverantörs dashboard)
Svårighetsgrad: Medel. Du kopplar ihop flera tjänster, klistrar in API-nycklar och justerar några ID:n (som din Drive-mapp och ditt Sheet).
Vill du att någon bygger det här åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Ett Telegram-meddelande triggar körningen. Du skickar en caption plus en produktbild till din Telegram-bot. Flödet hämtar bildfilen och lagrar den i Google Drive så att varje körning har en pålitlig länk till materialet.
Varumärkesinställningar laddas från Google Sheets. Flödet läser en rad (eller en uppsättning fält) med ditt produktnamn, kategori, viktigaste funktioner, erbjudande, webbplats-URL och allt annat du vill standardisera. Det är det som gör att output inte känns slumpmässig från annons till annons.
AI skapar visuals, sedan manus, sedan videoklipp. En agent för promptbyggande skapar strukturerade prompter och skickar dem till flera bildmotorer (Seedream 4.0, NanoBanana och ChatGPT Image). Resultaten kombineras, sparas tillbaka till Sheets och används för att skapa ett videomanus. Veo 3 renderar de filmiska klippen och flödet väntar tills renderingen är klar innan det hämtar de slutliga filerna.
Publicering och spårning sker automatiskt. Den hopslagna slutvideon laddas upp till Google Drive och skickas sedan till Blotato för distribution till dina aktiverade kanaler (TikTok, Instagram, YouTube, LinkedIn, X, Threads, Pinterest, Facebook, Bluesky). Flödet samlar plattformsresultat, markerar raden i Sheet som klar och skickar länken till dig i Telegram.
Du kan enkelt ändra vilka plattformar som publicerar och vad som skrivs in i Sheets utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Telegram-triggern
Sätt upp triggern för inkommande Telegram-meddelanden och fånga referensbilden och bildtexten som används för prompts.
- Lägg till noden Telegram Idea Trigger och behåll Updates inställt på
message. - Credential Required: Anslut era
telegramApi-credentials på Telegram Idea Trigger. - Koppla Telegram Idea Trigger till Telegram Fetch Image File.
- I Telegram Fetch Image File ställer ni in Resource till
fileoch File ID till{{ $json.message.photo[2].file_id }}. - Credential Required: Anslut era
telegramApi-credentials på Telegram Fetch Image File.
imagePrompt; videoPrompt. Om semikolonet saknas kommer promptarna att tolkas fel.Steg 2: Anslut Google Sheets och Google Drive
Lagra källmedia och underhåll kampanjens spårningsdata i Google Sheets via flera uppdaterings- och tilläggssteg.
- Konfigurera Drive Upload Image med Name inställt på
{{ $('Telegram Idea Trigger').item.json.message.photo[2].file_unique_id }}. - Credential Required: Anslut era
googleDriveOAuth2Api-credentials på Drive Upload Image. - Konfigurera Drive Upload Final Video med Name inställt på
{{ $('Telegram Idea Trigger').first().json.message.photo[2].file_unique_id }}. - Credential Required: Anslut era
googleDriveOAuth2Api-credentials på Drive Upload Final Video. - För Google Sheets-noderna (Load Brand Settings, Save Image URLs Sheet, Store Ad Copy Sheet, Update Video Rows, Update Final Video URL, Mark Status Done) väljer ni rätt Document- och Sheet-ID:n för er varumärkesdatabas och era spårningsark.
- Credential Required: Anslut era
googleSheetsOAuth2Api-credentials till alla Google Sheets-noder som listas ovan.
ID IMAGE i Save Image URLs Sheet, Store Ad Copy Sheet, Update Video Rows och Mark Status Done för att säkerställa att uppdateringar skriver över rätt rad.Steg 3: Sätt upp AI-bildpromptning och generering
Generera och rendera tre bildvarianter parallellt, konsolidera dem och lagra sedan bild-URL:erna.
- I Extract Idea Prompts behåller ni JavaScript-logiken som delar upp bildtexten i
imagePromptochvideoPrompt. - Konfigurera Compose Image Prompt med den tillhandahållna prompttexten, inklusive
{{ $json.imagePrompt }}, och aktivera output parser. - Credential Required: Anslut era
openAiApi-credentials på OpenAI Chat Engine, som är språkmodellen för Compose Image Prompt. Structured Output Reader och Reasoning Tool är sub-noder—credentials ska ligga på den överordnade modellnoden. - Ställ in Split Image Prompts så att den delar upp Field to Split Out som
output.image_prompt. - Split Image Prompts skickar ut till NanoBanana Image Creator, Seedream Image Generate och Generate 4o Image parallellt.
- För HTTP-bildrenderare och hämtare (NanoBanana Image Creator, Wait NanoBanana Job, Fetch NanoBanana Image, Seedream Image Generate, Wait Seedream Render, Fetch Seedream Image, Generate 4o Image, Wait ChatGPT Render, Fetch ChatGPT Image) ansluter ni samma
httpHeaderAuth-credentials. - Kombinera resultaten med Combine Image Sources (läge
chooseBranch, antal inputs3) och lägg till URL:erna i Save Image URLs Sheet.
Steg 4: Sätt upp generering av videoskript och VEO3-rendering
Skapa strukturerade prompts för tre videoscener, rendera dem via VEO3 och aggregera de resulterande URL:erna.
- I Define Master Prompt behåller ni de tilldelade fälten: json_master (fullt schema), model inställt på
veo3_fastoch aspectRatio inställt på9:16. - Konfigurera Agent Build Video Script så att den använder den tillhandahållna prompttexten med
{{ $('Extract Idea Prompts').first().json.videoPrompt }}och aktivera output parser. - Credential Required: Anslut era
openAiApi-credentials på OpenAI Chat Engine 2, som är språkmodellen för Agent Build Video Script. Reasoning Tool 2 och Structured Output Reader 2 är sub-noder—credentials ska ligga på den överordnade modellnoden. - Använd Distribute Three Prompts för att mappa de tre promptarna till bild-URL:er från Save Image URLs Sheet.
- Från Batch Item Iterator skickar ni items både till Aggregate Video URLs och Format VEO3 Prompt parallellt.
- I Format VEO3 Prompt behåller ni model inställt på
veo3_fastoch aspectRatio inställt på9:16. - Konfigurera VEO3 Video Generation med den råa JSON-body som visas, med
{{ $json.prompt }},{{ $json.model }},{{ $json.image_url }}och{{ $json.aspectRatio }}. - Credential Required: Anslut era
httpHeaderAuth-credentials på VEO3 Video Generation och Retrieve VEO3 Video.
Steg 5: Konfigurera videosammanslagning och slutlig lagring
Slå ihop tre VEO3-klipp, vänta på sammanslagningen och skriv tillbaka den slutliga URL:en till Sheets och Drive.
- Säkerställ att Update Video Rows mappar URL VIDEO 1, URL VIDEO 2 och URL VIDEO 3 till
{{ $json.data[0].data.response.resultUrls[0] }},{{ $json.data[1].data.response.resultUrls[0] }}och{{ $json.data[2].data.response.resultUrls[0] }}. - I Merge Three Videos behåller ni JSON-body med
{{ $json['URL VIDEO 1'] }},{{ $json['URL VIDEO 2'] }}och{{ $json['URL VIDEO 3'] }}. - Ställ in Pause for Merge till Amount
2(sekunder) och justera om er merge-tjänst är långsammare. - I Update Final Video URL mappar ni URL FINAL VIDEO till
{{ $json.video.url }}och STATUS tillVIDEO CREATED. - Konfigurera Verify Merge Status med URL inställt på
{{ $json['URL FINAL VIDEO'] }}, och skicka sedan vidare till Drive Upload Final Video. - Credential Required: Anslut era
httpHeaderAuth-credentials på Merge Three Videos och Verify Merge Status.
video.url i sitt svar.Steg 6: Konfigurera utgående meddelanden och distribution
Generera annonstext, meddela användaren via Telegram och publicera till flera sociala plattformar via Blotato.
- Sätt upp Load Brand Settings → Parse Brand Details → Generate Ad Copy för att bygga annonstext utifrån era sheet-data.
- Credential Required: Anslut era
openAiApi-credentials på Generate Ad Copy. - I Store Ad Copy Sheet mappar ni ADS TEXT till
{{ $json.message.content }}och ID IMAGE till{{ $('Telegram Idea Trigger').first().json.message.photo[2].file_unique_id }}. - Konfigurera Telegram Send Video Link med Text inställt på
Url VIDEO : {{ $('Update Final Video URL').first().json['URL FINAL VIDEO'] }}och Chat ID inställt på{{ $('Telegram Idea Trigger').first().json.message.chat.id }}. - Konfigurera Telegram Send Video File med Operation inställt på
sendVideooch File inställt på{{ $('Update Final Video URL').first().json['URL FINAL VIDEO'] }}. - Credential Required: Anslut era
telegramApi-credentials på både Telegram Send Video Link och Telegram Send Video File. - Sätt upp Blotato Upload Video med Media URL inställt på
{{ $('Update Final Video URL').first().json['URL FINAL VIDEO'] }}. - Blotato Upload Video skickar ut till Publish to TikTok, Publish to LinkedIn, Publish to Facebook, Publish to Instagram, Publish to X, Publish to YouTube, Publish to Threads, Publish to Bluesky och Publish to Pinterest parallellt.
- Credential Required: Anslut era
blotatoApi-credentials på Blotato Upload Video och alla Publish to ...-noder. - Efter publicering, bekräfta att Combine Platform Results (läge
chooseBranch, antal inputs9) flödar in i Mark Status Done för att skriva statusenDONE.
[YOUR_ID] för Account ID, Facebook Page ID och Pinterest Board ID. Ersätt alla platshållare innan ni testar.Steg 7: Testa och aktivera ert workflow
Kör ett end-to-end-test från Telegram och bekräfta att pipelinen genererar bilder, videor och publiceringsresultat korrekt.
- Klicka på Execute Workflow och skicka ett Telegram-meddelande med en bild och en bildtext formaterad som
imagePrompt; videoPrompt. - Verifiera att Save Image URLs Sheet och Update Video Rows uppdateras med bild- och video-URL:er, och att Update Final Video URL innehåller
URL FINAL VIDEO. - Bekräfta att Telegram tar emot både länken från Telegram Send Video Link och filen från Telegram Send Video File.
- Kontrollera att Blotato Upload Video triggade alla plattformspubliceringar parallellt och att Mark Status Done skriver
DONEi statuskolumnen. - När allt är verifierat, slå på workflowet till Active för produktion.
Felsökningstips
- Telegram-credentials och chatt-ID:n är lätta att blanda ihop. Om meddelanden inte triggar eller om notiser slutar komma, kontrollera Telegram-bottoken och chatt-/kanal-ID:t i dina Telegram-noder först.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Publiceringsfel i Blotato beror oftast på behörigheter eller saknade kanalkopplingar. Öppna din Blotato-dashboard, bekräfta att varje socialt konto fortfarande är anslutet och kör sedan om ett enskilt testinlägg innan du skalar upp igen.
Snabba svar
Cirka en timme om du redan har API-nycklar och ett Google Sheet klart.
Nej. Du kopplar konton, klistrar in API-nycklar och uppdaterar några ID:n, som ditt Sheet och din Drive-mapp.
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 volymer. Du behöver också räkna in kostnader för API-användning hos OpenAI, Kie AI (Veo 3 / Seedream), Fal.ai och Blotato.
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 sannolikt göra. De flesta team börjar med att slå av/på vilka Blotato-noder av typen “Publish to …” som körs (så att du bara postar där det spelar roll) och justerar sedan Google Sheets-mappningen för “Load Brand Settings” så att den passar deras erbjudandestruktur. Du kan också ändra systemprompten som används i agentnoderna som genererar manus och bildprompter så att den matchar din varumärkeston. Om du vill ha fler eller färre bildvariationer är “Split Image Prompts” och logiken för promptdistribution rätt ställe att justera.
Oftast är det fel bottoken eller så lyssnar flödet på en annan chatt än den du skickar till. Uppdatera credentials i n8n och bekräfta sedan att Telegram Trigger är inställd på rätt bot och chatt. Kontrollera också att din bot kan läsa meddelanden i den chatten (grupper kan vara kinkiga). Om det fortfarande fallerar, skicka ett nytt testmeddelande med en enkel bild och caption för att utesluta problem med filstorlek eller format.
Det beror mer på dina AI-renderingsköer än på n8n. På n8n Cloud Starter är du begränsad av månatliga körningar, medan self-hosting inte har något körningstak och mest beror på din server. I praktiken kör team detta i små batcher (några annonser åt gången) eftersom Veo 3-rendering och publicering i flera plattformar skapar väntetid. Om du trycker ut dussintals per dag, lägg till batchregler och längre väntetider så att du inte slår i API-rate limits.
För den här typen av flöde, ja. Du behöver väntelägen, förgrening, batchning och AI-generering i flera steg, och de scenarierna blir klumpiga (och dyra) i enklare automationsverktyg. n8n ger dig också mer kontroll över hur du lagrar fält i Google Sheets och hur du återhämtar dig när publiceringen misslyckas på en plattform. Zapier eller Make kan fortfarande fungera om du bara vill ha “Telegram-meddelande → skapa en asset → posta till en plattform”, men den här pipelinen ligger närmare en produktionslina. Om du är osäker, Talk to an automation expert och du får en rak rekommendation baserat på din volym och dina kanaler.
Du behöver inte mer “creative hustle”. Du behöver ett repeterbart system som levererar, spårar och gör att du kan testa snabbare utan att bränna en hel dag på uppladdningar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.