{
  "name": "Instant infographic generator (LINE + Nano Banana Pro)",
  "nodes": [
    {
      "id": "4b498bde-7310-41c3-8de7-bb9ad947e4e2",
      "name": "Sticky Note 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -32
      ],
      "parameters": {
        "width": 644,
        "height": 376,
        "content": "## 1. Data Processing\n1. Extract data/topic from LINE.\n2. **Gemini acts as Data Analyst**.\n3. Structures the data into a visual description (Charts, Icons, Layout)."
      }
    },
    {
      "id": "d30ac12e-af92-49b4-8f70-28f8b910082b",
      "name": "Sticky Note 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        -32
      ],
      "parameters": {
        "width": 1012,
        "height": 376,
        "content": "## 2. Infographic Rendering\n1. Submit to Nano Banana Pro.\n2. **Configured for 3:4 Aspect Ratio**.\n3. **Smart Loop:** Checks status every 5s until ready."
      }
    },
    {
      "id": "ed88f242-9e86-4933-aa6c-a8fbb335d847",
      "name": "Sticky Note 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1856,
        -32
      ],
      "parameters": {
        "width": 860,
        "height": 376,
        "content": "## 3. Host & Deliver\n1. Download the generated Infographic.\n2. Upload to S3 (Public).\n3. Send the visual report back to LINE."
      }
    },
    {
      "id": "85af1e9b-e708-42de-997b-390ba1b473e8",
      "name": "Main Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -32
      ],
      "parameters": {
        "width": 300,
        "height": 528,
        "content": "# AI Infographic Generator\n\nTurns complex data or topics into easy-to-understand **Infographics** automatically.\n\n### Key Features\n- **Role:** Data Visualization Expert.\n- **Format:** 3:4 Vertical Pos"
      }
    },
    {
      "id": "adcafd67-eebf-4ef6-a953-0042eaf75dc2",
      "name": "LINE Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        144,
        128
      ]
    },
    {
      "id": "7bb61745-1574-41dc-94d8-0f9bb44747e1",
      "name": "Extract Data",
      "type": "n8n-nodes-base.code",
      "position": [
        320,
        128
      ]
    },
    {
      "id": "6981c521-0750-4d7d-b0df-6b77448a4e1f",
      "name": "Optimize Prompt (Data Vis)",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        496,
        128
      ]
    },
    {
      "id": "1b9e4427-db85-4905-ab67-c6440c8a16aa",
      "name": "Parse Gemini Response",
      "type": "n8n-nodes-base.code",
      "position": [
        848,
        128
      ]
    },
    {
      "id": "eecb8e0c-3dc9-4847-bbdb-84d3d106ec0b",
      "name": "Submit to Nano Banana Pro",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1056,
        128
      ]
    },
    {
      "id": "b253a76e-133a-417d-a76b-16c0df8abd1c",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1248,
        128
      ]
    },
    {
      "id": "2dc495ab-5754-49f0-8dae-127aaa153736",
      "name": "Check Job Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1456,
        128
      ]
    },
    {
      "id": "b3ec2fb1-e111-40c7-a7b1-bc76abaadba7",
      "name": "Is Ready?",
      "type": "n8n-nodes-base.if",
      "position": [
        1648,
        128
      ]
    },
    {
      "id": "b22257b2-7915-42e5-8ac7-2ce7c560896e",
      "name": "Parse Result",
      "type": "n8n-nodes-base.code",
      "position": [
        1904,
        112
      ]
    },
    {
      "id": "c8a1d37a-1a8e-4baa-be93-aaf1eb309896",
      "name": "Download Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2112,
        112
      ]
    },
    {
      "id": "a25e24b7-7bba-41d5-96bc-93ab6e646dff",
      "name": "Upload to S3",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        2304,
        112
      ]
    },
    {
      "id": "57501e89-72ba-4ae5-8264-0ddefb5343cf",
      "name": "Send Image to LINE",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2512,
        112
      ]
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Check Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Ready?": {
      "main": [
        [
          {
            "node": "Parse Result",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Data": {
      "main": [
        [
          {
            "node": "Optimize Prompt (Data Vis)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LINE Webhook": {
      "main": [
        [
          {
            "node": "Extract Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Result": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to S3": {
      "main": [
        [
          {
            "node": "Send Image to LINE",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Upload to S3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Job Status": {
      "main": [
        [
          {
            "node": "Is Ready?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Gemini Response": {
      "main": [
        [
          {
            "node": "Submit to Nano Banana Pro",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit to Nano Banana Pro": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Optimize Prompt (Data Vis)": {
      "main": [
        [
          {
            "node": "Parse Gemini Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}