{
  "id": "p6ZGlBlqg4mNUqot",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "automated-video-generator",
  "tags": [],
  "nodes": [
    {
      "id": "9952a111-d549-4603-b90f-0a189d645647",
      "name": "Set Idea",
      "type": "n8n-nodes-base.set",
      "position": [
        360,
        220
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "84924182-8e05-4bc6-b8b6-3863c1be0f06",
              "name": "User Input",
              "type": "string",
              "value": "={{ $json['The Main Topic'] }}"
            },
            {
              "id": "02602696-d3ad-4aeb-9d18-e80c6cf2ec17",
              "name": "Script Duration",
              "type": "string",
              "value": "={{ $json.Duration }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "81619121-5bb2-4403-8edc-8a6e0d2bec48",
      "name": "Create Clips",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1420,
        2100
      ],
      "parameters": {
        "url": "http://host.docker.internal:9090/v1/image/transform/video",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"image_url\":\"https://drive.usercontent.google.com/download?id={{ $json['Image-id']}}&authuser=0\",\n    \"length\": {{ $json.Duration }},\n    \"frame_rate\": 25,\n    \"zoom_speed\": 3,\n    \"id\": \"{{ $json.Record_id }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        },
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bc97bab1-190f-49cb-989f-a46b2c011bf7",
      "name": "Combine Clips",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1640,
        2400
      ],
      "parameters": {
        "url": "http://host.docker.internal:9090/v1/video/concatenate",
        "method": "POST",
        "options": {
          "timeout": 50000
        },
        "jsonBody": "={\n    \"video_urls\": {{ JSON.stringify($json.video_urls) }}\n    \n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "1f168f4f-e151-492b-9305-267edc4b794d",
      "name": "Aggregate1",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1220,
        2400
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "Video Clip URL"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "01c7bec8-58da-4e12-add3-2af23058f3ae",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        1980
      ],
      "parameters": {
        "color": 5,
        "width": 1460,
        "height": 320,
        "content": "## Create clips from images\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9133e060-88a1-4d79-b7e6-f769623233ac",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "disabled": true,
      "position": [
        340,
        2320
      ],
      "parameters": {
        "color": 5,
        "width": 1740,
        "height": 300,
        "content": "## Combine clips into 1 video"
      },
      "typeVersion": 1
    },
    {
      "id": "567afa71-7ae6-496a-aa4b-ae0f4dcd1dfe",
      "name": "Loop Over Items3",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        980,
        2080
      ],
      "parameters": {
        "options": {}
      },
      "executeOnce": false,
      "typeVersion": 3
    },
    {
      "id": "7ff31caf-5d94-4686-9621-edaed5aebe17",
      "name": "Video url to array",
      "type": "n8n-nodes-base.code",
      "position": [
        1420,
        2400
      ],
      "parameters": {
        "jsCode": "// Extract the array of URLs\nconst urls = items[0].json[\"Video Clip URL\"] || [];\n\n// Map URLs into the required structure\nconst formattedURLs = urls.map(url => ({ \"video_url\": url }));\n\n// Return the transformed data\nreturn [{\n    json: {\n        \"video_urls\": formattedURLs\n    }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "91c97201-5d66-4b00-9162-3b3bd26fc85d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "disabled": true,
      "position": [
        340,
        2900
      ],
      "parameters": {
        "color": 5,
        "width": 1700,
        "height": 440,
        "content": "## Add Captions"
      },
      "typeVersion": 1
    },
    {
      "id": "6a2f1f67-0854-4f23-a782-2279b1f02b16",
      "name": "Combine Clips3",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        720,
        2720
      ],
      "parameters": {
        "url": "http://host.docker.internal:9090/v1/ffmpeg/compose",
        "method": "POST",
        "options": {
          "timeout": 50000
        },
        "jsonBody": "={\n    \"id\": \"audio-layering\",\n    \"inputs\": [\n        {\n            \"file_url\": \"{{ $('Google Sheets15').item.json['Raw Video URL'] }}\"\n        },\n        {\n            \"file_url\": \"https://drive.usercontent.google.com/download?id={{ $json.fileId }}&authuser=0\"\n        }\n    ],\n    \"filters\": [\n        {\n            \"filter\": \"[1:a]volume=1[outa]\"\n        }\n    ],\n    \"outputs\": [\n        {\n            \"options\": [\n                {\n                    \"option\": \"-map\",\n                    \"argument\": \"0:v\"\n                },\n                {\n                    \"option\": \"-map\",\n                    \"argument\": \"[outa]\"\n                },\n                {\n                    \"option\": \"-c:v\",\n                    \"argument\": \"copy\"\n                },\n                {\n                    \"option\": \"-c:a\",\n                    \"argument\": \"aac\"\n                }\n            ]\n        }\n    ]\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ab15ed7b-fe1a-496d-90d0-1e1a22b0704e",
      "name": "Add Music",
      "type": "n8n-nodes-base.httpRequest",
      "disabled": true,
      "position": [
        600,
        3420
      ],
      "parameters": {
        "url": "http://host.docker.internal:9090/v1/ffmpeg/compose",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"id\": \"audio-layering\",\n    \"inputs\": [\n        {\n            \"file_url\": \"{{ $json['Video + Caption URL'] }}\"\n        },\n        {\n            \"file_url\": \"http://host.docker.internal:9000/music/epic-emotinal-inspirational-207071.mp3\"\n        }\n    ],\n    \"filters\": [\n        {\n            \"filter\": \"[1:a]aloop=loop=-1:size=2G[audio_loop];[0:a]volume=2[audio1];[audio_loop]volume=0.5[audio2];[audio1][audio2]amix=inputs=2:duration=first[outa]\"\n        }\n    ],\n    \"outputs\": [\n        {\n            \"options\": [\n                {\n                    \"option\": \"-map\",\n                    \"argument\": \"0:v\"\n                },\n                {\n                    \"option\": \"-map\",\n                    \"argument\": \"[outa]\"\n                },\n                {\n                    \"option\": \"-c:v\",\n                    \"argument\": \"copy\"\n                },\n                {\n                    \"option\": \"-c:a\",\n                    \"argument\": \"aac\"\n                }\n            ]\n        }\n    ]\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "69bbc938-61d7-4339-abe0-eed1258338bf",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "disabled": true,
      "position": [
        340,
        2640
      ],
      "parameters": {
        "color": 5,
        "width": 720,
        "height": 240,
        "content": "## Combine Video & Audio"
      },
      "typeVersion": 1
    },
    {
      "id": "743f15c4-28b5-4f24-9dde-9af278397137",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        60
      ],
      "parameters": {
        "color": 5,
        "width": 1820,
        "height": 540,
        "content": "## Create script, title & description"
      },
      "typeVersion": 1
    },
    {
      "id": "ccf8666d-2c27-4c32-88d1-238411cfc18a",
      "name": "Get Captions",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        400,
        900
      ],
      "parameters": {
        "url": "=http://host.docker.internal:8880/dev/timestamps/{{ $('Generate TTS').item.json.headers[\"x-timestamps-path\"] }}",
        "method": "=GET",
        "options": {
          "response": {
            "response": {
              "fullResponse": true,
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "275bb51e-18da-402f-a766-d6dbda6b7f54",
      "name": "Generate TTS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        600,
        680
      ],
      "parameters": {
        "url": "http://host.docker.internal:8880/dev/captioned_speech",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "jsonBody": "={\n  \"model\": \"kokoro\",\n  \"input\": {{ JSON.stringify($json.Script) }},\n  \"voice\": \"{{ $json['TTS Voice'] }}\",\n  \"response_format\": \"mp3\",\n  \"download_format\": \"mp3\",\n\"return_timestamps\": true,\n  \"speed\": 0.8\n}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "f5d63602-20f5-4a6d-931a-c5029d0b9673",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        620
      ],
      "parameters": {
        "color": 5,
        "width": 860,
        "height": 460,
        "content": "## Generate TTS (Voice Over)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f796c284-dc54-4b81-995e-0eb41bd8d433",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        760,
        1180
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "Segments"
      },
      "typeVersion": 1
    },
    {
      "id": "4fee4ec5-68ab-489e-87b0-740322eee2d3",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1260,
        1180
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "segments"
      },
      "typeVersion": 1
    },
    {
      "id": "fac5709b-1cf0-4423-8242-5912c0c3adbb",
      "name": "Fixer",
      "type": "n8n-nodes-base.code",
      "position": [
        1100,
        1180
      ],
      "parameters": {
        "jsCode": "// Assume the previous node output is available here\nconst inputSegments = $input.first().json.segments; // Accessing segments from the previous output\n\nif (inputSegments.length > 0) {\n    const lastSegment = inputSegments[inputSegments.length - 1].json;\n    \n    // Check if the last segment's duration is less than 2 seconds\n    if (parseFloat(lastSegment.duration) < 2.0) {\n        // Combine the last segment with the previous segment if it exists\n        if (inputSegments.length > 1) {\n            const secondLastSegment = inputSegments[inputSegments.length - 2].json;\n\n            // Update the second last segment's words and duration\n            secondLastSegment.words += ' ' + lastSegment.words;\n            secondLastSegment.duration = (\n                parseFloat(secondLastSegment.duration) +\n                parseFloat(lastSegment.duration)\n            ).toFixed(2); // Update duration\n\n            // Remove the last segment as it has been merged\n            inputSegments.pop();\n        }\n    }\n}\n\n// Return the updated segments\nreturn [{ json: { segments: inputSegments } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "d5d7bfd9-3b10-43e2-9ed7-dc6132eae433",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        1100
      ],
      "parameters": {
        "color": 5,
        "width": 2380,
        "height": 380,
        "content": "## Generate scenes & image prompts\n"
      },
      "typeVersion": 1
    },
    {
      "id": "32919086-5d9d-4fe8-9043-13b9d113166b",
      "name": "Split into 5s Scenes",
      "type": "n8n-nodes-base.code",
      "position": [
        920,
        1180
      ],
      "parameters": {
        "jsCode": "// Set the segment length in seconds\nconst splitLength = 6;\n\n// Extract the list of words from the input\nconst segmentWrapper = $input.first().json; // Get the JSON input\nconst wordList = segmentWrapper.Segments[0].data; // Access the words array\n\n// Initialize variables\nconst segments = [];\nlet currentSegment = {\n    id: 0,\n    words: \"\",\n    duration: 0\n};\nlet currentStartTime = -1;\nlet totalDuration = 0;\nlet currentEndTime = 0;\n\n// Define a small pause buffer for spacing between segments\nconst pauseBuffer = 0.1;\n\n// Loop through each word and create segments\nfor (const wordObj of wordList) {\n    const { word, start_time, end_time } = wordObj;\n\n    // Set start time for the segment if not already set\n    if (currentStartTime === -1) {\n        currentStartTime = start_time;\n    }\n\n    // Add the current word to the segment\n    currentSegment.words += (currentSegment.words ? ' ' : '') + word;\n\n    // Update the segment's end time\n    currentEndTime = end_time;\n\n    // Calculate duration of the current segment\n    currentSegment.duration = (currentEndTime - currentStartTime).toFixed(2);\n\n    // If duration exceeds split length, finalize this segment\n    if (currentSegment.duration >= splitLength) {\n        currentSegment.duration = (parseFloat(currentSegment.duration) + pauseBuffer).toFixed(2);\n        totalDuration += parseFloat(currentSegment.duration);\n        segments.push(currentSegment);\n\n        // Reset for the next segment\n        currentSegment = {\n            id: segments.length,\n            words: \"\",\n            duration: 0\n        };\n        currentStartTime = -1;\n    }\n}\n\n// Handle the last segment if any words are left\nif (currentSegment.words) {\n    currentSegment.duration = (currentEndTime - currentStartTime).toFixed(2);\n    currentSegment.duration = (parseFloat(currentSegment.duration) + pauseBuffer).toFixed(2);\n    totalDuration += parseFloat(currentSegment.duration);\n    segments.push(currentSegment);\n}\n\n// Calculate total duration in minutes and seconds\nconst roundedTotalDuration = Math.round(totalDuration);\nconst minutes = Math.floor(roundedTotalDuration / 60);\nconst seconds = roundedTotalDuration % 60;\n\n// Use string concatenation instead of template literals (for n8n compatibility)\nconst totalRuntimeString = minutes + \" minute\" + (minutes !== 1 ? \"s\" : \"\") + \", \" + seconds + \" second\" + (seconds !== 1 ? \"s\" : \"\");\n\n// Return the output as an array of objects\nreturn [\n  {\n    json: {\n      segments: segments.map(segment => ({ json: segment })),\n      totalDuration: roundedTotalDuration,\n      TotalMinutes: totalRuntimeString\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "4b23af81-ff27-4fc1-bba6-5fda21bd1fc3",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "disabled": true,
      "position": [
        340,
        3360
      ],
      "parameters": {
        "color": 4,
        "width": 720,
        "height": 240,
        "content": "## Add BG Music"
      },
      "typeVersion": 1
    },
    {
      "id": "aeb274a4-a631-4473-bc1b-7637b22de343",
      "name": "Create Captions",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        580,
        2980
      ],
      "parameters": {
        "url": "http://host.docker.internal:9090/v1/video/caption",
        "method": "POST",
        "options": {
          "timeout": 90000
        },
        "jsonBody": "={\n    \"video_url\": \"{{ $json['Video + Audio URL'] }}\",\n    \"settings\": {\n        \"line_color\": \"#FFFFFF\",\n        \"word_color\": \"#FF0000\",\n        \"all_caps\": false,\n        \"max_words_per_line\": 3,\n        \"font_size\": 70,\n        \"bold\": false,\n        \"italic\": false,\n        \"underline\": false,\n        \"strikeout\": false,\n        \"outline_width\": 6,\n        \"shadow_offset\": 8,\n        \"style\": \"highlight\",\n        \"font_family\": \"The Bold Font\",\n        \"position\": \"middle_center\"\n    },\n    \"id\": \"{{ $json['Captions URL'] }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "496a8900-4fd3-4a68-a7ab-99275a015701",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -680,
        1660
      ],
      "parameters": {
        "options": {
          "ignoreBots": true,
          "appendAttribution": false
        },
        "formTitle": "Magic Video Generator",
        "formFields": {
          "values": [
            {
              "fieldType": "textarea",
              "fieldLabel": "The Main Topic",
              "placeholder": "Amazing world of cats",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Duration",
              "fieldOptions": {
                "values": [
                  {
                    "option": "30 Second"
                  },
                  {
                    "option": "1 Minute"
                  },
                  {
                    "option": "2 Minutes"
                  },
                  {
                    "option": "1.5 Minutes"
                  }
                ]
              }
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Generative Style",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Lego"
                  },
                  {
                    "option": "Minecraft"
                  },
                  {
                    "option": "Disney Pixar"
                  },
                  {
                    "option": "Hand-Drawn"
                  },
                  {
                    "option": "Chibi"
                  },
                  {
                    "option": "Anime"
                  },
                  {
                    "option": "Hyper-Realistic"
                  },
                  {
                    "option": "Cyberpunk"
                  },
                  {
                    "option": "fantasy"
                  }
                ]
              }
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Video Type",
              "fieldOptions": {
                "values": [
                  {
                    "option": "From user idea"
                  },
                  {
                    "option": "From transcript"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "TTS Voice",
              "fieldOptions": {
                "values": [
                  {
                    "option": "af_alloy"
                  },
                  {
                    "option": "af_aoede"
                  },
                  {
                    "option": "af_bella"
                  },
                  {
                    "option": "af_heart"
                  },
                  {
                    "option": "af_jadzia"
                  },
                  {
                    "option": "af_jessica"
                  },
                  {
                    "option": "af_kore"
                  },
                  {
                    "option": "af_nicole"
                  },
                  {
                    "option": "af_nova"
                  },
                  {
                    "option": "af_river"
                  },
                  {
                    "option": "af_sarah"
                  },
                  {
                    "option": "af_sky"
                  },
                  {
                    "option": "am_adam"
                  },
                  {
                    "option": "am_echo"
                  },
                  {
                    "option": "am_eric"
                  },
                  {
                    "option": "am_fenrir"
                  },
                  {
                    "option": "am_liam"
                  },
                  {
                    "option": "am_michael"
                  },
                  {
                    "option": "am_onyx"
                  },
                  {
                    "option": "am_puck"
                  },
                  {
                    "option": "am_santa"
                  },
                  {
                    "option": "am_v0adam"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Image Provider",
              "fieldOptions": {
                "values": [
                  {
                    "option": "together.ai"
                  },
                  {
                    "option": "fal.ai"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        },
        "formDescription": "By: Laki"
      },
      "typeVersion": 2.2
    },
    {
      "id": "1429b509-1e99-420f-9f7a-c232a7b68f0b",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1380,
        440
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"Title\": {\n      \"type\": \"string\",\n      \"description\": \"Short and engaging title, curiosity-driven.\"\n    },\n    \"Description\": {\n      \"type\": \"string\",\n      \"description\": \"Short description with key hashtags, hook, context, CTA, and hashtags.\"\n    },\n    \"Hook\": {\n      \"type\": \"string\",\n      \"description\": \"Introduction.\"\n    },\n    \"MainScript\": {\n      \"type\": \"string\",\n      \"description\": \"Main script content.\"\n    },\n    \"CTA\": {\n      \"type\": \"string\",\n      \"description\": \"Call to action\"\n    }\n  },\n  \"required\": [\"Title\", \"Description\", \"Intro\", \"MainScript\"]\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "1326ed6c-21d0-453e-8a53-d99008e4ff1d",
      "name": "Structured Output Parser2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1660,
        1300
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"Prompt\": \"enter prompt here\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "48f543c4-7558-4f02-b7b5-6a8d3c847a7a",
      "name": "Script Writier \ud83e\udde0",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        800,
        320
      ],
      "parameters": {
        "text": "=The Topic:\n{{ $json[\"User Input\"] }}\n\nRough Duration:\n{{ $('Set Idea').item.json['Script Duration'] }}",
        "messages": {
          "messageValues": [
            {
              "message": "=Act as a YouTube video scriptwriter who specializes in transforming user-submitted ideas\u2014whether they are story concepts or intriguing facts\u2014into engaging, bite-sized video scripts. The user will also provide a target video length, which you should keep in mind while crafting the content. Your goal is to take these ideas and produce compelling, original content without referencing specific sources or names.\n\nYour script should be engaging, energetic, and easy to follow, turning user concepts into captivating narratives within the specified video length. Use a conversational tone, vivid descriptions, and a strong hook to instantly grab attention. Keep the pacing snappy, ensuring that every second counts.\n\nNEVER add linebreaks or emojis to the hook, main script & CTA\n\n**Output Format:**\n- **Title:** [Catchy, curiosity-driven title based on user idea]  \n- **Description:** [50-150 characters, snappy summary with key hashtags relevant to the user\u2019s topic]  \n- **Hook:** [An attention-grabbing opening line inspired by the user idea]  \n- **MainScript:** [A natural, spoken-style script without line breaks or emojis, tailored to the user-defined video length]  \n- **Call to Action:** [A compelling prompt encouraging viewers to engage, like \"What was your favorite part of this story?\" or \"Want to explore more ideas? Follow for more!\"]\n\nMake sure the MainScript feels seamless and original, as if these insights are being shared firsthand. No direct references to names, specific sources, or the user\u2014just pure, engaging storytelling that keeps viewers hooked."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "d2b139a7-431c-4bb2-bcda-05e3b2ca1ddc",
      "name": "Output Parser \ud83d\udee0",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1200,
        220
      ],
      "parameters": {
        "text": "=User Imput:\n{{ $json.text }}",
        "messages": {
          "messageValues": [
            {
              "message": "=Take the user input and output in the following JSON Structure, DO NOT change or alter any of the text\n\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"Title\": {\n      \"type\": \"string\",\n      \"description\": \"Short and engaging title, curiosity-driven.\"\n    },\n    \"Description\": {\n      \"type\": \"string\",\n      \"description\": \"Short description with key hashtags, hook, context, CTA, and hashtags.\"\n    },\n    \"Hook\": {\n      \"type\": \"string\",\n      \"description\": \"The hook.\"\n    },\n    \"MainScript\": {\n      \"type\": \"string\",\n      \"description\": \"Main script content.\"\n    },\n    \"CTA\": {\n      \"type\": \"string\",\n      \"description\": \"Call to action\"\n    }\n  },\n  \"required\": [\"Title\", \"Description\", \"Intro\", \"MainScript\"]\n}"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.5
    },
    {
      "id": "d284010f-deaa-4d33-8ab7-3d5a57752232",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        540,
        220
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "From transcript",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "67835e1a-7770-4d3e-b9d6-0dac59a5923a",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('On form submission').item.json['Video Type'] }}",
                    "rightValue": "From transcript"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "User Idea",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "171a9dfd-59a3-49a4-af28-c284abc85f13",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "73a78c20-1913-497c-a8f1-e15d8bd3ff3a",
      "name": "Image Prompter V2 \ud83d\udcf7",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1520,
        1140
      ],
      "parameters": {
        "text": "=Heres the full script:\n{{ $('Google Sheets3').item.json.Script }}\n\nGenerative style:\n{{ $('Google Sheets3').item.json['Generative Style'] }}\n\nHere is the current scene:\nScript portion: {{ $json.json.words }}\nScript position: {{ $json.json.id }}",
        "messages": {
          "messageValues": [
            {
              "message": "=You are an image prompt generator agent for video production. Your role is to create starting frames for a longer video by transforming script segments into visually descriptive image prompts. Each scene will be generated in a specified artistic style, which must be factored into the prompt to ensure consistency.  \n\nOutput a JSON object containing the prompt for the current script segment that you are presented with:  \n\n```json\n{\n  \"Prompt\": \"enter prompt here\"\n}\n```  \n\n### **IMPORTANT INSTRUCTIONS:**  \n\n- **Always** incorporate the given style into the visual description.  \n- **Never** include text in the images.\n- **Never** exceed 240 characters in your prompt.  \n- **Keep images visually compelling** \u2013 Instead of basic or static representations, focus on **dynamic compositions, dramatic angles, striking lighting, immersive textures, and environmental storytelling**.  \n- **Small subjects should have compelling micro-world narratives** \u2013 If the subject is small (e.g., a drop of water, a single key, a lone leaf), provide a **rich atmosphere**, interplay of lighting, and framing that enhances storytelling.  \n- **Focus on depth, detail, and artistic impact** rather than excessive complexity.  \n\n\nA well-crafted prompt should now include:  \n\n- **Subject:** The main focus of the image.  \n- **Style:** The artistic style provided for this scene (e.g., Lego, Minecraft, Disney Pixar, Hand-Drawn, Chibi, Anime, Hyper-Realistic, Cyberpunk).  \n- **Composition:** Use **engaging angles** (macro close-ups, over-the-shoulder, dynamic perspectives).  \n- **Lighting:** Prioritize dramatic effects like **backlighting, neon glows, moody shadows, or iridescent reflections** for added immersion. \n- **Micro-World Storytelling:** Ensure even small objects contribute to a **scene with intrigue, interaction, or emotion**.  \n- **Color Palette:** The dominant colors or color scheme.  \n- **Mood/Atmosphere:** The emotional tone of the image.  \n- **Technical Details:** Camera effects like **bokeh, depth of field, contrast**, or lens distortion to make the image feel real.  \n- **Additional Elements:** Small but meaningful details that **enhance interest without overwhelming the scene**.  \n\n\nExample Prompts\n\n- **Style: Hyper-Realistic** \u2013 A hyperrealistic macro shot of a single droplet of glue stretching delicately from a cracked porcelain teacup, caught in the moment before it falls. The soft golden glow from a nearby desk lamp refracts through the droplet, revealing tiny swirling textures inside. Dust particles float around, illuminated in the warm evening light.  \n- **Style: Minecraft** \u2013 A blocky Minecraft-style cavern glowing with radiant blue crystals embedded in stone. A pixelated adventurer stands at the entrance, silhouetted against eerie, ambient light. Shadows dance across the cave walls, creating intrigue.  \n- **Style: Disney Pixar** \u2013 A cozy animated bakery at sunrise, where a little girl with oversized round glasses watches a tray of fresh golden pastries steaming on the counter. Soft beams of morning sunlight filter in, casting a warm, dreamy glow on the checkered tiles.  \n- **Style: Cyberpunk** \u2013 A neon-lit cyberpunk alleyway drenched in rain. The headlights of a hoverbike cut through thin mist as a shadowy figure in a metallic trench coat leans against a graffiti-covered wall. Bright neon blues and deep magentas create dramatic contrast.  \n\n"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.5
    },
    {
      "id": "5d4fe68e-e8e7-4cfd-a51c-a1ac075101f8",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        560,
        1580
      ],
      "parameters": {
        "options": {}
      },
      "executeOnce": false,
      "typeVersion": 3
    },
    {
      "id": "9ad9d92d-3e55-4d4e-a215-c9ad3e30caed",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        340,
        1500
      ],
      "parameters": {
        "color": 5,
        "width": 2240,
        "height": 460,
        "content": "## Image Generation - flux/schnell\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b8617797-562a-4ea3-8f63-54ae0b6642a5",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "position": [
        1960,
        1760
      ],
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "8b5575ff-891c-482b-acb5-308d19c20a21",
      "name": "Long form to Script Writier \ud83e\udde0",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        800,
        100
      ],
      "parameters": {
        "text": "=The Transcript:\n{{ $json['User Input'] }}",
        "messages": {
          "messageValues": [
            {
              "message": "=Act as a YouTube video scriptwriter who specializes in transforming insights, interesting facts, and key takeaways into engaging, bite-sized video scripts. Your goal is to craft compelling short-form scripts based on the most intriguing ideas from long-form podcast transcripts\u2014presenting them as fresh, original content without referencing sources or names.  \n\nYour script should be engaging, energetic, and easy to follow, turning complex ideas into exciting, digestible narratives. Use a conversational tone, vivid descriptions, and a strong hook to instantly grab attention. Keep the pacing snappy, ensuring every second counts.  \n\nImportant Guidelines:\n- Do NOT use asterisks (*) or emojis. Keep the text clean and formatted naturally.  \n- Do NOT include line breaks within the \"MainScript\" unless necessary for readability. Write in a natural, spoken style as if it\u2019s being delivered by a person.  \n- The script must feel ORIGINAL and conversational, without direct references to specific podcasts, hosts, or episodes.  \n- The Call to Action should remain simple and engaging. Examples: \"What was your favorite insight?\" or \"Want more ideas like this? Follow for more!\"\n\nOutput Format: \n- Title: [Catchy, curiosity-driven title]  \n- Description: [50-150 characters, snappy summary with key hashtags]  \n- Hook: [An attention-grabbing opening line]  \n- MainScript: [A natural, spoken-style script\u2014NO asterisks, NO emojis, NO unnecessary formatting]  \n- Call to Action: [A compelling prompt encouraging viewers to engage]  \n\nMake sure the MainScript feels seamless and engaging, as if these insights are being shared firsthand. Keep everything punchy and to the point, ensuring high retention and engagement.  "
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "3101bf3e-914f-4399-a79e-e71062ab4f5a",
      "name": "Open Router - Deepseek v3.1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1100,
        460
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "73ccefcd-3853-4377-a512-0d4aea250e63",
      "name": "Open Router - Deepseek v3.",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1460,
        1320
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8a09ae17-3741-4c11-aec3-b3310dc59b6e",
      "name": "Combine",
      "type": "n8n-nodes-base.set",
      "position": [
        1540,
        220
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7cd1dc03-8331-44ba-bda9-848145bab939",
              "name": "Main Script",
              "type": "string",
              "value": "={{ $json.output.Hook }} {{ $json.output.MainScript }} {{ $json.output.CTA }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "397ad456-d135-482f-a1c4-b9ff75018299",
      "name": "Format Cleanup",
      "type": "n8n-nodes-base.set",
      "position": [
        1720,
        220
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "bfd6c0e6-93c2-496a-8f3d-9ebc3061e78f",
              "name": "Script",
              "type": "string",
              "value": "={{$json['Main Script']\n  .replace(/\\n{2,}/g, \"\")      // Remove multiple newlines\n  .replace(/\\*(.*?)\\*/g, \"$1\") // Remove asterisks around words\n}}\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2992c735-486d-4774-89cc-86ed1b79e71f",
      "name": "Base64 To String",
      "type": "n8n-nodes-base.set",
      "position": [
        1260,
        1760
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "base64Image",
              "stringValue": "={{ $json.body.data[0].b64_json }}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.1
    },
    {
      "id": "b403ba33-534a-4681-bcc1-ffcf90f7193c",
      "name": "Convert String to binary",
      "type": "n8n-nodes-base.moveBinaryData",
      "position": [
        1440,
        1760
      ],
      "parameters": {
        "mode": "jsonToBinary",
        "options": {
          "fileName": "image.png",
          "mimeType": "image/png",
          "dataIsBase64": true
        },
        "sourceKey": "base64Image",
        "convertAllData": false
      },
      "typeVersion": 1
    },
    {
      "id": "19c12852-22f8-4ebc-b97e-da5c9f0119bc",
      "name": "IDs To Array1",
      "type": "n8n-nodes-base.code",
      "position": [
        2320,
        1140
      ],
      "parameters": {
        "jsCode": "// Initialize an array to hold IDs\nconst ids = [];\n\n// Loop over input items\nfor (const item of $input.all()) {\n  // Loop through each 'data' array\n  for (const dataItem of item.json.data) {\n    // Check if 'Record_id' is present\n    if ('Record_id' in dataItem) {\n      // Push the ID into the array\n      ids.push(dataItem.Record_id);\n    }\n  }\n}\n\n// Return the array wrapped in an object\nreturn [{ json: { ids } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "6a93455d-0f4d-4fdf-9f7a-ae0e988e2eb7",
      "name": "Aggregate3",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2100,
        1140
      ],
      "parameters": {
        "include": "specifiedFields",
        "options": {},
        "aggregate": "aggregateAllItemData",
        "fieldsToInclude": "=Record_id"
      },
      "typeVersion": 1
    },
    {
      "id": "38d9896d-7013-4d40-adfc-c775c7649ce9",
      "name": "HTTP - Together.ai",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1060,
        1760
      ],
      "parameters": {
        "url": "https://api.together.xyz/v1/images/generations",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "fullResponse": true
            }
          }
        },
        "jsonBody": "={\n    \"model\": \"black-forest-labs/FLUX.1-schnell-Free\",\n    \"prompt\": {{ JSON.stringify($json.Prompt) }},\n    \"width\": 576,\n    \"height\": 1024,\n    \"steps\": 4,\n    \"n\": 1,\n    \"response_format\": \"b64_json\"\n   }",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "07e21acd-5108-42cb-8694-0245c9ddf325",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "disabled": true,
      "position": [
        1000,
        1680
      ],
      "parameters": {
        "width": 1160,
        "height": 260,
        "content": "## together.ai FREE - Has rate limits so much slower due to batching"
      },
      "typeVersion": 1
    },
    {
      "id": "4ea7537f-f72c-4f2f-96ed-4cb6a14d6e0f",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        380,
        680
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "40b30a2c-22ee-437e-aaff-d1d0d65ddd2f",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1940,
        220
      ],
      "parameters": {
        "columns": {
          "value": {
            "Title": "={{ $('Output Parser \ud83d\udee0').item.json.output.Title }}",
            "Script": "={{ $json.Script }}",
            "TTS Voice": "={{ $('On form submission').item.json['TTS Voice'] }}",
            "Description": "={{ $('Output Parser \ud83d\udee0').item.json.output.Description }}",
            "Initial Prompt": "={{ $('Set Idea').item.json['User Input'] }}",
            "Generative Style": "={{ $('On form submission').item.json['Generative Style'] }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "46245ef4-d075-4ca8-b069-09e3df764c51",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        800,
        680
      ],
      "parameters": {
        "name": "={{ $json.headers.date }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "18-Q0caunbnwIJRDKTMb8fHKvVS3kqynF",
          "cachedResultUrl": "",
          "cachedResultName": "tts"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "9c74b2ef-d345-4cb5-b2c3-200468987d5f",
      "name": "Google Drive1",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        600,
        900
      ],
      "parameters": {
        "name": "={{ $json.headers.date }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1ELY3F2IhJGLrrKBIE5cMV22GyAMXx6zN",
          "cachedResultUrl": "",
          "cachedResultName": "caption"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "31dcda2a-01da-4dbc-a741-74fdb94eb61c",
      "name": "Google Sheets2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        820,
        900
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Google Sheets1').item.json.row_number }}",
            "Captions URL": "={{ $json.webViewLink }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "472a6076-28b6-401a-943d-2c5b1f113aaf",
      "name": "Google Sheets3",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        360,
        1180
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "ba9a5c64-4132-4b29-bd1a-9031f078e577",
      "name": "Google Drive2",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        500,
        1180
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "url",
          "value": "={{ $json['Captions URL'] }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "ec7b39cc-fdd4-4690-8a98-0dfea0df5933",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        640,
        1180
      ],
      "parameters": {
        "options": {},
        "operation": "fromJson"
      },
      "typeVersion": 1
    },
    {
      "id": "cb49323d-be0e-4e2c-adb6-cdc0804641ad",
      "name": "Google Sheets4",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1880,
        1140
      ],
      "parameters": {
        "columns": {
          "value": {
            "Prompt": "={{ $json.output.Prompt }}",
            "Duration": "={{ $('Split Out').item.json.json.duration }}",
            "Record_id": "={{ $('Split Out').item.json.json.id }}"
          },
          "schema": [
            {
              "id": "Record_id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Record_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Duration",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Duration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image-id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Image-id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video Clip URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video Clip URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1408445170,
          "cachedResultUrl": "",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "ec29a2d4-5881-4bec-b304-153176d9afab",
      "name": "Google Sheets5",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2540,
        1140
      ],
      "parameters": {
        "columns": {
          "value": {
            "scenes": "={{ $json.ids }}",
            "row_number": "={{ $('Google Sheets3').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "88a1d0f3-1148-4e20-bfe3-47b1880e961a",
      "name": "Google Sheets6",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        360,
        1580
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1408445170,
          "cachedResultUrl": "",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "8451b2e1-cbad-4876-95cf-0d2282f88ac8",
      "name": "Google Drive3",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1620,
        1760
      ],
      "parameters": {
        "name": "={{ $json.headers.date }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1arlKXztkpWNzUqjupICRigGUOA6_78kw",
          "cachedResultUrl": "",
          "cachedResultName": "image"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "4ba4a83a-77b9-409d-95a4-9a204d988eaa",
      "name": "Google Sheets7",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1780,
        1760
      ],
      "parameters": {
        "columns": {
          "value": {
            "Image": "={{ $json.webViewLink }}",
            "Image-id": "={{ $json.id }}",
            "Record_id": "={{ $('Loop Over Items').item.json.Record_id }}"
          },
          "schema": [
            {
              "id": "Record_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Record_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Duration",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Duration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image-id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Image-id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video Clip URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video Clip URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Record_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1408445170,
          "cachedResultUrl": "",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "4872ad87-39d9-4124-be98-c094cedb0992",
      "name": "Google Sheets8",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        2080
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "c599c499-9f92-4fb9-8cfc-a170f9037b74",
      "name": "Google Sheets9",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1220,
        2100
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.scenes }}",
              "lookupColumn": "Record_id"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1408445170,
          "cachedResultUrl": "",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "c896e7fa-0af7-4b12-930c-0a4c14514557",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        620,
        2080
      ],
      "parameters": {
        "jsCode": "// Parse the scenes string into an actual array\nconst scenes = JSON.parse($input.all()[0].json.scenes);\n\n// Return the array of scenes\nreturn [{ json: { scenes } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "16191e4a-417f-405c-9cf9-b2ff42396b79",
      "name": "Split Out2",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        780,
        2080
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "scenes"
      },
      "typeVersion": 1
    },
    {
      "id": "444e08f8-067b-4059-ba1b-597b2e7de1b8",
      "name": "Google Sheets10",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1620,
        2100
      ],
      "parameters": {
        "columns": {
          "value": {
            "Record_id": "={{ $('Google Sheets9').item.json.Record_id }}",
            "Video Clip URL": "={{ $json.response }}"
          },
          "schema": [
            {
              "id": "Record_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Record_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Duration",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Duration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image-id",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Image-id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video Clip URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video Clip URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Record_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1408445170,
          "cachedResultUrl": "",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "f78c0176-d4d4-4c66-a56f-56027c028a63",
      "name": "Google Sheets12",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        380,
        2400
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "836f3ee4-fd16-47b3-a6cd-372ff9a1f614",
      "name": "Code1",
      "type": "n8n-nodes-base.code",
      "position": [
        580,
        2400
      ],
      "parameters": {
        "jsCode": "// Parse the scenes string into an actual array\nconst scenes = JSON.parse($input.all()[0].json.scenes);\n\n// Return the array of scenes\nreturn [{ json: { scenes } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "53e86458-822d-4413-96e5-3c6b3b3e10e9",
      "name": "Split Out3",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        760,
        2400
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "scenes"
      },
      "typeVersion": 1
    },
    {
      "id": "93dd7b1b-054b-404e-ae6d-65a697f74c8c",
      "name": "Google Sheets11",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1000,
        2400
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.scenes }}",
              "lookupColumn": "Record_id"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1408445170,
          "cachedResultUrl": "",
          "cachedResultName": "Sheet2"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "7ef03b26-acfe-4427-9b30-ad40d0eea495",
      "name": "Google Sheets13",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1860,
        2400
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Google Sheets12').item.json.row_number }}",
            "Raw Video URL": "={{ $json.response }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "94d30137-6c14-4d58-a479-5a3aa292b4bc",
      "name": "Google Sheets14",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1020,
        680
      ],
      "parameters": {
        "columns": {
          "value": {
            "TTS Audio": "={{ $json.webViewLink }}",
            "row_number": "={{ $('Google Sheets1').item.json.row_number }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "19c19724-c862-4aa4-931d-cac19ec9894e",
      "name": "Google Sheets15",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        360,
        2720
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "ba4f1d6c-08fc-4375-8f7d-2ec23487943e",
      "name": "Google Sheets16",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        920,
        2720
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Google Sheets15').item.json.row_number }}",
            "Video + Audio URL": "={{ $json.response[0].file_url }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "9d2fae96-163d-4139-a93c-77d5108364d0",
      "name": "Code2",
      "type": "n8n-nodes-base.code",
      "position": [
        540,
        2720
      ],
      "parameters": {
        "jsCode": "function extractFileId(url) {\n    const regex = /(?:drive|docs)\\.google\\.com\\/.*\\/d\\/([a-zA-Z0-9_-]+)(?:[\\/\\?]|$)/;\n    const match = url.match(regex);\n    return match ? match[1] : null;\n}\n\n// Get the URLs from the input\nconst urls = $input.first().json['TTS Audio'];\n\n// Check if the urls are in an array or string, and convert accordingly\nlet result = [];\n\nif (Array.isArray(urls)) {\n    // If 'urls' is an array, process each URL\n    result = urls.map(url => {\n        const fileId = extractFileId(url);\n        return { fileId: fileId };\n    });\n} else if (typeof urls === 'string') {\n    // If 'urls' is a string, process it as a single URL\n    const fileId = extractFileId(urls);\n    result = [{ fileId: fileId }];\n} else {\n    // Handle unexpected types (e.g., if it's neither an array nor a string)\n    result = [{ error: 'Invalid input type for TTS Audio' }];\n}\n\n// Return the result as an array of objects\nreturn result;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "b77778a1-07b0-4313-bad5-de3b99bd8332",
      "name": "Google Sheets17",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        360,
        2980
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "d813b0c1-0cc5-4dfa-9b7f-f264f97dfa58",
      "name": "Google Sheets18",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        840,
        2980
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Google Sheets17').item.json.row_number }}",
            "Video + Caption URL": "={{ $json.response }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "e74abe2a-52ba-47e2-a3f1-7837980b3a24",
      "name": "Google Sheets19",
      "type": "n8n-nodes-base.googleSheets",
      "disabled": true,
      "position": [
        380,
        3420
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "c7f072a8-dddd-4eb8-b53b-f458afae9fe1",
      "name": "Google Sheets20",
      "type": "n8n-nodes-base.googleSheets",
      "disabled": true,
      "position": [
        820,
        3420
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Google Sheets17').item.json.row_number }}",
            "Video + Caption URL": "={{ $json.response }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Final Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Final Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Caption URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Video + Caption URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video + Audio URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Video + Audio URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Raw Video URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Raw Video URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Audio",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Audio",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TTS Voice",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TTS Voice",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "scenes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "scenes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Captions URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Captions URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generative Style",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Generative Style",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Initial Prompt",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Initial Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1DkNSHR_yeqTR3IKudp8-W__PtvnnReOyaT0b8qmAK7E",
          "cachedResultUrl": "",
          "cachedResultName": "video"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "bb7c3691-5aa8-48e7-a269-18ecda997e1c",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1840,
        2980
      ],
      "parameters": {
        "chatId": "123456789",
        "operation": "sendVideo",
        "binaryData": true,
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7231f035-ca81-4871-93d5-4ad155d2006f",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1060,
        2980
      ],
      "parameters": {
        "url": "={{ $json['Video + Caption URL'] }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4cd54a8b-f648-46df-ac87-ffac7151cdb2",
      "name": "Telegram1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1420,
        2980
      ],
      "parameters": {
        "text": "=Title: {{ $('Google Sheets17').item.json.Title }}\n\n\nDescription: {{ $('Google Sheets17').item.json.Description }}",
        "chatId": "123456789",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "384fa241-3739-402e-8fd6-8daf447a917e",
      "name": "Google Drive4",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1240,
        2980
      ],
      "parameters": {
        "name": "={{ $('Google Sheets17').item.json.Title }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "11iyHSvbPR8S5tI1jzJmrKjTMo-mYUMVW",
          "cachedResultUrl": "",
          "cachedResultName": "clips"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "9a69ae33-5fbe-4ac1-a72d-eab62532e602",
      "name": "Google Drive6",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1600,
        2980
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Google Drive4').item.json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "e8db120a-5cab-489f-a188-e1937b8e66e1",
      "name": "Telegram2",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1840,
        3180
      ],
      "parameters": {
        "chatId": "123456789",
        "operation": "sendVideo",
        "binaryData": true,
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "493da324-465a-4643-a734-2cccb50ac92c",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Split Out2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code1": {
      "main": [
        [
          {
            "node": "Split Out3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code2": {
      "main": [
        [
          {
            "node": "Combine Clips3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fixer": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Long form to Script Writier \ud83e\udde0",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Script Writier \ud83e\udde0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine": {
      "main": [
        [
          {
            "node": "Format Cleanup",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Idea": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Music": {
      "main": [
        [
          {
            "node": "Google Sheets20",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Split into 5s Scenes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Image Prompter V2 \ud83d\udcf7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram1": {
      "main": [
        [
          {
            "node": "Google Drive6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate1": {
      "main": [
        [
          {
            "node": "Video url to array",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate3": {
      "main": [
        [
          {
            "node": "IDs To Array1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out2": {
      "main": [
        [
          {
            "node": "Loop Over Items3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out3": {
      "main": [
        [
          {
            "node": "Google Sheets11",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Clips": {
      "main": [
        [
          {
            "node": "Google Sheets10",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate TTS": {
      "main": [
        [
          {
            "node": "Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Captions": {
      "main": [
        [
          {
            "node": "Google Drive1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive": {
      "main": [
        [
          {
            "node": "Google Sheets14",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Google Drive4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine Clips": {
      "main": [
        [
          {
            "node": "Google Sheets13",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive1": {
      "main": [
        [
          {
            "node": "Google Sheets2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive2": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive3": {
      "main": [
        [
          {
            "node": "Google Sheets7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive4": {
      "main": [
        [
          {
            "node": "Telegram1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive6": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          },
          {
            "node": "Telegram2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IDs To Array1": {
      "main": [
        [
          {
            "node": "Google Sheets5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine Clips3": {
      "main": [
        [
          {
            "node": "Google Sheets16",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Cleanup": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "main": [
        [
          {
            "node": "Generate TTS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets3": {
      "main": [
        [
          {
            "node": "Google Drive2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets4": {
      "main": [
        [
          {
            "node": "Aggregate3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets6": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets7": {
      "main": [
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets8": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets9": {
      "main": [
        [
          {
            "node": "Create Clips",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Captions": {
      "main": [
        [
          {
            "node": "Google Sheets18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets10": {
      "main": [
        [
          {
            "node": "Loop Over Items3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets11": {
      "main": [
        [
          {
            "node": "Aggregate1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets12": {
      "main": [
        [
          {
            "node": "Code1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets14": {
      "main": [
        [
          {
            "node": "Get Captions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets15": {
      "main": [
        [
          {
            "node": "Code2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets17": {
      "main": [
        [
          {
            "node": "Create Captions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets18": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets19": {
      "main": [
        [
          {
            "node": "Add Music",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "HTTP - Together.ai",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Base64 To String": {
      "main": [
        [
          {
            "node": "Convert String to binary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items3": {
      "main": [
        [],
        [
          {
            "node": "Google Sheets9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP - Together.ai": {
      "main": [
        [
          {
            "node": "Base64 To String",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Set Idea",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets3",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets6",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets8",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets12",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets15",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets17",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Output Parser \ud83d\udee0": {
      "main": [
        [
          {
            "node": "Combine",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Video url to array": {
      "main": [
        [
          {
            "node": "Combine Clips",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Script Writier \ud83e\udde0": {
      "main": [
        [
          {
            "node": "Output Parser \ud83d\udee0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split into 5s Scenes": {
      "main": [
        [
          {
            "node": "Fixer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Image Prompter V2 \ud83d\udcf7": {
      "main": [
        [
          {
            "node": "Google Sheets4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert String to binary": {
      "main": [
        [
          {
            "node": "Google Drive3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "Output Parser \ud83d\udee0",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser2": {
      "ai_outputParser": [
        [
          {
            "node": "Image Prompter V2 \ud83d\udcf7",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Open Router - Deepseek v3.": {
      "ai_languageModel": [
        [
          {
            "node": "Image Prompter V2 \ud83d\udcf7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Open Router - Deepseek v3.1": {
      "ai_languageModel": [
        [
          {
            "node": "Output Parser \ud83d\udee0",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Script Writier \ud83e\udde0",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Long form to Script Writier \ud83e\udde0",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Long form to Script Writier \ud83e\udde0": {
      "main": [
        [
          {
            "node": "Output Parser \ud83d\udee0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}