{
  "name": "Create and publish AI recipe infographics with Gemini, Nanobanana Pro and Blotato",
  "nodes": [
    {
      "id": "b094b0fc-4150-4d8f-a841-b5311d569e66",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        560,
        -384
      ]
    },
    {
      "id": "df9761c1-0e6e-4347-8729-b247458e0545",
      "name": "Submit Dish Name",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -592,
        -224
      ]
    },
    {
      "id": "20def5a2-39da-4e25-91bd-aac838e2922a",
      "name": "AI Research: Recipe & Ingredients",
      "type": "n8n-nodes-base.perplexityTool",
      "position": [
        -224,
        -400
      ]
    },
    {
      "id": "bf34ef8b-2dc1-44ac-ba2a-acc249523195",
      "name": "AI Agent: Recipe Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -352,
        -224
      ]
    },
    {
      "id": "b0a6a289-853b-4624-83bb-d0a9747f284f",
      "name": "Gemini LLM",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -352,
        -384
      ]
    },
    {
      "id": "4cbf7f6b-a7d5-4c70-8292-32b9aca15519",
      "name": "AI Agent: Facebook Caption Generator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        0,
        -224
      ]
    },
    {
      "id": "0713fc8a-82fd-4ea9-b842-03cfa26144ca",
      "name": "Parser: Caption & Metadata",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        160,
        -384
      ]
    },
    {
      "id": "0aede503-6fda-4f22-996d-237601e2f338",
      "name": "AI Agent: Infographic Prompt Generator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        416,
        -224
      ]
    },
    {
      "id": "b061bd69-f49f-43a7-bcb4-2f72bf2110c4",
      "name": "Generate Infographic Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -352,
        160
      ]
    },
    {
      "id": "79bb0373-75a7-4f67-b5d1-20b990c3165a",
      "name": "Fetch Generated Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        160
      ]
    },
    {
      "id": "02755e53-9c03-41f5-81fe-82c5fdb8f0e4",
      "name": "Switch: Image Status (Processing / Done / Failed)",
      "type": "n8n-nodes-base.switch",
      "position": [
        480,
        144
      ]
    },
    {
      "id": "66b34a38-1d95-401d-a32e-52404ecd937e",
      "name": "Prepare Facebook Post Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -352,
        704
      ]
    },
    {
      "id": "fa8d224b-51b6-493b-8580-e863abb502f0",
      "name": "Upload media on Blotato",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        0,
        704
      ]
    },
    {
      "id": "d4519978-3a5f-4844-9e4a-758553202b16",
      "name": "Facebook: Create Post",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        368,
        704
      ]
    },
    {
      "id": "33e54540-17d2-40d3-a421-e6478050af48",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -768,
        -608
      ],
      "parameters": {
        "width": 368,
        "height": 576,
        "content": "## User Input\nCollect a single dish name from the user via a form. This input triggers the entire automation flow.\nOutput: Dish name"
      }
    },
    {
      "id": "7e7305f7-5241-49ec-9f3a-7d8849acf84f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -608
      ],
      "parameters": {
        "width": 368,
        "height": 576,
        "content": "## Recipe Research & Structuring\nAutomatically research the recipe based on the dish name and normalize the data (ingredients, steps, timing).\nOutput: Structured recipe data"
      }
    },
    {
      "id": "5269b395-14fc-4038-a291-1992658cdabc",
      "name": "Gemini LLM1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        32,
        -384
      ]
    },
    {
      "id": "1f65f23b-d320-4be9-907d-87a175bdd479",
      "name": "Gemini LLM2",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        416,
        -384
      ]
    },
    {
      "id": "fc2cfdb5-6b78-4c82-a589-3a9db934745f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -608
      ],
      "parameters": {
        "width": 368,
        "height": 576,
        "content": "## Recipe Content & Caption\nGenerate a social-ready caption optimized for food content and engagement.\nOutput: Caption text + metadata"
      }
    },
    {
      "id": "bd83188b-b6c4-4b8f-9195-c86342e98dab",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        -608
      ],
      "parameters": {
        "width": 384,
        "height": 576,
        "content": "## Infographic Prompt Builder\nConvert the structured recipe into a detailed prompt for generating a cooking infographic.\nOutput: Image generation prompt"
      }
    },
    {
      "id": "6967694f-7d43-4cd3-961e-66820973497c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -16
      ],
      "parameters": {
        "width": 1120,
        "height": 480,
        "content": "## Image Generation\nGenerate the recipe infographic image and wait until rendering is complete.\nOutput: Final infographic image"
      }
    },
    {
      "id": "c04111c0-4ecc-4f4b-a113-ddc692af9654",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        464
      ],
      "parameters": {
        "width": 1120,
        "height": 480,
        "content": "## Media Upload & Blotato Posting\nUpload the generated infographic to Blotato’s media server, then publish the post to Facebook using Blotato as the posting service.\nOutput: Facebook post published (v"
      }
    },
    {
      "id": "bd521666-60e5-48bf-b01f-6e52ee2b3485",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1408,
        -608
      ],
      "parameters": {
        "width": 624,
        "height": 784,
        "content": "# 🛠️ Workflow Setup Guide\n\nAuthor: [GiangxAI](https://www.youtube.com/@giangxai.official)\n\n## How it works\n- A dish name is submitted via a simple input form  \n- AI researches the recipe and structure"
      }
    },
    {
      "id": "1f1c50b9-5000-4d89-a718-7e23a60b1cd6",
      "name": "Wait for Image Rendering",
      "type": "n8n-nodes-base.wait",
      "position": [
        -32,
        160
      ]
    }
  ],
  "connections": {
    "Gemini LLM": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent: Recipe Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gemini LLM1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent: Facebook Caption Generator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Gemini LLM2": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent: Infographic Prompt Generator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Submit Dish Name": {
      "main": [
        [
          {
            "node": "AI Agent: Recipe Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Facebook: Create Post": {
      "main": [
        []
      ]
    },
    "Fetch Generated Image": {
      "main": [
        [
          {
            "node": "Switch: Image Status (Processing / Done / Failed)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload media on Blotato": {
      "main": [
        [
          {
            "node": "Facebook: Create Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent: Infographic Prompt Generator",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Image Rendering": {
      "main": [
        [
          {
            "node": "Fetch Generated Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent: Recipe Analyzer": {
      "main": [
        [
          {
            "node": "AI Agent: Facebook Caption Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Infographic Image": {
      "main": [
        [
          {
            "node": "Wait for Image Rendering",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parser: Caption & Metadata": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent: Facebook Caption Generator",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Facebook Post Data": {
      "main": [
        [
          {
            "node": "Upload media on Blotato",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Research: Recipe & Ingredients": {
      "ai_tool": [
        [
          {
            "node": "AI Agent: Recipe Analyzer",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent: Facebook Caption Generator": {
      "main": [
        [
          {
            "node": "AI Agent: Infographic Prompt Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent: Infographic Prompt Generator": {
      "main": [
        [
          {
            "node": "Generate Infographic Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch: Image Status (Processing / Done / Failed)": {
      "main": [
        [
          {
            "node": "Wait for Image Rendering",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Facebook Post Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}