{
  "id": "U6YpMk689YxKedre",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "\ud83d\udca5 HeyGen - From Idea to Post: GPT-5 Video Automation for YouTube, TikTok & Instagram - vide",
  "tags": [],
  "nodes": [
    {
      "id": "2db3bc49-9f08-4d3c-909f-eed7e09abbc1",
      "name": "ID Avatar",
      "type": "n8n-nodes-base.set",
      "position": [
        -2000,
        32
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2e9ea966-70fc-4477-b859-92c783610c6a",
              "name": "id_avatar",
              "type": "string",
              "value": "={{ $json['ID AVATAR'] }}"
            },
            {
              "id": "ea14b33c-a1cf-4000-bb1b-7bae0bad74ac",
              "name": "voice_url",
              "type": "string",
              "value": "={{ $('TmpFiles: Upload Voice (Public URL)').item.json.data.url.replace('org/', 'org/dl/') }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "440c3c87-ca02-464c-abe7-1c7d868b20a6",
      "name": "Upload Video to BLOTATO",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -2368,
        752
      ],
      "parameters": {
        "mediaUrl": "=https://drive.google.com/uc?export=download&id={{ $json.final_google_drive_url }}",
        "resource": "media"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "15274c58-baf4-485a-84e1-150e29d2c70f",
      "name": "Youtube",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1360,
        528
      ],
      "parameters": {
        "options": {},
        "platform": "youtube",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "8047",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/8047",
          "cachedResultName": "DR FIRASS (Dr. Firas)"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}",
        "postCreateYoutubeOptionTitle": "={{ $('Google Sheets - Read Post Data').item.json.Title }}",
        "postCreateYoutubeOptionPrivacyStatus": "private",
        "postCreateYoutubeOptionShouldNotifySubscribers": false
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "b82db960-143b-415b-845c-067681020db9",
      "name": "Tiktok",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1936,
        352
      ],
      "parameters": {
        "options": {},
        "platform": "tiktok",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "9332",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/9332",
          "cachedResultName": "docteur.firas"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "9aa4aea3-b286-45b9-a18d-b279d78230fa",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -976,
        432
      ],
      "parameters": {
        "mode": "chooseBranch",
        "numberInputs": 9
      },
      "typeVersion": 3.2
    },
    {
      "id": "b4f8f770-1372-403e-88a0-32a855f6196b",
      "name": "Linkedin",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1664,
        352
      ],
      "parameters": {
        "options": {},
        "platform": "linkedin",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1446",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1446",
          "cachedResultName": "Samuel Amalric"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3bdc5eb3-bf09-44b3-8a61-facaf90bac2f",
      "name": "Facebook",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1360,
        352
      ],
      "parameters": {
        "options": {},
        "platform": "facebook",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1759",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1759",
          "cachedResultName": "Firass Ben"
        },
        "facebookPageId": {
          "__rl": true,
          "mode": "list",
          "value": "101603614680195",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1759/subaccounts/101603614680195",
          "cachedResultName": "Dr. Firas"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "62a23925-dd2e-4290-8f14-044630963873",
      "name": "Instagram",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1936,
        528
      ],
      "parameters": {
        "options": {
          "instagramMediaType": "reel"
        },
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "7341",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/7341",
          "cachedResultName": "doc.firass"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "c83c16b9-2611-4400-a405-0ab01e399195",
      "name": "Threads",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1936,
        720
      ],
      "parameters": {
        "options": {},
        "platform": "threads",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "2280",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/2280",
          "cachedResultName": "doc.firass"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2ae7d7ea-e809-4c07-8147-34c8ff532270",
      "name": "Bluesky",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1664,
        720
      ],
      "parameters": {
        "options": {},
        "platform": "bluesky",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "6012",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/6012",
          "cachedResultName": "formationinternet.bsky.social"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "1d7e7c2c-fea3-4dda-9b47-9cbc47e0bead",
      "name": "Pinterest",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1360,
        720
      ],
      "parameters": {
        "options": {},
        "platform": "pinterest",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "363",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/363",
          "cachedResultName": "formationinternet2022"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "pinterestBoardId": {
          "__rl": true,
          "mode": "id",
          "value": "1146658823815436667"
        },
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5f79c2a7-aa12-494d-91d1-ab2abc0aceef",
      "name": "Twitter (X)",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        -1664,
        528
      ],
      "parameters": {
        "options": {},
        "platform": "twitter",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1289",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1289",
          "cachedResultName": "Docteur_Firas"
        },
        "postContentText": "={{ $('Google Sheets - Read Post Data').item.json.Caption }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "be45a4af-f217-43c0-a82a-b8833c25b169",
      "name": "Get Google Drive ID",
      "type": "n8n-nodes-base.set",
      "position": [
        -2368,
        544
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1750d20-2f6e-4826-80b8-654d0985120d",
              "name": "final_google_drive_url",
              "type": "string",
              "value": "={{ $json['URL VIDEO FINAL'].match(/https:\\/\\/drive\\.google\\.com\\/file\\/d\\/([A-Za-z0-9_-]+)/i)[1] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "be173270-8167-4dab-b04d-f9ef1f8f0a69",
      "name": "Google Sheets - Update Status",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -752,
        352
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Posted",
            "ID VOICE": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.voice.file_unique_id }}"
          },
          "schema": [
            {
              "id": "ID VOICE",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID VOICE",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VOICE",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "URL VOICE",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Caption",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VIDEO FINAL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "URL VIDEO FINAL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID VOICE"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "3642fb52-da0a-4036-9f31-ca7a4c755933",
      "name": "OpenAI - Transcribe Video to Text",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -1888,
        -528
      ],
      "parameters": {
        "options": {
          "language": "fr",
          "temperature": 0
        },
        "resource": "audio",
        "operation": "transcribe"
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "f5671039-1376-4edc-86bd-dd5dce7462ca",
      "name": "AI Agent - Generate Title & Caption",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1072,
        -528
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "options": {
          "systemMessage": "=You will create a concise Title and a short Caption using ONLY the TRANSCRIPTION below. Do not invent new content. Detect the language from the TRANSCRIPTION and write in that same language. No emojis. No hashtags.\n\nRULES\n- Title: clear, compelling, faithful to the content. Aim \u2264 70 characters. No clickbait. No emojis/hashtags.\n- Caption: \u2264 200 characters (characters, not words). Crisp, adds context or a takeaway. No emojis/hashtags.\n- Keep facts aligned with the TRANSCRIPTION. No external info.\n- Output JSON only on a single line. No markdown, no explanations.\n\nFINAL OUTPUT (single line JSON):\n{\"title\":\"<TITLE>\", \"caption\":\"<CAPTION>\"}\n\nTRANSCRIPTION:\n{{ $json.text }}\n\nUse the Google Sheets tool to save the generated title and caption for this video.\n\n\n\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "9487e768-6352-4135-9bf8-392a3363b594",
      "name": "OpenAI Model GPT-5",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1168,
        -288
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "359022f8-0f97-4b14-8c53-80b40a962d14",
      "name": "LangChain - Think Tool",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        -992,
        -288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "523dab0e-f7a1-4fa5-b37c-6f97101f8747",
      "name": "Google Sheets - Update Title & Caption",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -768,
        -288
      ],
      "parameters": {
        "columns": {
          "value": {
            "Title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
            "Caption": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Caption', ``, 'string') }}",
            "ID VOICE": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.voice.file_unique_id }}"
          },
          "schema": [
            {
              "id": "ID VOICE",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID VOICE",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VOICE",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "URL VOICE",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Caption",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VIDEO FINAL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "URL VIDEO FINAL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID VOICE"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "1fb99f4c-f380-4458-a380-1cc6144c8cef",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2496,
        -624
      ],
      "parameters": {
        "width": 1040,
        "height": 512,
        "content": "# Step 1 \u2014 Capture & Transcribe Voice Input"
      },
      "typeVersion": 1
    },
    {
      "id": "16a947a8-f7e0-4c3d-b0c7-529736ba613a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1424,
        -624
      ],
      "parameters": {
        "width": 912,
        "height": 512,
        "content": "# Step 2 \u2014 Generate Title & Caption with GPT\u20115\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3fa62cb8-37cb-4e3e-8d1a-6ba90ef72ac3",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2480,
        -80
      ],
      "parameters": {
        "color": 4,
        "width": 1984,
        "height": 320,
        "content": "# Step 3 \u2014 Create AI Avatar Video (HeyGen)"
      },
      "typeVersion": 1
    },
    {
      "id": "a4b71152-9149-4e23-9617-679c735ae5e0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2496,
        272
      ],
      "parameters": {
        "width": 1976,
        "height": 664,
        "content": "# \ud83d\ude80 Step 4 \u2014 Auto-Publish to 9 Social Platforms"
      },
      "typeVersion": 1
    },
    {
      "id": "d9a4a1d4-7003-4224-aeaf-14c51424e708",
      "name": "Telegram Trigger: Receive Voice Message",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -2416,
        -304
      ],
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "19af066c-70cb-4b08-8d19-379fa55e3155",
      "name": "Telegram: Download Voice",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -2096,
        -304
      ],
      "parameters": {
        "fileId": "={{ $json.message.voice.file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "207d7876-9643-402f-987c-34a7ee23bebf",
      "name": "Google Drive: Upload Voice",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -1888,
        -304
      ],
      "parameters": {
        "name": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.voice.file_unique_id }}",
        "driveId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "bedd5e5d-9640-4a68-88d3-4d7f73d0105f",
      "name": "Google Sheets: Log Voice Metadata",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1680,
        -304
      ],
      "parameters": {
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "77b47473-dd1c-40cd-8dde-a5026bfa2aa1",
      "name": "HeyGen: List Avatars",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2400,
        -528
      ],
      "parameters": {
        "url": "https://api.heygen.com/v2/avatars",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "333173a3-b228-408a-879a-68bf77e9e405",
      "name": "Google Sheets: Read Avatar Config",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -2208,
        32
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "d7e161d5-24f8-4edf-9b58-4e8f76b29a9f",
      "name": "HeyGen: Generate Avatar Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1792,
        32
      ],
      "parameters": {
        "url": "https://api.heygen.com/v2/video/generate",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"video_inputs\": [\n    {\n      \"character\": {\n        \"type\": \"avatar\",\n        \"avatar_id\": \"{{ $json.id_avatar }}\",\n        \"avatar_style\": \"normal\"\n      },\n      \"voice\": {\n        \"type\": \"audio\",\n        \"audio_url\": \"{{ $json.voice_url }}\"\n      }\n    }\n  ],\n  \"dimension\": {\n    \"width\": 1280,\n    \"height\": 720\n  }\n} ",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {}
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1748dcb8-1d0e-4a6e-a0b7-1acae000354d",
      "name": "Wait for Rendering",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1568,
        32
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "f51b59d0-ba68-4ecf-913f-dc149aa681c5",
      "name": "HeyGen: Check Video Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1376,
        32
      ],
      "parameters": {
        "url": "=https://api.heygen.com/v1/video_status.get?video_id={{ $('HeyGen: Generate Avatar Video').item.json.data.video_id }}",
        "options": {},
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3e22c59e-9d6d-43c3-ad61-f87bfdf066c3",
      "name": "If: Video Completed?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1152,
        32
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d5963870-0093-4333-b2a6-39ddd9803a6a",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "fe79be96-12a0-48c5-99ea-f8ae6b80f689",
      "name": "TmpFiles: Upload Voice (Public URL)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2416,
        32
      ],
      "parameters": {
        "url": "https://tmpfiles.org/api/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e0034420-7318-427a-9751-46014bbcb64f",
      "name": "HTTP: Download Final Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -912,
        32
      ],
      "parameters": {
        "url": "={{ $json.data.video_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "4ac46b2e-c880-4f9b-a321-2e17c2adc3c6",
      "name": "Google Drive: Upload Final Video",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -672,
        32
      ],
      "parameters": {
        "name": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.voice.file_unique_id }}",
        "driveId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "7c598e65-3a06-4865-959c-31315105801e",
      "name": "Google Sheets: Save Final Video URL",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -2368,
        352
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID VOICE": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.voice.file_unique_id }}",
            "row_number": 0,
            "URL VIDEO FINAL": "={{ $json.webViewLink }}"
          },
          "schema": [
            {
              "id": "ID VOICE",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID VOICE",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VOICE",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "URL VOICE",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VIDEO FINAL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "URL VIDEO FINAL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID VOICE"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "080a32d5-3f2a-4875-a1fa-1d896e29e026",
      "name": "Telegram: Send Post Confirmation",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -752,
        560
      ],
      "parameters": {
        "text": "Posted",
        "chatId": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bdd96b94-5b10-4443-a6d9-e8d39e2d0584",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -624
      ],
      "parameters": {
        "color": 6,
        "width": 508,
        "height": 1556,
        "content": "# \ud83c\udfac From Idea to Post: GPT-5 Video Automation for YouTube, TikTok & Instagram  \n\nTurn a simple idea into a **viral video** and auto-publish it across platforms using  \n**GPT-5**, **HeyGen**, **Blotato**, **Google Sheets**, and **n8n**.  \n\n---\n\n### \ud83c\udfa5 Full Tutorial  \n[![Watch on YouTube](https://img.youtube.com/vi/J13Mvv_qGd0/hqdefault.jpg)](https://youtu.be/J13Mvv_qGd0)  \n\ud83d\udc49 [Click here to watch the full YouTube tutorial](https://youtu.be/J13Mvv_qGd0)\n\n---\n\n### \ud83d\udcd8 Documentation  \nAccess detailed setup instructions, API config, platform connection guides, and workflow customization tips:\n\n\ud83d\udcce [Open the full documentation on Notion](https://automatisation.notion.site/Blotato-2473d6550fd980e19983f69611a80a0d?source=copy_link)\n\n---\n\n## \u2699\ufe0f Requirements\n\n1. \u2705 **Create a [Blotato](https://blotato.com/?ref=firas) account** (Pro plan required for API access)  \n2. \ud83d\udd11 **Generate your Blotato API Key** via: `Settings > API > Generate API Key`  \n3. \ud83d\udce6 **Enable \u201cVerified Community Nodes\u201d** in the n8n admin settings  \n4. \ud83e\udde9 **Install the Blotato** verified community node in n8n  \n5. \ud83d\udee0 **Create a Blotato API credential** inside your n8n credentials tab  \n6. \ud83d\udcc4 **Duplicate this [Google Sheet template](https://docs.google.com/spreadsheets/d/1hZd1fuKeP8MnD7yZmWKzdmnUinZOl85E2PjoCFUaawE/edit?usp=sharing)**  \n7. \u2601\ufe0f **Make sure your Google Drive folder is PUBLIC** (anyone with the link can access)  \n8. \ud83d\udccc **Complete the 3 brown sticky note steps** inside the workflow editor\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "57733350-dbf6-44a2-8585-5391496c5ce7",
      "name": "Google Sheets - Read Post Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -2160,
        352
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.voice.file_unique_id }}",
              "lookupColumn": "ID VOICE"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "ae564e1f-4081-4047-9524-4e609a2ca53e",
      "name": "Telegram: Send Final Video",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -752,
        768
      ],
      "parameters": {
        "file": "={{ $('Upload Video to BLOTATO').item.json.url }}",
        "chatId": "={{ $('Telegram Trigger: Receive Voice Message').item.json.message.chat.id }}",
        "operation": "sendVideo",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "04b35049-afd3-4f4e-b056-a3012a4a03f0",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Google Sheets - Update Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tiktok": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Bluesky": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 7
          }
        ]
      ]
    },
    "Threads": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 6
          }
        ]
      ]
    },
    "Youtube": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "Facebook": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Linkedin": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "ID Avatar": {
      "main": [
        [
          {
            "node": "HeyGen: Generate Avatar Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Instagram": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Pinterest": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 8
          }
        ]
      ]
    },
    "Twitter (X)": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "OpenAI Model GPT-5": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - Generate Title & Caption",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Rendering": {
      "main": [
        [
          {
            "node": "HeyGen: Check Video Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Google Drive ID": {
      "main": [
        [
          {
            "node": "Upload Video to BLOTATO",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If: Video Completed?": {
      "main": [
        [
          {
            "node": "HTTP: Download Final Video",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait for Rendering",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LangChain - Think Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent - Generate Title & Caption",
            "type": "ai_tool",
            "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
          },
          {
            "node": "Threads",
            "type": "main",
            "index": 0
          },
          {
            "node": "Bluesky",
            "type": "main",
            "index": 0
          },
          {
            "node": "Pinterest",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram: Download Voice": {
      "main": [
        [
          {
            "node": "Google Drive: Upload Voice",
            "type": "main",
            "index": 0
          },
          {
            "node": "TmpFiles: Upload Voice (Public URL)",
            "type": "main",
            "index": 0
          },
          {
            "node": "OpenAI - Transcribe Video to Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive: Upload Voice": {
      "main": [
        [
          {
            "node": "Google Sheets: Log Voice Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP: Download Final Video": {
      "main": [
        [
          {
            "node": "Google Drive: Upload Final Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HeyGen: Check Video Status": {
      "main": [
        [
          {
            "node": "If: Video Completed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Update Status": {
      "main": [
        [
          {
            "node": "Telegram: Send Post Confirmation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HeyGen: Generate Avatar Video": {
      "main": [
        [
          {
            "node": "Wait for Rendering",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Read Post Data": {
      "main": [
        [
          {
            "node": "Get Google Drive ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive: Upload Final Video": {
      "main": [
        [
          {
            "node": "Google Sheets: Save Final Video URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram: Send Post Confirmation": {
      "main": [
        [
          {
            "node": "Telegram: Send Final Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets: Log Voice Metadata": {
      "main": [
        []
      ]
    },
    "Google Sheets: Read Avatar Config": {
      "main": [
        [
          {
            "node": "ID Avatar",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI - Transcribe Video to Text": {
      "main": [
        [
          {
            "node": "AI Agent - Generate Title & Caption",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - Generate Title & Caption": {
      "main": [
        []
      ]
    },
    "Google Sheets: Save Final Video URL": {
      "main": [
        [
          {
            "node": "Google Sheets - Read Post Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "TmpFiles: Upload Voice (Public URL)": {
      "main": [
        [
          {
            "node": "Google Sheets: Read Avatar Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Update Title & Caption": {
      "ai_tool": [
        [
          {
            "node": "AI Agent - Generate Title & Caption",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger: Receive Voice Message": {
      "main": [
        [
          {
            "node": "Telegram: Download Voice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}