{"workflow":{"id":13357,"name":"Generate multi-format social visuals with Abyssale and publish via Blotato","views":665,"recentViews":2,"totalViews":665,"createdAt":"2026-02-12T22:08:52.678Z","description":"# 💥 Automate multi-format design creation in Abyssale and publish via Blotato\n📄 **Documentation**: [Notion Guide](https://automatisation.notion.site/Automate-multi-format-design-creation-in-Abyssale-and-publish-via-Blotato-3053d6550fd98094a291f106966ca092?source=copy_link)\n\n![Workflow Overview](https://www.dr-firas.com/workflow-abyssale.png)\n\n\nThis workflow automates the creation of multi-format social media visuals using Abyssale and publishes them directly to social platforms via Blotato. It includes AI-based product image generation, background removal, dynamic design customization, and multi-channel distribution.\n\n---\n\n### Who is this for?\n\n- Marketers and growth teams managing multiple social platforms  \n- E-commerce brands launching product campaigns  \n- Agencies producing multi-format creatives at scale  \n- Automation builders who want end-to-end design + publishing in one workflow  \n\n---\n\n### What problem is this workflow solving? / Use case\n\nCreating platform-specific visuals manually is time-consuming.  \nEach social network requires different dimensions and formats.  \nDesign → Export → Resize → Upload → Publish quickly becomes repetitive and inefficient.\n\nThis workflow solves that by:\n\n- Generating a clean product image (PNG with transparent background)\n- Injecting it automatically into an Abyssale design template\n- Generating all required social media formats\n- Publishing each format to the correct platform automatically\n\n---\n\n### What this workflow does\n\n1. **Generate product image (AI)**\n   - Creates a high-quality product image\n   - Ensures single product rendering unless otherwise requested\n   - Removes background and outputs transparent PNG\n\n2. **Customize design in Abyssale**\n   - Loads selected template\n   - Builds editable form dynamically\n   - Allows image and text updates\n   - Generates multiple formats (Facebook, Instagram, LinkedIn, etc.)\n\n3. **Dispatch by format**\n   - Uses a Switch node to route each format\n   - Each format is sent to a dedicated Blotato node\n\n4. **Publish to social platforms**\n   - Facebook post\n   - Facebook feed\n   - Instagram post\n   - Instagram story\n   - LinkedIn feed\n   - Twitter/X post\n   - Pinterest pins\n   - Tiktok post\n\nEach format is automatically matched with its corresponding publishing node.\n\n---\n\n### Setup\n1. **Credentials required**\n   - **[Abyssale](https://abyssale.cello.so/wXzGGKBcrTl)** API credentials\n   - **[Blotato](https://blotato.com/?ref=firas)** API credentials\n   - **[AtlasCloud](https://www.atlascloud.ai?ref=8QKPJE)** API (NanoBanana) + Background remover API\n\n2. **Configure template**\n   - Select your Abyssale template ID\n   - Ensure all required formats are enabled in the template\n\n3. **Set publishing destinations**\n   - Connect Blotato accounts to your social platforms\n   - Map each format to the correct channel\n\n4. **Optional**\n   - Adjust polling timing for image generation\n   - Modify default caption input\n\n---\n\n### How to customize this workflow to your needs\n\n- Replace the AI image generation model\n- Modify the prompt rules (e.g., product style, realism, lighting)\n- Add or remove social platforms\n- Change the Abyssale template\n- Add approval step before publishing\n- Add scheduling instead of instant publishing\n- Insert analytics tracking after posting\n\nYou can also extend it by:\n- Adding email notifications\n- Storing generated images in cloud storage\n- Logging posts in a database\n- Creating A/B variations automatically\n\n---\n\nThis workflow enables a fully automated pipeline from product idea to published multi-platform campaign with minimal manual work.\n\n### 🎥 [Watch This Tutorial](https://youtu.be/T9gNqXRH8nE)\n\n![SORA2 logo](https://www.dr-firas.com/abyssale-youtube.png)\n\n---\n### 👋 Need help or want to customize this?\n📩 Contact: [LinkedIn](https://www.linkedin.com/in/dr-firas/)  \n📺 YouTube: [@DRFIRASS](https://www.youtube.com/@DRFIRASS)  \n🚀 Workshops: [Mes Ateliers n8n](https://hotm.art/formation-n8n)\n\n\n### Need help customizing?\nContact me for consulting and support : [Linkedin](https://www.linkedin.com/in/dr-firas/) / [Youtube](https://www.youtube.com/channel/UCriIQI8uaoEro5FEnOpeidQ) / [🚀 Mes Ateliers n8n  ](https://hotm.art/formation-n8n)","workflow":{"id":"yGPhOB5pUhqpSSZ3","meta":{"instanceId":"de822f81f3a2367cef7d9549771a77783236bc9596481be2ae65c05fbcc4b4fd","templateCredsSetupCompleted":true},"name":"Automate multi-format design creation in Abyssale and publish via Blotato","tags":[],"nodes":[{"id":"232ae3dc-e4df-4625-9397-391931f3ba07","name":"Telegram Trigger","type":"n8n-nodes-base.telegramTrigger","position":[-2080,32],"webhookId":"28ee0726-bd3a-440d-a179-2cae0c085abd","parameters":{"updates":["message"],"additionalFields":{"download":true}},"credentials":{"telegramApi":{"id":"G3eqADH6LkkOx6TL","name":"Telegram abyssale"}},"typeVersion":1.2},{"id":"d18ba114-72ad-4db5-9c4b-c941f8f27531","name":"Upload Image to tmpfiles","type":"n8n-nodes-base.httpRequest","position":[-1568,32],"parameters":{"url":"https://tmpfiles.org/api/v1/upload","method":"POST","options":{"response":{"response":{"responseFormat":"json"}}},"sendBody":true,"contentType":"multipart-form-data","bodyParameters":{"parameters":[{"name":"file","parameterType":"formBinaryData","inputDataFieldName":"data"}]}},"typeVersion":4.3},{"id":"f1861716-a262-4d02-829f-70d458a92198","name":"Extract Public URL","type":"n8n-nodes-base.code","position":[-1344,32],"parameters":{"jsCode":"const response = $input.first().json;\nconst tmpUrl = response.data.url;\nconst publicUrl = tmpUrl.replace('tmpfiles.org/', 'tmpfiles.org/dl/');\n\nreturn [{\n  json: {\n    ...response,\n    publicImageUrl: publicUrl\n  }\n}];"},"typeVersion":2},{"id":"cefed02e-4202-4190-a822-19d535f2729d","name":"Prepare AI Agent Input","type":"n8n-nodes-base.set","position":[-1152,32],"parameters":{"options":{},"assignments":{"assignments":[{"id":"id-1","name":"image_url","type":"string","value":"={{ $json.publicImageUrl }}"},{"id":"id-2","name":"description","type":"string","value":"={{ $('Telegram Trigger').item.json.message.caption }}"},{"id":"id-3","name":"chatId","type":"string","value":"={{ $('Telegram Trigger').item.json.message.chat.id }}"},{"id":"id-4","name":"messageId","type":"string","value":"={{ $('Telegram Trigger').item.json.message.message_id }}"}]}},"typeVersion":3.4},{"id":"085dc2cc-78e9-4f59-bec7-dd4b202dba42","name":"Generate NanoBanana Prompt","type":"@n8n/n8n-nodes-langchain.agent","position":[-704,32],"parameters":{"text":"=Your task is to create an image prompt following the system guidelines.  \nEnsure that the reference image is represented as **accurately as possible**, including all text elements.  \n\nUse the following inputs:  \n\n- **User’s description:**  \n{{ $('Prepare AI Agent Input').item.json.description }}\n- **Reference image description:**  \n{{ $json.content }}","options":{"systemMessage":"=You are a professional product image prompt engineer.\n\nYour task is to generate one concise, natural, and highly realistic image generation prompt for NanoBanana based on a given product description and/or reference image.\n\nThe generated prompt must:\n- Clearly describe the product with all visible details (shape, color, texture, materials, finish, branding if mentioned).\n- Preserve the exact product characteristics from the description.\n- Focus on a clean, complete, centered product view.\n- Ensure the product is fully visible (no cropping).\n- Specify studio-quality lighting, sharp focus, ultra-detailed, photorealistic rendering.\n- Explicitly require: no background.\n- Explicitly require: fully transparent background.\n- Clearly state: isolated product cutout.\n- Avoid adding extra objects unless specified.\n- Avoid any environment, scene, surface, shadow floor, gradient, or backdrop.\n\nAdd this mandatory composition rule:\n\nThe generated image must contain exactly one single instance of the product.\nDo not duplicate, clone, mirror, repeat, or show multiple angles.\nDo not create grouped layouts or grid compositions.\nDo not add secondary copies in the background.\nDo not add packaging unless explicitly requested.\n\nException rule:\nIf the User’s description explicitly requests multiple products, multiple units, bundles, different positions, or multiple angles:\n\nUser’s description:\n{{ $('Prepare AI Agent Input').item.json.description }}\n\nThen you may generate multiple products strictly according to the request.\n\nOtherwise, always enforce:\n\"Single product only, one instance, centered composition, no duplication.\"\n\nThis rule is mandatory and must be clearly reflected inside the generated image_prompt.\n\n\nRULES:\n- background : isolated product cutout, fully transparent background, true alpha channel transparency, no background, no surface, no shadows, no environment\n- Always output one JSON object only with the key:\n  - \"image_prompt\": string\n- No extra commentary.\n- No extra keys.\n- Maximum 120 words.\n\nAdd this mandatory preservation rule:\n\n-The product’s original format, proportions, structure, packaging shape, and layout must never be altered.\n-Do not modify, reinterpret, redesign, stylize, or enhance the product.\n-Do not change colors, tones, shades, materials, textures, finishes, branding, typography, or logo placement.\n-Do not improve lighting in a way that alters perceived color accuracy.\n-Preserve exact color fidelity and visual identity.\n-Maintain the exact physical characteristics of the selected product.\n-This rule is strict and must be clearly reflected inside the generated image_prompt.\n\nOUTPUT CONTRACT:\n- JSON only.\n- No prose outside JSON.\n\n"},"promptType":"define","hasOutputParser":true},"typeVersion":3.1},{"id":"9a761277-3dd0-404f-af33-a2bb7aa2728d","name":"OpenAI Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[-752,256],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5.2","cachedResultName":"gpt-5.2"},"options":{},"builtInTools":{}},"credentials":{"openAiApi":{"id":"HUbsD20wv3CFr7gN","name":"OpenAi account"}},"typeVersion":1.3},{"id":"0d27891c-1c86-477e-b2d4-f332446305df","name":"Create NanoBanana Image","type":"n8n-nodes-base.httpRequest","position":[-2080,624],"parameters":{"url":"https://api.atlascloud.ai/api/v1/model/generateImage","method":"POST","options":{},"jsonBody":"={{\n  {\n    model: \"google/nano-banana-pro/edit\",\n    aspect_ratio: \"1:1\",\n    enable_base64_output: false,\n    enable_sync_mode: false,\n    images: [\n      $(\"Prepare AI Agent Input\").item.json.image_url\n    ],\n    output_format: \"png\",\n    prompt: $json.output.image_prompt,\n    resolution: \"1k\"\n  }\n}}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer <__PLACEHOLDER_VALUE__AtlasCloud API Key__>"}]}},"typeVersion":4.3},{"id":"49cc7a95-ed18-448f-8781-5e5f524fb116","name":"Extract Prediction ID","type":"n8n-nodes-base.code","position":[-1840,624],"parameters":{"jsCode":"const response = $input.first().json;\n\nreturn [{\n  json: {\n    predictionId: response.data.id,\n    chatId: $('Prepare AI Agent Input').item.json.chatId,\n    messageId: $('Prepare AI Agent Input').item.json.messageId\n  }\n}];"},"typeVersion":2},{"id":"19aa00e5-1ff7-464f-98ac-597b19a3c38a","name":"Wait Before Polling","type":"n8n-nodes-base.wait","position":[-1632,624],"webhookId":"c8c492b4-d4b7-490f-9d5d-2b93e0e99ccc","parameters":{},"typeVersion":1.1},{"id":"1e001217-7330-4f11-8979-11162600119a","name":"Check Image Status","type":"n8n-nodes-base.httpRequest","position":[-1408,544],"parameters":{"url":"=https://api.atlascloud.ai/api/v1/model/prediction/{{ $('Extract Prediction ID').item.json.predictionId }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer <__PLACEHOLDER_VALUE__AtlasCloud API Key__>"}]}},"typeVersion":4.3},{"id":"18205223-f657-44fe-a4fa-3ca893f662ae","name":"Check If Completed","type":"n8n-nodes-base.if","position":[-1184,624],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.status }}","rightValue":"completed"}]}},"typeVersion":2.3},{"id":"35c79312-101d-4d24-8fb1-0df74494eb30","name":"Extract Final Image URL","type":"n8n-nodes-base.code","position":[-576,608],"parameters":{"jsCode":"// Extract Final Image URL\n\nreturn items.map(item => {\n  const imageUrl =\n    item.json?.data?.outputs?.[0] || null;\n\n  return {\n    json: {\n      imageUrl\n    }\n  };\n});\n"},"typeVersion":2},{"id":"fa9d6cf8-de1d-4f5b-b8c1-2c5ba73ed41d","name":"Download Final Image","type":"n8n-nodes-base.httpRequest","position":[-752,1024],"parameters":{"url":"={{ $json.imageUrl }}","options":{"response":{"response":{"responseFormat":"file"}}}},"typeVersion":4.3},{"id":"827f8e60-3332-491f-b41f-cc422fbcb16e","name":"Send Photo to Telegram","type":"n8n-nodes-base.telegram","position":[-576,1024],"webhookId":"ac4ac83b-37cd-457f-a9f8-e23e0c1b50bd","parameters":{"chatId":"={{ $('Prepare AI Agent Input').item.json.chatId }}","operation":"sendPhoto","binaryData":true,"additionalFields":{"reply_to_message_id":"={{ $('Prepare AI Agent Input').item.json.messageId }}"}},"credentials":{"telegramApi":{"id":"G3eqADH6LkkOx6TL","name":"Telegram abyssale"}},"typeVersion":1.2},{"id":"3873ed63-05cf-476a-bb8c-67111030c436","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[-560,256],"parameters":{"schemaType":"manual","inputSchema":"{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"image_prompt\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"description\": \"Detailed image generation prompt for NanoBanana API\"\n\t\t}\n\t}\n}"},"typeVersion":1.3},{"id":"9ddd1aad-aa7e-4340-8122-820c87b033ee","name":"Get a file","type":"n8n-nodes-base.telegram","position":[-1792,32],"webhookId":"43a19aed-1bc2-4a87-9ed6-a32033ab0c61","parameters":{"fileId":"={{$json.message.photo[$json.message.photo.length - 1].file_id}}","resource":"file","additionalFields":{}},"credentials":{"telegramApi":{"id":"G3eqADH6LkkOx6TL","name":"Telegram abyssale"}},"typeVersion":1.2},{"id":"771d9550-e94a-4bc9-9b09-31d7b4306e21","name":"OpenAI Vision: Analyze Reference Image","type":"@n8n/n8n-nodes-langchain.openAi","position":[-928,32],"parameters":{"text":"=You are an image analysis assistant.\n\nYour task is to analyze the given image and output results **only in YAML format**. Do not add explanations, comments, or extra text outside YAML.\n\nRules:\n\n- If the image depicts a **product**, return:\n    \n    ```yaml\n    brand_name: (brand if visible or inferable)\n    color_scheme:\n      - hex: (hex code of each prominent color)\n        name: (descriptive name of the color)\n    font_style: (serif/sans-serif, bold/thin, etc.)\n    visual_description: (1–2 sentences summarizing what is seen, ignoring the background)\n    \n    ```\n    \n- If the image depicts a **character**, return:\n    \n    ```yaml\n    character_name: (name if visible or inferable, else \"unknown\")\n    color_scheme:\n      - hex: (hex code of each prominent color on the character)\n        name: (descriptive name of the color)\n    outfit_style: (clothing style, accessories, or notable features)\n    visual_description: (1–2 sentences summarizing what the character looks like, ignoring the background)\n    \n    ```\n    \n- If the image depicts **both**, return **both sections** in YAML.\n\nOnly output valid YAML. No explanations.","modelId":{"__rl":true,"mode":"list","value":"chatgpt-4o-latest","cachedResultName":"CHATGPT-4O-LATEST"},"options":{},"resource":"image","imageUrls":"={{ $json.image_url }}","operation":"analyze"},"credentials":{"openAiApi":{"id":"HUbsD20wv3CFr7gN","name":"OpenAi account"}},"typeVersion":1.8},{"id":"d16a1b1b-67bf-41f6-8381-0aa6ae4ec160","name":"Extract Prediction ID1","type":"n8n-nodes-base.code","position":[-1824,1040],"parameters":{"jsCode":"const response = $input.first().json;\n\nreturn [{\n  json: {\n    predictionId: response.data.id,\n    chatId: $('Prepare AI Agent Input').item.json.chatId,\n    messageId: $('Prepare AI Agent Input').item.json.messageId\n  }\n}];"},"typeVersion":2},{"id":"6c5aba77-4e97-4254-82d8-1bdd32da5753","name":"Wait Before Polling1","type":"n8n-nodes-base.wait","position":[-1632,1040],"webhookId":"f0423bf8-4c75-4543-86b1-9607d4fce240","parameters":{},"typeVersion":1.1},{"id":"bd4e2d4c-9e24-412b-8c4a-d665e47a9e8b","name":"Check Image Status1","type":"n8n-nodes-base.httpRequest","position":[-1408,976],"parameters":{"url":"=https://api.atlascloud.ai/api/v1/model/prediction/{{ $('Extract Prediction ID1').item.json.predictionId }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer <__PLACEHOLDER_VALUE__AtlasCloud API Key__>"}]}},"typeVersion":4.3},{"id":"44d4f1be-036e-40f1-a631-908b20c3472b","name":"Check If Completed1","type":"n8n-nodes-base.if","position":[-1184,1040],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"id-1","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.status }}","rightValue":"completed"}]}},"typeVersion":2.3},{"id":"483240de-724d-4480-8e2f-2e2e7ba66211","name":"Extract Final Image URL1","type":"n8n-nodes-base.code","position":[-960,1024],"parameters":{"jsCode":"// Extract Final Image URL\n\nreturn items.map(item => {\n  const imageUrl =\n    item.json?.data?.outputs?.[0] || null;\n\n  return {\n    json: {\n      imageUrl\n    }\n  };\n});\n"},"typeVersion":2},{"id":"ad3967cc-28fd-4b8e-a1b1-d36b2edb46a0","name":"image background remover","type":"n8n-nodes-base.httpRequest","position":[-2064,1040],"parameters":{"url":"https://api.atlascloud.ai/api/v1/model/generateImage","method":"POST","options":{},"jsonBody":"={{\n  ({\n    model: \"atlascloud/image-background-remover\",\n    enable_base64_output: false,\n    enable_sync_mode: false,\n    image: $json.imageUrl\n  })\n}}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Authorization","value":"Bearer <__PLACEHOLDER_VALUE__AtlasCloud API Key__>"}]}},"typeVersion":4.3},{"id":"8a0f9bd6-b924-4bd1-b70f-b7f018fe44af","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-2160,-96],"parameters":{"color":7,"width":1776,"height":512,"content":"# 🔹 Step 1: Generate the NanoBanana Image Prompt"},"typeVersion":1},{"id":"4732c674-806d-469f-99a5-568d4590cbca","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-2160,448],"parameters":{"color":7,"width":1776,"height":416,"content":"# 🔹 Step 2: Generate and Retrieve the Edited Product Image"},"typeVersion":1},{"id":"410ceaf4-3597-4146-af88-993d73350a61","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-2160,896],"parameters":{"color":7,"width":1776,"height":384,"content":"# 🔹 Step 3: Remove the Background and Create Transparent Cutout"},"typeVersion":1},{"id":"bc7327be-95f1-475a-98c3-9d16eb2d057e","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[-2160,1344],"parameters":{"color":4,"width":2496,"height":448,"content":"# 🔹 Step 4: Generate Multi-Platform Social Media Designs with **[Abyssale.com](https://abyssale.cello.so/wXzGGKBcrTl)** "},"typeVersion":1},{"id":"297ac9c1-9a7b-4096-bfbe-fa6587d6fb50","name":"Extract Layers","type":"n8n-nodes-base.code","position":[-1680,1504],"parameters":{"jsCode":"const design = $input.first().json;\nconst elements = design.elements;\n\nconst fields = elements.map(el => {\n  const attr = el.attributes[0];\n  return {\n    name: el.name,\n    type: el.type,\n    attribute: attr.id,\n    currentValue: attr.values['facebook-post']\n  };\n});\n\nreturn [{ json: { templateId: design.template_id, fields } }];"},"typeVersion":2},{"id":"f9e9b69f-4cad-424d-b860-4daa9f383fa3","name":"On form submission","type":"n8n-nodes-base.formTrigger","position":[-2080,1504],"webhookId":"de134040-7e1d-410f-b9df-6cb01eff89fe","parameters":{"options":{},"formTitle":"Abyssale Generator","formFields":{"values":[{"fieldName":"Template ID","fieldLabel":"Template ID","placeholder":"Template ID"}]}},"typeVersion":2.4},{"id":"08f267cd-95fc-418e-bcd8-976d46a315ce","name":"Form","type":"n8n-nodes-base.form","position":[-1264,1504],"webhookId":"f012a5fb-5899-4b67-a8f7-0a46d423cc52","parameters":{"options":{"customCss":":root {\n\t--font-family: 'Open Sans', sans-serif;\n\t--font-weight-normal: 400;\n\t--font-weight-bold: 600;\n\t--font-size-body: 12px;\n\t--font-size-label: 14px;\n\t--font-size-test-notice: 12px;\n\t--font-size-input: 14px;\n\t--font-size-header: 20px;\n\t--font-size-paragraph: 14px;\n\t--font-size-link: 12px;\n\t--font-size-error: 12px;\n\t--font-size-html-h1: 28px;\n\t--font-size-html-h2: 20px;\n\t--font-size-html-h3: 16px;\n\t--font-size-html-h4: 14px;\n\t--font-size-html-h5: 12px;\n\t--font-size-html-h6: 10px;\n\t--font-size-subheader: 14px;\n\n\t/* Colors */\n\t--color-background: #333333;\n\t--color-test-notice-text: #e6a23d;\n\t--color-test-notice-bg: #fefaf6;\n\t--color-test-notice-border: #f6dcb7;\n\t--color-card-bg: #333333;\n\t--color-card-border: #dbdfe7;\n\t--color-card-shadow: rgba(99, 77, 255, 0.06);\n\t--color-link: #7e8186;\n\t--color-header: #525356;\n\t--color-label: #ffffff;\n\t--color-input-border: #dbdfe7;\n\t--color-input-text: #71747A;\n\t--color-focus-border: rgb(90, 76, 194);\n\t--color-submit-btn-bg: #ff6d5a;\n\t--color-submit-btn-text: #ffffff;\n\t--color-error: #ea1f30;\n\t--color-required: #ff6d5a;\n\t--color-clear-button-bg: #7e8186;\n\t--color-html-text: #555;\n\t--color-html-link: #ff6d5a;\n\t--color-header-subtext: #7e8186;\n\n\t/* Border Radii */\n\t--border-radius-card: 8px;\n\t--border-radius-input: 6px;\n\t--border-radius-clear-btn: 50%;\n\t--card-border-radius: 8px;\n\n\t/* Spacing */\n\t--padding-container-top: 24px;\n\t--padding-card: 24px;\n\t--padding-test-notice-vertical: 12px;\n\t--padding-test-notice-horizontal: 24px;\n\t--margin-bottom-card: 16px;\n\t--padding-form-input: 12px;\n\t--card-padding: 24px;\n\t--card-margin-bottom: 16px;\n\n\t/* Dimensions */\n\t--container-width: 448px;\n\t--submit-btn-height: 48px;\n\t--checkbox-size: 18px;\n\n\t/* Others */\n\t--box-shadow-card: 0px 4px 16px 0px var(--color-card-shadow);\n\t--opacity-placeholder: 0.5;\n}"},"defineForm":"json","jsonOutput":"={{ $json.formFields }}"},"typeVersion":2.4},{"id":"e22e8f52-0eb8-437f-80c0-05e19cbe8db6","name":"Build Form Fields","type":"n8n-nodes-base.code","position":[-1472,1504],"parameters":{"jsCode":"const data = $input.first().json;\nconst fields = data.fields;\nconst formFields = [];\nconst stripHtml = (str) => (str ?? '').toString().replace(/<[^>]*>/g, '');\n\n// Build dynamic fields from template\nfor (const field of fields) {\n  if (field.type === 'image' || field.type === 'logo') {\n    // Preview\n    formFields.push({\n      fieldLabel: `${field.name} (preview)`,\n      fieldType: \"html\",\n      html: `<div style=\"padding:12px;border:1px solid #ddd;border-radius:12px;margin:8px 0\">\n               <p style=\"font-weight:bold;margin-bottom:8px\">${field.name}</p>\n               <img src=\"${field.currentValue}\" width=\"300\" height=\"auto\" />\n             </div>`\n    });\n    // File upload\n    formFields.push({\n      fieldLabel: `${field.name} (upload new)`,\n      fieldType: \"file\",\n      acceptFileTypes: \".png, .jpg, .jpeg, .svg, .webp\",\n      requiredField: false\n    });\n  } else if (field.type === 'text') {\n    formFields.push({\n      fieldLabel: `${field.name}`,\n      fieldType: \"text\",\n      placeholder: stripHtml(field.currentValue),\n      defaultValue: stripHtml(field.currentValue),\n      requiredField: false\n    });\n  } else if (field.type === 'container') {\n    formFields.push({\n      fieldLabel: `${field.name} (${field.attribute})`,\n      fieldType: \"text\",\n      placeholder: field.currentValue,\n      defaultValue: field.currentValue,\n      requiredField: false\n    });\n  }\n}\n\n// ADDITION: caption input for social media\nformFields.push({\n  fieldLabel: \"caption for social media\",\n  fieldType: \"text\",\n  placeholder: \"Write the caption you want to publish with these images...\",\n  defaultValue: \"\",\n  requiredField: false\n});\n\nreturn [\n  {\n    json: {\n      templateId: data.templateId,\n      formFields,\n      totalFields: fields.length\n    }\n  }\n];"},"typeVersion":2},{"id":"bfdf16ff-ed68-4a1b-b9c7-7d307cf990a6","name":"Build Abyssale Elements","type":"n8n-nodes-base.code","position":[-736,1504],"parameters":{"jsCode":"const data = $input.first().json;\nconst base64Images = data.base64Images || {};\nconst design = $('Get a design').first().json;\nconst templateId = design.template_id;\nconst formats = design.formats;\n\nconst elements = {};\nconst hexRegex = /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;\n\nfor (const el of design.elements) {\n  const name = el.name;\n  const attr = el.attributes[0];\n  const defaultVal = attr.values['facebook-post'];\n\n  if (el.type === 'container') {\n    let val = data[`${name} (${attr.id})`];\n    if (attr.id === 'background_color') {\n      val = (val && hexRegex.test(val)) ? val : defaultVal;\n    }\n    if (val) elements[name] = { [attr.id]: val };\n  } else if (el.type === 'text') {\n    const val = data[name] || defaultVal;\n    if (val) elements[name] = { payload: val };\n  } else if (el.type === 'image' || el.type === 'logo') {\n    // Key format: details__upload_new_, product__upload_new_, logo__upload_new_\n    const binaryKey = `${name}__upload_new_`;\n\n    if (base64Images[binaryKey]) {\n      const raw = base64Images[binaryKey].replace(/^data:[^;]+;base64,/, '');\n      elements[name] = { image_encoded: raw };\n    } else {\n      elements[name] = { image_url: defaultVal };\n    }\n  }\n}\n\nreturn formats.map(f => ({\n  json: {\n    url: `https://api.abyssale.com/banner-builder/${templateId}/generate`,\n    body: {\n      template_format_name: f.id,\n      elements\n    },\n    formatName: `${f.id} (${f.width}x${f.height})`\n  }\n}));"},"typeVersion":2},{"id":"43ae98f5-a5bd-40a1-8fcb-810ee13b9dac","name":"Generate Images","type":"n8n-nodes-base.httpRequest","position":[-416,1504],"parameters":{"url":"={{ $json.url }}","method":"POST","options":{},"jsonBody":"={{ $json.body }}","sendBody":true,"specifyBody":"json","authentication":"predefinedCredentialType","nodeCredentialType":"AbyssaleApi"},"credentials":{"AbyssaleApi":{"id":"BCi0Pod7INGF1hcn","name":"Abyssale account"}},"typeVersion":4.3},{"id":"c2fba49f-218b-4395-add2-1ad9fdee133a","name":"Convert Uploads to Base64","type":"n8n-nodes-base.code","position":[-1056,1504],"parameters":{"jsCode":"const jsonData = $input.first().json;\nconst binaryData = $input.first().binary || {};\nconst base64Images = {};\n\nfor (const key of Object.keys(binaryData)) {\n  const buffer = await this.helpers.getBinaryDataBuffer(0, key);\n  const mimeType = binaryData[key].mimeType;\n  base64Images[key] = `data:${mimeType};base64,${buffer.toString('base64')}`;\n}\n\nreturn [{\n  json: {\n    ...jsonData,\n    base64Images\n  }\n}];"},"typeVersion":2},{"id":"ecf7e142-9849-4a5f-84ee-3ba4e2f9dfcb","name":"Get a design","type":"n8n-nodes-abyssale.abyssale","position":[-1872,1504],"parameters":{"designId":"={{ $json['Template ID'] }}","resource":"design"},"credentials":{"AbyssaleApi":{"id":"BCi0Pod7INGF1hcn","name":"Abyssale account"}},"typeVersion":1},{"id":"40a97295-d673-466d-9817-c35be92558c2","name":"Switch","type":"n8n-nodes-base.switch","position":[-144,1408],"parameters":{"rules":{"values":[{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"0f1d9cb7-7155-4479-8388-bb793cd0bf79","operator":{"type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"facebook-post"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"5bbe2300-410f-4fb7-90a6-a62ce770daaf","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"facebook-reel"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"789476c7-b962-4da0-8d12-b14d4fd6638f","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"=instagram-post"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d2531084-24e3-41da-98ab-f0fc6e22e88a","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"instagram-story"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"715e5a39-550b-4b56-8345-489d097caff2","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"tiktok-post"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d080e5a9-5d37-4524-8ed1-26fbf6bc0390","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"twitter-post"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"593f6831-87cf-4656-8b8c-152da535625e","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"linkedin-feed"}]}},{"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"42effcc8-04f5-49ca-bd4f-86814194d616","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{$json.format.id}}","rightValue":"pinterest-pins"}]}}]},"options":{}},"typeVersion":3.4},{"id":"47361162-0cac-48de-bada-fc9337e409c3","name":"Upload media","type":"@blotato/n8n-nodes-blotato.blotato","position":[80,1392],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"4b3b55e9-863c-4de5-91cf-393a1991283c","name":"Upload media1","type":"@blotato/n8n-nodes-blotato.blotato","position":[224,1568],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"ab17e10c-ff38-4cd6-a751-cf0706c1b3aa","name":"Upload media2","type":"@blotato/n8n-nodes-blotato.blotato","position":[368,1712],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"c7078365-3b0a-4be0-86e7-a7538443ab6b","name":"Upload media3","type":"@blotato/n8n-nodes-blotato.blotato","position":[512,1856],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"39f7f020-b7d6-43e1-9c41-4d055997aa2e","name":"Upload media4","type":"@blotato/n8n-nodes-blotato.blotato","position":[656,2000],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"9e814c5f-8f5d-4dac-832c-d8968b554d1a","name":"Upload media5","type":"@blotato/n8n-nodes-blotato.blotato","position":[800,2144],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"d3741df6-0f8f-4fe1-b7b3-8f9cb0ab3052","name":"Upload media6","type":"@blotato/n8n-nodes-blotato.blotato","position":[944,2288],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"8b4a13db-6984-4e67-8bb1-709d2c251b91","name":"Upload media7","type":"@blotato/n8n-nodes-blotato.blotato","position":[1088,2432],"parameters":{"mediaUrl":"={{ $json.file.cdn_url }}","resource":"media"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"5ad85f0a-c812-401c-a3f2-458320f14f63","name":"Create facebook-post","type":"@blotato/n8n-nodes-blotato.blotato","position":[288,1392],"parameters":{"options":{},"platform":"facebook","accountId":{"__rl":true,"mode":"list","value":"1759","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759","cachedResultName":"Firass Ben"},"facebookPageId":{"__rl":true,"mode":"list","value":"101603614680195","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759/subaccounts/101603614680195","cachedResultName":"Dr. Firas"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"835769b8-a965-4282-99ec-e9f69f2cff91","name":"Create facebook-reel","type":"@blotato/n8n-nodes-blotato.blotato","position":[432,1568],"parameters":{"options":{"facebookMediaType":"reel"},"platform":"facebook","accountId":{"__rl":true,"mode":"list","value":"1759","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759","cachedResultName":"Firass Ben"},"facebookPageId":{"__rl":true,"mode":"list","value":"101603614680195","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759/subaccounts/101603614680195","cachedResultName":"Dr. Firas"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"a454dcb9-ada8-45c6-ba33-8157d8978992","name":"Create instagram-post","type":"@blotato/n8n-nodes-blotato.blotato","position":[576,1712],"parameters":{"options":{},"accountId":{"__rl":true,"mode":"list","value":"1759","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759","cachedResultName":"Firass Ben"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"afbf44f7-3d68-4da7-b56c-b1d8c34bb896","name":"Create instagram-story","type":"@blotato/n8n-nodes-blotato.blotato","position":[720,1856],"parameters":{"options":{"instagramMediaType":"reel"},"accountId":{"__rl":true,"mode":"list","value":"1759","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759","cachedResultName":"Firass Ben"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"7027e436-973d-47f1-a2a3-2745ef9074d6","name":"Create tiktok-post","type":"@blotato/n8n-nodes-blotato.blotato","position":[864,2000],"parameters":{"options":{},"platform":"tiktok","accountId":{"__rl":true,"mode":"list","value":"2079","cachedResultUrl":"https://backend.blotato.com/v2/accounts/2079","cachedResultName":"elitecybzcs"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"4b89de18-9909-4f90-97a5-49cf6096d000","name":"Create twitter-post","type":"@blotato/n8n-nodes-blotato.blotato","position":[1008,2144],"parameters":{"options":{},"platform":"twitter","accountId":{"__rl":true,"mode":"list","value":"1759","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759","cachedResultName":"Firass Ben"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"afa64f71-6b3b-4b95-b48c-ec881d71e1a9","name":"Create linkedin-feed","type":"@blotato/n8n-nodes-blotato.blotato","position":[1152,2288],"parameters":{"options":{},"platform":"linkedin","accountId":{"__rl":true,"mode":"list","value":"1446","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1446","cachedResultName":"Samuel Amalric"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"d9991da3-e57e-47ce-865e-731cef9bc25c","name":"Create pinterest-pins","type":"@blotato/n8n-nodes-blotato.blotato","position":[1296,2432],"parameters":{"options":{},"platform":"pinterest","accountId":{"__rl":true,"mode":"list","value":"1759","cachedResultUrl":"https://backend.blotato.com/v2/accounts/1759","cachedResultName":"Firass Ben"},"postContentText":"={{ $('Form').item.json['caption for social media'] }}","pinterestBoardId":{"__rl":true,"mode":"id","value":"1146658823815436667"},"postContentMediaUrls":"={{ $json.url }}"},"credentials":{"blotatoApi":{"id":"wozsYJYLfCZO37j8","name":"Blotato account"}},"typeVersion":2},{"id":"d0e9a4a8-738e-48ec-98a9-62083a893b3a","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[-2848,-96],"parameters":{"width":652,"height":1892,"content":"# 🚀  Generate social media designs in Abyssale and publish to Blotato \n## (By Dr. Firas)\n\n@[youtube](T9gNqXRH8nE)\n\n# 📘 Documentation  \nAccess detailed setup instructions, API config, platform connection guides, and workflow customization tips: 📎 [Open the full documentation on Notion](https://automatisation.notion.site/Automate-multi-format-design-creation-in-Abyssale-and-publish-via-Blotato-3053d6550fd98094a291f106966ca092?source=copy_link)\n\n# 🚀 Workflow Configuration Overview\n\n---\n\n## 🆔  Object ID of this Workflow\n\nUse this ID when referencing the Abyssale template or duplicating the workflow in your workspace.\n\n---\n\n## ⚙️ What This Workflow Does\n\nThis workflow automates the complete lifecycle of a social media campaign:\n\n1. Generates a high-quality product image using AI  \n2. Removes the background to produce a transparent PNG  \n3. Injects the product into an Abyssale design template  \n4. Generates multiple social media formats automatically  \n5. Dispatches each format to a dedicated Blotato node  \n6. Publishes the visuals directly to their corresponding platforms  \n\nIt eliminates manual resizing, exporting, uploading, and publishing — everything runs in one automated pipeline.\n\n---\n\n## 🔐 Setup\n\n## 1. **Credentials Required**\n- **[Abyssale](https://abyssale.cello.so/wXzGGKBcrTl)** API credentials  \n- **[Blotato](https://blotato.com/?ref=firas)** API credentials  \n- **[AtlasCloud](https://www.atlascloud.ai?ref=8QKPJE)** API (NanoBanana) + Background Remover API  \n\n---\n\n## 2. Configuration Steps\n- Add all required credentials inside n8n\n- Confirm your Abyssale template includes all required formats\n- Connect Blotato to your social media accounts\n- Verify the AI image generation and background remover endpoints\n- Test one execution before activating production mode"},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"fa2b748f-50a7-4645-88e7-693e5c4fa43d","connections":{"Form":{"main":[[{"node":"Convert Uploads to Base64","type":"main","index":0}]]},"Switch":{"main":[[{"node":"Upload media","type":"main","index":0}],[{"node":"Upload media1","type":"main","index":0}],[{"node":"Upload media2","type":"main","index":0}],[{"node":"Upload media3","type":"main","index":0}],[{"node":"Upload media4","type":"main","index":0}],[{"node":"Upload media5","type":"main","index":0}],[{"node":"Upload media6","type":"main","index":0}],[{"node":"Upload media7","type":"main","index":0}]]},"Get a file":{"main":[[{"node":"Upload Image to tmpfiles","type":"main","index":0}]]},"Get a design":{"main":[[{"node":"Extract Layers","type":"main","index":0}]]},"Upload media":{"main":[[{"node":"Create facebook-post","type":"main","index":0}]]},"Upload media1":{"main":[[{"node":"Create facebook-reel","type":"main","index":0}]]},"Upload media2":{"main":[[{"node":"Create instagram-post","type":"main","index":0}]]},"Upload media3":{"main":[[{"node":"Create instagram-story","type":"main","index":0}]]},"Upload media4":{"main":[[{"node":"Create tiktok-post","type":"main","index":0}]]},"Upload media5":{"main":[[{"node":"Create twitter-post","type":"main","index":0}]]},"Upload media6":{"main":[[{"node":"Create linkedin-feed","type":"main","index":0}]]},"Upload media7":{"main":[[{"node":"Create pinterest-pins","type":"main","index":0}]]},"Extract Layers":{"main":[[{"node":"Build Form Fields","type":"main","index":0}]]},"Generate Images":{"main":[[{"node":"Switch","type":"main","index":0}]]},"Telegram Trigger":{"main":[[{"node":"Get a file","type":"main","index":0}]]},"Build Form Fields":{"main":[[{"node":"Form","type":"main","index":0}]]},"OpenAI Chat Model":{"ai_languageModel":[[{"node":"Generate NanoBanana Prompt","type":"ai_languageModel","index":0}]]},"Check If Completed":{"main":[[{"node":"Extract Final Image URL","type":"main","index":0}],[{"node":"Wait Before Polling","type":"main","index":0}]]},"Check Image Status":{"main":[[{"node":"Check If Completed","type":"main","index":0}]]},"Extract Public URL":{"main":[[{"node":"Prepare AI Agent Input","type":"main","index":0}]]},"On form submission":{"main":[[{"node":"Get a design","type":"main","index":0}]]},"Check If Completed1":{"main":[[{"node":"Extract Final Image URL1","type":"main","index":0}],[{"node":"Wait Before Polling1","type":"main","index":0}]]},"Check Image Status1":{"main":[[{"node":"Check If Completed1","type":"main","index":0}]]},"Wait Before Polling":{"main":[[{"node":"Check Image Status","type":"main","index":0}]]},"Create facebook-post":{"main":[[]]},"Download Final Image":{"main":[[{"node":"Send Photo to Telegram","type":"main","index":0}]]},"Wait Before Polling1":{"main":[[{"node":"Check Image Status1","type":"main","index":0}]]},"Extract Prediction ID":{"main":[[{"node":"Wait Before Polling","type":"main","index":0}]]},"Extract Prediction ID1":{"main":[[{"node":"Wait Before Polling1","type":"main","index":0}]]},"Prepare AI Agent Input":{"main":[[{"node":"OpenAI Vision: Analyze Reference Image","type":"main","index":0}]]},"Build Abyssale Elements":{"main":[[{"node":"Generate Images","type":"main","index":0}]]},"Create NanoBanana Image":{"main":[[{"node":"Extract Prediction ID","type":"main","index":0}]]},"Extract Final Image URL":{"main":[[{"node":"image background remover","type":"main","index":0}]]},"Extract Final Image URL1":{"main":[[{"node":"Download Final Image","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"Generate NanoBanana Prompt","type":"ai_outputParser","index":0}]]},"Upload Image to tmpfiles":{"main":[[{"node":"Extract Public URL","type":"main","index":0}]]},"image background remover":{"main":[[{"node":"Extract Prediction ID1","type":"main","index":0}]]},"Convert Uploads to Base64":{"main":[[{"node":"Build Abyssale Elements","type":"main","index":0}]]},"Generate NanoBanana Prompt":{"main":[[{"node":"Create NanoBanana Image","type":"main","index":0}]]},"OpenAI Vision: Analyze Reference Image":{"main":[[{"node":"Generate NanoBanana Prompt","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":53,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":9},"n8n-nodes-base.form":{"count":1},"n8n-nodes-base.wait":{"count":2},"n8n-nodes-base.switch":{"count":1},"n8n-nodes-base.telegram":{"count":2},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":7},"n8n-nodes-abyssale.abyssale":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.telegramTrigger":{"count":1},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"@blotato/n8n-nodes-blotato.blotato":{"count":16},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Dr. Firas","username":"drfiras","bio":"Automation expert and certified trainer. I create hands-on courses to master automation with n8n. Contact me to access my exclusive training and start building powerful workflows today. 🚀","verified":true,"links":["https://hotm.art/n8n"],"avatar":"https://gravatar.com/avatar/988a46579257f9e8c522aeb7b906f1ee96e47c4298faa548e41b04957f455ae3?r=pg&d=retro&size=200"},"nodes":[{"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":49,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegram","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"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/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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"},{"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/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"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.telegram/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Telegram"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":50,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegramTrigger","codex":{"data":{"resources":{"generic":[{"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/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/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/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"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/trigger-nodes/n8n-nodes-base.telegramtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Telegram Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"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":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":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":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"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":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"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":1274,"icon":"file:form.svg","name":"n8n-nodes-base.form","codex":{"data":{"alias":["_Form","form","table","submit","post","page","step","stage","multi"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.form/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Form"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":51,"name":"Multimodal AI"}],"image":[]}}