Guest User

n8n video automation

a guest
Nov 16th, 2025
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 40.24 KB | None | 0 0
  1. {
  2.   "name": "Scrptly Reel Maker",
  3.   "nodes": [
  4.     {
  5.       "parameters": {},
  6.       "type": "n8n-nodes-base.manualTrigger",
  7.       "typeVersion": 1,
  8.       "position": [
  9.         -1536,
  10.         416
  11.       ],
  12.       "id": "587d63f9-2471-4260-b7fa-d1a46323fccf",
  13.       "name": "When clicking ‘Execute workflow’"
  14.     },
  15.     {
  16.       "parameters": {
  17.         "prompt": "=You need to generate a portrait video ad of 12 seconds (3 scenes each 4 seconds).\nThe video must showcase the product that is provided in the reference image.\nEach scene should be a b-roll visual effect applied to the product to create an engaging ad.\n\nFocus solely on the product with various camera movements and effects.\n\nThe resulting video must be engaging, fast paced and professionally made.\n\nYou can optionally add a simple & short narration as well.\n\nThe image needs to be fast paced, engaging and exciting.\n\nMake the whole video into a single video section.\n\nDon't add any narration, dialog, voice over, music or sound. The video must be silent.",
  18.         "context": {
  19.           "images": [
  20.             {
  21.               "url": "={{ $('Image Source').item.json.imageUrl }}"
  22.             }
  23.           ]
  24.         },
  25.         "approveUpTo": 20000
  26.       },
  27.       "type": "n8n-nodes-scrptly.scrptly",
  28.       "typeVersion": 1,
  29.       "position": [
  30.         512,
  31.         400
  32.       ],
  33.       "id": "c1a81d23-c488-498d-98d4-09ec4326d5b2",
  34.       "name": "Generate Ad Video",
  35.       "credentials": {
  36.         "scrptlyApi": {
  37.           "id": "HRqnt3hUpnerFLhX",
  38.           "name": "Scrptly account"
  39.         }
  40.       },
  41.       "onError": "continueRegularOutput"
  42.     },
  43.     {
  44.       "parameters": {
  45.         "prompt": "=Generate a portrait video of a realistic life-like casual content creator in his studio saying:\n{{ $('AiSetup').item.json.output.commentaryDialog.map(d=>\"- \"+d).join(\"\\n\") }}\n\n(don't change the dialog, use it as is)\n\nOnly generate these simple 2 scenes, nothing else. It should be simply the main character talking chest up in front of the camera in his room. Nothing in his hands, no phone, don't overlay anything on the video, no text and no images. Make the character talk steadily.\n\nThe videos must be high quality and have realistic style. The room should feature some nice neon lights and a gaming PC. The character should be engaging and enthousiastic.\n\nMake sure to position the speaker at the center of the video, to ensure that he is naturally integrated into his environment.",
  46.         "approveUpTo": 20000
  47.       },
  48.       "type": "n8n-nodes-scrptly.scrptly",
  49.       "typeVersion": 1,
  50.       "position": [
  51.         1232,
  52.         368
  53.       ],
  54.       "id": "e38f8856-0ea3-40f6-b181-931b66fca4ee",
  55.       "name": "Generate Influencer Showcase",
  56.       "credentials": {
  57.         "scrptlyApi": {
  58.           "id": "HRqnt3hUpnerFLhX",
  59.           "name": "Scrptly account"
  60.         }
  61.       },
  62.       "onError": "continueRegularOutput"
  63.     },
  64.     {
  65.       "parameters": {
  66.         "operation": "sendAndWait",
  67.         "chatId": "1911930587",
  68.         "message": "Upload a product image",
  69.         "responseType": "customForm",
  70.         "formFields": {
  71.           "values": [
  72.             {
  73.               "fieldLabel": "Image URL"
  74.             },
  75.             {
  76.               "fieldLabel": "Image File",
  77.               "fieldType": "file",
  78.               "multipleFiles": false,
  79.               "acceptFileTypes": ".jpg,.png,.jpeg"
  80.             }
  81.           ]
  82.         },
  83.         "options": {
  84.           "limitWaitTime": {
  85.             "values": {
  86.               "resumeAmount": 10,
  87.               "resumeUnit": "minutes"
  88.             }
  89.           },
  90.           "appendAttribution": false
  91.         }
  92.       },
  93.       "type": "n8n-nodes-base.telegram",
  94.       "typeVersion": 1.2,
  95.       "position": [
  96.         -1344,
  97.         416
  98.       ],
  99.       "id": "56de1622-1bbc-4d0f-b4d6-6e18d4ae4ce0",
  100.       "name": "Send message and wait for response",
  101.       "webhookId": "b94489af-78d0-4682-9e5f-13bd66b1b7e6",
  102.       "credentials": {
  103.         "telegramApi": {
  104.           "id": "A8PIDA9ejtg1ppi1",
  105.           "name": "Scrptly — Telegram account"
  106.         }
  107.       }
  108.     },
  109.     {
  110.       "parameters": {
  111.         "conditions": {
  112.           "options": {
  113.             "caseSensitive": true,
  114.             "leftValue": "",
  115.             "typeValidation": "strict",
  116.             "version": 2
  117.           },
  118.           "conditions": [
  119.             {
  120.               "id": "629e156c-3888-44fb-9afb-961318370203",
  121.               "leftValue": "={{ $input.item.binary.Image_File }}",
  122.               "rightValue": "",
  123.               "operator": {
  124.                 "type": "object",
  125.                 "operation": "exists",
  126.                 "singleValue": true
  127.               }
  128.             }
  129.           ],
  130.           "combinator": "and"
  131.         },
  132.         "options": {}
  133.       },
  134.       "type": "n8n-nodes-base.if",
  135.       "typeVersion": 2.2,
  136.       "position": [
  137.         -1152,
  138.         416
  139.       ],
  140.       "id": "d81c53d7-88b3-430f-b8bb-6dcdac0cdc87",
  141.       "name": "If Upload"
  142.     },
  143.     {
  144.       "parameters": {
  145.         "modelId": {
  146.           "__rl": true,
  147.           "value": "gpt-5-mini",
  148.           "mode": "list",
  149.           "cachedResultName": "GPT-5-MINI"
  150.         },
  151.         "responses": {
  152.           "values": [
  153.             {
  154.               "role": "system",
  155.               "content": "=You're a video creator. You will be creating a video ad for a product.\nThat product's image will be feed to you and later on to a ai video tool that will generate an ad for it.\n\n[ad]\nOnce the ad is generated, another video will be generated of a content creator promoting Scrptly.com the AI Video Agent that created the original ad.\n\n[commentaty]\nThis second video will showcase the ad of the product and how it was created.\n\nTo help in this whole process, this is what you need to do:\n\nYou will be provided an image of a product and you'll have to generate a JSON output as follows:\n\n{\n  \"name\": \"Product Name\",\n  \"adDescription\": \"Caption of the original ad video\",\n  \"commentaryDialog\": [\n    \"Here's how I made an entire luxury ad from this picture of a face cream.\",\n    \"I used script lee dot com, wrote a short prompt and uploaded the product picture.\",\n    \"Within minutes I got back this professional ad video!\"\n  ],\n  \"commentaryDescription\": \"caption of the video showcasing scrptly and the ad it was able to generate.\",\n  \"commentaryCaption\": [\n    \"POV you discovered how to create broll in seconds instead of weeks\"\n  ]\n}\n\n- commentaryDialog Adapt the commentary dialog that is provided. Keep relatively the same length as the suggested one. Be engaging. Make sure to mention \"script lee dot com\" and to mention it that way so that the TTS is able to read it properly. Make sure that the dialog is \"TTS-ready\". Keep things simple and straightforward don't use a long complicated product name, instead favor a short description such as \"shampoo\", \"swarovski necklace\"...\n\n- The descriptions will be posted on social media. So you'll have to write interesting descriptions that describe the content and also include hashtags. Choose these to target the right audience and optimise for search keywords.\n\nThe commentaryDescription is for the content creator video that will be posted on scrptly's social accounts. For reference:\nScrptly.com is an AI Video Agent that is able to generate full videos from simple prompts with optional context images. It's able to generate professional B-Roll videos, but also short films, anime videos, viral content, UGC content and much more while keeping the video consistent. Scrptly is not limited to 8-second videos, it can generate multi-minute long content while keeping character / environment / object consistency.\n\nScrptly also provides APIs and tools for automating the video creation process.\n\n- for the commentaryCaption array generate 5 different short text captions that will be added on top of the video. The goal of these is to serve as a hook, be interesting and drive engagement and get the attention and curiosity of the listener. Be creative and fun."
  156.             },
  157.             {
  158.               "type": "image",
  159.               "imageUrl": "={{ $json.imageUrl }}"
  160.             }
  161.           ]
  162.         },
  163.         "builtInTools": {},
  164.         "options": {
  165.           "textFormat": {
  166.             "textOptions": {
  167.               "type": "json_object",
  168.               "verbosity": "low"
  169.             }
  170.           }
  171.         }
  172.       },
  173.       "type": "@n8n/n8n-nodes-langchain.openAi",
  174.       "typeVersion": 2,
  175.       "position": [
  176.         -592,
  177.         432
  178.       ],
  179.       "id": "9ddce703-3306-449a-9539-74a4912839a4",
  180.       "name": "Setup Prompt",
  181.       "credentials": {
  182.         "openAiApi": {
  183.           "id": "oZDWmifpD73MpnQS",
  184.           "name": "OpenAi account"
  185.         }
  186.       }
  187.     },
  188.     {
  189.       "parameters": {
  190.         "operation": "sendAndWait",
  191.         "chatId": "1911930587",
  192.         "message": "=Ready to create the ad?\n{{ $json.output.name }}\n\n{{ $json.output.commentaryDialog.map(d=>\"- \"+d).join(\"\\n\") }}\n",
  193.         "approvalOptions": {
  194.           "values": {
  195.             "approvalType": "double"
  196.           }
  197.         },
  198.         "options": {
  199.           "limitWaitTime": {
  200.             "values": {
  201.               "resumeAmount": 45,
  202.               "resumeUnit": "minutes"
  203.             }
  204.           },
  205.           "appendAttribution": false
  206.         }
  207.       },
  208.       "type": "n8n-nodes-base.telegram",
  209.       "typeVersion": 1.2,
  210.       "position": [
  211.         -64,
  212.         416
  213.       ],
  214.       "id": "90e3e7fc-d720-4063-8f50-7ee7f4b1a2b5",
  215.       "name": "Send message and wait for response1",
  216.       "webhookId": "b94489af-78d0-4682-9e5f-13bd66b1b7e6",
  217.       "credentials": {
  218.         "telegramApi": {
  219.           "id": "A8PIDA9ejtg1ppi1",
  220.           "name": "Scrptly — Telegram account"
  221.         }
  222.       }
  223.     },
  224.     {
  225.       "parameters": {
  226.         "conditions": {
  227.           "options": {
  228.             "caseSensitive": true,
  229.             "leftValue": "",
  230.             "typeValidation": "strict",
  231.             "version": 2
  232.           },
  233.           "conditions": [
  234.             {
  235.               "id": "629e156c-3888-44fb-9afb-961318370203",
  236.               "leftValue": "={{ $json.data.approved }}",
  237.               "rightValue": "",
  238.               "operator": {
  239.                 "type": "boolean",
  240.                 "operation": "true",
  241.                 "singleValue": true
  242.               }
  243.             }
  244.           ],
  245.           "combinator": "and"
  246.         },
  247.         "options": {}
  248.       },
  249.       "type": "n8n-nodes-base.if",
  250.       "typeVersion": 2.2,
  251.       "position": [
  252.         112,
  253.         416
  254.       ],
  255.       "id": "b415975d-a4eb-436c-9129-189d87db7170",
  256.       "name": "If Upload1"
  257.     },
  258.     {
  259.       "parameters": {
  260.         "chatId": "1911930587",
  261.         "text": "Aborted...",
  262.         "additionalFields": {
  263.           "appendAttribution": false
  264.         }
  265.       },
  266.       "type": "n8n-nodes-base.telegram",
  267.       "typeVersion": 1.2,
  268.       "position": [
  269.         1968,
  270.         992
  271.       ],
  272.       "id": "47645dbf-7571-4454-9c9f-7c4b55a7fbc6",
  273.       "name": "Send a text message1",
  274.       "webhookId": "ecc08fa7-7ff1-458e-8b62-53ef9de8cc55",
  275.       "credentials": {
  276.         "telegramApi": {
  277.           "id": "A8PIDA9ejtg1ppi1",
  278.           "name": "Scrptly — Telegram account"
  279.         }
  280.       }
  281.     },
  282.     {
  283.       "parameters": {
  284.         "assignments": {
  285.           "assignments": [
  286.             {
  287.               "id": "e344b90a-567c-417b-945c-b87c6211a18a",
  288.               "name": "output",
  289.               "value": "={{ $json.output[0].content[0].text }}",
  290.               "type": "object"
  291.             }
  292.           ]
  293.         },
  294.         "options": {}
  295.       },
  296.       "type": "n8n-nodes-base.set",
  297.       "typeVersion": 3.4,
  298.       "position": [
  299.         -272,
  300.         432
  301.       ],
  302.       "id": "54443586-af21-4236-94e6-54db2dfdd060",
  303.       "name": "AiSetup"
  304.     },
  305.     {
  306.       "parameters": {
  307.         "method": "POST",
  308.         "url": "https://api.scrptly.com/renderVideo",
  309.         "authentication": "predefinedCredentialType",
  310.         "nodeCredentialType": "scrptlyApi",
  311.         "sendBody": true,
  312.         "specifyBody": "json",
  313.         "jsonBody": "={\n    \"flow\": [\n        {\n            \"statement\": \"parallel\",\n            \"actions\": [\n                [\n                    {\n                        \"statement\": \"addLayer\",\n                        \"id\": \"11ee9fda-eb68-47c4-adab-a07e53376eb2\",\n                        \"type\": \"video\",\n                        \"settings\": {\n                            \"source\": \"{{ $('Generate Influencer Showcase').item.json.resultVideoUrl }}\"\n                        },\n                        \"properties\": {},\n                        \"options\": {\n                            \"waitFor\": \"finish\"\n                        }\n                    },\n                    {\n                        \"statement\": \"addLayer\",\n                        \"id\": \"ccbf39e1-3595-4a0a-bd91-bd2e0ac88c30\",\n                        \"type\": \"video\",\n                        \"settings\": {\n                            \"source\": \"{{ $('Generate Ad Video').item.json.resultVideoUrl }}\",\n                            \"index\": 10\n                        },\n                        \"properties\": {\n                            \"volume\": 0.7\n                        },\n                        \"options\": {\n                            \"waitFor\": \"finish\"\n                        }\n                    }\n                ],\n                [\n                    {\n                        \"statement\": \"wait\",\n                        \"duration\": \"2.5s\"\n                    },\n                    {\n                        \"statement\": \"addLayer\",\n                        \"id\": \"b466772a-7a71-4a42-a4b6-935f8682c8b5\",\n                        \"type\": \"image\",\n                        \"settings\": {\n                            \"source\": \"{{ $('Image Source').item.json.imageUrl }}\"\n                        },\n                        \"properties\": {\n                            \"position\": [\n                                0.5,\n                                0.7\n                            ],\n                            \"scale\": 0.5,\n                            \"borderRadius\": 0.05\n                        },\n                        \"options\": {}\n                    },\n                    {\n                        \"statement\": \"wait\",\n                        \"duration\": \"2s\"\n                    },\n                    {\n                        \"statement\": \"removeLayer\",\n                        \"id\": \"b466772a-7a71-4a42-a4b6-935f8682c8b5\"\n                    },\n                    {\n                        \"statement\": \"wait\",\n                        \"duration\": \"1s\"\n                    },\n                    {\n                        \"statement\": \"addLayer\",\n                        \"id\": \"7478e056-8e96-4e74-b9cd-f28ab8320b65\",\n                        \"type\": \"text\",\n                        \"settings\": {\n                            \"text\": \"Scrptly.com\",\n                            \"zIndex\": 2\n                        },\n                        \"properties\": {\n                            \"position\": [\n                                0.5,\n                                0.7\n                            ],\n                            \"scale\": 0.07,\n                            \"color\": \"#FFFFFF\",\n                            \"fontWeight\": \"bold\",\n                            \"textAlign\": \"center\"\n                        },\n                        \"options\": {}\n                    },\n                    {\n                        \"statement\": \"addLayer\",\n                        \"id\": \"c2bcc014-6816-4888-846b-f4ad746e74fa\",\n                        \"type\": \"video\",\n                        \"settings\": {\n                            \"source\": \"https://assets.scrptly.com/682f42c2bc8b5d35b75d9314/fd5ba114-30aa-4201-98ab-aacfaf8bff49/ScrptlyDemoTimelapse.mp4\"\n                        },\n                        \"properties\": {\n                            \"position\": [\n                                0.5,\n                                0.75\n                            ],\n                            \"scale\": 0.9,\n                            \"borderRadius\": 0.05,\n                            \"fit\": \"contain\"\n                        },\n                        \"options\": {\n                            \"waitFor\": \"finish\"\n                        }\n                    },\n                    {\n                        \"statement\": \"removeLayer\",\n                        \"id\": \"7478e056-8e96-4e74-b9cd-f28ab8320b65\"\n                    }\n                ]\n            ]\n        }\n    ],\n    \"settings\": {\n        \"size\": {\n            \"width\": 1080,\n            \"height\": 1920\n        },\n        \"frameRate\": 30,\n        \"backgroundColor\": \"#000000\",\n        \"defaults\": {\n            \"easing\": \"easeInOut\"\n        }\n    }\n}",
  314.         "options": {}
  315.       },
  316.       "type": "n8n-nodes-base.httpRequest",
  317.       "typeVersion": 4.3,
  318.       "position": [
  319.         1824,
  320.         336
  321.       ],
  322.       "id": "d8e3394a-31d4-4a5f-a34e-fb61c4a389fa",
  323.       "name": "Edit Final Video",
  324.       "notesInFlow": true,
  325.       "credentials": {
  326.         "scrptlyApi": {
  327.           "id": "HRqnt3hUpnerFLhX",
  328.           "name": "Scrptly account"
  329.         }
  330.       },
  331.       "notes": "The flow / settings can be generated with the \"scrptly\" npm package."
  332.     },
  333.     {
  334.       "parameters": {
  335.         "method": "POST",
  336.         "url": "https://freeimage.host/api/1/upload",
  337.         "authentication": "genericCredentialType",
  338.         "genericAuthType": "httpQueryAuth",
  339.         "sendBody": true,
  340.         "contentType": "multipart-form-data",
  341.         "bodyParameters": {
  342.           "parameters": [
  343.             {
  344.               "parameterType": "formBinaryData",
  345.               "name": "source",
  346.               "inputDataFieldName": "Image_File"
  347.             }
  348.           ]
  349.         },
  350.         "options": {}
  351.       },
  352.       "type": "n8n-nodes-base.httpRequest",
  353.       "typeVersion": 4.2,
  354.       "position": [
  355.         -960,
  356.         320
  357.       ],
  358.       "id": "51749272-f1d5-45f7-89c8-00ae6d7112d7",
  359.       "name": "Upload1",
  360.       "credentials": {
  361.         "oAuth2Api": {
  362.           "id": "Mj2oppWhSeSuUj7s",
  363.           "name": "ImgUr"
  364.         },
  365.         "httpQueryAuth": {
  366.           "id": "ShLV6C0G0pdxo1dX",
  367.           "name": "FreeImage.Host"
  368.         }
  369.       }
  370.     },
  371.     {
  372.       "parameters": {
  373.         "assignments": {
  374.           "assignments": [
  375.             {
  376.               "id": "a118718b-a59a-495d-9b74-38da17d79d08",
  377.               "name": "imageUrl",
  378.               "value": "={{ $json.image?.url || $json.data[\"Image URL\"] }}",
  379.               "type": "string"
  380.             }
  381.           ]
  382.         },
  383.         "options": {}
  384.       },
  385.       "type": "n8n-nodes-base.set",
  386.       "typeVersion": 3.4,
  387.       "position": [
  388.         -768,
  389.         432
  390.       ],
  391.       "id": "8b1199df-9070-4784-a9f3-b884864fbf2f",
  392.       "name": "Image Source"
  393.     },
  394.     {
  395.       "parameters": {
  396.         "url": "={{ $('Edit Final Video').item.json.eventsUrl }}",
  397.         "sendHeaders": true,
  398.         "headerParameters": {
  399.           "parameters": [
  400.             {
  401.               "name": "Accept",
  402.               "value": "application/json"
  403.             }
  404.           ]
  405.         },
  406.         "options": {}
  407.       },
  408.       "type": "n8n-nodes-base.httpRequest",
  409.       "typeVersion": 4.3,
  410.       "position": [
  411.         2240,
  412.         336
  413.       ],
  414.       "id": "75c9be25-18bd-4f13-83fd-06536e91e5cc",
  415.       "name": "HTTP Request"
  416.     },
  417.     {
  418.       "parameters": {
  419.         "amount": 10
  420.       },
  421.       "type": "n8n-nodes-base.wait",
  422.       "typeVersion": 1.1,
  423.       "position": [
  424.         2048,
  425.         336
  426.       ],
  427.       "id": "f7b7d15b-fa7b-4a16-a3e5-b882763a10d2",
  428.       "name": "Wait",
  429.       "webhookId": "59ab7d71-4362-44d3-ac6e-655444ef61ba"
  430.     },
  431.     {
  432.       "parameters": {
  433.         "rules": {
  434.           "values": [
  435.             {
  436.               "conditions": {
  437.                 "options": {
  438.                   "caseSensitive": true,
  439.                   "leftValue": "",
  440.                   "typeValidation": "strict",
  441.                   "version": 2
  442.                 },
  443.                 "conditions": [
  444.                   {
  445.                     "leftValue": "={{ $json.status }}",
  446.                     "rightValue": "success",
  447.                     "operator": {
  448.                       "type": "string",
  449.                       "operation": "equals"
  450.                     },
  451.                     "id": "7178d306-db61-45ae-a0a6-d81c5082c9cf"
  452.                   }
  453.                 ],
  454.                 "combinator": "and"
  455.               },
  456.               "renameOutput": true,
  457.               "outputKey": "Success"
  458.             },
  459.             {
  460.               "conditions": {
  461.                 "options": {
  462.                   "caseSensitive": true,
  463.                   "leftValue": "",
  464.                   "typeValidation": "strict",
  465.                   "version": 2
  466.                 },
  467.                 "conditions": [
  468.                   {
  469.                     "id": "6c69d1f9-da1c-48d0-adcc-ba345bccd270",
  470.                     "leftValue": "={{ $json.status }}",
  471.                     "rightValue": "failed",
  472.                     "operator": {
  473.                       "type": "string",
  474.                       "operation": "equals",
  475.                       "name": "filter.operator.equals"
  476.                     }
  477.                   }
  478.                 ],
  479.                 "combinator": "and"
  480.               },
  481.               "renameOutput": true,
  482.               "outputKey": "Failed"
  483.             }
  484.           ]
  485.         },
  486.         "options": {
  487.           "fallbackOutput": "extra"
  488.         }
  489.       },
  490.       "type": "n8n-nodes-base.switch",
  491.       "typeVersion": 3.3,
  492.       "position": [
  493.         2448,
  494.         336
  495.       ],
  496.       "id": "4d939495-d157-457e-89ac-a2257d60fc89",
  497.       "name": "Switch"
  498.     },
  499.     {
  500.       "parameters": {
  501.         "chatId": "1911930587",
  502.         "text": "Failed to create final video",
  503.         "additionalFields": {
  504.           "appendAttribution": false
  505.         }
  506.       },
  507.       "type": "n8n-nodes-base.telegram",
  508.       "typeVersion": 1.2,
  509.       "position": [
  510.         2720,
  511.         432
  512.       ],
  513.       "id": "94f4c3db-0b3f-469f-8cf5-cf0cb725189e",
  514.       "name": "Send a text message3",
  515.       "webhookId": "b94489af-78d0-4682-9e5f-13bd66b1b7e6",
  516.       "credentials": {
  517.         "telegramApi": {
  518.           "id": "A8PIDA9ejtg1ppi1",
  519.           "name": "Scrptly — Telegram account"
  520.         }
  521.       }
  522.     },
  523.     {
  524.       "parameters": {
  525.         "chatId": "1911930587",
  526.         "text": "=Final video created:\n{{ $json.renderInfo.output.video }}\n",
  527.         "additionalFields": {
  528.           "appendAttribution": false
  529.         }
  530.       },
  531.       "type": "n8n-nodes-base.telegram",
  532.       "typeVersion": 1.2,
  533.       "position": [
  534.         2784,
  535.         240
  536.       ],
  537.       "id": "0ef8140f-4fe3-4236-889f-f9adbd993bec",
  538.       "name": "Send a text message4",
  539.       "webhookId": "b94489af-78d0-4682-9e5f-13bd66b1b7e6",
  540.       "credentials": {
  541.         "telegramApi": {
  542.           "id": "A8PIDA9ejtg1ppi1",
  543.           "name": "Scrptly — Telegram account"
  544.         }
  545.       }
  546.     },
  547.     {
  548.       "parameters": {
  549.         "operation": "sendAndWait",
  550.         "chatId": "1911930587",
  551.         "message": "=Ad created:\n{{ $('Generate Ad Video').item.json.resultVideoUrl }}\n\n---\n{{ $('Generate Ad Video').item.json.projectUrl }}\n\n---\nDo you want to continue?",
  552.         "responseType": "customForm",
  553.         "formFields": {
  554.           "values": [
  555.             {
  556.               "fieldLabel": "Do you approve this output?",
  557.               "fieldType": "radio",
  558.               "fieldOptions": {
  559.                 "values": [
  560.                   {
  561.                     "option": "Cancel ❌"
  562.                   },
  563.                   {
  564.                     "option": "Retry 🔁"
  565.                   },
  566.                   {
  567.                     "option": "Approve ✅"
  568.                   }
  569.                 ]
  570.               }
  571.             }
  572.           ]
  573.         },
  574.         "options": {
  575.           "limitWaitTime": {
  576.             "values": {
  577.               "resumeAmount": 45,
  578.               "resumeUnit": "minutes"
  579.             }
  580.           },
  581.           "appendAttribution": false
  582.         }
  583.       },
  584.       "type": "n8n-nodes-base.telegram",
  585.       "typeVersion": 1.2,
  586.       "position": [
  587.         688,
  588.         400
  589.       ],
  590.       "id": "c377bb1c-db05-49ea-8189-31d4c70f5208",
  591.       "name": "Send message and wait for response4",
  592.       "webhookId": "b94489af-78d0-4682-9e5f-13bd66b1b7e6",
  593.       "credentials": {
  594.         "telegramApi": {
  595.           "id": "A8PIDA9ejtg1ppi1",
  596.           "name": "Scrptly — Telegram account"
  597.         }
  598.       }
  599.     },
  600.     {
  601.       "parameters": {
  602.         "rules": {
  603.           "values": [
  604.             {
  605.               "conditions": {
  606.                 "options": {
  607.                   "caseSensitive": true,
  608.                   "leftValue": "",
  609.                   "typeValidation": "strict",
  610.                   "version": 2
  611.                 },
  612.                 "conditions": [
  613.                   {
  614.                     "leftValue": "={{ Object.values($json.data)?.[0].toLowerCase() }}",
  615.                     "rightValue": "approve",
  616.                     "operator": {
  617.                       "type": "string",
  618.                       "operation": "contains"
  619.                     },
  620.                     "id": "5ce787c5-8b78-4a2a-a41f-5cad97b31958"
  621.                   }
  622.                 ],
  623.                 "combinator": "and"
  624.               },
  625.               "renameOutput": true,
  626.               "outputKey": "Approve"
  627.             },
  628.             {
  629.               "conditions": {
  630.                 "options": {
  631.                   "caseSensitive": true,
  632.                   "leftValue": "",
  633.                   "typeValidation": "strict",
  634.                   "version": 2
  635.                 },
  636.                 "conditions": [
  637.                   {
  638.                     "id": "d807467c-ed66-42f7-b4dc-978262066967",
  639.                     "leftValue": "={{ Object.values($json.data)?.[0].toLowerCase() }}",
  640.                     "rightValue": "retry",
  641.                     "operator": {
  642.                       "type": "string",
  643.                       "operation": "contains"
  644.                     }
  645.                   }
  646.                 ],
  647.                 "combinator": "and"
  648.               },
  649.               "renameOutput": true,
  650.               "outputKey": "Retry"
  651.             },
  652.             {
  653.               "conditions": {
  654.                 "options": {
  655.                   "caseSensitive": true,
  656.                   "leftValue": "",
  657.                   "typeValidation": "strict",
  658.                   "version": 2
  659.                 },
  660.                 "conditions": [
  661.                   {
  662.                     "id": "05cbce08-a7e9-44cf-b049-bf55ebac4458",
  663.                     "leftValue": "={{ Object.values($json.data)?.[0].toLowerCase() }}",
  664.                     "rightValue": "cancel",
  665.                     "operator": {
  666.                       "type": "string",
  667.                       "operation": "contains"
  668.                     }
  669.                   }
  670.                 ],
  671.                 "combinator": "and"
  672.               },
  673.               "renameOutput": true,
  674.               "outputKey": "Cancel"
  675.             }
  676.           ]
  677.         },
  678.         "options": {
  679.           "fallbackOutput": "extra"
  680.         }
  681.       },
  682.       "type": "n8n-nodes-base.switch",
  683.       "typeVersion": 3.3,
  684.       "position": [
  685.         832,
  686.         384
  687.       ],
  688.       "id": "512ec6fc-b6f2-477c-8e57-ea503be383dd",
  689.       "name": "Switch1"
  690.     },
  691.     {
  692.       "parameters": {
  693.         "operation": "sendAndWait",
  694.         "chatId": "1911930587",
  695.         "message": "=Commentary video created:\n{{ $('Generate Influencer Showcase').item.json.resultVideoUrl }}\n\n---\n{{ $('Generate Influencer Showcase').item.json.projectUrl }}\n\n---\nDo you want to finalize the video?",
  696.         "responseType": "customForm",
  697.         "formFields": {
  698.           "values": [
  699.             {
  700.               "fieldLabel": "Do you approve this output?",
  701.               "fieldType": "radio",
  702.               "fieldOptions": {
  703.                 "values": [
  704.                   {
  705.                     "option": "Cancel ❌"
  706.                   },
  707.                   {
  708.                     "option": "Retry 🔁"
  709.                   },
  710.                   {
  711.                     "option": "Approve ✅"
  712.                   }
  713.                 ]
  714.               }
  715.             }
  716.           ]
  717.         },
  718.         "options": {
  719.           "limitWaitTime": {
  720.             "values": {
  721.               "resumeAmount": 45,
  722.               "resumeUnit": "minutes"
  723.             }
  724.           },
  725.           "appendAttribution": false
  726.         }
  727.       },
  728.       "type": "n8n-nodes-base.telegram",
  729.       "typeVersion": 1.2,
  730.       "position": [
  731.         1440,
  732.         368
  733.       ],
  734.       "id": "7ec715fb-8c22-49ae-88b5-df93cef3a7c1",
  735.       "name": "Send message and wait for response5",
  736.       "webhookId": "b94489af-78d0-4682-9e5f-13bd66b1b7e6",
  737.       "credentials": {
  738.         "telegramApi": {
  739.           "id": "A8PIDA9ejtg1ppi1",
  740.           "name": "Scrptly — Telegram account"
  741.         }
  742.       }
  743.     },
  744.     {
  745.       "parameters": {
  746.         "rules": {
  747.           "values": [
  748.             {
  749.               "conditions": {
  750.                 "options": {
  751.                   "caseSensitive": true,
  752.                   "leftValue": "",
  753.                   "typeValidation": "strict",
  754.                   "version": 2
  755.                 },
  756.                 "conditions": [
  757.                   {
  758.                     "leftValue": "={{ Object.values($json.data)?.[0].toLowerCase() }}",
  759.                     "rightValue": "approve",
  760.                     "operator": {
  761.                       "type": "string",
  762.                       "operation": "contains"
  763.                     },
  764.                     "id": "5ce787c5-8b78-4a2a-a41f-5cad97b31958"
  765.                   }
  766.                 ],
  767.                 "combinator": "and"
  768.               },
  769.               "renameOutput": true,
  770.               "outputKey": "Approve"
  771.             },
  772.             {
  773.               "conditions": {
  774.                 "options": {
  775.                   "caseSensitive": true,
  776.                   "leftValue": "",
  777.                   "typeValidation": "strict",
  778.                   "version": 2
  779.                 },
  780.                 "conditions": [
  781.                   {
  782.                     "id": "d807467c-ed66-42f7-b4dc-978262066967",
  783.                     "leftValue": "={{ Object.values($json.data)?.[0].toLowerCase() }}",
  784.                     "rightValue": "retry",
  785.                     "operator": {
  786.                       "type": "string",
  787.                       "operation": "contains"
  788.                     }
  789.                   }
  790.                 ],
  791.                 "combinator": "and"
  792.               },
  793.               "renameOutput": true,
  794.               "outputKey": "Retry"
  795.             },
  796.             {
  797.               "conditions": {
  798.                 "options": {
  799.                   "caseSensitive": true,
  800.                   "leftValue": "",
  801.                   "typeValidation": "strict",
  802.                   "version": 2
  803.                 },
  804.                 "conditions": [
  805.                   {
  806.                     "id": "05cbce08-a7e9-44cf-b049-bf55ebac4458",
  807.                     "leftValue": "={{ Object.values($json.data)?.[0].toLowerCase() }}",
  808.                     "rightValue": "cancel",
  809.                     "operator": {
  810.                       "type": "string",
  811.                       "operation": "contains"
  812.                     }
  813.                   }
  814.                 ],
  815.                 "combinator": "and"
  816.               },
  817.               "renameOutput": true,
  818.               "outputKey": "Cancel"
  819.             }
  820.           ]
  821.         },
  822.         "options": {
  823.           "fallbackOutput": "extra"
  824.         }
  825.       },
  826.       "type": "n8n-nodes-base.switch",
  827.       "typeVersion": 3.3,
  828.       "position": [
  829.         1584,
  830.         352
  831.       ],
  832.       "id": "3dfe8c44-b7a7-449e-b9e4-839c59164ea7",
  833.       "name": "Switch2"
  834.     },
  835.     {
  836.       "parameters": {
  837.         "chatId": "1911930587",
  838.         "text": "Analyzing image...",
  839.         "additionalFields": {
  840.           "appendAttribution": false
  841.         }
  842.       },
  843.       "type": "n8n-nodes-base.telegram",
  844.       "typeVersion": 1.2,
  845.       "position": [
  846.         -1136,
  847.         560
  848.       ],
  849.       "id": "ecdec295-48bb-4373-bba0-4fe3763eaca8",
  850.       "name": "Send a text message",
  851.       "webhookId": "ecc08fa7-7ff1-458e-8b62-53ef9de8cc55",
  852.       "credentials": {
  853.         "telegramApi": {
  854.           "id": "A8PIDA9ejtg1ppi1",
  855.           "name": "Scrptly — Telegram account"
  856.         }
  857.       }
  858.     },
  859.     {
  860.       "parameters": {
  861.         "chatId": "1911930587",
  862.         "text": "Generating ad video...",
  863.         "additionalFields": {
  864.           "appendAttribution": false
  865.         }
  866.       },
  867.       "type": "n8n-nodes-base.telegram",
  868.       "typeVersion": 1.2,
  869.       "position": [
  870.         352,
  871.         400
  872.       ],
  873.       "id": "438d02f7-b91c-469e-bd21-b271c2373430",
  874.       "name": "Send a text message2",
  875.       "webhookId": "ecc08fa7-7ff1-458e-8b62-53ef9de8cc55",
  876.       "credentials": {
  877.         "telegramApi": {
  878.           "id": "A8PIDA9ejtg1ppi1",
  879.           "name": "Scrptly — Telegram account"
  880.         }
  881.       }
  882.     },
  883.     {
  884.       "parameters": {
  885.         "chatId": "1911930587",
  886.         "text": "Generating Influencer Video...",
  887.         "additionalFields": {
  888.           "appendAttribution": false
  889.         }
  890.       },
  891.       "type": "n8n-nodes-base.telegram",
  892.       "typeVersion": 1.2,
  893.       "position": [
  894.         1040,
  895.         368
  896.       ],
  897.       "id": "926c4102-0925-43bb-8272-ad9b982bcc84",
  898.       "name": "Send a text message5",
  899.       "webhookId": "ecc08fa7-7ff1-458e-8b62-53ef9de8cc55",
  900.       "credentials": {
  901.         "telegramApi": {
  902.           "id": "A8PIDA9ejtg1ppi1",
  903.           "name": "Scrptly — Telegram account"
  904.         }
  905.       }
  906.     }
  907.   ],
  908.   "pinData": {
  909.     "When clicking ‘Execute workflow’": [
  910.       {
  911.         "json": {}
  912.       }
  913.     ]
  914.   },
  915.   "connections": {
  916.     "When clicking ‘Execute workflow’": {
  917.       "main": [
  918.         [
  919.           {
  920.             "node": "Send message and wait for response",
  921.             "type": "main",
  922.             "index": 0
  923.           }
  924.         ]
  925.       ]
  926.     },
  927.     "Send message and wait for response": {
  928.       "main": [
  929.         [
  930.           {
  931.             "node": "If Upload",
  932.             "type": "main",
  933.             "index": 0
  934.           },
  935.           {
  936.             "node": "Send a text message",
  937.             "type": "main",
  938.             "index": 0
  939.           }
  940.         ]
  941.       ]
  942.     },
  943.     "If Upload": {
  944.       "main": [
  945.         [
  946.           {
  947.             "node": "Upload1",
  948.             "type": "main",
  949.             "index": 0
  950.           }
  951.         ],
  952.         [
  953.           {
  954.             "node": "Image Source",
  955.             "type": "main",
  956.             "index": 0
  957.           }
  958.         ]
  959.       ]
  960.     },
  961.     "Setup Prompt": {
  962.       "main": [
  963.         [
  964.           {
  965.             "node": "AiSetup",
  966.             "type": "main",
  967.             "index": 0
  968.           }
  969.         ]
  970.       ]
  971.     },
  972.     "Generate Ad Video": {
  973.       "main": [
  974.         [
  975.           {
  976.             "node": "Send message and wait for response4",
  977.             "type": "main",
  978.             "index": 0
  979.           }
  980.         ]
  981.       ]
  982.     },
  983.     "Send message and wait for response1": {
  984.       "main": [
  985.         [
  986.           {
  987.             "node": "If Upload1",
  988.             "type": "main",
  989.             "index": 0
  990.           }
  991.         ]
  992.       ]
  993.     },
  994.     "If Upload1": {
  995.       "main": [
  996.         [
  997.           {
  998.             "node": "Send a text message2",
  999.             "type": "main",
  1000.             "index": 0
  1001.           }
  1002.         ],
  1003.         [
  1004.           {
  1005.             "node": "Send a text message1",
  1006.             "type": "main",
  1007.             "index": 0
  1008.           }
  1009.         ]
  1010.       ]
  1011.     },
  1012.     "AiSetup": {
  1013.       "main": [
  1014.         [
  1015.           {
  1016.             "node": "Send message and wait for response1",
  1017.             "type": "main",
  1018.             "index": 0
  1019.           }
  1020.         ]
  1021.       ]
  1022.     },
  1023.     "Generate Influencer Showcase": {
  1024.       "main": [
  1025.         [
  1026.           {
  1027.             "node": "Send message and wait for response5",
  1028.             "type": "main",
  1029.             "index": 0
  1030.           }
  1031.         ]
  1032.       ]
  1033.     },
  1034.     "Edit Final Video": {
  1035.       "main": [
  1036.         [
  1037.           {
  1038.             "node": "Wait",
  1039.             "type": "main",
  1040.             "index": 0
  1041.           }
  1042.         ]
  1043.       ]
  1044.     },
  1045.     "Upload1": {
  1046.       "main": [
  1047.         [
  1048.           {
  1049.             "node": "Image Source",
  1050.             "type": "main",
  1051.             "index": 0
  1052.           }
  1053.         ]
  1054.       ]
  1055.     },
  1056.     "Image Source": {
  1057.       "main": [
  1058.         [
  1059.           {
  1060.             "node": "Setup Prompt",
  1061.             "type": "main",
  1062.             "index": 0
  1063.           }
  1064.         ]
  1065.       ]
  1066.     },
  1067.     "HTTP Request": {
  1068.       "main": [
  1069.         [
  1070.           {
  1071.             "node": "Switch",
  1072.             "type": "main",
  1073.             "index": 0
  1074.           }
  1075.         ]
  1076.       ]
  1077.     },
  1078.     "Wait": {
  1079.       "main": [
  1080.         [
  1081.           {
  1082.             "node": "HTTP Request",
  1083.             "type": "main",
  1084.             "index": 0
  1085.           }
  1086.         ]
  1087.       ]
  1088.     },
  1089.     "Switch": {
  1090.       "main": [
  1091.         [
  1092.           {
  1093.             "node": "Send a text message4",
  1094.             "type": "main",
  1095.             "index": 0
  1096.           }
  1097.         ],
  1098.         [
  1099.           {
  1100.             "node": "Send a text message3",
  1101.             "type": "main",
  1102.             "index": 0
  1103.           }
  1104.         ],
  1105.         [
  1106.           {
  1107.             "node": "Wait",
  1108.             "type": "main",
  1109.             "index": 0
  1110.           }
  1111.         ]
  1112.       ]
  1113.     },
  1114.     "Send message and wait for response4": {
  1115.       "main": [
  1116.         [
  1117.           {
  1118.             "node": "Switch1",
  1119.             "type": "main",
  1120.             "index": 0
  1121.           }
  1122.         ]
  1123.       ]
  1124.     },
  1125.     "Switch1": {
  1126.       "main": [
  1127.         [
  1128.           {
  1129.             "node": "Send a text message5",
  1130.             "type": "main",
  1131.             "index": 0
  1132.           }
  1133.         ],
  1134.         [
  1135.           {
  1136.             "node": "Send a text message2",
  1137.             "type": "main",
  1138.             "index": 0
  1139.           }
  1140.         ],
  1141.         [
  1142.           {
  1143.             "node": "Send a text message1",
  1144.             "type": "main",
  1145.             "index": 0
  1146.           }
  1147.         ],
  1148.         [
  1149.           {
  1150.             "node": "Send message and wait for response4",
  1151.             "type": "main",
  1152.             "index": 0
  1153.           }
  1154.         ]
  1155.       ]
  1156.     },
  1157.     "Send message and wait for response5": {
  1158.       "main": [
  1159.         [
  1160.           {
  1161.             "node": "Switch2",
  1162.             "type": "main",
  1163.             "index": 0
  1164.           }
  1165.         ]
  1166.       ]
  1167.     },
  1168.     "Switch2": {
  1169.       "main": [
  1170.         [
  1171.           {
  1172.             "node": "Edit Final Video",
  1173.             "type": "main",
  1174.             "index": 0
  1175.           }
  1176.         ],
  1177.         [
  1178.           {
  1179.             "node": "Send a text message5",
  1180.             "type": "main",
  1181.             "index": 0
  1182.           }
  1183.         ],
  1184.         [
  1185.           {
  1186.             "node": "Send a text message1",
  1187.             "type": "main",
  1188.             "index": 0
  1189.           }
  1190.         ],
  1191.         [
  1192.           {
  1193.             "node": "Send message and wait for response5",
  1194.             "type": "main",
  1195.             "index": 0
  1196.           }
  1197.         ]
  1198.       ]
  1199.     },
  1200.     "Send a text message2": {
  1201.       "main": [
  1202.         [
  1203.           {
  1204.             "node": "Generate Ad Video",
  1205.             "type": "main",
  1206.             "index": 0
  1207.           }
  1208.         ]
  1209.       ]
  1210.     },
  1211.     "Send a text message5": {
  1212.       "main": [
  1213.         [
  1214.           {
  1215.             "node": "Generate Influencer Showcase",
  1216.             "type": "main",
  1217.             "index": 0
  1218.           }
  1219.         ]
  1220.       ]
  1221.     }
  1222.   },
  1223.   "active": false,
  1224.   "settings": {
  1225.     "executionOrder": "v1"
  1226.   },
  1227.   "versionId": "9205486b-a5fa-4c0b-8949-6b8d1a1c3cb6",
  1228.   "meta": {
  1229.     "templateCredsSetupCompleted": true,
  1230.     "instanceId": "07dda7f8052f147e9fafffbd11dc97f994cf3853a6a04046a8dc74660634f249"
  1231.   },
  1232.   "id": "Vpno4KLyMZd5dpJG",
  1233.   "tags": []
  1234. }
Advertisement
Add Comment
Please, Sign In to add comment