n8n Image Automation: 10 Workflows You Can Copy Today

n8n Image Automation: 10 Workflows You Can Copy Today

You already know n8n can automate just about anything. But what about images? Resizing, branding, generating from scratch. Most people still do that manually.

Not anymore. I've put together 10 n8n workflows that generate images automatically using the Imejis.io API. Each one solves a real problem. Each one is something you can import into n8n and run today.

If you haven't read the basics yet, start with our n8n image automation guide. It covers setup and your first workflow. This post goes further: 10 production-ready workflows you can copy, paste, and customize.

Before you startBefore You Start

You'll need three things:

  1. n8n running, self-hosted or cloud, doesn't matter. If you don't have it yet, docker run -it --rm -p 5678:5678 n8nio/n8n gets you started in 30 seconds.
  2. An Imejis.io API key: sign up at imejis.io and grab your key from the dashboard. The free tier gives you 100 images per month.
  3. At least one template: design your template in the Imejis editor, note the design ID from the URL. You'll plug it into the workflows below.

Every workflow below uses the same HTTP Request node pattern to call the Imejis API. The only things that change are the trigger, the dynamic data, and what happens after the image comes back.

Let's go.

Workflow 1 social media posts from google sheetsWorkflow 1: Social Media Posts from Google Sheets

You keep a content calendar in Google Sheets. Each row has a quote, a date, and maybe a background color. This workflow watches for new rows and turns each one into a branded social image.

Trigger: New row added to Google Sheet

Steps: Google Sheets Trigger → Set Node (map columns to variables) → HTTP Request (Imejis API) → Google Drive (save image)

Result: A finished social media image saved to your Google Drive folder, ready to post.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "quote": "={{ $json.quote }}",
      "author": "={{ $json.author }}"
    },
    "background": {
      "color": "={{ $json.bg_color }}"
    }
  }
}

The ={{ $json.quote }} syntax pulls data from the previous node, in this case the Google Sheet columns. If you're running a full social media pipeline, our automate social media images guide covers the strategy side.

Workflow 2 welcome email imagesWorkflow 2: Welcome Email Images

New user signs up. They get a personalized welcome email with their name on a branded image. It feels personal. It takes zero manual effort.

Trigger: Webhook from your signup system (Stripe, Auth0, a custom form)

Steps: Webhook → HTTP Request (Imejis API with user's name) → Send Email Node (attach image)

Result: Every new user gets a personalized welcome image in their inbox within seconds of signing up.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "name": "={{ $json.body.user_name }}",
      "tagline": "Welcome to the team!"
    }
  }
}

The webhook receives the POST body from your signup system. Pull out the name, pass it to the API, and attach the returned image to the email. Three nodes, fully automatic.

Workflow 3 daily motivational quotesWorkflow 3: Daily Motivational Quotes

A cron job that runs every morning. It grabs a random quote from a free API, generates a branded image, and drops it in your Slack channel or Discord server.

Trigger: Cron schedule (daily at 8 AM)

Steps: Cron Trigger → HTTP Request (fetch quote from API) → HTTP Request (Imejis API) → Slack/Discord Node (post image)

Result: Your team channel gets a fresh branded quote image every morning. Zero effort after setup.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "quote": "={{ $json.content }}",
      "author": "={{ $json.author }}"
    }
  }
}

I've been running a version of this for six months. The team actually looks forward to it. You can swap the quote API for any data source: RSS feed, a Google Sheet of curated quotes, or even an AI-generated prompt.

Workflow 4 e commerce sale bannersWorkflow 4: E-commerce Sale Banners

Your marketing team updates a sale in Airtable. This workflow picks up the change, generates a sale banner with the discount percentage and product name, and uploads it straight to S3 for your website to pull.

Trigger: Airtable record update (status changed to "Active")

Steps: Airtable Trigger → Set Node (format price/discount) → HTTP Request (Imejis API) → AWS S3 (upload banner)

Result: Sale banners appear on your site automatically when someone activates a promotion in Airtable.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "product_name": "={{ $json.fields.Product }}",
      "discount": "={{ $json.fields.Discount }}% OFF",
      "valid_until": "={{ $json.fields.End_Date }}"
    }
  }
}

