Skip to main content

Generate newsletter images with Nano Banana & Post Human-Approved Tweets to X

Workflow preview

Workflow preview
100%
Generate newsletter images with Nano Banana & Post Human-Approved Tweets to X preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

What this is A ready to use n8n workflow that turns new Google Sheets rows (title + summary) into brand safe images using Nano Banana (via KIE.ai) , writes the image URL back to your sheet, generat...

Best for

  • Social Media automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.httprequest, @n8n/n8n-nodes-langchain.lmchatopenai, n8n-nodes-base.wait, n8n-nodes-base.if, n8n-nodes-base.stickynote, n8n-nodes-base.googlesheetstrigger, n8n-nodes-base.googlesheets, n8n-nodes-base.telegram

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by SuS.

Original n8n.io source

1.1 Workflow description

Title
Generate newsletter images with Nano Banana & Post Human-Approved Tweets to X
Workflow name
Generate newsletter images with Nano Banana & Post Human-Approved Tweets to X

What this is

A ready-to-use n8n workflow that turns new Google Sheets rows (title + summary) into brand-safe images using Nano Banana (via KIE.ai), writes the image URL back to your sheet, generates a tweet text, requests human approval in Telegram, and—on approval—posts to X (Twitter) automatically.

Why you need it

  • Save time: no more waiting for ad-hoc graphics—get on-brand visuals in seconds.
  • Stay consistent: one prompt style, predictable output, brand-safe negative prompts.
  • Ship daily: scale newsletter/blog distribution without ballooning costs or headcount.
  • Human in the loop: you keep creative control before anything goes live.

How it works (high level)

  1. New/updated row in Google Sheets (e.g., title, blogpost_summary, status=pending).
  2. Prompt builder creates a short, safe image prompt (CI friendly).
  3. Nano Banana (KIE.ai) generates the image (PNG) → URL saved back to the sheet.
  4. A tweet (<280 chars) is generated from the row.
  5. Telegram sends image + text for approval (Approve/Reject).
  6. On Approve, the image is uploaded and the tweet is posted to X → tweet_url + status=posted saved to the sheet.

Who it’s for

  • Content & marketing teams, solo creators, agencies, and founders running lean editorial calendars.

Extend it (ideas)

  • Multi-variant images (A/B) with auto-selection based on CTR.
  • Brand controls: fixed color palettes, fonts, or stylistic anchors in prompts.
  • Auto-publish to LinkedIn/Instagram (via Buffer/Hootsuite or native APIs).
  • Asset storage: push originals to S3/Drive and auto-rename by slug/date.
  • Analytics: log posts + clicks to a database and feed learnings back into prompts.

Pricing & Advantage

  • Nano Banana (via KIE.ai) is typically ~$0.02–$0.04 per image (plan-dependent).
  • Posting to X has no per-post cost (API plan limits may apply).
  • Why KIE.ai vs “classic” Google API? Lower practical unit costs for this image-gen use case, simpler integration (same vendor for image + video), and task/status flows that fit n8n polling perfectly.
    > Always check your KIE.ai dashboard for current pricing/limits.

Quick setup (Step-by-Step)

  1. Accounts/credentials: create a KIE.ai account & API key; set up Google Sheets access; create a Telegram bot with @BotFather (copy token & get Chat ID); enable X (Twitter) API (OAuth).
  2. Import the n8n template and connect credentials (KIE.ai header: Authorization: Bearer {{ $env.KIE_API_KEY }}).
  3. Point the Google Sheets Trigger at your sheet/tab; use status=pending as the starting condition.
  4. Verify the Prompt Generator (short, brand-safe prompt + negative prompt).
  5. Test Image Gen → ensure image_url is written back to the sheet.
  6. Test Telegram approval (image + tweet text).
  7. On approve, confirm the tweet posts and tweet_url + status update in the sheet.

Quick usage (Step-by-Step)

  1. Add a row in your sheet with title, blogpost_summary, (status=pending).
  2. Wait for the bot: you’ll get image + tweet text in Telegram.
  3. Approve to post to X, or Reject/Regenerate to try a new style.
  4. Find tweet_url and status updated in your sheet.

Questions? Email: [email protected]

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Image Gen (Nano Banana)

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 2 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 3 - Wait1

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 4 - Get Image

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 5 - Image created

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 6 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Google Sheets Trigger

Type / Role
n8n-nodes-base.googleSheetsTrigger - googleSheetsTrigger
Config choices
Version 1

Block 10 - post media

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 11 - Add Image URL

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 12 - OpenAI Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 13 - Send Tweet text for approval

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 14 - Send Tweet image for approval

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 15 - Approved

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 16 - Tweet not approved

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 17 - Download Image

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 18 - Downlaod Image again

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 19 - Create Tweet

Type / Role
n8n-nodes-base.twitter - twitter
Config choices
Version 2

Block 20 - Tweet Generator

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2.2

Block 21 - Prompt Generator

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2.2

Block 22 - Tweet posted

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 23 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 25 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate newsletter images with Nano Banana & Post Human-Approved Tweets to X
Complexity advanced
Nodes 25
Categories Social Media, Multimodal AI
Author SuS
Published 16 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8655/8655.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate newsletter images with Nano Banana & Post Human-Approved Tweets to X do?

What this is A ready to use n8n workflow that turns new Google Sheets rows (title + summary) into brand safe images using Nano Banana (via KIE.ai) , writes the image URL back to your sheet, generat...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Social Media, Multimodal AI use case.