{
  "id": "kWHnLZF4hto1aDdM",
  "name": "Create AI image and video posts from Telegram and publish to 7 platforms",
  "tags": [],
  "nodes": [
    {
      "id": "9575006b-9541-49dc-b60b-ac1146ecd117",
      "name": "Receive post description from Telegram",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        720,
        624
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "b2b2a46d-c84b-455a-8438-02b88efa778d",
      "name": "Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        944,
        624
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "cfg-01",
              "name": "post_description",
              "type": "string",
              "value": "={{ $('Receive post description from Telegram').item.json.message.text }}"
            },
            {
              "id": "cfg-02",
              "name": "telegram_chat_id",
              "type": "string",
              "value": "={{ $('Receive post description from Telegram').item.json.message.chat.id }}"
            },
            {
              "id": "cfg-03",
              "name": "image_model",
              "type": "string",
              "value": "openai/gpt-image-2/text-to-image"
            },
            {
              "id": "cfg-04",
              "name": "image_size",
              "type": "string",
              "value": "1024x1024"
            },
            {
              "id": "cfg-05",
              "name": "image_quality",
              "type": "string",
              "value": "high"
            },
            {
              "id": "cfg-06",
              "name": "video_model",
              "type": "string",
              "value": "bytedance/seedance-2.0/text-to-video"
            },
            {
              "id": "cfg-07",
              "name": "video_duration",
              "type": "number",
              "value": 5
            },
            {
              "id": "cfg-08",
              "name": "video_aspect_ratio",
              "type": "string",
              "value": "9:16"
            },
            {
              "id": "cfg-09",
              "name": "video_resolution",
              "type": "string",
              "value": "720p"
            },
            {
              "id": "cfg-10",
              "name": "output_language",
              "type": "string",
              "value": "French"
            },
            {
              "id": "cfg-11",
              "name": "brand_name",
              "type": "string",
              "value": "Your brand"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1df22fca-ef67-4c85-90a2-f84d0d1f13be",
      "name": "Generate platform posts",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1184,
        624
      ],
      "parameters": {
        "text": "=Create the social media content package for this post description:\n\n{{ $('Configuration').item.json.post_description }}\n\nBrand: {{ $('Configuration').item.json.brand_name }}\nOutput language for all posts and captions: {{ $('Configuration').item.json.output_language }}\n(The image_prompt and video_prompt must always be written in English.)",
        "options": {
          "systemMessage": "You are a senior social media content creator. From a single content description, you produce a complete multi-platform content package.\n\nReturn ONLY the structured output. Rules per field:\n\n- x_post: max 280 characters, punchy hook, 2-3 hashtags, no links unless provided.\n- linkedin_post: professional and insightful, 4-8 short paragraphs with line breaks, one strong idea, 3-5 hashtags at the end, clear CTA.\n- facebook_post: friendly and conversational, 2-4 sentences, 2-3 hashtags, engagement CTA (like/comment/share).\n- threads_post: casual and conversational, max 500 characters, 1-2 hashtags.\n- instagram_caption: engaging caption for a Reel, 2-3 sentences with emojis, strong first line hook, 5-8 hashtags at the end.\n- tiktok_caption: short punchy caption for a TikTok video, with emojis, 3-5 trending hashtags.\n- youtube_title: catchy YouTube Shorts title, max 90 characters, no clickbait lies.\n- youtube_description: 2-3 sentences describing the Short, 3-5 hashtags.\n- image_prompt: detailed English prompt for a text-to-image model (GPT Image 2). Describe subject, composition, style, lighting, colors. Square format. Avoid any text or lettering in the image.\n- video_prompt: detailed English prompt for a text-to-video model (Seedance 2.0) generating a 5-second VERTICAL 9:16 short video with native audio. Describe the scene, camera movement, motion, mood, and sound/audio cues. One single continuous shot, dynamic and eye-catching for Reels/TikTok/Shorts."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "53623f67-691a-4999-bb1b-1cc94b3070e1",
      "name": "GPT-4o mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1104,
        848
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "3cc5e8cd-3563-4156-acce-40795e42c20d",
      "name": "Platform posts schema",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1312,
        848
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"x_post\": { \"type\": \"string\" },\n    \"linkedin_post\": { \"type\": \"string\" },\n    \"facebook_post\": { \"type\": \"string\" },\n    \"threads_post\": { \"type\": \"string\" },\n    \"instagram_caption\": { \"type\": \"string\" },\n    \"tiktok_caption\": { \"type\": \"string\" },\n    \"youtube_title\": { \"type\": \"string\" },\n    \"youtube_description\": { \"type\": \"string\" },\n    \"image_prompt\": { \"type\": \"string\" },\n    \"video_prompt\": { \"type\": \"string\" }\n  },\n  \"required\": [\"x_post\", \"linkedin_post\", \"facebook_post\", \"threads_post\", \"instagram_caption\", \"tiktok_caption\", \"youtube_title\", \"youtube_description\", \"image_prompt\", \"video_prompt\"]\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "3d83896b-5c2b-423a-bf05-cd5f78ddc9ca",
      "name": "Create image with GPT Image 2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1520,
        320
      ],
      "parameters": {
        "url": "https://api.atlascloud.ai/api/v1/model/generateImage",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"{{ $('Configuration').item.json.image_model }}\",\n  \"prompt\": {{ JSON.stringify($('Generate platform posts').item.json.output.image_prompt) }},\n  \"size\": \"{{ $('Configuration').item.json.image_size }}\",\n  \"quality\": \"{{ $('Configuration').item.json.image_quality }}\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9a19c970-b257-4c61-9e70-d0a297795c16",
      "name": "Wait 10s for image",
      "type": "n8n-nodes-base.wait",
      "position": [
        1744,
        320
      ],
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "f1dc117e-05a5-4ca7-a24b-32c17be9a5b4",
      "name": "Get image status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1952,
        320
      ],
      "parameters": {
        "url": "=https://api.atlascloud.ai/api/v1/model/prediction/{{ $('Create image with GPT Image 2').item.json.data.id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "3744f6c5-3b9b-4a14-a8c0-4ebe0a1be8ad",
      "name": "Image ready?",
      "type": "n8n-nodes-base.if",
      "position": [
        2160,
        320
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "img-ready-1",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ ['completed','succeeded'].includes($json.data.status) }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0c8ac460-1dc7-42f6-8492-26886543f161",
      "name": "Send image preview on Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2384,
        320
      ],
      "parameters": {
        "file": "={{ $json.data.outputs[0] }}",
        "chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
        "operation": "sendPhoto",
        "additionalFields": {
          "caption": "=\ud83d\uddbc\ufe0f Image g\u00e9n\u00e9r\u00e9e pour ton post :\n\n{{ $('Generate platform posts').item.json.output.x_post }}"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a7b55136-15db-4f15-9662-da291e35d7d6",
      "name": "Ask image approval on Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2608,
        320
      ],
      "parameters": {
        "chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
        "message": "\u2705 Approuves-tu cette image ? (Refuser = r\u00e9g\u00e9n\u00e9ration automatique)",
        "options": {},
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a9a4eec7-d4dd-4048-8bf4-2fa5b13c8491",
      "name": "Image approved?",
      "type": "n8n-nodes-base.if",
      "position": [
        2832,
        320
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "img-approved-1",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "66a6ddbc-6d3d-4280-8fe3-f256e1e4e945",
      "name": "Publish image to X",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        112
      ],
      "parameters": {
        "options": {},
        "platform": "twitter",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.x_post }}",
        "postContentMediaUrls": "={{ $('Get image status').item.json.data.outputs[0] }}"
      },
      "typeVersion": 2
    },
    {
      "id": "3a2d0018-74dc-4bc8-bfb2-68551f39036b",
      "name": "Publish image to LinkedIn",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        272
      ],
      "parameters": {
        "options": {},
        "platform": "linkedin",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.linkedin_post }}",
        "postContentMediaUrls": "={{ $('Get image status').item.json.data.outputs[0] }}"
      },
      "typeVersion": 2
    },
    {
      "id": "11fc1f1e-49ba-4752-b36b-4b3d7b0c62c2",
      "name": "Publish image to Facebook",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        432
      ],
      "parameters": {
        "options": {},
        "platform": "facebook",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "facebookPageId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.facebook_post }}",
        "postContentMediaUrls": "={{ $('Get image status').item.json.data.outputs[0] }}"
      },
      "typeVersion": 2
    },
    {
      "id": "b6853bd8-dd1b-4b6f-a62d-dc773d6eb28a",
      "name": "Publish image to Threads",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        592
      ],
      "parameters": {
        "options": {},
        "platform": "threads",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.threads_post }}",
        "postContentMediaUrls": "={{ $('Get image status').item.json.data.outputs[0] }}"
      },
      "typeVersion": 2
    },
    {
      "id": "54d86bb6-d07d-4458-b02e-89f5c5df77f9",
      "name": "Merge image publications",
      "type": "n8n-nodes-base.merge",
      "position": [
        3360,
        320
      ],
      "parameters": {
        "numberInputs": 4
      },
      "typeVersion": 3
    },
    {
      "id": "73035cbe-2af3-46f0-9b07-1f3ce0ec27f4",
      "name": "Notify image published",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3584,
        320
      ],
      "parameters": {
        "text": "\u2705 Image publi\u00e9e sur X, LinkedIn, Facebook et Threads !",
        "chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "bbd50764-bd69-466b-bf42-266de3bb10d3",
      "name": "Create video with Seedance 2.0",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1520,
        1024
      ],
      "parameters": {
        "url": "https://api.atlascloud.ai/api/v1/model/generateVideo",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"{{ $('Configuration').item.json.video_model }}\",\n  \"prompt\": {{ JSON.stringify($('Generate platform posts').item.json.output.video_prompt) }},\n  \"duration\": {{ $('Configuration').item.json.video_duration }},\n  \"aspect_ratio\": \"{{ $('Configuration').item.json.video_aspect_ratio }}\",\n  \"resolution\": \"{{ $('Configuration').item.json.video_resolution }}\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "08324def-482a-4332-be1c-a9b6744ed7c7",
      "name": "Wait 30s for video",
      "type": "n8n-nodes-base.wait",
      "position": [
        1744,
        1024
      ],
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "a6e374c0-d70a-4487-a451-0edfd1eae133",
      "name": "Get video status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1952,
        1024
      ],
      "parameters": {
        "url": "=https://api.atlascloud.ai/api/v1/model/prediction/{{ $('Create video with Seedance 2.0').item.json.data.id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "a8c9be31-fc24-45ca-ae88-eb5d37e26fa1",
      "name": "Video ready?",
      "type": "n8n-nodes-base.if",
      "position": [
        2160,
        1024
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "vid-ready-1",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ ['completed','succeeded'].includes($json.data.status) }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "695b024f-0209-4e93-be66-9137b106e4b0",
      "name": "Send video preview on Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2384,
        1024
      ],
      "parameters": {
        "file": "={{ $json.data.outputs[0] }}",
        "chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
        "operation": "sendVideo",
        "additionalFields": {
          "caption": "=\ud83c\udfac Vid\u00e9o verticale g\u00e9n\u00e9r\u00e9e pour ton post :\n\n{{ $('Generate platform posts').item.json.output.instagram_caption }}"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7431879d-a62b-4aab-b448-51a6a319f98d",
      "name": "Ask video approval on Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2608,
        1024
      ],
      "parameters": {
        "chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
        "message": "\u2705 Approuves-tu cette vid\u00e9o ? (Refuser = r\u00e9g\u00e9n\u00e9ration automatique)",
        "options": {},
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3c700399-4114-46da-b14a-59756fac15ed",
      "name": "Video approved?",
      "type": "n8n-nodes-base.if",
      "position": [
        2832,
        1024
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "vid-approved-1",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "89cddf51-8211-4f89-9b8c-a8219f94ae95",
      "name": "Publish video to Instagram",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        912
      ],
      "parameters": {
        "options": {},
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.instagram_caption }}",
        "postContentMediaUrls": "={{ $('Get video status').item.json.data.outputs[0] }}"
      },
      "typeVersion": 2
    },
    {
      "id": "b89ce698-d82b-43b8-8057-69291735fa7d",
      "name": "Publish video to TikTok",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        1072
      ],
      "parameters": {
        "options": {},
        "platform": "tiktok",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.tiktok_caption }}",
        "postContentMediaUrls": "={{ $('Get video status').item.json.data.outputs[0] }}",
        "postCreateTiktokOptionIsAiGenerated": true
      },
      "typeVersion": 2
    },
    {
      "id": "59d5603a-ae14-4472-bb1f-fde35d8459de",
      "name": "Publish video to YouTube Shorts",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        3104,
        1232
      ],
      "parameters": {
        "options": {},
        "platform": "youtube",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "postContentText": "={{ $('Generate platform posts').item.json.output.youtube_description }}",
        "postContentMediaUrls": "={{ $('Get video status').item.json.data.outputs[0] }}",
        "postCreateYoutubeOptionTitle": "={{ $('Generate platform posts').item.json.output.youtube_title }}",
        "postCreateYoutubeOptionContainsSyntheticMedia": true,
        "postCreateYoutubeOptionShouldNotifySubscribers": false
      },
      "typeVersion": 2
    },
    {
      "id": "d979d530-b165-49a8-a554-f48da14f0364",
      "name": "Merge video publications",
      "type": "n8n-nodes-base.merge",
      "position": [
        3360,
        1072
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3
    },
    {
      "id": "017cc8a4-05d3-47d3-a184-cb528fb95235",
      "name": "Notify video published",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3584,
        1072
      ],
      "parameters": {
        "text": "\u2705 Vid\u00e9o publi\u00e9e sur Instagram Reels, TikTok et YouTube Shorts !",
        "chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "7caeac05-f39a-4132-bb2f-c57abe450f35",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 660,
        "height": 1240,
        "content": "# Create AI image and video posts from Telegram and publish to 7 platforms\n\n# \ud83d\udce5  [Open full documentation on Notion](https://automatisation.notion.site/Create-AI-image-and-video-posts-from-Telegram-and-publish-to-7-platforms-Course-support-3963d6550fd9814686ddfb15b306a876?source=copy_link)\n\n## How it works\n1. Send your post description to your Telegram bot \u2014 that message is the only input.\n2. GPT-4o mini writes platform-specific posts for X, LinkedIn, Facebook, Threads, Instagram, TikTok and YouTube Shorts, plus one image prompt and one video prompt.\n3. [AtlasCloud](https://www.atlascloud.ai/?ref=8QKPJE) generates in parallel a square image (GPT Image 2, \u2248$0.01/image) and a 5-second vertical 9:16 video with native audio (Seedance 2.0, \u2248$0.24/second in 720p).\n4. Each media is sent back to you on Telegram with Approve / Decline buttons. Declining regenerates that media automatically with the same prompt \u2014 the other media is not affected.\n5. Once approved, [Blotato](https://blotato.com/?ref=firas) publishes the image to X, LinkedIn, Facebook and Threads, and the video to Instagram Reels, TikTok and YouTube Shorts. You get a Telegram confirmation for each batch.\n\n## Setup\n1. Create a Telegram bot with @BotFather and add the token as a Telegram credential, used by the trigger and all Telegram nodes.\n2. Select your OpenAI credential on the GPT-4o mini node.\n3. Create an HTTP Header Auth credential (Name: `Authorization`, Value: `Bearer YOUR_ATLASCLOUD_KEY`) and select it on the 4 AtlasCloud HTTP nodes.\n4. Add your [Blotato](https://blotato.com/?ref=firas) API key as a Blotato credential and pick your connected account in each of the 7 publish nodes (plus the Facebook page).\n5. Open the Configuration node and adjust the variables (video duration, image size, output language...).\n\n## Requirements\n- Telegram bot token\n- OpenAI API key (GPT-4o mini)\n- [AtlasCloud](https://www.atlascloud.ai/?ref=8QKPJE) API key\n- Blotato account with your 7 social accounts connected\n- Self-hosted n8n or n8n Cloud with verified community nodes enabled (Blotato is a community node)\n\n## Customization\n- All adjustable variables live in the Configuration node: models, video duration, aspect ratio, resolution, image size and quality, output language, brand name.\n- Edit the system prompt in the Generate platform posts node to match your brand voice.\n- Add or remove platforms by duplicating or deleting Blotato nodes (update the Merge node input count accordingly).\n- Increase video duration for longer shorts \u2014 pricing scales per second."
      },
      "typeVersion": 1
    },
    {
      "id": "df84b1bf-7273-4e78-9432-24499cda9919",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        432
      ],
      "parameters": {
        "color": 7,
        "width": 752,
        "height": 568,
        "content": "## 1. Trigger, configuration & AI content\nSend your post description to the Telegram bot. Set every adjustable variable in **Configuration** (models, duration, sizes, language). GPT-4o mini then generates all platform posts + image & video prompts in one structured output."
      },
      "typeVersion": 1
    },
    {
      "id": "8ed269e6-abea-4239-9fde-2d3c95ef9955",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        -32
      ],
      "parameters": {
        "color": 7,
        "width": 1480,
        "height": 736,
        "content": "## 2. Image \u2014 generate, review, regenerate\nGPT Image 2 on [AtlasCloud](https://www.atlascloud.ai/?ref=8QKPJE) creates the post image (poll until ready). The image is sent to Telegram for approval: \u2705 publish \u00b7 \u274c regenerate automatically with the same prompt."
      },
      "typeVersion": 1
    },
    {
      "id": "a34fa0cd-6234-498a-9538-fd017e722568",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        752
      ],
      "parameters": {
        "color": 7,
        "width": 1480,
        "height": 636,
        "content": "## 3. Video \u2014 generate, review, regenerate\nSeedance 2.0 creates a 5s vertical 9:16 short with native audio (poll until ready). Sent to Telegram for approval: \u2705 publish \u00b7 \u274c regenerate automatically."
      },
      "typeVersion": 1
    },
    {
      "id": "66af62db-bf9a-4757-8084-8e2782078367",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2992,
        -32
      ],
      "parameters": {
        "color": 7,
        "width": 800,
        "height": 732,
        "content": "## 4. Publish image via [Blotato](https://blotato.com/?ref=firas)\nThe approved image goes to X, LinkedIn, Facebook and Threads with platform-specific texts. Select your accounts in each node."
      },
      "typeVersion": 1
    },
    {
      "id": "7362a35f-14b0-4fe7-a1a6-fc6c0564068e",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2992,
        752
      ],
      "parameters": {
        "color": 7,
        "width": 800,
        "height": 636,
        "content": "## 5. Publish video via Blotato\nThe approved vertical video goes to Instagram Reels, TikTok and YouTube Shorts. AI-generated content flags are enabled for TikTok and YouTube."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "4a4a4081-dc19-4e79-b27b-f4846d5cace8",
  "nodeGroups": [],
  "connections": {
    "GPT-4o mini": {
      "ai_languageModel": [
        [
          {
            "node": "Generate platform posts",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Image ready?": {
      "main": [
        [
          {
            "node": "Send image preview on Telegram",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 10s for image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Video ready?": {
      "main": [
        [
          {
            "node": "Send video preview on Telegram",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 30s for video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Configuration": {
      "main": [
        [
          {
            "node": "Generate platform posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Image approved?": {
      "main": [
        [
          {
            "node": "Publish image to X",
            "type": "main",
            "index": 0
          },
          {
            "node": "Publish image to LinkedIn",
            "type": "main",
            "index": 0
          },
          {
            "node": "Publish image to Facebook",
            "type": "main",
            "index": 0
          },
          {
            "node": "Publish image to Threads",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create image with GPT Image 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Video approved?": {
      "main": [
        [
          {
            "node": "Publish video to Instagram",
            "type": "main",
            "index": 0
          },
          {
            "node": "Publish video to TikTok",
            "type": "main",
            "index": 0
          },
          {
            "node": "Publish video to YouTube Shorts",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create video with Seedance 2.0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get image status": {
      "main": [
        [
          {
            "node": "Image ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get video status": {
      "main": [
        [
          {
            "node": "Video ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish image to X": {
      "main": [
        [
          {
            "node": "Merge image publications",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 10s for image": {
      "main": [
        [
          {
            "node": "Get image status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30s for video": {
      "main": [
        [
          {
            "node": "Get video status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Platform posts schema": {
      "ai_outputParser": [
        [
          {
            "node": "Generate platform posts",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Generate platform posts": {
      "main": [
        [
          {
            "node": "Create image with GPT Image 2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create video with Seedance 2.0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish video to TikTok": {
      "main": [
        [
          {
            "node": "Merge video publications",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Merge image publications": {
      "main": [
        [
          {
            "node": "Notify image published",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge video publications": {
      "main": [
        [
          {
            "node": "Notify video published",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish image to Threads": {
      "main": [
        [
          {
            "node": "Merge image publications",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Publish image to Facebook": {
      "main": [
        [
          {
            "node": "Merge image publications",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Publish image to LinkedIn": {
      "main": [
        [
          {
            "node": "Merge image publications",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Publish video to Instagram": {
      "main": [
        [
          {
            "node": "Merge video publications",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create image with GPT Image 2": {
      "main": [
        [
          {
            "node": "Wait 10s for image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ask image approval on Telegram": {
      "main": [
        [
          {
            "node": "Image approved?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ask video approval on Telegram": {
      "main": [
        [
          {
            "node": "Video approved?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create video with Seedance 2.0": {
      "main": [
        [
          {
            "node": "Wait 30s for video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send image preview on Telegram": {
      "main": [
        [
          {
            "node": "Ask image approval on Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send video preview on Telegram": {
      "main": [
        [
          {
            "node": "Ask video approval on Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Publish video to YouTube Shorts": {
      "main": [
        [
          {
            "node": "Merge video publications",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Receive post description from Telegram": {
      "main": [
        [
          {
            "node": "Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}