This removes the back-and-forth between marketing and design. Marketing controls the promotions. The images handle themselves.

Workflow 5 certificate generationWorkflow 5: Certificate Generation

Someone completes your course, workshop, or training. A form submission triggers a certificate with their name, the date, and the program title. It lands in their email automatically.

Trigger: Form submission (n8n Form Trigger or external webhook)

Steps: Form Trigger → HTTP Request (Imejis API with name/date/course) → Send Email Node (attach certificate PDF or image)

Result: Professional certificates delivered to recipients within seconds of form submission.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "recipient_name": "={{ $json.body.full_name }}",
      "course_title": "={{ $json.body.course }}",
      "completion_date": "={{ $json.body.date }}",
      "certificate_id": "={{ $json.body.cert_id }}"
    }
  }
}

We've written a full deep-dive on this use case: certificate generation API. That guide covers template design tips and handling edge cases like long names.

You publish a new blog post in your CMS. A webhook fires. This workflow grabs the title, generates a branded featured image, and pushes it back to the CMS as the post thumbnail.

Trigger: Webhook from CMS (WordPress, Ghost, Strapi, etc.)

Steps: Webhook → Set Node (extract title and category) → HTTP Request (Imejis API) → HTTP Request (update CMS post with image URL)

Result: Every blog post gets a consistent, on-brand featured image without anyone touching a design tool.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "title": "={{ $json.body.post_title }}",
      "category": "={{ $json.body.category }}"
    }
  }
}

This is one of my favorites. Blog thumbnails are repetitive work that nobody enjoys. Automate it once and forget about it. The Imejis API returns an image URL you can pass directly to your CMS's update endpoint.

Workflow 7 event badge generatorWorkflow 7: Event Badge Generator

You've got 200 attendees in a spreadsheet. This workflow reads every row, generates a name badge for each person, collects all the images, zips them, and emails the zip file to you.

Trigger: Manual trigger or spreadsheet upload

Steps: Spreadsheet Node (read all rows) → SplitInBatches → HTTP Request (Imejis API per attendee) → Merge → Compression Node (zip) → Send Email (attach zip)

Result: A zip file with 200 personalized name badges, delivered to your inbox. What used to take hours takes minutes.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "attendee_name": "={{ $json.Name }}",
      "company": "={{ $json.Company }}",
      "role": "={{ $json.Role }}"
    }
  }
}

Use the SplitInBatches node to avoid overloading the API. Set the batch size to 10 and you'll process the whole list quickly without hitting rate limits. For larger batches, check our guide on batch image generation from CSV.

Workflow 8 product image variantsWorkflow 8: Product Image Variants

One product, multiple sizes. Your database has product info. This workflow generates hero images, thumbnails, and social cards for each product, all from a single trigger.

Trigger: New product added to database (or manual trigger)

Steps: Database Trigger → SplitInBatches → HTTP Request (Imejis API, hero template) → HTTP Request (Imejis API, thumbnail template) → HTTP Request (Imejis API, social template) → S3 Upload (all three variants)

Result: Three image variants per product, automatically generated and stored. No designer bottleneck.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_HERO_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "product_name": "={{ $json.name }}",
      "price": "={{ $json.price }}",
      "tagline": "={{ $json.short_description }}"
    },
    "image": {
      "product_photo": "={{ $json.image_url }}"
    }
  }
}

The trick here is using different template IDs for each size. Design three templates in Imejis (hero (1200x628), thumbnail (400x400), and social (1080x1080)), then call each one with the same product data. The image field lets you pass a product photo URL that gets placed into the template.

Workflow 9 testimonial screenshotsWorkflow 9: Testimonial Screenshots

A new review comes in through your feedback tool. This workflow turns it into a branded testimonial image, perfect for sharing on social media or adding to your landing page.

Trigger: Webhook from review platform (Trustpilot, G2, or custom form)

Steps: Webhook → Set Node (clean up text, extract star rating) → HTTP Request (Imejis API) → Google Drive or S3 (save image)

