{
  "id": "8EZdduCs3OULUYrh",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "memecoin image generator",
  "tags": [],
  "nodes": [
    {
      "id": "fa67edf0-7ae8-458e-9503-83def964e3f5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2384,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 480,
        "height": 736,
        "content": "# Define memecoin\nPrompt\n```\nmemecoin_name : popcat\nmascot_description : cat with open mouth\nmascot_image : https://i.pinimg.com/736x/9d/05/6b/9d056b5b97c0513a4fc9d9cd93304a05.jpg\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAPI docs https://ai.google.dev/gemini-api/docs/image-generation#gemini-image-editing \nGet API key https://aistudio.google.com/api-keys\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8028d8fd-e5ac-4700-8ae0-31df4eeb64fd",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2880,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 512,
        "height": 736,
        "content": "# Get source memecoin image\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n![mascot_image](https://articles.emp0.com/wp-content/uploads/2025/10/popcat-original.jpg)"
      },
      "typeVersion": 1
    },
    {
      "id": "8838a52e-a2bc-479b-a4cd-7e3951f193e2",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3312,
        144
      ],
      "parameters": {
        "color": 5,
        "width": 528,
        "height": 80,
        "content": "# *MemeCoin Art Generator \ud83c\udf4c*\n"
      },
      "typeVersion": 1
    },
    {
      "id": "451e2dfa-9cfd-47a3-8819-2d2b2367447d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3056,
        144
      ],
      "parameters": {
        "color": 4,
        "width": 726,
        "height": 80,
        "content": "# Emp 0 \ud83e\udd91\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0fba0726-a0f9-4cb3-a6e4-9c5fdaf30598",
      "name": "Create Tweet",
      "type": "n8n-nodes-base.twitter",
      "position": [
        4208,
        528
      ],
      "parameters": {
        "text": "={{ $('AI Agent').item.json.output.tweet }}",
        "additionalFields": {
          "attachments": "={{ $json.media_id_string }}"
        }
      },
      "credentials": {
        "twitterOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "10afe998-8120-4c6f-a563-af6e7c66818f",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        2176,
        528
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7863a52e-db25-4f39-bc85-a47c2cf0a956",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2608,
        528
      ],
      "parameters": {
        "text": "=You are a twitter generating agent. Your job is to 1. Generate a 100 character tweet in gen z slang indicating this memecoin {{ $('Define Memecoin').item.json.memecoin_name }} will go up. 2. Generate an image generation prompt for my mascot {{ $('Define Memecoin').item.json.mascot_description }} based on current trending topics today.",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "0c14f5a8-038b-4b60-a1aa-263d91c5d811",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2736,
        720
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"tweet\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\"imagePrompt\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t}\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "d57eb02a-8ac2-49b8-8b0f-a7242b488b0d",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3408,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 512,
        "height": 736,
        "content": "# Generate Image using Nano Banana\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n![mascot_image](https://articles.emp0.com/wp-content/uploads/2025/10/popcat-edit.png)"
      },
      "typeVersion": 1
    },
    {
      "id": "0789f15f-2df5-41bb-8d26-e9180330f156",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3952,
        304
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 736,
        "content": "# Upload to Twitter\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n![mascot_image](https://articles.emp0.com/wp-content/uploads/2025/10/popcat-edit-twitter-1.png)"
      },
      "typeVersion": 1
    },
    {
      "id": "47967fd9-8e03-443c-803d-a7a34b89bdae",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        2480,
        720
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "58ec511f-6831-4d77-bca9-e5ccd3460de2",
      "name": "Get source image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2976,
        528
      ],
      "parameters": {
        "url": "={{ $('Define Memecoin').item.json.mascot_image }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "ad31059f-5f0c-4699-9598-366e6ef6a426",
      "name": "Convert Source image to base64",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        3184,
        528
      ],
      "parameters": {
        "options": {},
        "operation": "binaryToPropery",
        "destinationKey": "Image"
      },
      "typeVersion": 1
    },
    {
      "id": "2477d8d2-f35b-4863-9abb-0e11ea90e557",
      "name": "Generate image using NanoBanana",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3504,
        528
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"contents\": [{\n    \"parts\": [\n      {\"text\": \"{{ $('AI Agent').item.json.output.imagePrompt }}\"},\n{\n              \"inline_data\": {\n              \"mime_type\":\"image/jpeg\",\n                \"data\": \"{{ $json.Image }}\"\n              }\n            }\n    ]\n  }],\n  \"generationConfig\": {\n    \"imageConfig\": {\n      \"aspectRatio\": \"16:9\"\n    }\n  }\n} ",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googlePalmApi"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "00be3e5d-4797-49d5-a964-4aa58b709fd6",
      "name": "Convert Base64 to Png",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        3728,
        528
      ],
      "parameters": {
        "options": {},
        "operation": "toBinary",
        "sourceProperty": "={{ $if($json.candidates[0].content.parts[0].inlineData, 'candidates[0].content.parts[0].inlineData.data', 'candidates[0].content.parts[1].inlineData.data') }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "38683108-7f09-48a6-952c-0d3794b6a3f6",
      "name": "Upload to Twitter",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        4016,
        528
      ],
      "parameters": {
        "url": "https://upload.twitter.com/1.1/media/upload.json?media_category=TWEET_IMAGE",
        "method": "POST",
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        },
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "media",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "nodeCredentialType": "twitterOAuth1Api"
      },
      "credentials": {
        "twitterOAuth1Api": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 1000
    },
    {
      "id": "59993e4f-7d1f-4d6a-a615-3f4b04466cfb",
      "name": "Define Memecoin",
      "type": "n8n-nodes-base.set",
      "position": [
        2432,
        528
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0f3ffc62-d157-40cd-8bf0-d72a67798802",
              "name": "memecoin_name",
              "type": "string",
              "value": "popcat"
            },
            {
              "id": "ba606dc8-5445-495c-a528-b47b438910cf",
              "name": "mascot_description",
              "type": "string",
              "value": "cat with open mouth"
            },
            {
              "id": "9a3660e9-e98f-47bd-9e61-b465bb40e4f5",
              "name": "mascot_image",
              "type": "string",
              "value": "https://i.pinimg.com/736x/9d/05/6b/9d056b5b97c0513a4fc9d9cd93304a05.jpg"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0e52d371-ca37-417d-b158-78fcb8e24442",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Get source image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Define Memecoin": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get source image": {
      "main": [
        [
          {
            "node": "Convert Source image to base64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Define Memecoin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Twitter": {
      "main": [
        [
          {
            "node": "Create Tweet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Base64 to Png": {
      "main": [
        [
          {
            "node": "Upload to Twitter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Convert Source image to base64": {
      "main": [
        [
          {
            "node": "Generate image using NanoBanana",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate image using NanoBanana": {
      "main": [
        [
          {
            "node": "Convert Base64 to Png",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}