{
  "meta": {
    "versionId": "1.0.0",
    "createdAt": "2025-09-29T07:07:45.992133",
    "updatedAt": "2025-09-29T07:07:45.992149",
    "owner": "n8n-user",
    "license": "MIT",
    "category": "automation",
    "status": "active",
    "priority": "high",
    "environment": "production"
  },
  "nodes": [
    {
      "id": "trigger-7ec5c77e",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        100,
        100
      ],
      "parameters": {}
    },
    {
      "id": "6fb16611-0ee4-4c89-91ef-dc8a1e39406d",
      "name": "Upload Img to ImgBB for URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        120,
        6220
      ],
      "parameters": {
        "url": "{{ $env.API_BASE_URL }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "authentication": "{{ $credentials.genericCredentialType }}",
        "bodyParameters": {
          "parameters": [
            {
              "name": "image",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpQueryAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-type",
              "value": "multipart/form-data"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2,
      "notes": "This httpRequest node performs automated tasks as part of the workflow."
    },
    {
      "id": "e94ebd4f-4459-4705-8fc5-f7ebbc996add",
      "name": "ReSmush.it Image Optimisation",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        320,
        6220
      ],
      "parameters": {
        "url": "{{ $env.BASE_URL }}",
        "options": {}
      },
      "notesInFlow": true,
      "typeVersion": 4.2,
      "notes": "This httpRequest node performs automated tasks as part of the workflow."
    },
    {
      "id": "e337dcf1-27d3-4f75-850b-f2c5bff48ed6",
      "name": "Store Optimised Image ImgBB",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        540,
        6220
      ],
      "parameters": {
        "url": "{{ $env.API_BASE_URL }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "authentication": "{{ $credentials.genericCredentialType }}",
        "bodyParameters": {
          "parameters": [
            {
              "name": "image",
              "value": "={{ $json.dest }}"
            }
          ]
        },
        "genericAuthType": "httpQueryAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-type",
              "value": "application/x-www-form-urlencoded"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2,
      "notes": "This httpRequest node performs automated tasks as part of the workflow."
    },
    {
      "id": "e51c199e-e435-4bbd-a977-dc96200729cc",
      "name": "Sticky Note50",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -343.4815115846739,
        6060
      ],
      "parameters": {
        "color": 7,
        "width": 415.48118604428106,
        "height": 320.9196076003899,
        "content": "**Image Prompt**\n\nPrompt takes input of image description from the `set image description` node and generates using OpenAI"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "95a551f0-c164-4ac7-94e2-5aac4c5fc548",
      "name": "Sticky Note51",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        6060
      ],
      "parameters": {
        "color": 7,
        "width": 619.0692735087202,
        "height": 320.9196076003899,
        "content": "**Upload image to ImgBB, Optimise using ReSmush.it and store as URL**\n"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "93737b01-cd2f-4f49-b611-f47782a9eed8",
      "name": "Sticky Note52",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1160,
        6020
      ],
      "parameters": {
        "color": 4,
        "width": 773.6179704580734,
        "height": 875.8289847608302,
        "content": "## Convert Image Files (JPG, PNG, JPEG) to URLs and Reduce File Size\n\n## Use Case\nTransform and optimize images for web use:\n- You need to host local images online\n- You want to reduce image file sizes automatically\n- You need image URLs for web content\n- You want to generate and optimize AI-created images\n\n## What this Workflow Does\nThe workflow processes images through two services:\n- Uploads images to ImgBB for hosting and URL generation (free but need API key)\n- Optimizes images using ReSmush.it to reduce file size (free)\n- Optional: Creates images using OpenAI's image generation\n- Returns optimized image URLs ready for use\n\n## Setup\n1. Create an [ImgBB account]({{ $env.API_BASE_URL }} and get your API key\n2. Add your ImgBB API key to the HTTP Request node (key parameter)\n3. Optional: Configure OpenAI credentials for image generation\n4. Connect your image input source\n\n## How to Adjust it to Your Needs\n- Skip OpenAI nodes if using your own image files\n- Adjust image optimization parameters\n- Customize image hosting settings\n- Modify output format for your needs\n\n\nMade by Simon @ [automake.io]({{ $env.WEBHOOK_URL }}"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "8f4bfed3-820c-495d-9d5f-0dbdae7beb1a",
      "name": "Sticky Note53",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        6400
      ],
      "parameters": {
        "color": 3,
        "width": 620.0617659833041,
        "height": 218.46830740679286,
        "content": "**REQUIRED**\n\n**ImgBB - image hosting i.e. gives you an img url**\n1. [Create an ImgBB account]({{ $env.API_BASE_URL }} (free) and generate an api key\n2. Input the API key as Query Auth - `name`=key, `value`=your-own-api-key\n\n\n**ReSmush.it - image optimisation i.e. shrinks the file size of the image**\n1. No account or auth needed\n2. Url will pass from previous node"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "085ef8b4-4762-4675-a1fd-6771f09628fb",
      "name": "Sticky Note54",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -340,
        6400
      ],
      "parameters": {
        "color": 2,
        "width": 409.8920345317687,
        "height": 133.75846341937205,
        "content": "**OPTIONAL**\n`Set image description` to create an Image using OpenAI and your own prompt (requires: API credentials) or alternatively replace these nodes with your own image file"
      },
      "typeVersion": 1,
      "notes": "This stickyNote node performs automated tasks as part of the workflow."
    },
    {
      "id": "ee6c01dd-94fd-4ebf-baf6-03360e01ffc0",
      "name": "Set image description",
      "type": "n8n-nodes-base.set",
      "position": [
        -300,
        6220
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9026b5d5-97ed-484e-a168-ac1c57a60fa1",
              "name": "description",
              "type": "string",
              "value": "=Balancing Autonomy and Human Interaction in AI Applications, featuring a person"
            }
          ]
        }
      },
      "typeVersion": 3.4,
      "notes": "This set node performs automated tasks as part of the workflow."
    },
    {
      "id": "7bb7374c-a11e-4ac8-8ef7-ba506fa8619d",
      "name": "Generate Image",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -100,
        6220
      ],
      "parameters": {
        "prompt": "=Create a minimalist professional illustration of {{ $json.description }} with these specifications:\n\n1. Visual Style:\n- Modern tech-focused minimalist design\n- Clean, uncluttered composition\n- Professional business aesthetic\n- Soft shadows and subtle depth\n- 2-3 primary colors maximum plus white space\n\n2. Core Elements:\n- Main icon/symbol representing {{ $json.description }} as focal point\n- Simple supporting elements representing key sections\n- Subtle connecting elements showing relationship\n- Plenty of white space (40% minimum)\n- No text overlay\n\n3. Technical Requirements:\n- High contrast for clarity\n- Crisp edges and smooth lines\n- Professional lighting from upper left\n- Matte finish\n- Square aspect ratio (1:1)",
        "options": {},
        "resource": "image"
      },
      "typeVersion": 1.4,
      "notes": "This openAi node performs automated tasks as part of the workflow."
    },
    {
      "id": "87f80a8d-932a-46bc-b003-877883ba73c8",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        760,
        6220
      ],
      "parameters": {},
      "typeVersion": 1,
      "notes": "This noOp node performs automated tasks as part of the workflow."
    }
  ],
  "pinData": {},
  "connections": {
    "6fb16611-0ee4-4c89-91ef-dc8a1e39406d": {
      "main": [
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-d1c8acb3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-901e12c7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-833d8f1a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-3b7949f6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-82fac9b7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-ae8e0bca",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-73d8d080",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-6fb16611-0ee4-4c89-91ef-dc8a1e39406d-40ba795b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e94ebd4f-4459-4705-8fc5-f7ebbc996add": {
      "main": [
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-01d564a8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-4de18ac8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-5646749a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-a678ea27",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-0290b945",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-2f072800",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-886add03",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e94ebd4f-4459-4705-8fc5-f7ebbc996add-c50f4491",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e337dcf1-27d3-4f75-850b-f2c5bff48ed6": {
      "main": [
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-6a4b7e5d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-dafa38b7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-e3138f34",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-37449944",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-11b51bfa",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-a6aac62a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-8d65f442",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "error-handler-e337dcf1-27d3-4f75-850b-f2c5bff48ed6-565a7a90",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7bb7374c-a11e-4ac8-8ef7-ba506fa8619d": {
      "main": [
        [
          {
            "node": "error-handler-7bb7374c-a11e-4ac8-8ef7-ba506fa8619d-91a9c85d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "name": "Httprequest Workflow",
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": null,
    "timezone": "UTC",
    "executionTimeout": 3600,
    "maxExecutions": 1000,
    "retryOnFail": true,
    "retryCount": 3,
    "retryDelay": 1000
  },
  "description": "Automated workflow: Httprequest Workflow. This workflow integrates 6 different services: stickyNote, httpRequest, set, stopAndError, noOp. It contains 18 nodes and follows best practices for error handling and security.",
  "tags": [
    "automation",
    "n8n",
    "production-ready",
    "excellent",
    "optimized"
  ],
  "notes": "Excellent quality workflow: Httprequest Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."
}