Result: Every positive review becomes a share-ready testimonial graphic. Your social proof library grows on autopilot.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "review_text": "={{ $json.body.review }}",
      "reviewer_name": "={{ $json.body.name }}",
      "company": "={{ $json.body.company }}",
      "rating": "={{ $json.body.stars }} / 5"
    }
  }
}

Add a filter node after the webhook to only generate images for 4+ star reviews. No point in making graphics out of mediocre feedback. For more on this approach, see our guide on testimonial images.

Workflow 10 slack bot image generatorWorkflow 10: Slack Bot Image Generator

Someone types /generate-image Cool headline text in Slack. The workflow catches the slash command, generates an image with that text, and posts it back to the channel. Instant branded graphics for anyone on the team.

Trigger: Slack slash command (via n8n Webhook)

Steps: Webhook (receives Slack payload) → Set Node (parse command text) → HTTP Request (Imejis API) → Slack Node (post image to channel)

Result: Anyone on your team can generate branded images from Slack without opening a design tool or even leaving the conversation.

{
  "method": "POST",
  "url": "https://render.imejis.io/v1/YOUR_DESIGN_ID",
  "headers": {
    "dma-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "text": {
      "headline": "={{ $json.body.text }}"
    }
  }
}

This is the workflow that always impresses people in demos. Set up a Slack app with a slash command pointing to your n8n webhook URL. The text field in the Slack payload contains everything after the command name. Pass it straight to the API.

How to import these workflowsHow to Import These Workflows

Every workflow above follows the same import process:

  1. Copy the JSON: Select the workflow JSON and copy it to your clipboard.
  2. Open n8n: Go to your n8n instance (usually http://localhost:5678 for self-hosted).
  3. Create new workflow: Click the "+" button or go to Workflows → New.
  4. Import: Click the three dots menu in the top right, select "Import from JSON," and paste your copied JSON.
  5. Configure credentials: Double-click the HTTP Request node and replace YOUR_API_KEY with your actual Imejis API key. Replace YOUR_DESIGN_ID in the URL with your template's design ID.
  6. Activate: Toggle the workflow to active. It'll start listening for its trigger.

For workflows that use Google Sheets, Slack, Airtable, or S3, you'll also need to set up those credentials in n8n's credential manager. n8n handles OAuth flows for most services, so just follow the prompts.

What to build nextWhat to Build Next

These 10 workflows cover the most common use cases, but they're starting points. Mix and match triggers with different outputs. Add IF nodes to branch logic based on conditions. Chain multiple Imejis templates together for different outputs from the same data.

A few ideas to extend what you've got:

  • Add error handling: use the Error Trigger node to catch failures and send yourself a notification.
  • Log everything: add a Google Sheets node at the end of any workflow to track every image generated with timestamps and input data.
  • A/B test templates: use a Switch node to randomly pick between two template IDs and track which performs better.

If you're just getting started with image automation, grab your free API key at imejis.io and import your first workflow. You'll have it running in under five minutes.

Want more integration guides? Check out our n8n image automation basics or learn how to batch generate images from CSV files.

FaqFAQ

Do these workflows work with n8n cloudDo these workflows work with n8n Cloud?

Yes. Every workflow here runs on both self-hosted n8n and n8n Cloud. The HTTP Request node works identically on both. Cloud just saves you from managing the server.

How many images can n8n generate per minuteHow many images can n8n generate per minute?

With the Imejis.io API, each image takes about 1-2 seconds. n8n can run requests in parallel, so 10 concurrent requests generate roughly 300-600 images per minute.

Can i trigger these workflows from external eventsCan I trigger these workflows from external events?

Yes. Use the Webhook node as a trigger. Any system that can send an HTTP POST (your CRM, a form, a Slack bot) can kick off image generation.

Do i need coding knowledge to use theseDo I need coding knowledge to use these?

Minimal. You'll need to paste JSON into n8n's import dialog and update your API key and template ID. No JavaScript or programming required beyond that.

Whats the cheapest way to run n8nWhat's the cheapest way to run n8n?

Self-host on a $5/month VPS (DigitalOcean, Hetzner, or Railway). n8n is open source and free to run. Pair it with the Imejis.io free tier (100 images/month) for zero-cost automation.