{"workflow":{"id":14316,"name":"Ads Factory: Generate Unlimited Length UGC AI Video Pipeline","views":293,"recentViews":17,"totalViews":293,"createdAt":"2026-03-25T14:49:19.262Z","description":"  # UGC Ads Factory — Automated AI Video Pipeline                                                                                                                                                                                             \n                                                                                                                                                                                                                                              \n  This n8n workflow turns a script and character/setting description from Google Sheets into a complete stitched UGC-style video ad, fully automated from intake to final delivery.                                                           \n                                                                                                                                                                                                                                              \n  ---                                                                                                                                                                                                                                         \n                                                                                                                                                                                                                                            \n  ## Overview                                                                                                                                                                                                                                 \n                                                                                                                                                                                                                                            \n  The workflow runs a full production pipeline in four stages:                                                                                                                                                                                \n                                                                                                                                                                                                                                            \n  1. **Image Generation**                                                                                                                                                                                                                     \n     An AI agent creates a photorealistic selfie prompt from the character/setting description.                                                                                                                                             \n     The image is generated with Kie (Nano Banana), then uploaded to Google Drive and shared.                                                                                                                                                 \n                                                                                                                                                                                                                                              \n  2. **Scene Scripting**                                                                                                                                                                                                                      \n     The generated image is analyzed by Claude-4o-mini for visual consistency.                                                                                                                                                                \n     Claude Opus then converts the user script into structured 8-second scenes with consistent visuals and environment-aware motion prompts.                                                                                                  \n                                                                                                                                                                                                                                              \n  3. **Video Clip Generation**                                                                                                                                                                                                                \n     Each scene is sent to Kie VEO3 for video generation.                                                                                                                                                                                     \n     The workflow polls until each clip is complete, then uploads clips to Google Drive and updates status per scene.                                                                                                                         \n                                                                                                                                                                                                                                              \n  4. **Video Stitching**                                                                                                                                                                                                                      \n     After all scene clips are completed, clips are sorted and merged into one final video using fal.ai FFmpeg.                                                                                                                               \n     The stitched output is uploaded to Drive, and the final links are written back to Sheets.                                                                                                                                                \n                                                                                                                                                                                                                                              \n  ---                                                                                                                                                                                                                                         \n                                                                                                                                                                                                                                              \n  ## Google Sheets Structure                                                                                                                                                                                                                  \n                                                                                                                                                                                                                                            \n  This workflow uses two tabs in one spreadsheet:                                                                                                                                                                                             \n                                                                                                                                                                                                                                            \n  - **Videos** (campaign-level tracking)                                                                                                                                                                                                      \n    Main input/output tab with script, character description, aspect ratio, and global run status (`Create` → `Processing` → `Completed` / `Failed`), plus final video links.                                                               \n                                                                                                                                                                                                                                              \n  - **Video Data** (scene-level tracking)                                                                                                                                                                                                     \n    One row per scene with scene script JSON, scene number, image URL, clip links, and per-scene status.                                                                                                                                      \n    This tab enables robust scene retries and progress visibility.                                                                                                                                                                            \n                                                                                                                                                                                                                                              \n  ---                                                                                                                                                                                                                                         \n                                                                                                                                                                                                                                              \n  ## Triggers                                                                                                                                                                                                                                 \n                                                                                                                                                                                                                                            \n  - **Every 30 minutes**: processes new rows in **Videos** where `LAUNCH CREATION = Create`                                                                                                                                                   \n  - **Every 15 minutes**: reprocesses rows in **Video Data** where `LAUNCH = Redo`                                                                                                                                                          \n  - **Execute Workflow Trigger**: allows orchestration from another workflow                                                                                                                                                                  \n                                                                                                                                                                                                                                              \n  ---                                                                                                                                                                                                                                         \n                                                                                                                                                                                                                                              \n  ## Error Handling                                                                                                                                                                                                                           \n                                                                                                                                                                                                                                            \n  - API nodes retry on failure with a 5-second delay                                                                                                                                                                                          \n  - Failed image or clip generations are written to Sheets with error details                                                                                                                                                               \n  - Individual failed scenes can be retried by setting `LAUNCH = Redo` in **Video Data**                                                                                                                                                      \n  - Final stitching runs only after verifying all required scenes are completed                                                                                                                                                               \n                                                                                                                                                                                                                                              \n  ---                                                                                                                                                                                                                                         \n                                                                                                                                                                                                                                              \n  ## External Services                                                                                                                                                                                                                        \n                                                                                                                                                                                                                                            \n  - **Kie API** — image generation (Nano Banana) and video generation (VEO3)                                                                                                                                                                  \n  - **OpenRouter (Claude Opus)** — prompt engineering and scene script generation                                                                                                                                                           \n  - **OpenAI (Claude-4o-mini)** — image analysis for visual continuity                                                                                                                                                                        \n  - **fal.ai** — FFmpeg-based clip stitching                                                                                                                                                                                                  \n  - **Google Drive** — asset storage and share links                                                                                                                                                                                          \n  - **Google Sheets** — input/output control plane and status tracking                                                                                                                                                                        \n                                                                                                                                                                                                                                              \n  ---                                                                                                                                                                                                                                         \n                                                                                                                                                                                                                                              \n  ## Usage                                                                                                                                                                                                                                    \n                                                                                                                                                                                                                                            \n  1. Add a row in **Videos** with script, character/setting description, and aspect ratio.                                                                                                                                                    \n  2. Set **LAUNCH CREATION** to `Create`.                                                                                                                                                                                                   \n  3. Wait for the scheduled run (or trigger from another workflow).                                                                                                                                                                           \n  4. Track scene progress in **Video Data**.                                                                                                                                                                                                  \n  5. Retrieve final video links in **Videos** once status is `Completed`.                                                                                                                                                                     \n                                                                                                                                                                                                                                              \n  To retry failed scenes, set scene status to `Redo` in **Video Data**.          ","workflow":{"meta":{"instanceId":"e1eef5e1412dcf0e23d4c05b49f66082196799f5ce2f4935cf97798e6efac7c7"},"nodes":[{"id":"d89322eb-8d39-4e43-81a6-5c5e851ba92b","name":"Get Video Ideas","type":"n8n-nodes-base.googleSheets","position":[-7808,480],"parameters":{"sheetName":{"__rl":true,"mode":"list","value":"","cachedResultUrl":"","cachedResultName":""},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"6994d18f-8ffb-4f78-9f24-ff172b73fca7","name":"HTTP Request12","type":"n8n-nodes-base.httpRequest","position":[-7552,1728],"parameters":{"url":"https://api.kie.ai/api/v1/veo/generate","method":"POST","options":{},"jsonBody":"={\n  \"prompt\": {{ JSON.stringify($json.SCRIPT.parseJson()) }},\n  \"imageUrls\": [\"{{ $json['IMAGE URL'] }}\",\"{{ $json['IMAGE URL'] }}\" ],\n  \"model\": \"veo3_fast\",\n  \"aspect_ratio\": \"Auto\",\n  \"generationType\": \"FIRST_AND_LAST_FRAMES_2_VIDEO\"\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"retryOnFail":true,"typeVersion":4.3,"waitBetweenTries":5000},{"id":"8652d395-55d2-42a9-a379-68c14272c501","name":"HTTP Request13","type":"n8n-nodes-base.httpRequest","position":[-7376,1728],"parameters":{"url":"=https://api.kie.ai/api/v1/veo/record-info?taskId={{ $json.data.taskId }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"retryOnFail":true,"typeVersion":4.3,"waitBetweenTries":5000},{"id":"0148cb0b-b080-46dd-9b60-e055dcb1388e","name":"Wait6","type":"n8n-nodes-base.wait","position":[-7200,1888],"webhookId":"a0a69a78-8953-4439-b2e4-aa02015a23c2","parameters":{"unit":"minutes","amount":10},"typeVersion":1.1},{"id":"fe407dbe-fa9f-4d53-a4df-106be370ccd9","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-8960,336],"parameters":{"width":768,"height":816,"content":"                                                                                                                                                           \n  # UGC Ads Factory                                                                                                                                                                                                                         \n  **Automated AI pipeline for UGC-style video ads**                                                                                                                                                                                           \n                                                                                                                                                                                                                                              \n  `Create row → Reference image → Scene plan → Scene clips → Stitch final video → Publish links`                                                                                                                                              \n                                                                                                                                                                                                                                              \n  ### How it works                                                                                                                                                                                                                            \n  - The trigger reads rows in **Videos** where `LAUNCH CREATION = Create`, normalizes fields, and marks each row `Processing`.                                                                                                              \n  - Kie creates a reference image. The workflow polls until completion, then uploads and shares the image in Google Drive.                                                                                                                    \n  - Claude-4o-mini analyzes visual details. Claude Opus converts the script into ordered 8-second scenes with consistent visual context and movement prompts.                                                                                 \n  - Each scene is appended to **Video Data** using `VIDEO ID`, `SCENE NO`, `SCRIPT`, and `TOTAL SCENES`.                                                                                                                                      \n  - VEO3 generates one clip per scene. Successful clips are uploaded and linked; failures are logged with error state.                                                                                                                        \n  - After all scenes complete, clips are sorted and merged via fal.ai FFmpeg.                                                                                                                                                                 \n  - Final video links are written back to **Videos**, and campaign status becomes `Completed`.                                                                                                                                                \n                                                                                                                                                                                                                                              \n  ### Setup                                                                                                                                                                                                                                   \n  - Configure credentials: Google Sheets, Google Drive, Kie, OpenRouter, OpenAI, fal.ai.                                                                                                                                                      \n  - Confirm sheet/tab names and column headers exactly match workflow mapping.                                                                                                                                                                \n  - Set destination folder IDs for image clips and final stitched videos.                                                                                                                                                                     \n                                                                                                                                                                                                                                              \n  ### Customization                                                                                                                                                                                                                           \n  - Tune scene length, polling intervals, model defaults, retry policy, and failure-routing behavior. "},"typeVersion":1},{"id":"0559e237-00ff-4efe-a47e-36c8af909baf","name":"Video Status Check","type":"n8n-nodes-base.switch","position":[-7200,1696],"parameters":{"rules":{"values":[{"outputKey":"Success","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"vid-poll-success-flag","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $json.data.successFlag }}","rightValue":1},{"id":"vid-poll-success-state","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"success"}]},"renameOutput":true},{"outputKey":"Failed","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"vid-poll-failed-flag","operator":{"type":"number","operation":"gte"},"leftValue":"={{ $json.data.successFlag }}","rightValue":2},{"id":"vid-poll-failed-state","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"failed"}]},"renameOutput":true},{"outputKey":"Processing","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"vid-poll-processing-flag","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $json.data.successFlag }}","rightValue":0},{"id":"vid-poll-waiting","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"waiting"},{"id":"vid-poll-processing","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"processing"},{"id":"vid-poll-generating","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"generating"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unknown Status"}},"typeVersion":3.4},{"id":"4b470e1c-d761-4d7d-b1be-b52222135c20","name":"Prompt Agent LLM","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[-7488,704],"parameters":{"model":"anthropic/claude-opus-4.5","options":{}},"typeVersion":1},{"id":"5c6d334c-8555-4459-812e-b495955719c7","name":"Prompt Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-7344,704],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"prompt\": { \"type\": \"string\" },\n    \"model\": { \"type\": \"string\" },\n    \"aspectRatio\": { \"type\": \"string\" },\n    \"resolution\": { \"type\": \"string\" }\n  },\n  \"required\": [\"prompt\", \"model\", \"aspectRatio\",\"resolution\"]\n}"},"typeVersion":1.3},{"id":"0b88243e-35a0-48ed-8642-7eb2fd553a23","name":"Image Gen Error","type":"n8n-nodes-base.stopAndError","position":[-5696,1904],"parameters":{"errorMessage":"=Image generation API failed. Code: {{ $json.code }}. Message: {{ $json.msg }}"},"typeVersion":1},{"id":"757ee7c8-04b1-44a2-bdc5-2bc952ea21e8","name":"Script Agent LLM","type":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","position":[-5456,592],"parameters":{"model":"anthropic/claude-opus-4.5","options":{}},"typeVersion":1},{"id":"f5fdbb5e-0f2d-4d74-a869-c86aa65fe6b2","name":"Scene Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-5280,592],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"scenes\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"scene_number\": { \"type\": \"number\" },\n          \"script\": { \"type\": \"string\" },\n          \"visual_description\": { \"type\": \"string\" },\n          \"audio_description\": { \"type\": \"string\" },\n          \"movement\": { \"type\": \"string\" },\n          \"duration_seconds\": { \"type\": \"number\" }\n        },\n        \"required\": [\"scene_number\", \"script\", \"visual_description\", \"movement\", \"duration_seconds\"]\n      }\n    }\n  },\n  \"required\": [\"scenes\"]\n}\n"},"typeVersion":1.3},{"id":"a40e50b2-5f5c-4b7b-9e94-e3730408f4e3","name":"Nano Banana Prompt Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[-7488,480],"parameters":{"text":"=Character Description:\n{{ $('Input').item.json.character_description }}\n\nVideo Script image reference:\n{{ $('Input').item.json.demo_script }}\n\nAspect_ratio:\n{{ $json.aspect_ratio }}\n\nGenerate the complete JSON for Nano Banana Pro API.","options":{"systemMessage":"=You are an expert at crafting photorealistic AI image prompts for authentic UGC (User Generated Content) videos.\n\nTASK: Convert the user's character description and setting into a complete Nano Banana Pro API JSON body that generates an ultra-realistic raw mobile selfie photo. Use input details to ger\n\nSTRUCTURED PROMPT ELEMENTS (include ALL in your prompt string):\n\n1. CAMERA & COMPOSITION:\n   - \"iPhone 15 Pro front camera selfie\"\n   - \"9:16/169 vertical/Horizontal portrait orientation\"\n   - \"close-up/Medium close up head and shoulders shot\"\n   - \"35mm lens look, f/2.0 aperture\"\n   - \"EXTREME shallow depth of field, heavy soft bokeh background\" (CRITICAL: The background must be blurred into soft shapes to hide details for later video generation, regardless of the setting)\n\n2. SETTING & POSTURE (Analyze user input and adapt dynamically):\n   - IF CAR: \"Subject sitting in driver's seat of a car, phone positioned like a dash-mount or held casually, car interior and window, character looking toward camera.\"\n   - IF WALKING (Indoors/Outdoors): \"Subject walking, holding camera at arm's length (vlog style), dynamic posture, background elements completely blurred to conceal movement. \"\n   - IF ROOM (Bedroom, Office, Bathroom): \"Casual indoor environment, relaxed posture (sitting or standing),  character looking toward camera.\"\n   - IF OTHER: Apply natural UGC-style framing appropriate for the requested environment.\n\n3. LIGHTING (critical for realism):\n   - \"Natural soft window light\" OR \"soft diffused daylight\"\n   - \"Subtle rim light, no harsh shadows\"\n   - AVOID: \"studio lighting\", \"flash\", \"ring light\"\n\n4. SUBJECT REALISM (anti-AI detection):\n   - \"Realistic skin texture with visible pores, subtle skin imperfections\"\n   - \"Authentic facial expression, mid-conversation, natural hair\"\n5. IMPORTANT:\n   - No iphone or mobile should be visible in the video.\n\nOUTPUT: Return ONLY valid JSON (no markdown, no explanation):\n{\n  \"prompt\": \"[Comprehensive prompt combining all elements above with the user's character description]\",\n  \"model\": \"nano_banana_pro\",\n  \"aspectRatio\": \"9:16\",\n  \"resolution\": \"2k\"\n}"},"promptType":"define","hasOutputParser":true},"retryOnFail":true,"typeVersion":3.1,"waitBetweenTries":5000},{"id":"087b06f3-bed6-4e82-9c49-2652143803bd","name":"Generate UGC Image","type":"n8n-nodes-base.httpRequest","position":[-7104,480],"parameters":{"url":"=https://api.kie.ai/api/v1/jobs/createTask","method":"POST","options":{},"jsonBody":"={\n  \"model\": \"nano-banana-2\",\n  \"callBackUrl\": \"https://your-domain.com/api/callback\",\n  \"input\": {\n    \"prompt\": {{ JSON.stringify($json.output.prompt) }},\n    \"aspect_ratio\": \"{{ $('Input').item.json.aspect_ratio }}\",\n    \"resolution\": \"2K\",\n    \"output_format\": \"png\"\n  }\n}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"executeOnce":false,"retryOnFail":true,"typeVersion":4.3,"waitBetweenTries":5000},{"id":"c0d40d1a-ad66-4c7a-a1bb-ebe2e6c589d5","name":"Image Gen Response Check","type":"n8n-nodes-base.switch","position":[-6912,464],"parameters":{"rules":{"values":[{"outputKey":"Success","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"img-gen-success","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $json.code }}","rightValue":200}]},"renameOutput":true},{"outputKey":"Error","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"img-gen-error","operator":{"type":"number","operation":"notEquals"},"leftValue":"={{ $json.code }}","rightValue":200}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unexpected"}},"typeVersion":3.4},{"id":"e9040eb0-e298-4cb5-b8a2-e021476905a3","name":"Workflow Configuration3","type":"n8n-nodes-base.set","position":[-5792,400],"parameters":{"options":{},"assignments":{"assignments":[{"id":"7ee37300-28a6-4426-85c8-1b23dab144ea","name":"referenceImage","type":"string","value":"={{ $('Upload file').item.json.webViewLink }}"},{"id":"ref-img","name":"download_image","type":"string","value":"={{ $('Upload file').item.json.webContentLink }}"},{"id":"21a05480-dd91-4a05-a824-e260a621e4f6","name":"character_description","type":"string","value":"={{ $('Input').item.json.character_description }}"},{"id":"demo-script","name":"demo_script","type":"string","value":"={{ $('Input').item.json.demo_script }}"},{"id":"aspect-ratio","name":"aspect_ratio","type":"string","value":"={{ $('Input').item.json.aspect_ratio }}"}]}},"typeVersion":3.4},{"id":"3f7fdefa-aefa-40f1-b2cc-3d7a97a35655","name":"Split Scenes","type":"n8n-nodes-base.splitOut","position":[-5168,400],"parameters":{"options":{},"fieldToSplitOut":"output.scenes"},"typeVersion":1},{"id":"fe848a2d-d4ef-4015-839c-2107b9ad6250","name":"Analyze UGC Image3","type":"@n8n/n8n-nodes-langchain.openAi","position":[-5600,400],"parameters":{"text":"Analyze this UGC image in detail. Describe the subject's appearance (age, ethnicity, hair, clothing), setting, lighting, mood, and composition. Focus on details needed for video generation consistency.","modelId":{"__rl":true,"mode":"list","value":"gpt-4o-mini","cachedResultName":"GPT-4O-MINI"},"options":{"detail":"high"},"resource":"image","imageUrls":"={{ $json.download_image }}","operation":"analyze"},"retryOnFail":true,"typeVersion":2.1},{"id":"eef8c19c-57b7-4b3b-995d-f642cfa394fe","name":"Generate Scene Scripts3","type":"@n8n/n8n-nodes-langchain.agent","position":[-5456,400],"parameters":{"text":"=Image Prompt:\n{{ $('Workflow Configuration3').item.json.character_description }}\n\nGenerated Image Analysis:\n{{ $json['0'].content[0].text }}\n\nUser Script:\n{{ $('Workflow Configuration3').item.json.demo_script }}\n\nCreate video scenes from this script.","options":{"systemMessage":"=You are an expert Creative Director and Scriptwriter for AI-generated \"talking photo\" video sequences. \n\nCRITICAL GOAL\nYour task is to take a reference image analysis and user instructions (script/requirements) and turn them into a structured series of video scenes.\n\nVISUAL CONSISTENCY (Non-negotiable)\n1. The entire video is generated from ONE static reference image. \n2. The `visual_description` for EVERY scene must be IDENTICAL. \n3. Use the provided image analysis to create a concise (max 300 characters) static visual description. Add: \"iPhone UGC style, slightly grainy, authentic speaking gestures\".\n\nSCENE GENERATION LOGIC\n1. Split the script into logical segments of approximately 20 - 27 words (roughly 8 seconds of speech).\n2. Output a JSON object containing a \"scenes\" array.\n\nSCENE STRUCTURE RULES\nEach object in the `scenes` array must include:\n- `scene_number`: Sequential integer starting at 1.\n- `script`: The spoken text for that specific 8-second segment.\n- `visual_description`: The identical string described above.\n- `duration_seconds`: Always 8.\n\nDYNAMIC MOVEMENT LOGIC (Crucial for Video AI):\nAnalyze the setting from the image analysis and assign the appropriate `movement` string for EVERY scene:\n- IF CAR INTERIOR: \"natural head movements while talking, slight camera vibration from car idling, blurred scenery passing subtly in the windows.\"\n- IF WALKING (Outdoors/Indoors): \"continuous forward walking motion, subject holding camera vlog-style, natural camera bounce matching footsteps, heavily blurred background passing by smoothly.\"\n- IF STATIC ROOM (Bedroom/Office/Couch): \"natural subtle body movement, slight handheld camera drift, expressive facial gestures, static blurred background.\"\n- IF OTHER: Deduce the natural physics of the scene (is the camera static or moving? is the background static or moving?) and write a brief, cohesive motion prompt.\n\nSCRIPT RULES FOR AUTHENTICITY:\n- Don't include pauses: \"And I couldn't believe it\"\n- Conversational tone, not salesy\n- NO stage directions like [smiles] or [nods] in the script text.\n\nOUTPUT: Return ONLY valid JSON:\n{\n  \"scenes\": [\n    {\n      \"scene_number\": 1,\n      \"script\": \"The spoken text...\",\n      \"visual_description\": \"Static description of the person...\",\n      \"audio_description\": \"No background noice\",\n      \"movement\": \"Dynamic motion instructions based on the identified environment...\",\n      \"duration_seconds\": 8\n    }\n  ]\n}\n"},"promptType":"define","hasOutputParser":true},"retryOnFail":true,"typeVersion":3.1},{"id":"5307f0e6-a123-43b9-8d77-b4fbb75cb652","name":"Input","type":"n8n-nodes-base.set","position":[-7648,480],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8117b31c-6433-447e-89d0-1ae00d8bd3a5","name":"character_description","type":"string","value":"={{ $json['CHARACTER/SETTING DESCRIPTION'] }}"},{"id":"711643da-17f7-46bc-8c66-294843d4a2b9","name":"demo_script","type":"string","value":"={{ $json.SCRIPT }}"},{"id":"fb55afcc-a21b-49bb-b4b2-e9e504b7bc13","name":"aspect_ratio","type":"string","value":"={{ $json['ASPECT RATIO'] || \"9:16\" }}"},{"id":"23dcda06-c268-4fcd-9e5f-4d8813dcbde7","name":"id","type":"string","value":"={{ $execution.id + '_' + Date.now().toString() + Math.random().toString(36).substring(2, 10) }}"},{"id":"e30c7c90-87e9-47d5-b001-5062a3c7e678","name":"row_number","type":"number","value":"={{ $json.row_number }}"}]}},"typeVersion":3.4},{"id":"8dc23647-0633-47cf-942c-755cc4b9f94c","name":"videoInput","type":"n8n-nodes-base.set","position":[-7728,1728],"parameters":{"options":{},"assignments":{"assignments":[{"id":"94515e20-338a-425c-838d-f77c802c5266","name":"ID","type":"string","value":"={{ $json.ID }}"},{"id":"aa02ee83-02aa-4aee-9e7b-2eb98bcdc902","name":"VIDEO ID","type":"string","value":"={{ $json['VIDEO ID'] }}"},{"id":"cbda8d7e-3f8b-4b3c-8029-7564002e4068","name":"SCRIPT","type":"string","value":"={{ $json.SCRIPT }}"},{"id":"e6a0442e-46b0-4226-a1f5-07e3fa9105a1","name":"IMAGE URL","type":"string","value":"={{ $json['IMAGE URL'] }}"}]}},"typeVersion":3.4},{"id":"160418ac-08be-4a9d-beb2-cd1074379038","name":"HTTP Request1","type":"n8n-nodes-base.httpRequest","position":[-6960,1680],"parameters":{"url":"={{ $('Video Status Check').item.json.data.response.resultUrls[0] }}","options":{}},"retryOnFail":true,"typeVersion":4.4,"waitBetweenTries":5000},{"id":"79ed8983-c1ca-4b49-aa0f-742f443de5b4","name":"Wait 10s","type":"n8n-nodes-base.wait","position":[-6480,608],"webhookId":"500df38b-c0c8-4750-a6d3-ce6232d20c52","parameters":{"amount":60},"typeVersion":1.1},{"id":"d9a1c791-c535-4cd2-a6e5-a878aa144df3","name":"Image Poll Error","type":"n8n-nodes-base.stopAndError","position":[-6480,864],"parameters":{"errorMessage":"=Image generation failed permanently. State: {{ $json.data.state }}. SuccessFlag: {{ $json.data.successFlag }}. Error: {{ $json.data.errorMessage || 'Unknown error' }}. TaskId: {{ $json.data.taskId }}"},"typeVersion":1},{"id":"210cb9ec-6c71-4673-8818-14fa28cb34c3","name":"Poll Image Status","type":"n8n-nodes-base.httpRequest","position":[-6640,448],"parameters":{"url":"=https://api.kie.ai/api/v1/jobs/recordInfo?taskId={{ $json.data.taskId }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"retryOnFail":true,"typeVersion":4.3,"waitBetweenTries":5000},{"id":"06526cb8-8aba-47bb-aefe-6553420fe5b1","name":"Image Status Check","type":"n8n-nodes-base.switch","position":[-6480,416],"parameters":{"rules":{"values":[{"outputKey":"Success","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"img-poll-success-flag","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $json.data.successFlag }}","rightValue":1},{"id":"img-poll-success-state","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"success"}]},"renameOutput":true},{"outputKey":"Failed","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"img-poll-failed-flag","operator":{"type":"number","operation":"gte"},"leftValue":"={{ $json.data.successFlag }}","rightValue":2},{"id":"img-poll-failed-state","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"failed"}]},"renameOutput":true},{"outputKey":"Processing","conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"or","conditions":[{"id":"img-poll-processing-flag","operator":{"type":"number","operation":"equals"},"leftValue":"={{ $json.data.successFlag }}","rightValue":0},{"id":"img-poll-waiting","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"waiting"},{"id":"img-poll-processing","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"processing"},{"id":"img-poll-generating","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.state }}","rightValue":"generating"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra","renameFallbackOutput":"Unknown Status"}},"typeVersion":3.4},{"id":"9ece6252-e993-493b-9dea-6e4dd721e6b9","name":"Upload file","type":"n8n-nodes-base.googleDrive","position":[-6080,400],"parameters":{"name":"={{ $('Input').item.json.id }}.png","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"11kfsPSUmo3vzh5J3evGxEFa6aRrNPh5R"}},"typeVersion":3},{"id":"99701b3a-4f09-4071-b787-1643a5353309","name":"Download Image","type":"n8n-nodes-base.httpRequest","position":[-6208,400],"parameters":{"url":"={{ $json.data.resultJson.parseJson().resultUrls[0] }}","options":{}},"typeVersion":4.4},{"id":"dc6b25d5-23de-4609-b1c6-7f3f83065d75","name":"Share file","type":"n8n-nodes-base.googleDrive","position":[-5952,400],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{},"operation":"share","permissionsUi":{"permissionsValues":{"role":"reader","type":"anyone"}}},"typeVersion":3},{"id":"a24f13cb-c7af-4452-8c90-28d2d8ba7bdb","name":"UpdateSheet","type":"n8n-nodes-base.googleSheets","position":[-5008,400],"parameters":{"columns":{"value":{"ID":"={{ $('Input').first().json.id }}","LAUNCH":"Processing","SCRIPT":"={{ JSON.stringify($json) }}","SCENE NO":"={{ $json.scene_number }}","VIDEO ID":"={{ $('Input').first().json.id }}_{{ $itemIndex }}","IMAGE URL":"={{ $('Workflow Configuration3').first().json.download_image }}","TOTAL SCENES":"={{ $('Generate Scene Scripts3').first().json.output.scenes.length }}"},"schema":[{"id":"ID","type":"string","display":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO ID","type":"string","display":true,"required":false,"displayName":"VIDEO ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"IMAGE URL","type":"string","display":true,"required":false,"displayName":"IMAGE URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"TOTAL SCENES","type":"string","display":true,"removed":false,"required":false,"displayName":"TOTAL SCENES","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCENE NO","type":"string","display":true,"required":false,"displayName":"SCENE NO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW CLIP","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW CLIP","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO CLIP LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO CLIP LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH","type":"string","display":true,"required":false,"displayName":"LAUNCH","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Error","type":"string","display":true,"removed":true,"required":false,"displayName":"Error","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":419137619,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=419137619","cachedResultName":"Video Data"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"ebb29036-8a05-4fce-8bb5-d233b87de2e2","name":"UpdateSheet1","type":"n8n-nodes-base.googleSheets","position":[-4720,864],"parameters":{"columns":{"value":{"ID":"={{ $('Input').first().json.id }}","SCRIPT":"={{ $('Input').item.json.demo_script }}","row_number":"={{ $('Input').item.json.row_number }}","LAUNCH CREATION":"Processing"},"schema":[{"id":"ID","type":"string","display":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT NAME","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT NAME","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":false,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"CHARACTER/SETTING DESCRIPTION","type":"string","display":true,"removed":true,"required":false,"displayName":"CHARACTER/SETTING DESCRIPTION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ASPECT RATIO","type":"string","display":true,"removed":true,"required":false,"displayName":"ASPECT RATIO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH CREATION","type":"string","display":true,"required":false,"displayName":"LAUNCH CREATION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["row_number"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=0","cachedResultName":"Videos"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"executeOnce":true,"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"dca509d8-8d78-4be5-aefb-9addf3debc47","name":"Get row(s) in sheet","type":"n8n-nodes-base.googleSheets","position":[-7872,1728],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"={{ $('Input').item.json.id }}","lookupColumn":"ID"}]},"sheetName":{"__rl":true,"mode":"list","value":419137619,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=419137619","cachedResultName":"Video Data"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"executeOnce":true,"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"cdcd3e51-a210-4a4d-8b58-d6a095fc85eb","name":"Upload file1","type":"n8n-nodes-base.googleDrive","position":[-6784,1680],"parameters":{"name":"={{ $('videoInput').item.json['VIDEO ID'] }}.mp4","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"1HlQRqwXfdYEm8zIsxQ0NsEYRAUEaFvMD"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"3bda72be-7bf7-425b-8fa0-e262c5452cb1","name":"Share file1","type":"n8n-nodes-base.googleDrive","position":[-6640,1680],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{},"operation":"share","permissionsUi":{"permissionsValues":{"role":"reader","type":"anyone"}}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"6aee447c-c1f3-418d-9c3b-eb661161f707","name":"UpdateSheet2","type":"n8n-nodes-base.googleSheets","position":[-6464,1680],"parameters":{"columns":{"value":{"Error":"No Error","LAUNCH":"Completed","VIDEO ID":"={{ $('videoInput').item.json['VIDEO ID'] }}","VIDEO CLIP LINK":"={{ $('Upload file1').item.json.webContentLink }}","VIDEO VIEW CLIP":"={{ $('Upload file1').item.json.webViewLink.split(\"?\")[0] }}"},"schema":[{"id":"ID","type":"string","display":true,"removed":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO ID","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"IMAGE URL","type":"string","display":true,"removed":true,"required":false,"displayName":"IMAGE URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"TOTAL SCENES","type":"string","display":true,"removed":true,"required":false,"displayName":"TOTAL SCENES","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCENE NO","type":"string","display":true,"removed":true,"required":false,"displayName":"SCENE NO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW CLIP","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO VIEW CLIP","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO CLIP LINK","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO CLIP LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH","type":"string","display":true,"required":false,"displayName":"LAUNCH","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Error","type":"string","display":true,"removed":false,"required":false,"displayName":"Error","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["VIDEO ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":419137619,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=419137619","cachedResultName":"Video Data"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"98e90d5c-382b-4017-b8e7-b8a958360bd2","name":"Get row(s) for Stitch","type":"n8n-nodes-base.googleSheets","position":[-6272,1680],"parameters":{"options":{},"filtersUI":{"values":[{"lookupValue":"={{ $('videoInput').item.json.ID }}","lookupColumn":"ID"},{"lookupValue":"Completed","lookupColumn":"LAUNCH"}]},"sheetName":{"__rl":true,"mode":"list","value":419137619,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=419137619","cachedResultName":"Video Data"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"executeOnce":true,"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"09d31ad8-e2fb-47d9-9bc4-7c7f72346821","name":"Sort","type":"n8n-nodes-base.sort","position":[-5696,1600],"parameters":{"options":{},"sortFieldsUi":{"sortField":[{"fieldName":"SCENE NO"}]}},"typeVersion":1},{"id":"a44712c4-c5b4-4915-a42e-6bbecbf150c7","name":"Code in JavaScript","type":"n8n-nodes-base.code","position":[-6080,1680],"parameters":{"jsCode":"const items = $input.all();\nconst totalItems = items.length;\n\n// Assuming TOTAL SCENES is same for all items (usually from sheet row)\nconst totalScenes = Number(items[0].json[\"TOTAL SCENES\"]);\n\nconst isComplete = totalItems >= totalScenes;\n\nfor (const item of items) {\n  item.json.isComplete = isComplete;\n}\n\nreturn items;"},"typeVersion":2},{"id":"9e26a0ce-0a75-41d3-92e0-e774afccf9a6","name":"If","type":"n8n-nodes-base.if","position":[-5872,1680],"parameters":{"options":{"ignoreCase":true},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":false,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"0b05360c-9abf-4e3d-ba2a-f3ae3627932b","operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.isComplete }}","rightValue":true}]},"looseTypeValidation":true},"typeVersion":2.3},{"id":"81261d3e-c2d1-44c4-a396-54c225b9a9a2","name":"download-video8","type":"n8n-nodes-base.httpRequest","position":[-5104,1600],"parameters":{"url":"={{ $json.video.url }}","options":{}},"retryOnFail":true,"typeVersion":4.3,"waitBetweenTries":5000},{"id":"65fc1067-2502-460a-aad9-0f4f4afb930d","name":"Upload file2","type":"n8n-nodes-base.googleDrive","position":[-4864,1600],"parameters":{"name":"={{ $('videoInput').item.json.ID }}.mp4","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"1HlQRqwXfdYEm8zIsxQ0NsEYRAUEaFvMD"}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"6ad7af35-7562-448c-a703-80194c105b5e","name":"Share file2","type":"n8n-nodes-base.googleDrive","position":[-4720,1600],"parameters":{"fileId":{"__rl":true,"mode":"id","value":"={{ $json.id }}"},"options":{},"operation":"share","permissionsUi":{"permissionsValues":{"role":"reader","type":"anyone"}}},"retryOnFail":true,"typeVersion":3,"waitBetweenTries":5000},{"id":"fdcb362c-2d19-40b6-9fb4-7eb3368668e0","name":"UpdateSheet3","type":"n8n-nodes-base.googleSheets","position":[-4544,1600],"parameters":{"columns":{"value":{"ID":"={{ $('videoInput').first().json.ID }}","VIDEO LINK":"={{ $('Upload file2').item.json.webContentLink }}","LAUNCH CREATION":"Completed","VIDEO VIEW LINK":"={{ $('Upload file2').item.json.webViewLink.split(\"?\")[0] }}"},"schema":[{"id":"ID","type":"string","display":true,"removed":false,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT NAME","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT NAME","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"CHARACTER/SETTING DESCRIPTION","type":"string","display":true,"removed":true,"required":false,"displayName":"CHARACTER/SETTING DESCRIPTION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ASPECT RATIO","type":"string","display":true,"removed":true,"required":false,"displayName":"ASPECT RATIO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW LINK","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO VIEW LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO LINK","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH CREATION","type":"string","display":true,"removed":false,"required":false,"displayName":"LAUNCH CREATION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=0","cachedResultName":"Videos"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"3485451a-578b-44d9-8d40-1285ffc9efae","name":"UpdateSheet4","type":"n8n-nodes-base.googleSheets","position":[-7024,1536],"parameters":{"columns":{"value":{"Error":"={{ $json.data.errorMessage }}","LAUNCH":"Failed","VIDEO ID":"={{ $('videoInput').item.json['VIDEO ID'] }}"},"schema":[{"id":"ID","type":"string","display":true,"removed":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO ID","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"IMAGE URL","type":"string","display":true,"removed":true,"required":false,"displayName":"IMAGE URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"TOTAL SCENES","type":"string","display":true,"removed":true,"required":false,"displayName":"TOTAL SCENES","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCENE NO","type":"string","display":true,"removed":true,"required":false,"displayName":"SCENE NO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW CLIP","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW CLIP","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO CLIP LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO CLIP LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH","type":"string","display":true,"required":false,"displayName":"LAUNCH","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Error","type":"string","display":true,"removed":false,"required":false,"displayName":"Error","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["VIDEO ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":419137619,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=419137619","cachedResultName":"Video Data"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"620a7998-2728-493f-bc9d-1d47cec9b75a","name":"UpdateSheet5","type":"n8n-nodes-base.googleSheets","position":[-6640,864],"parameters":{"columns":{"value":{"ID":"={{ $('Input').first().json.id }}","LAUNCH CREATION":"Failed"},"schema":[{"id":"ID","type":"string","display":true,"removed":false,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT NAME","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT NAME","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"CHARACTER/SETTING DESCRIPTION","type":"string","display":true,"removed":true,"required":false,"displayName":"CHARACTER/SETTING DESCRIPTION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ASPECT RATIO","type":"string","display":true,"removed":true,"required":false,"displayName":"ASPECT RATIO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH CREATION","type":"string","display":true,"removed":false,"required":false,"displayName":"LAUNCH CREATION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=0","cachedResultName":"Videos"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"51ca2822-d0f9-4765-bc22-9b550b5b890e","name":"Get row(s) in sheet1","type":"n8n-nodes-base.googleSheets","position":[-7808,2128],"parameters":{"sheetName":{"__rl":true,"mode":"list","value":"","cachedResultUrl":"","cachedResultName":""},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"executeOnce":true,"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"484a7936-49f2-4cee-9fe5-e124e85d0ccf","name":"UpdateSheet9","type":"n8n-nodes-base.googleSheets","position":[-6752,1536],"parameters":{"columns":{"value":{"ID":"={{ $('videoInput').item.json['VIDEO ID'].slice(0, -2) }}","LAUNCH CREATION":"Failed"},"schema":[{"id":"ID","type":"string","display":true,"removed":false,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT NAME","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT NAME","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"CHARACTER/SETTING DESCRIPTION","type":"string","display":true,"removed":true,"required":false,"displayName":"CHARACTER/SETTING DESCRIPTION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ASPECT RATIO","type":"string","display":true,"removed":true,"required":false,"displayName":"ASPECT RATIO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH CREATION","type":"string","display":true,"removed":false,"required":false,"displayName":"LAUNCH CREATION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=0","cachedResultName":"Videos"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"066c8865-8258-455c-8d19-d29c1baf1344","name":"UpdateSheet10","type":"n8n-nodes-base.googleSheets","position":[-7552,1584],"parameters":{"columns":{"value":{"LAUNCH":"Processing","VIDEO ID":"={{ $json['VIDEO ID'] }}"},"schema":[{"id":"ID","type":"string","display":true,"removed":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO ID","type":"string","display":true,"removed":false,"required":false,"displayName":"VIDEO ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"IMAGE URL","type":"string","display":true,"removed":true,"required":false,"displayName":"IMAGE URL","defaultMatch":false,"canBeUsedToMatch":true},{"id":"TOTAL SCENES","type":"string","display":true,"removed":true,"required":false,"displayName":"TOTAL SCENES","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCENE NO","type":"string","display":true,"removed":true,"required":false,"displayName":"SCENE NO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW CLIP","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW CLIP","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO CLIP LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO CLIP LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH","type":"string","display":true,"required":false,"displayName":"LAUNCH","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Error","type":"string","display":true,"removed":true,"required":false,"displayName":"Error","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":true,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["VIDEO ID"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":419137619,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=419137619","cachedResultName":"Video Data"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"executeOnce":true,"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"682390d8-a9fd-432d-bc98-fc99740f9e80","name":"Code in JavaScript2","type":"n8n-nodes-base.code","position":[-7664,2128],"parameters":{"jsCode":"// n8n Code Node\nconst items = $input.all();\n\n// Step 1: Group items by ID\nconst groups = {};\nfor (const item of items) {\n  const id = item.json.ID;\n  if (!groups[id]) groups[id] = [];\n  groups[id].push(item);\n}\n\nconst uniqueIds = Object.keys(groups);\n\n// Step 2: If all items share the same ID, return all\nif (uniqueIds.length === 1) {\n  return items;\n}\n\n// Step 3: Find the minimum group size\nconst minCount = Math.min(...uniqueIds.map(id => groups[id].length));\n\n// Step 4: Return only the group(s) with the minimum entry count\nconst result = [];\nfor (const id of uniqueIds) {\n  if (groups[id].length === minCount) {\n    result.push(...groups[id]);\n  }\n}\n\nreturn result;"},"typeVersion":2},{"id":"39e38150-6ceb-41b8-a587-f79001f5170e","name":"Schedule Trigger","type":"n8n-nodes-base.scheduleTrigger","position":[-7968,2128],"parameters":{"rule":{"interval":[{"field":"minutes","minutesInterval":15}]}},"typeVersion":1.3},{"id":"f13aa6a8-8294-492c-b8e6-04c6fa0453c4","name":"Schedule Trigger1","type":"n8n-nodes-base.scheduleTrigger","position":[-8032,592],"parameters":{"rule":{"interval":[{"field":"minutes","minutesInterval":30}]}},"typeVersion":1.3},{"id":"fa732387-c0cb-430e-95f9-a740a0c6f899","name":"Generate media using AI model1","type":"@fal-ai/n8n-nodes-fal.falAi","position":[-5312,1600],"parameters":{"model":{"__rl":true,"mode":"list","value":"fal-ai/ffmpeg-api/merge-videos","cachedResultName":"Ffmpeg Api [video-to-video]"},"options":{"maxWaitTime":600,"pollInterval":5,"waitForCompletion":true},"modelParameters":{"parameters":[{"value":"={{ JSON.stringify($json['VIDEO CLIP LINK']) }}","parameter":"video_urls"}]}},"credentials":{},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":5000},{"id":"bbb382bb-50c6-4313-8db2-cd7a9e25f081","name":"Aggregate Tempfile URLs2","type":"n8n-nodes-base.aggregate","position":[-5520,1600],"parameters":{"options":{},"fieldsToAggregate":{"fieldToAggregate":[{"fieldToAggregate":"VIDEO CLIP LINK"}]}},"typeVersion":1},{"id":"5672a358-6193-4b7e-8533-f5fda2d35a3c","name":"Wait","type":"n8n-nodes-base.wait","position":[-4848,400],"webhookId":"83fbf82d-e207-4aa0-9164-7ddf75967972","parameters":{"amount":60},"typeVersion":1.1},{"id":"f6f9ffab-6f78-4abb-b179-67c75b6d611c","name":"Wait1","type":"n8n-nodes-base.wait","position":[-6896,1536],"webhookId":"3c7c2fe9-cb51-4635-8555-9d60ce6c13a1","parameters":{},"typeVersion":1.1},{"id":"708b799d-c34b-4382-b31f-05dcad8d9e89","name":"When Executed by Another Workflow","type":"n8n-nodes-base.executeWorkflowTrigger","position":[-8032,384],"parameters":{"inputSource":"passthrough"},"typeVersion":1.1},{"id":"0ef2e4d2-3760-47f1-a842-c5b6562a9882","name":"UpdateSheet6","type":"n8n-nodes-base.googleSheets","position":[-7648,352],"parameters":{"columns":{"value":{"row_number":"={{ $json.row_number }}","LAUNCH CREATION":"Processing"},"schema":[{"id":"ID","type":"string","display":true,"removed":true,"required":false,"displayName":"ID","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT NAME","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT NAME","defaultMatch":false,"canBeUsedToMatch":true},{"id":"SCRIPT","type":"string","display":true,"removed":true,"required":false,"displayName":"SCRIPT","defaultMatch":false,"canBeUsedToMatch":true},{"id":"CHARACTER/SETTING DESCRIPTION","type":"string","display":true,"removed":true,"required":false,"displayName":"CHARACTER/SETTING DESCRIPTION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"ASPECT RATIO","type":"string","display":true,"removed":true,"required":false,"displayName":"ASPECT RATIO","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO VIEW LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO VIEW LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"VIDEO LINK","type":"string","display":true,"removed":true,"required":false,"displayName":"VIDEO LINK","defaultMatch":false,"canBeUsedToMatch":true},{"id":"LAUNCH CREATION","type":"string","display":true,"required":false,"displayName":"LAUNCH CREATION","defaultMatch":false,"canBeUsedToMatch":true},{"id":"row_number","type":"number","display":true,"removed":false,"readOnly":true,"required":false,"displayName":"row_number","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":["row_number"],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"update","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1JmhjG7XehIfIqlwhxf5orUlNDxMf_uuaz01_gyMtBBk/edit#gid=0","cachedResultName":"Videos"},"documentId":{"__rl":true,"mode":"list","value":"1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1XgFKo9N2jIiUNtizbpQXMAIDc6mSOhngW6EnAKdtawc/edit?usp=drivesdk","cachedResultName":"Ads Factory:  Tax Relief -  Final AI Videos (n8n)"}},"credentials":{"googleSheetsOAuth2Api":{"id":"wiGZbxuMmdtcDysy","name":"GuruWala-sheet"}},"executeOnce":true,"retryOnFail":true,"typeVersion":4.7,"waitBetweenTries":5000},{"id":"c973625b-0e07-4728-97f8-d262ac6b3f35","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-8112,256],"parameters":{"color":7,"width":1856,"height":208,"content":"  ## Intake + Image Generation                                                                                                                                                                                                                \n  Pulls `Create` rows from **Videos**, normalizes inputs, assigns run IDs, and sets `LAUNCH CREATION` to `Processing`. Builds Nano Banana prompt, submits Kie image task, polls status, and stores a shared Drive image URL for downstream    \n  nodes. "},"typeVersion":1},{"id":"c2f80dcd-3fc2-42d2-afbf-d7d51a96f2fc","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-6032,256],"parameters":{"color":7,"width":1344,"height":192,"content":"  ## Script Generation                                                                                                                                                                                                                        \n  Analyzes the reference image for visual consistency, then uses Claude Opus to split the source script into ordered 8-second scenes. Each scene includes speech text, fixed visual description, movement guidance, and scene metadata for    \n  tracking. "},"typeVersion":1},{"id":"725a758a-dfa9-420e-bc86-cb3065364d76","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-8080,1472],"parameters":{"color":7,"width":1920,"height":256,"content":"## Video Generation                                                                                                                                                                                                                         \n  Writes scenes to **Video Data** and generates one VEO3 clip per scene using `VIDEO ID` and scene JSON. Polls until terminal status, uploads completed clips to Drive, and updates each scene row with clip links, state, or error details.  \n                            "},"typeVersion":1},{"id":"c8d6f7f0-59fb-470e-87cd-2ddb9c29665d","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[-5952,1424],"parameters":{"color":7,"width":1488,"height":208,"content":"## Video Generation                                                                                                                                                                                                                         \n  Writes scenes to **Video Data** and generates one VEO3 clip per scene using `VIDEO ID` and scene JSON. Polls until terminal status, uploads completed clips to Drive, and updates each scene row with clip links, state, or error details.  \n                            "},"typeVersion":1},{"id":"b713101c-0a0d-4730-b60d-482f96472960","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-8000,2368],"parameters":{"width":576,"height":80,"content":"## Regeneration of the video"},"typeVersion":1}],"pinData":{},"connections":{"If":{"main":[[{"node":"Sort","type":"main","index":0}],[{"node":"Image Gen Error","type":"main","index":0}]]},"Sort":{"main":[[{"node":"Aggregate Tempfile URLs2","type":"main","index":0}]]},"Wait":{"main":[[{"node":"UpdateSheet1","type":"main","index":0}]]},"Input":{"main":[[{"node":"Nano Banana Prompt Agent","type":"main","index":0}]]},"Wait1":{"main":[[{"node":"UpdateSheet9","type":"main","index":0}]]},"Wait6":{"main":[[{"node":"HTTP Request13","type":"main","index":0}]]},"Wait 10s":{"main":[[{"node":"Poll Image Status","type":"main","index":0}]]},"Share file":{"main":[[{"node":"Workflow Configuration3","type":"main","index":0}]]},"videoInput":{"main":[[{"node":"HTTP Request12","type":"main","index":0},{"node":"UpdateSheet10","type":"main","index":0}]]},"Share file1":{"main":[[{"node":"UpdateSheet2","type":"main","index":0}]]},"Share file2":{"main":[[{"node":"UpdateSheet3","type":"main","index":0}]]},"UpdateSheet":{"main":[[{"node":"Wait","type":"main","index":0}]]},"Upload file":{"main":[[{"node":"Share file","type":"main","index":0}]]},"Split Scenes":{"main":[[{"node":"UpdateSheet","type":"main","index":0}]]},"UpdateSheet1":{"main":[[{"node":"Get row(s) in sheet","type":"main","index":0}]]},"UpdateSheet2":{"main":[[{"node":"Get row(s) for Stitch","type":"main","index":0}]]},"UpdateSheet4":{"main":[[{"node":"Wait1","type":"main","index":0}]]},"UpdateSheet5":{"main":[[{"node":"Image Poll Error","type":"main","index":0}]]},"Upload file1":{"main":[[{"node":"Share file1","type":"main","index":0}]]},"Upload file2":{"main":[[{"node":"Share file2","type":"main","index":0}]]},"HTTP Request1":{"main":[[{"node":"Upload file1","type":"main","index":0}]]},"Download Image":{"main":[[{"node":"Upload file","type":"main","index":0}]]},"HTTP Request12":{"main":[[{"node":"HTTP Request13","type":"main","index":0}]]},"HTTP Request13":{"main":[[{"node":"Video Status Check","type":"main","index":0}]]},"Get Video Ideas":{"main":[[{"node":"Input","type":"main","index":0},{"node":"UpdateSheet6","type":"main","index":0}]]},"download-video8":{"main":[[{"node":"Upload file2","type":"main","index":0}]]},"Prompt Agent LLM":{"ai_languageModel":[[{"node":"Nano Banana Prompt Agent","type":"ai_languageModel","index":0}]]},"Schedule Trigger":{"main":[[{"node":"Get row(s) in sheet1","type":"main","index":0}]]},"Script Agent LLM":{"ai_languageModel":[[{"node":"Generate Scene Scripts3","type":"ai_languageModel","index":0}]]},"Poll Image Status":{"main":[[{"node":"Image Status Check","type":"main","index":0}]]},"Schedule Trigger1":{"main":[[{"node":"Get Video Ideas","type":"main","index":0}]]},"Analyze UGC Image3":{"main":[[{"node":"Generate Scene Scripts3","type":"main","index":0}]]},"Code in JavaScript":{"main":[[{"node":"If","type":"main","index":0}]]},"Generate UGC Image":{"main":[[{"node":"Image Gen Response Check","type":"main","index":0}]]},"Image Status Check":{"main":[[{"node":"Download Image","type":"main","index":0}],[{"node":"UpdateSheet5","type":"main","index":0}],[{"node":"Wait 10s","type":"main","index":0}],[{"node":"UpdateSheet5","type":"main","index":0}]]},"Video Status Check":{"main":[[{"node":"HTTP Request1","type":"main","index":0}],[{"node":"UpdateSheet4","type":"main","index":0}],[{"node":"Wait6","type":"main","index":0}],[{"node":"UpdateSheet4","type":"main","index":0}]]},"Code in JavaScript2":{"main":[[{"node":"videoInput","type":"main","index":0}]]},"Get row(s) in sheet":{"main":[[{"node":"videoInput","type":"main","index":0}]]},"Scene Output Parser":{"ai_outputParser":[[{"node":"Generate Scene Scripts3","type":"ai_outputParser","index":0}]]},"Get row(s) in sheet1":{"main":[[{"node":"Code in JavaScript2","type":"main","index":0}]]},"Prompt Output Parser":{"ai_outputParser":[[{"node":"Nano Banana Prompt Agent","type":"ai_outputParser","index":0}]]},"Get row(s) for Stitch":{"main":[[{"node":"Code in JavaScript","type":"main","index":0}]]},"Generate Scene Scripts3":{"main":[[{"node":"Split Scenes","type":"main","index":0}]]},"Workflow Configuration3":{"main":[[{"node":"Analyze UGC Image3","type":"main","index":0}]]},"Aggregate Tempfile URLs2":{"main":[[{"node":"Generate media using AI model1","type":"main","index":0}]]},"Image Gen Response Check":{"main":[[{"node":"Poll Image Status","type":"main","index":0}],[{"node":"UpdateSheet5","type":"main","index":0}],[{"node":"UpdateSheet5","type":"main","index":0}]]},"Nano Banana Prompt Agent":{"main":[[{"node":"Generate UGC Image","type":"main","index":0}]]},"Generate media using AI model1":{"main":[[{"node":"download-video8","type":"main","index":0}]]},"When Executed by Another Workflow":{"main":[[{"node":"Get Video Ideas","type":"main","index":0}]]}}},"lastUpdatedBy":29,"workflowInfo":{"nodeCount":61,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":3},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.sort":{"count":1},"n8n-nodes-base.wait":{"count":4},"n8n-nodes-base.switch":{"count":3},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":6},"n8n-nodes-base.googleDrive":{"count":6},"n8n-nodes-base.httpRequest":{"count":7},"@fal-ai/n8n-nodes-fal.falAi":{"count":1},"n8n-nodes-base.googleSheets":{"count":13},"n8n-nodes-base.stopAndError":{"count":2},"@n8n/n8n-nodes-langchain.agent":{"count":2},"n8n-nodes-base.scheduleTrigger":{"count":2},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"n8n-nodes-base.executeWorkflowTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenRouter":{"count":2},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Ghufran Barcha","username":"ghufranbarcha","bio":"AI Engineer with experties in n8n automation.","verified":false,"links":[""],"avatar":"https://gravatar.com/avatar/4453955b8535fe29e843e9d1c8460609a6df74f4dbec900c83ded6061b99c33d?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":528,"icon":"fa:exclamation-triangle","name":"n8n-nodes-base.stopAndError","codex":{"data":{"alias":["Throw error","Error","Exception"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.stopanderror/"}]},"categories":["Core Nodes","Utility"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"input\"]","defaults":{"name":"Stop and Error","color":"#ff0000"},"iconData":{"icon":"exclamation-triangle","type":"icon"},"displayName":"Stop and Error","typeVersion":1,"nodeCategories":[{"id":7,"name":"Utility"},{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":837,"icon":"fa:sign-out-alt","name":"n8n-nodes-base.executeWorkflowTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"When Executed by Another Workflow","color":"#ff6d5a"},"iconData":{"icon":"sign-out-alt","type":"icon"},"displayName":"Execute Workflow Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1240,"icon":"file:sort.svg","name":"n8n-nodes-base.sort","codex":{"data":{"alias":["Sort","Order","Transform","Array","List","Item","Random"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sort/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Sort"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjODI4N0VCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzAuNSA0MjIuNWMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMzUxYzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYzNTFjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGZpbGw9IiM4Mjg3RUIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM2LjA3NyAzMzMuNDgyYzkuMzk4LTkuMzQ2IDI0LjU5NC05LjMwNCAzMy45NC4wOTVsNzIuNDgzIDcyLjg4NyA3Mi40ODItNzIuODg3YzkuMzQ3LTkuMzk5IDI0LjU0My05LjQ0MSAzMy45NDEtLjA5NXM5LjQ0MSAyNC41NDMuMDk1IDMzLjk0MWwtODkuNSA5MGEyNCAyNCAwIDAgMS0zNC4wMzYgMGwtODkuNS05MGMtOS4zNDYtOS4zOTgtOS4zMDQtMjQuNTk0LjA5NS0zMy45NDFNMzgxLjUgODkuNWM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjM1MWMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC0yNGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMzUxYzAtNi42MjcgNS4zNzMtMTIgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBmaWxsPSIjODI4N0VCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00NzUuOTIzIDE3OC41MThjLTkuMzk4IDkuMzQ2LTI0LjU5NCA5LjMwNC0zMy45NDEtLjA5NUwzNjkuNSAxMDUuNTM2bC03Mi40ODIgNzIuODg3Yy05LjM0NyA5LjM5OS0yNC41NDMgOS40NDEtMzMuOTQxLjA5NXMtOS40NDEtMjQuNTQzLS4wOTUtMzMuOTQxbDg5LjUtOTBhMjQgMjQgMCAwIDEgMzQuMDM2IDBsODkuNSA5MGM5LjM0NiA5LjM5OCA5LjMwNCAyNC41OTQtLjA5NSAzMy45NDEiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg=="},"displayName":"Sort","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1281,"icon":"file:openrouter.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenRouter","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenrouter/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenRouter Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjOTRBM0I4IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDI0IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5PcGVuUm91dGVyPC90aXRsZT48cGF0aCBkPSJNMTYuODA0IDEuOTU3bDcuMjIgNC4xMDV2LjA4N0wxNi43MyAxMC4yMWwuMDE3LTIuMTE3LS44MjEtLjAzYy0xLjA1OS0uMDI4LTEuNjExLjAwMi0yLjI2OC4xMS0xLjA2NC4xNzUtMi4wMzguNTc3LTMuMTQ3IDEuMzUyTDguMzQ1IDExLjAzYy0uMjg0LjE5NS0uNDk1LjMzNi0uNjguNDU1bC0uNTE1LjMyMi0uMzk3LjIzNC4zODUuMjMuNTMuMzM4Yy40NzYuMzE0IDEuMTcuNzk2IDIuNzAxIDEuODY2IDEuMTEuNzc1IDIuMDgzIDEuMTc3IDMuMTQ3IDEuMzUybC4zLjA0NWMuNjk0LjA5MSAxLjM3NS4wOTQgMi44MjUuMDMzbC4wMjItMi4xNTkgNy4yMiA0LjEwNXYuMDg3TDE2LjU4OSAyMmwuMDE0LTEuODYyLS42MzUuMDIyYy0xLjM4Ni4wNDItMi4xMzcuMDAyLTMuMTM4LS4xNjItMS42OTQtLjI4LTMuMjYtLjkyNi00Ljg4MS0yLjA1OWwtMi4xNTgtMS41YTIxLjk5NyAyMS45OTcgMCAwMC0uNzU1LS40OThsLS40NjctLjI4YTU1LjkyNyA1NS45MjcgMCAwMC0uNzYtLjQzQzIuOTA4IDE0LjczLjU2MyAxNC4xMTYgMCAxNC4xMTZWOS44ODhsLjE0LjAwNGMuNTY0LS4wMDcgMi45MS0uNjIyIDMuODA5LTEuMTI0bDEuMDE2LS41OC40MzgtLjI3NGMuNDI4LS4yOCAxLjA3Mi0uNzI2IDIuNjg2LTEuODUzIDEuNjIxLTEuMTMzIDMuMTg2LTEuNzggNC44ODEtMi4wNTkgMS4xNTItLjE5IDEuOTc0LS4yMTMgMy44MTQtLjEzOGwuMDItMS45MDd6Ij48L3BhdGg+PC9zdmc+Cg=="},"displayName":"OpenRouter Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":51,"name":"Multimodal AI"}],"image":[]}}