{
  "name": "Generate UGC promo videos with OpenAI, Sora 2 and Blotato for eCommerce",
  "nodes": [
    {
      "id": "9e45bc31-7369-48b0-8d37-93cf2faa5418",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -25824,
        2112
      ]
    },
    {
      "id": "d118bd83-021e-470c-b6e2-f45fdced945b",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -25504,
        2112
      ]
    },
    {
      "id": "f6b90f3d-c3a2-4ac4-94ec-dbcad40cc333",
      "name": "Parse Script Response",
      "type": "n8n-nodes-base.code",
      "position": [
        -24256,
        2112
      ]
    },
    {
      "id": "5ab4832e-f0f0-48c6-961e-066ef12b23a9",
      "name": "Submit to Sora 2 API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -25824,
        2416
      ]
    },
    {
      "id": "14948abc-ed10-44d4-92c8-02ccc2c6c207",
      "name": "Extract Video Job ID",
      "type": "n8n-nodes-base.code",
      "position": [
        -25600,
        2416
      ]
    },
    {
      "id": "1522a6fd-be95-4fe2-910f-57e60e19ac64",
      "name": "Wait 15 Seconds",
      "type": "n8n-nodes-base.wait",
      "position": [
        -25376,
        2416
      ]
    },
    {
      "id": "4f83db5c-7a5a-4fc9-9a5a-a1239caa6c57",
      "name": "Check Video Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -25152,
        2416
      ]
    },
    {
      "id": "ad3a9068-d0f2-4982-8093-bf8d4c332409",
      "name": "Parse Status Response",
      "type": "n8n-nodes-base.code",
      "position": [
        -24928,
        2416
      ]
    },
    {
      "id": "d684fc56-82ab-4c97-b53f-4068526a9f6d",
      "name": "Check If Complete",
      "type": "n8n-nodes-base.if",
      "position": [
        -24256,
        2416
      ]
    },
    {
      "id": "631abf93-a412-4769-9161-941e666fb3bb",
      "name": "Download Video File",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -23808,
        2400
      ]
    },
    {
      "id": "9c4e387d-d47b-44b2-9fd4-2b08cf029a43",
      "name": "Send Video to Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -25296,
        2864
      ]
    },
    {
      "id": "2dad18e3-3b7a-47f6-b948-4c327fa60c1d",
      "name": "Send Error Message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -24016,
        2432
      ]
    },
    {
      "id": "dcfa0e97-1b56-48a4-aacc-bf0f7dfb1257",
      "name": "Analyze Product Image (Vision API)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -24832,
        2112
      ]
    },
    {
      "id": "918f735a-2b6a-4515-8c6f-61778196300f",
      "name": "Get Photo File from Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -25056,
        2112
      ]
    },
    {
      "id": "9cae8d6a-31a4-462d-8482-93ac5b591125",
      "name": "Extract Photo and text",
      "type": "n8n-nodes-base.set",
      "position": [
        -25280,
        2112
      ]
    },
    {
      "id": "ea8c58ec-28d1-47ac-b891-5f520a197d47",
      "name": "Generate UGC Script (OpenAI)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -24608,
        2112
      ]
    },
    {
      "id": "cf8da3a8-e430-42b9-bcbe-d771ff736a85",
      "name": "Build Public Image URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -24832,
        1952
      ]
    },
    {
      "id": "e8db0d52-21e4-47a1-bf83-2b90fadeeddd",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -23824,
        2096
      ]
    },
    {
      "id": "34552393-86ff-4988-b40a-dae3c0d0d34b",
      "name": "Step 5 - Publishing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -25904,
        2672
      ],
      "parameters": {
        "width": 2220,
        "height": 404,
        "content": "# 📤 STEP 5: PUBLISHING & TRACKING\n\n### Install the Blotato [Blotato](https://blotato.com/?ref=firas) Node in n8n (Community Nodes)\n1. In n8n, open **Settings → Community Nodes**.  \n2. Click **Install*"
      }
    },
    {
      "id": "cb7916cc-10d4-435d-a893-6d6a613811b5",
      "name": "Upload Video to BLOTATO",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24720,
        2864
      ]
    },
    {
      "id": "8fa12c0b-cceb-4ef0-80d4-533435d017f1",
      "name": "Youtube",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24192,
        2864
      ]
    },
    {
      "id": "c85dd58e-e7c3-49fe-bc5b-56db1931ce02",
      "name": "Tiktok",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24512,
        2704
      ]
    },
    {
      "id": "7862107b-f886-4d41-8f2e-0523f7a8f2ce",
      "name": "Linkedin",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24352,
        2704
      ]
    },
    {
      "id": "6cd5c506-f060-4d32-8425-383ff2b030b7",
      "name": "Facebook",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24192,
        2704
      ]
    },
    {
      "id": "6560abd1-2f85-492b-bd6c-22b80dff52d1",
      "name": "Instagram",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24512,
        2864
      ]
    },
    {
      "id": "9d7bce3c-c612-4f2d-aee0-04cd913a95b0",
      "name": "Twitter (X)",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -24352,
        2864
      ]
    },
    {
      "id": "7b249aeb-b539-45d2-ba07-c6b41de4f491",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        -23984,
        2720
      ]
    },
    {
      "id": "4ae0f34b-7d81-426c-9b8f-4a01ad24409a",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -23824,
        2784
      ]
    },
    {
      "id": "41eb8c26-670d-4940-9bc9-ba90613e74c2",
      "name": "Generate Caption with GPT-4",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -25072,
        2864
      ]
    },
    {
      "id": "ac940182-725e-4875-be7a-45f874be7f7b",
      "name": "Step 1 - Telegram Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -25408,
        1120
      ],
      "parameters": {
        "width": 420,
        "height": 820,
        "content": "# 📱 STEP 1: TELEGRAM BOT SETUP\n\n## 📄 **Documentation**: [Notion Guide](https://automatisation.notion.site/Generate-UGC-Promo-Videos-with-Blotato-and-Sora-2-for-eCommerce-2a23d6550fd980898426fe195192da"
      }
    },
    {
      "id": "41d17c01-3d6b-4390-a3e0-ddbe5e1e011c",
      "name": "Step 2 - Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -24976,
        1120
      ],
      "parameters": {
        "width": 420,
        "height": 820,
        "content": "# ⚙️ STEP 2: API KEYS CONFIGURATION\n\n## Workflow Configuration Node:\nThis node stores all API keys and settings.\n\n### 1. FAL.ai API Key:\n• Go to https://fal.ai/\n• Sign up / Log in\n• Navigate to Dashbo"
      }
    },
    {
      "id": "334f22f1-d976-4c69-9d08-803a94e395eb",
      "name": "Step 3 - AI Analysis",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -24544,
        1120
      ],
      "parameters": {
        "width": 420,
        "height": 820,
        "content": "# 🤖 STEP 3: AI ANALYSIS & SCRIPT GENERATION\n\n## How It Works:\n\n### Extract Photo and Text:\n• Extracts the highest quality photo from Telegram\n• Captures your promotion text/caption\n\n### Get Photo File"
      }
    },
    {
      "id": "76c4ca21-2f00-4ecc-ac7b-1fbb05f2b8df",
      "name": "Step 4 - Video Generation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -24112,
        1120
      ],
      "parameters": {
        "width": 420,
        "height": 820,
        "content": "# 🎥 STEP 4: VIDEO GENERATION WITH SORA 2\n\n## Process Flow:\n\n### 1. Submit to Sora 2 API:\n• Sends image URL + script to FAL.ai\n• Uses Sora 2 image-to-video model\n• Returns job request_id\n\n### 2. Pollin"
      }
    },
    {
      "id": "3cab5acb-c563-4dd6-bea5-8e379eb184d3",
      "name": "Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -25904,
        1120
      ],
      "parameters": {
        "width": 480,
        "height": 816,
        "content": "# 🎬 AUTOMATED UGC VIDEO GENERATOR\n\n### 🎥 Watch This Tutorial\n\n@[youtube](SZMWXW8Vk8E)\n\n## 📋 What This Workflow Does:\nTransforms product images into professional UGC marketing videos automatically:\n\n1️"
      }
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Submit to Sora 2 API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tiktok": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Youtube": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "Facebook": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Linkedin": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Instagram": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Twitter (X)": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "Wait 15 Seconds": {
      "main": [
        [
          {
            "node": "Check Video Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Complete": {
      "main": [
        [
          {
            "node": "Download Video File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 15 Seconds",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Error Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Video Status": {
      "main": [
        [
          {
            "node": "Parse Status Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video File": {
      "main": [
        [
          {
            "node": "Send Video to Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Video Job ID": {
      "main": [
        [
          {
            "node": "Wait 15 Seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit to Sora 2 API": {
      "main": [
        [
          {
            "node": "Extract Video Job ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Script Response": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Parse Status Response": {
      "main": [
        [
          {
            "node": "Check If Complete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Public Image URL": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Photo and text": {
      "main": [
        [
          {
            "node": "Get Photo File from Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Video to Telegram": {
      "main": [
        [
          {
            "node": "Generate Caption with GPT-4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Extract Photo and text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Video to BLOTATO": {
      "main": [
        [
          {
            "node": "Tiktok",
            "type": "main",
            "index": 0
          },
          {
            "node": "Linkedin",
            "type": "main",
            "index": 0
          },
          {
            "node": "Facebook",
            "type": "main",
            "index": 0
          },
          {
            "node": "Instagram",
            "type": "main",
            "index": 0
          },
          {
            "node": "Twitter (X)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Youtube",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Caption with GPT-4": {
      "main": [
        [
          {
            "node": "Upload Video to BLOTATO",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate UGC Script (OpenAI)": {
      "main": [
        [
          {
            "node": "Parse Script Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Photo File from Telegram": {
      "main": [
        [
          {
            "node": "Analyze Product Image (Vision API)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Build Public Image URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Product Image (Vision API)": {
      "main": [
        [
          {
            "node": "Generate UGC Script (OpenAI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}