ChatGPTCreativeVideoAI score · PendingAI-assisted edit · no obvious prompt-injection riskn8n.io

Auto-Generate UGC Video Ads with n8n: GPT-4o + ElevenLabs + WaveSpeed

Product image → Telegram trigger → AI analysis → generate avatar → voice synthesis → lip-sync video → Telegram delivery

ExperiencedStepsWorkflowPrompt
Who
Marketing teams or e-commerce operators who need to batch-produce social-media UGC-style testimonial videos
You get
Upload a product photo and automatically receive a 480p voiced lip-sync customer testimonial video, ready for TikTok/Instagram
You need
n8n · telegram · elevenlabs · wavespeed · cloudinary

Constraints

Prerequisites: n8n cloud or self-hosted instance; OpenAI API (gpt-4o vision analysis), ElevenLabs API (TTS), WaveSpeed AI API (image generation + lip-sync), Cloudinary (file hosting), Telegram Bot Token. Costs: ElevenLabs approx $0.18–$0.30 per 1K characters; WaveSpeed image ~$0.039 each, lip-sync extra. Processing time ~3–5 min per video. Prompts optimized for Malaysian-English mix; adaptable to other markets.

What they did

Template author Muhammad Farooq Iqbal created an n8n workflow template that receives product images via Telegram Bot, sequentially calls GPT-4o Vision for product attribute analysis, WaveSpeed AI for 9:16 character-scene generation, ElevenLabs for gender-matched multilingual voice synthesis, and WaveSpeed AI again for lip-sync to produce 480p videos, finally returning them via Telegram. The template is optimized for Malaysian-English mixed content, but prompt structure allows adaptation to other markets.

How it went

Author reports (author_report) processing time of ~3–5 minutes per video, output as 480p vertical videos suitable for TikTok/Instagram. ElevenLabs cost approx $0.18–$0.30 per 1K characters; WaveSpeed image ~$0.039 each, lip-sync extra. Published as public template on n8n.io with node_count=38.

Worth knowing

1) Not tested by this site (reproduction=not_tested); node parameters and prompts parsed from template JSON; actual results depend on API service stability and account quotas. 2) Prompts heavily use Malay (e.g. "Lelaki/Perempuan", "saiz output gambar"); direct use in non-Malay markets requires language replacement. 3) Gender detection relies on Analyze IMG NEW2 GPT-4o output; ambiguous generated images may cause Switch GENDER routing errors. 4) Lip-sync video is fixed at 480p; higher resolution requires modifying the resolution parameter in CREATE LIPSYNC V1 (currently hardcoded). 5) Ethics note: template includes Sticky Note13 requiring AI-generated content labeling, avoiding fake reviews, and complying with platform advertising disclosure rules. 6) Voice synthesis uses ElevenLabs eleven_multilingual_v2 with preset Voice IDs, not user-custom cloned voices; brand-specific voices require additional Voice Cloning configuration.

n8n workflow template

Structure checked · Not run-tested

Use “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.

Setup and test checklist

Credentials to connect

  • Analyze YAML node: connect OpenAI API credentials.
  • OpenAI Chat Model4 node: connect OpenAI API credentials.
  • UPLOAD AUDIO LIPSYNC node: connect HTTP Basic Auth credentials.
  • UPLOAD VIDEO REVIEW V1 node: connect HTTP Basic Auth credentials.
  • UPLOAD NEW IMG V1 node: connect HTTP Basic Auth credentials.
  • Telegram Trigger node: connect Telegram API credentials.
  • Send a video node: connect Telegram API credentials.
  • Send a photo message node: connect Telegram API credentials.
  • Analyze IMG NEW2 node: connect OpenAI API credentials.
  • Replace __UKH_BEARER_19__ with your real secret/token (path /nodes/19/parameters/headerParameters/parameters/0/value; literal auth header).
  • Replace __UKH_BEARER_22__ with your real secret/token (path /nodes/22/parameters/headerParameters/parameters/0/value; literal auth header).
  • Replace __UKH_BEARER_25__ with your real secret/token (path /nodes/25/parameters/headerParameters/parameters/0/value; literal auth header).
  • Replace __UKH_BEARER_27__ with your real secret/token (path /nodes/27/parameters/headerParameters/parameters/0/value; literal auth header).

Configuration to replace

  • Source template is n8n public workflow #10070 (~38 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
  • Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.

Test input and expected output

  • Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
  • Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.

Template changes

  • Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
  • No business-logic edits; verify keys, quotas and privacy compliance before use. 4 literal secret value(s) replaced with __UKH_…__ placeholders.

Template retrieved: 2026-10-24

