AutomationFlowsAI & RAG › Generate Research-backed Infographics with GPT-4 & Gmail

Generate Research-backed Infographics with GPT-4 & Gmail

Original n8n title: Generate Research-backed Infographics with Gpt-4, Kie.ai, and Gmail

ByGeorge Dan @georgedanp on n8n.io

A web form collects your infographic parameters: headline, topic, art style, layout, color palette, aspect ratio, resolution, etc. An AI Agent (GPT-4 with live web search) researches your topic and writes an optimized prompt for the image generator The prompt is submitted to…

Event trigger★★★★☆ complexityAI-powered19 nodesAgentForm TriggerHTTP RequestGmailOpenAI Chat
AI & RAG Trigger: Event Nodes: 19 Complexity: ★★★★☆ AI nodes: yes Added:
Generate Research-backed Infographics with GPT-4 & Gmail — n8n workflow card showing Agent, Form Trigger, HTTP Request integration

This workflow corresponds to n8n.io template #14000 — we link there as the canonical source.

This workflow follows the Agent → Form Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "Xaq4lLIaOk0q0mDx",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Generate Research-Backed Infographics with AI and kie.ai",
  "tags": [],
  "nodes": [
    {
      "id": "50054b91-f707-4554-a4a5-fe16cc452f33",
      "name": "Build Image Prompt",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        288,
        -96
      ],
      "parameters": {
        "text": "=### ROLE\nYou are a world-class Art Director and Prompt Engineer specializing in generative AI for information design. Your goal is to take user requirements and convert them into a highly optimized image generation prompt for a diffusion model.\n\n### YOUR GOAL\nCreate a prompt that results in a clean, legible, and professional infographic. You must prioritize \"readability\" and \"composition\" over artistic flair.\n\n### INPUT DATA\n- Headline: {{ $json['Main Headline'] }}\n- Data Points: {{ $json['Key Data Points'] }}\n- Layout: {{ $json['Layout Structure'] }}\n- Visualization Types: {{ $json['Visualization Options'] }}\n- Tone of Voice: {{ $json['Tone of Voice'] }}\n- Style: {{ $json['Art Style'] }}\n- Information Density: {{ $json['Information Density'] }}\n- Font Family: {{ $json['Font Family'] }}\n- Colors: {{ $json['Color Palette'] }}\n\n### TOOLS\nUse the \"Researcher\" model, which has access to the Internet, to gather the \"Data Points\" that are needed for the infographic.\n\n### PROMPT STRUCTURE RULES\n1. **Subject & Layout:** Start by defining the image type strictly (e.g., \"A vertical infographic vector illustration...\").\n2. **Text Handling:** Modern AI models (like Flux or SD3) can render text if it is capitalized and wrapped in quotes. You MUST extract the \"Headline\" and place it in the prompt as: text \"HEADLINE HERE\". Do not try to fit all data points as literal text; summarize them as visual icons or short labels.\n3. **Style Descriptors:** Use keywords that enforce cleanliness: \"white space,\" \"margins,\" \"grid layout,\" \"vector graphics,\" \"adobe illustrator style,\" \"high resolution.\"\n4. **Negative Weighting (Implicit):** phrasing matters. Avoid \"cluttered,\" \"messy,\" \"illegible.\"\n\n### OUTPUT FORMAT\nReturn ONLY the raw prompt string to be sent to the image generator. Do not add conversational filler or the URLs of the sources for \"Data Points\".\n\n### DYNAMIC PROMPT TEMPLATE (Use this logic)\n\"[Style] infographic featuring text ' [Headline] ' at the top. The layout is [Layout]. Preferred visualization types: [Visualization Types]. Tone of voice: [Tone of Voice]. Art style: [Style]. Information density: [Information Density]. Preferred font family [Font Family]. The design uses a [Colors] color scheme.\nKey visual elements include: [Convert 'Data Points' into visual metaphors, e.g., if data is 'costs down', describe a downward arrow or coin stack].\nHigh quality, professional graphic design, flat vector art, precise lines, extra white space for readability, typography focused.\"",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 3
    },
    {
      "id": "3ec9937d-8285-40eb-97b4-446bacd33325",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        32,
        -96
      ],
      "parameters": {
        "options": {
          "appendAttribution": false
        },
        "formTitle": "Infographics Maker",
        "formFields": {
          "values": [
            {
              "fieldType": "textarea",
              "fieldLabel": "Main Headline",
              "placeholder": "The Future of Solar Energy (5-7 words)",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Key Data Points",
              "placeholder": "What the infographic is about (Global Market Outlook for Solar Power 2025-2030)",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Target Audience",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Corporate"
                  },
                  {
                    "option": "Educational"
                  },
                  {
                    "option": "Social Media"
                  },
                  {
                    "option": "Technical"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Tone of Voice",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Professional"
                  },
                  {
                    "option": "Marketing"
                  },
                  {
                    "option": "Neutral"
                  },
                  {
                    "option": "Urgent"
                  },
                  {
                    "option": "Casual"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Visualization Options",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Prioritize Charts/Graphs"
                  },
                  {
                    "option": "Use Icons & Illustrations"
                  },
                  {
                    "option": "Incorporate Maps"
                  },
                  {
                    "option": "Use Photo Realistic Elements"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Art Style",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Flat Vector"
                  },
                  {
                    "option": "Isometric"
                  },
                  {
                    "option": "Corporate Memphis"
                  },
                  {
                    "option": "Neon/Cyberpunk"
                  },
                  {
                    "option": "Hand-Drawn/Sketch"
                  },
                  {
                    "option": "Retro Pop Art"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "Color Palette",
              "placeholder": "Teal and Orange, Monochrome Blue, Pastel, etc.",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Layout Structure",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Vertical flow from top to bottom"
                  },
                  {
                    "option": "Horizontal linear flow from left to right"
                  },
                  {
                    "option": "Comparison: Split screen (Left vs Right)"
                  },
                  {
                    "option": "Central Hub / Mindmap"
                  },
                  {
                    "option": "Step-by-Step: Numbered list layout"
                  },
                  {
                    "option": "Modular Grid"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Font Family",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Modern Sans (Roboto/Helvetica)"
                  },
                  {
                    "option": "Classic Serif (Garamond/Times)"
                  },
                  {
                    "option": "Bold Headline (Oswald/Impact)"
                  },
                  {
                    "option": "Tech/Code (Courier/Monospace)"
                  },
                  {
                    "option": "Handwritten (Marker Style)"
                  },
                  {
                    "option": "Elegant/Script (Cursive)"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "radio",
              "fieldLabel": "Information Density",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Minimalist"
                  },
                  {
                    "option": "Balanced"
                  },
                  {
                    "option": "Detailed"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Aspect Ratio",
              "fieldOptions": {
                "values": [
                  {
                    "option": "9:16"
                  },
                  {
                    "option": "2:3"
                  },
                  {
                    "option": "3:4"
                  },
                  {
                    "option": "4:5"
                  },
                  {
                    "option": "1:1"
                  },
                  {
                    "option": "5:4"
                  },
                  {
                    "option": "4:3"
                  },
                  {
                    "option": "3:2"
                  },
                  {
                    "option": "16:9"
                  },
                  {
                    "option": "21:9"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "radio",
              "fieldLabel": "Resolution",
              "fieldOptions": {
                "values": [
                  {
                    "option": "1K"
                  },
                  {
                    "option": "2K"
                  },
                  {
                    "option": "4K"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "radio",
              "fieldLabel": "Output Format",
              "fieldOptions": {
                "values": [
                  {
                    "option": "png"
                  },
                  {
                    "option": "jpg"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        },
        "formDescription": "Use AI to Generate Well-Researched, High-Quality Infographics"
      },
      "typeVersion": 2.3
    },
    {
      "id": "6225a140-0da7-4c7d-bafb-424f00a82b73",
      "name": "Generate Infographic",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        640,
        -96
      ],
      "parameters": {
        "url": "https://api.kie.ai/api/v1/jobs/createTask",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "neverError": true
            }
          }
        },
        "jsonBody": "={\n  \"model\": \"nano-banana-pro\",\n  \"input\": {\n    \"prompt\": {{ JSON.stringify($json.output) }},\n    \"aspect_ratio\": \"{{ $('On form submission').item.json['Aspect Ratio'] }}\",\n    \"resolution\": \"{{ $('On form submission').item.json.Resolution }}\",\n    \"output_format\": \"{{ $('On form submission').item.json['Output Format'] }}\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "38f42d17-7e68-4740-887d-0b073bc65a15",
      "name": "Route by Job Status",
      "type": "n8n-nodes-base.switch",
      "position": [
        1248,
        -368
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "success",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "6d7bc14d-465e-4b88-b48d-0503d907df91",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.data.state }}",
                    "rightValue": "success"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "pending",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "or",
                "conditions": [
                  {
                    "id": "783eaa29-4339-479f-8069-60344d0210fb",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.data.state }}",
                    "rightValue": "waiting"
                  },
                  {
                    "id": "pending-generating",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.data.state }}",
                    "rightValue": "generating"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "fail",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "1db6f4f3-e726-4874-8b48-403809b1cbb4",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.data.state }}",
                    "rightValue": "fail"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": 2
        }
      },
      "typeVersion": 3.3
    },
    {
      "id": "3ebb7db3-b3b4-46d6-9c36-f67fea80dc0c",
      "name": "Download Generated Image",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        1568,
        -720
      ],
      "parameters": {
        "url": "={{ JSON.parse($json.data.resultJson).resultUrls[0] }}",
        "options": {
          "response": {
            "response": {
              "neverError": true
            }
          }
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "bde80cd1-0270-4049-b649-d3aedd645b6b",
      "name": "Email Image to User",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1840,
        -736
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "Hi, the new infographic is attached to this email.",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          },
          "appendAttribution": false
        },
        "subject": "New infographic generated"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0fd7d6f2-5eeb-46ee-b5ed-5fad5645e3af",
      "name": "Researcher",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        288,
        96
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {},
        "builtInTools": {
          "webSearch": {
            "searchContextSize": "medium"
          }
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a135b4c8-37c4-4ab4-8b04-2e0d291eab11",
      "name": "Polling Delay (15s)",
      "type": "n8n-nodes-base.wait",
      "position": [
        880,
        -160
      ],
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "903cdf74-b9c7-4643-97db-b3b9ef74e54b",
      "name": "Increment Retry",
      "type": "n8n-nodes-base.code",
      "position": [
        1584,
        -384
      ],
      "parameters": {
        "jsCode": "const staticData = $getWorkflowStaticData('global');\n\n// Auto-reset for each new workflow execution\nif (staticData.lastExecutionId !== $execution.id) {\n  staticData.retryCount = 0;\n  staticData.lastExecutionId = $execution.id;\n}\n\nconst retryCount = (staticData.retryCount || 0) + 1;\nstaticData.retryCount = retryCount;\n\nconst taskId = $input.first().json.data?.taskId || $input.first().json.taskId;\n\nreturn [{ json: { retryCount, taskId } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "68103b4d-db4c-47a0-8eed-14c76b24db0f",
      "name": "Check Timeout",
      "type": "n8n-nodes-base.if",
      "position": [
        1760,
        -384
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "timeout-check",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $json.retryCount }}",
              "rightValue": 20
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "80fda454-4c5d-410c-a1fd-06201e06ca8c",
      "name": "Check Job Status",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        1072,
        -160
      ],
      "parameters": {
        "url": "https://api.kie.ai/api/v1/jobs/recordInfo",
        "options": {
          "response": {
            "response": {
              "neverError": true
            }
          }
        },
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "taskId",
              "value": "={{ $json.data?.taskId ?? $json.taskId }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "659856d2-8dbd-46cc-afd6-2670ec0a7b69",
      "name": "Prepare Error Email",
      "type": "n8n-nodes-base.code",
      "position": [
        2192,
        -80
      ],
      "parameters": {
        "jsCode": "const input = $input.first().json;\nconst formData = $('On form submission').item.json;\nlet subject, body;\n\nif (input.data?.state === 'fail') {\n  subject = 'Infographic generation failed';\n  body = `Hi,\\n\\nThe infographic generation failed.\\n\\n**Error Details:**\\n${input.data.errorMessage || 'Unknown error'}\\n\\n**Task ID:** ${input.data.taskId || input.taskId || 'unknown'}\\n\\n**Original Request:**\\n- Headline: ${formData['Main Headline']}\\n- Data Points: ${formData['Key Data Points']}\\n- Style: ${formData['Art Style']}\\n- Layout: ${formData['Layout Structure']}\\n- Aspect Ratio: ${formData['Aspect Ratio']}\\n- Resolution: ${formData['Resolution']}`;\n} else if (input.retryCount !== undefined) {\n  subject = 'Infographic generation timed out';\n  body = `Hi,\\n\\nThe infographic generation timed out after 20 polling attempts.\\n\\n**Task ID:** ${input.taskId || 'unknown'}\\n\\n**Original Request:**\\n- Headline: ${formData['Main Headline']}\\n- Data Points: ${formData['Key Data Points']}\\n- Style: ${formData['Art Style']}\\n- Layout: ${formData['Layout Structure']}\\n- Aspect Ratio: ${formData['Aspect Ratio']}\\n- Resolution: ${formData['Resolution']}\\n\\nPlease check the kie.ai dashboard for more details.`;\n} else {\n  subject = 'Infographic API Error';\n  body = `Hi,\\n\\nAn API error occurred during infographic generation.\\n\\n**Error Details:**\\n${JSON.stringify(input, null, 2)}\\n\\n**Original Request:**\\n- Headline: ${formData['Main Headline']}\\n- Data Points: ${formData['Key Data Points']}\\n- Style: ${formData['Art Style']}\\n- Layout: ${formData['Layout Structure']}`;\n}\n\nreturn [{ json: { subject, body } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "c7b29f15-8cbf-458d-b67b-21d671f3cabc",
      "name": "Send Error Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2368,
        -80
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "={{ $json.body }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $json.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "75f9b6a5-a226-4b23-b7fb-fcc84871719c",
      "name": "Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        -848
      ],
      "parameters": {
        "color": 4,
        "width": 380,
        "height": 1124,
        "content": "## \ud83d\uddbc\ufe0f AI Infographic Generator\n\n**Generate research-backed, professionally designed infographics using GPT-4 web search and kie.ai's image AI - no design skills needed.**\n\n---\n\n### Who is this for\n- Marketers & content creators who need data-driven visuals fast\n- Educators and consultants producing professional infographics\n- Anyone who wants to turn a topic into a polished visual without Canva or Photoshop\n\n---\n\n### How it works\n1. User fills in a form (headline, topic, style, layout, colors, resolution, etc.)\n2. An AI Agent (GPT-4 with web search) researches the topic and writes an optimized image generation prompt\n3. The prompt is sent to **kie.ai** (nano-banana-pro model) to generate the infographic\n4. The workflow polls for completion every 15 seconds (up to 20 retries / ~5 min)\n5. On success: the image is downloaded and emailed as an attachment\n6. On failure or timeout: a detailed error email is sent instead\n\n---\n\n### Setup\n1. **OpenAI** - Add your OpenAI API key to the `Researcher` node credential\n2. **kie.ai** - Add your kie.ai Bearer token to a `Header Auth` credential and connect it to `Generate Infographic` and `Check Job Status`\n3. **Gmail** - Connect your Gmail account to `Email Image to User` and `Send Error Email`\n4. Update the recipient (To) email address in both Gmail nodes\n5. Activate the workflow and open the form URL"
      },
      "typeVersion": 1
    },
    {
      "id": "b941f1b4-80d2-41d1-87c5-9adfc0e4a086",
      "name": "Section: User Input",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -224
      ],
      "parameters": {
        "color": 5,
        "height": 340,
        "content": "## \u2460 User Input"
      },
      "typeVersion": 1
    },
    {
      "id": "271fed77-dd09-4619-a75f-397241144bbb",
      "name": "Section: AI Prompt Engineering",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        -336
      ],
      "parameters": {
        "color": 5,
        "width": 280,
        "height": 588,
        "content": "## \u2461 AI Prompt Engineering\nGPT-4 with web search researches your topic and writes an optimized image generation prompt."
      },
      "typeVersion": 1
    },
    {
      "id": "4f25c833-247e-4a8e-be96-ec1607e83143",
      "name": "Section: Generate and Poll",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        -496
      ],
      "parameters": {
        "color": 5,
        "width": 870,
        "height": 586,
        "content": "## \u2462 Generate & Poll\nSubmits the job to kie.ai, then polls every 15s until complete, failed, or timed out (20 retries max)."
      },
      "typeVersion": 1
    },
    {
      "id": "240f1056-2d02-4469-9d38-afb3b2b5d065",
      "name": "Section: Success Path",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        -848
      ],
      "parameters": {
        "color": 2,
        "width": 560,
        "height": 290,
        "content": "## \u2463 Success\nDownloads the generated image and emails it as an attachment."
      },
      "typeVersion": 1
    },
    {
      "id": "d4e53401-8f75-4203-ae82-9ecaeb32c536",
      "name": "Section: Error Handling",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        -496
      ],
      "parameters": {
        "width": 1080,
        "height": 576,
        "content": "## \u2464 Error Handling\nHandles 3 failure scenarios: generation failure, polling timeout (>20 retries), and API errors. Sends a descriptive error email for each case."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "Nin8EYMkR9vuyKPp",
    "timeSavedMode": "fixed",
    "availableInMCP": false,
    "executionOrder": "v1",
    "timeSavedPerExecution": 300
  },
  "versionId": "d37a673b-86d1-4548-88e4-82dd45ede353",
  "connections": {
    "Researcher": {
      "ai_languageModel": [
        [
          {
            "node": "Build Image Prompt",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Check Timeout": {
      "main": [
        [
          {
            "node": "Prepare Error Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Polling Delay (15s)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Increment Retry": {
      "main": [
        [
          {
            "node": "Check Timeout",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Job Status": {
      "main": [
        [
          {
            "node": "Route by Job Status",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Error Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Image Prompt": {
      "main": [
        [
          {
            "node": "Generate Infographic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Build Image Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Polling Delay (15s)": {
      "main": [
        [
          {
            "node": "Check Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Error Email": {
      "main": [
        [
          {
            "node": "Send Error Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Job Status": {
      "main": [
        [
          {
            "node": "Download Generated Image",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Increment Retry",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Error Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Infographic": {
      "main": [
        [
          {
            "node": "Polling Delay (15s)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Error Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Generated Image": {
      "main": [
        [
          {
            "node": "Email Image to User",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Error Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

A web form collects your infographic parameters: headline, topic, art style, layout, color palette, aspect ratio, resolution, etc. An AI Agent (GPT-4 with live web search) researches your topic and writes an optimized prompt for the image generator The prompt is submitted to…

Source: https://n8n.io/workflows/14000/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow automates end-to-end contract and invoice management using AI intelligence. It processes proposals through intelligent contract generation, approval workflows, and automated invoicing. O

Form Trigger, Data Table, Agent +4
AI & RAG

Automates SaaS operations by consolidating user management, AI-driven support triage, analytics, and billing into one unified system. User signups flow through registration, support requests route via

Form Trigger, Data Table, Agent +7
AI & RAG

The workflow runs every hour with a randomized delay of 5–20 minutes to help distribute load. It records the exact date and time a lead is emailed so you can track outreach. Follow-ups are automatical

Google Sheets, Agent, OpenAI Chat +5
AI & RAG

This n8n workflow automates turning short user ideas into production-ready real-estate marketing assets (photorealistic images and optional 360° videos). A form submission seeds a prompt board → an LL

Form Trigger, Google Sheets, Agent +6
AI & RAG

This workflow automatically analyzes a website for UX and SEO quality. It uses Airtop for realistic web scraping, OpenAI for structured evaluation of metadata (title, description, and overall SEO sign

Airtop Tool, Form Trigger, OpenAI Chat +6