{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "6dca36b9-725d-4a55-922d-dba546f6770c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -660
      ],
      "parameters": {
        "color": 2,
        "width": 400,
        "height": 560,
        "content": "\ud83c\udf1f Automated AI Image Creation with Gemini and Facebook Page Integration\n\nThis workflow automatically generates random AI art prompts (cinematic, steampunk, surreal, or retro-futuristic) using Google Gemini via LangChain. It then creates an image from that prompt using Pollinations AI and posts it to your Facebook Page with hashtags.\n\nTrigger times: 7 AM, 11 AM, 5 PM (every day)\n\nWhat you need:\n\n  - Google Gemini API Key\n  - Facebook Page token with pages_manage_posts permission\n  - No API key needed for Pollinations\n\n\n\u2699\ufe0f Includes:\n\n   - Prompt generation\n   - Image creation\n   - Facebook auto-post\n\n\n\ud83d\udee0 Customize prompt, model, or post styling as needed."
      },
      "typeVersion": 1
    },
    {
      "id": "6bed68e2-f333-4aa1-9002-5af796b829b1",
      "name": "Set The Schedule",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -180,
        -40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 7
            },
            {
              "triggerAtHour": 11
            },
            {
              "triggerAtHour": 17
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b5d17183-278b-48a9-a5c8-44dcb9a1c651",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        240,
        160
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-flash-lite-preview-06-17"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c56e9f2d-997c-4eb8-be69-ed46d178c5f5",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        300,
        -660
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 400,
        "content": "\ud83e\uddf1 Recommended Node Renaming (for clarity)\n\nOld Name\n  - Set The Schedule\n  - Check If Schedule Aktif\n  - Basic LLM Chain\n  - Set The Generator Image\n  - Generate Image\n  - Post to acebook\n\n\nSuggested Name\n  - Schedule Trigger (3x daily)\n  - Log Schedule Time\n  - Generate Image Prompt (Gemini)\n  - Create Pollinations URL\n  - Fetch AI Image\n  - Post Image to Facebook"
      },
      "typeVersion": 1
    },
    {
      "id": "d37d6188-6b56-464d-9139-46e6c3b1e317",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        -660
      ],
      "parameters": {
        "color": 4,
        "width": 400,
        "height": 260,
        "content": "\ud83d\udee0 Tips for Publishing\n\n  - \ud83d\udca1 Add a workflow image at the top (especially if you plan to submit this to the n8n templates directory).\n\n  - \ud83c\udfa5 If possible, record a Loom video for visual walkthrough (not required, but recommended).\n\n  - \ud83d\udeab Remove any sensitive info like your real Facebook Page ID or actual API keys from exported .json."
      },
      "typeVersion": 1
    },
    {
      "id": "23209c8c-ed9d-492d-9b2b-50b79b814e07",
      "name": "Log Schedule Time",
      "type": "n8n-nodes-base.code",
      "position": [
        40,
        -40
      ],
      "parameters": {
        "jsCode": "return [\n  {\n    json: {\n      message: \"Schedule Trigger aktif.\",\n      triggeredAt: new Date().toISOString(),\n      time: $json.time || \"Not Found\"\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "81b1a688-f7ec-4f7d-8ab3-106eb7a45df4",
      "name": "Generate Image Prompt (Gemini)",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        240,
        -40
      ],
      "parameters": {
        "text": "=Create 1 random AI image prompt in the style of [cinematic / surreal / steampunk / retro futuristic]. The prompt should be unique, fantastic, and full of imagination. the prompt should be in good and correct English.\n\nOutput Without any additional explanation",
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "dc076be6-7f76-4904-99ce-67d44009eba4",
      "name": "Create Pollinations URL",
      "type": "n8n-nodes-base.code",
      "position": [
        600,
        -40
      ],
      "parameters": {
        "jsCode": "const width = 1024;\nconst height = 1024;\nconst randomSeed = Math.floor(Math.random() * 100000);\n\nconst finalPrompt = $json.text;\nconst imageUrl = `https://image.pollinations.ai/prompt/${encodeURIComponent(finalPrompt)}.jpg?width=${width}&height=${height}&seed=${randomSeed}&model=flux&nologo=true`;\n\nreturn [\n  {\n    json: {\n      text: finalPrompt,\n      imageUrl\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "10ab3f57-9088-4b47-86a9-88681174d392",
      "name": "Fetch AI Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        -40
      ],
      "parameters": {
        "url": "={{ $json.imageUrl }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "e57ca15b-5d39-4a03-8ba7-5830ebdf773e",
      "name": "Post Image to Facebook",
      "type": "n8n-nodes-base.facebookGraphApi",
      "position": [
        1040,
        -40
      ],
      "parameters": {
        "edge": "photos",
        "node": "me",
        "options": {
          "queryParameters": {
            "parameter": [
              {
                "name": "prompt",
                "value": "={{ $json.text }}"
              },
              {
                "name": "caption",
                "value": "={{ $json.text }}\n\n\n#FreeImage #AIGeneratedArt #CreativeFreedom #FreeToUse #freeimagegenerator"
              }
            ]
          }
        },
        "sendBinaryData": true,
        "graphApiVersion": "v22.0",
        "httpRequestMethod": "POST",
        "binaryPropertyName": "data"
      },
      "credentials": {
        "facebookGraphApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Fetch AI Image": {
      "main": [
        [
          {
            "node": "Post Image to Facebook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set The Schedule": {
      "main": [
        [
          {
            "node": "Log Schedule Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Schedule Time": {
      "main": [
        [
          {
            "node": "Generate Image Prompt (Gemini)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Pollinations URL": {
      "main": [
        [
          {
            "node": "Fetch AI Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Image Prompt (Gemini)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Generate Image Prompt (Gemini)": {
      "main": [
        [
          {
            "node": "Create Pollinations URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}