{
  "name": "Puzzle me this #29 — Image Captioning & Center Cropping Pipeline",
  "nodes": [
    {
      "parameters": {},
      "id": "29000000-0000-4000-8000-000000000001",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -160,
        0
      ],
      "notes": "Initiates execution on-demand from the n8n canvas. Can be substituted with a webhook, Airtable trigger, or Telegram bot trigger."
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://image-service-api.run.app/crop-caption",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-API-Key",
              "value": "YOUR_SECRET_API_KEY"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"image_url\": \"https://i.postimg.cc/xyz/andrew-tate-desert.jpg\",\n  \"caption\": \"Do The Courses\",\n  \"aspect_ratio\": \"1:1\",\n  \"target_width\": 800,\n  \"target_height\": 800,\n  \"response_mode\": \"binary\"\n}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "dataPropertyName": "data"
            }
          }
        }
      },
      "id": "29000000-0000-4000-8000-000000000002",
      "name": "Edit-Image",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        160,
        0
      ],
      "notes": "Calls the containerized FastAPI microservice on Google Cloud Run. Transmits the public image URL, 3-word caption, and header API key. Returns binary cropped image ready for syndication."
    }
  ],
  "connections": {
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Edit-Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
