This workflow corresponds to n8n.io template #9470 — we link there as the canonical source.
This workflow follows the Agent → HTTP Request 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 →
{
"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"
},
"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"
},
"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"
},
"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
}
]
]
}
}
}
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.
googlePalmApitwitterOAuth1ApitwitterOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
> Watch the Youtube Tutorial video [](https://www.youtube.com/watch?v=q-R8lZZiFtQ)
Source: https://n8n.io/workflows/9470/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Transform your festival marketing with this comprehensive automation workflow that creates and posts culturally authentic social media content across multiple platforms daily.
LinkedIn_Job_Hunt_and_Cover_Letter. Uses outputParserStructured, outputParserAutofixing, googleDrive, agent. Scheduled trigger; 85 nodes.
Automatically scan major financial newswires for biotech catalyst events, score them with AI sentiment analysis, and surface ranked trade candidates — all without manual monitoring.
Author: Nguyen Thieu Toan Category: Community & Knowledge Automation Tags: Telegram, Reddit, n8n Forum, AI Summarization, Gemini, Groq
This workflow is for beauty salons who want consistent, high‑quality social media content without writing every post manually. It also suits agencies and automation builders who manage multiple beauty