Steps

  1. Configure credentials and import template

    Import the template into n8n. Configure credentials in this order: OpenAI API (for GPT-4o vision nodes), ElevenLabs API (replace YOUR_ELEVENLABS_API_KEY in CLONING AUDIO nodes), WaveSpeed AI API (replace YOUR_TOKEN_HERE in CREATE nodes), Cloudinary (replace YOUR_CLOUDINARY_CLOUD_NAME, set upload preset to Picture), Telegram Bot Token (enter in Set Bot Token node, set target chatId).

  2. Activate workflow and send product image via Telegram

    Activate the workflow. Send a product photo to the configured Bot in Telegram (clear images showing the product in use are recommended). The Telegram Trigger node catches the message, Set Bot Token injects the token, Image Path node fetches the file path via Telegram getFile API, and Download File node retrieves the actual image.

  3. GPT-4o analyzes product and outputs YAML

    The Analyze YAML node calls GPT-4o Vision on the downloaded image, determines whether it shows a product, a character, or both, and returns YAML with: brand_name, color_scheme (hex/name), font_style, visual_description; or character_name, outfit_style, etc. It also identifies target gender (male/female/unisex). Output language is English.

    Execution prompt · Source text。Analyze YAML node text parameter (n8n OpenAI node prompt field)

    =Analisis gambar yang diberikan dan tentukan apakah gambar tersebut terutama menggambarkan sebuah produk atau karakter, atau KEDUANYA.
    
    # Jika gambar adalah sebuah produk, kembalikan analisis dalam format YAML dengan field berikut:
    
    brand_name: (Nama brand yang terlihat di gambar, jika ada atau dapat disimpulkan)
    color_scheme:
    
    hex: (Kode hex dari setiap warna utama yang digunakan)
    name: (Nama description dari warna tersebut)
    font_style: (Jelaskan jenis font atau gaya yang digunakan: serif/sans-serif, tebal/tipis, dll.)
    visual_description: (Satu atau dua kata ringkas yang merangkumi apa yang terlihat pada gambar, abaikan latar belakang)
    
    # Jika gambar adalah sebuah karakter, kembalikan analisis dalam format YAML dengan field berikut:
    
    character_name: (Nama karakter jika terlihat atau dapat disimpulkan)
    color_scheme:
    
    hex: (Kode hex dari setiap warna utama yang digunakan pada karakter)
    name: (Nama description dari warna tersebut)
    outfit_style: (description gaya pakaian, aksesori, atau feature menonjol yang lain)
    visual_description: (Satu atau dua kata ringkas yang merangkum terlihat pada karakter, abaikan latar belakang)
    
    kenalpasti produk sesuai untuk lelakki atau perempuan, dan juga adakah produk tersebut unisex
    
    Hanya kembalikan YAML. Jangan menjelaskan atau menambahkan kata, simbol atau komentar lain.
    Output dalam bahasa English
    
    Jika gambar adalah KEDUANYA, kembalikan kedua deskripsi seperti panduan di atas dalam format YAML
  4. Generate UGC avatar image and upload

    The PROMPT PRODUK REVIEW node generates an image prompt (English output, no quotes) from the YAML analysis, requiring 9:16 mobile aspect ratio, natural Malaysian-person aesthetic, natural lighting, cinematic grain. The CREATE NEW IMG1 node calls WaveSpeed AI (nano-banana/edit) to generate the image, waits 65s, then GET STATUS NEW IMG1 polls for completion. Once done, UPLOAD NEW IMG V1 uploads to Cloudinary and Telegram sends a photo preview.

    Execution prompt · Source text。PROMPT PRODUK REVIEW node text parameter (user input prompt)

    =Your task: Create an image prompt as guided by your system guidelines.
    
    You shall make sure that the reference image is depicted as ACCURATELY as possible in the resulting images, especially all text.
    
    Description of the reference image:
    {{ $json.content }}
    
    # Output
    - Dalam bahasa English
    - Berikan output TANPA tambahan kata atau simbol apapun termasuk tanda kutip
    - Tanda kutip ganti dengan simbol -

    Execution prompt · Source text。PROMPT PRODUK REVIEW node messages.messageValues[0].message (system/context prompt)

    =Buat satu fotografi testimoni produk profesional berdasarkan foto produk yang diberikan, saiz output gambar mestilah menggunakan aspect_ratio 9:16 sesuai dengan phone view
    
    
    Pastikan sentiasa sertakan grain halus untuk kesan sinematik.
    
    #Arahan Utama
    
    Tentukan terlebih dahulu sama ada produk tersebut boleh dipakai atau tidak.
    
    #Tetapan Asas
    
    Hasilkan 1 babak unik review produk oleh watak utama.
    
    Watak ialah orang Malaysia sebenar yang kelihatan natural.
    
    Watak sedang memberi testimoni penggunaan produk dengan ekspresi jujur.
    
    Tiada sebarang teks atau sarikata dalam gambar (nyatakan dalam prompt).
    
    #Watak
    
    Jika watak tidak jelas, tambahkan keterangan berikut:
    
    Lelaki atau perempuan berusia 25–30 tahun cantik atau handsome, pilih jantina yang sesuai dengan produk.
    
    Gaya dan gerak-geri natural.
    Pastikan dalam gambar akhir, watak seolah-olah memegang, menyentuh, atau menggunakan produk yang sedang diulas.
    
    #Jenis Produk
    
    Fesyen: Tunjukkan model memakai pakaian atau aksesori tersebut.
    
    Perhiasan / Aksesori: Fokus pada model memakai perhiasan itu (close-up bahagian relevan).
    
    Produk yang tidak boleh dipakai: Watak hanya memegang atau membawa produk secara natural.
    
    Haiwan: Watak berdiri di sebelah haiwan dengan ekspresi ceria dan tenang.
    
    Perabot / alatan rumah: Watak menggunakan perabot atau alat tersebut mengikut fungsi sebenarnya.
    
    #Sudut & Gaya Foto
    
    Pastikan keseluruhan gambar produk kelihatan jelas dan utuh seperti asalnya.
    
    Gunakan sekurang-kurangnya 2–3 arahan kamera berikut:
    
    Paparan telefon iPhone terbaru,framing genggam,komposisi tidak simetri,cahaya semula jadi,bayangan lembut,sedikit blur pergerakan,auto exposure,tampilan tidak dipoles,grain halus
    
    #Suasana & Realisme
    
    Terima ketidaksempurnaan seperti:
    
    tekstur kulit semula jadi
    
    rambut sedikit berterabur
    
    latar belakang agak sibuk
    
    Gaya seolah-olah gambar sebenar, bukan hasil studio.
    
    Watak kelihatan tulus, santai, dan tidak berlebihan.
    
    Tiada orang lain yang memegang kamera.
    
    Deskripsi produk akan dikirimkan kepada Anda. Balas hanya dengan prompt akhir, tidak ada yang lain, wajib TANPA / TIDAK BOLEH ADA SIMBOL tanda kutip ganda.
  5. Synthesize voice and generate lip-sync video

    The TTS & CAPTION1 node (AI Agent) generates a ~10-second Malay-English mixed testimonial script and voiceover text from the product description, outputting caption + textospeech via Structured Output Parser. Analyze IMG NEW2 determines character gender; Switch GENDER routes to the matching ElevenLabs voice (male UcqZLa941Kkt8ZhEEybf / female lMSqoJeA0cBBNA9FeHAs). CLONING AUDIO nodes call eleven_multilingual_v2, then extract and convert to WAV before uploading to Cloudinary. CREATE LIPSYNC V1 calls WaveSpeed AI infinitetalk at 480p with seed=-1 and a natural-motion prompt to combine the avatar image with audio into a lip-sync video. Waits 140s then polls status.

    Execution prompt · Source text。TTS & CAPTION1 node text parameter (user input)

    =anda akan diberikan data description produk ini :
    
    {{ $('Analyze YAML').item.json.content }}

    Execution prompt · Source text。TTS & CAPTION1 node options.systemMessage parameter

    =Anda adalah **Sosial Media Manager**. anda akan diberikan **description produk dan karakter**.
    
    # Buatkan Text To Speech dan wajib dalam bahasa Malaysia mix english natural
    
    * **Konsep Automatic** (Anda yang buatkan secara kreatif tetapi mestilah masuk akal).
    * Durasi maximum **10 Saat Sahaja**.
    * Isi Text To Speech adalah **testimoni singkat atau review** yang menggambarkan pengalaman menggunakan produk di description, terasa **penuh emosi**, dan **memujuk orang lain untuk mencuba**.
    * Gunakan gaya percakapan yang **natural, menunjukkan expresi jelas, dan bersemangat**, seolah-olah anda betul-betul berpuas hati dengan produk tersebut.
    
    # Output
    
    Tulis **Hantar terus hasil akhir tanpa tambahan lain**, **tanpa tambahan kata, simbol, atau tanda kutip** di awal mahupun akhir output.

    Execution prompt · Source text。Analyze IMG NEW2 node text parameter

    =Analisis gambar yang diberikan dan tentukan gender dari karakter yang ada di gambar adakah : 
    
    - Lelaki 
    atau 
    - Perempuan
    
    # Output
    Huruf kecil semua 
    Kembalikan output tanpa ada tambahan kata atau simbol apapun
  6. Deliver final content

    After video generation completes, UPLOAD VIDEO REVIEW V1 uploads to Cloudinary, then the Send a video node delivers the final 480p UGC video via Telegram. The Send a photo message node has already sent the generated avatar image in the previous step. Users can download directly from Telegram and publish to TikTok/Instagram.

Prompt you can copy

Setup guidance · Editorial suggestion。Give to setup assistant; confirm inputs and permissions before guiding template import and testing

This block is the prompt. Ads are never placed here.

You are an n8n workflow setup assistant. The user wants to replicate the "Generate UGC video ads with GPT-4o + ElevenLabs + WaveSpeed" template. First confirm they have: n8n instance, OpenAI / ElevenLabs / WaveSpeed / Cloudinary API credentials, and a Telegram Bot. Then guide them to import the template, fill in credentials, and test by sending a product image. Note: Malay-language prompts inside nodes should stay as-is; only modify product description variables. For other language markets, replace the language requirement in TTS & CAPTION1.

Prepare all 5 API credential sets before building; test with a clear product-in-use image first time; watch ElevenLabs and WaveSpeed usage billing.

Source

Create authentic UGC video ads with GPT-4o, ElevenLabs & WaveSpeed lip-sync · mfarooqone · n8n.io · 2025-10-23

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related