Auto-Generate Hero Images for Substack (2026)

Auto-Generate Hero Images for Substack (2026)

Substack has no public write API, so fully automating featured images end-to-end is not possible in 2026. But you can eliminate the slowest part of the job by generating a hero image from your draft post URL in about 30 seconds. The creative work is the bottleneck, not the upload, and that’s the part worth fixing.

Substack writers lose more time to featured images than almost any other part of publishing. One newsletter creator documented eight prompt iterations for a single cover image, calling it “an extended ordeal.” The ordeal isn’t the upload, which takes ten seconds, but the 5 to 30 minutes of prompt-writing, stock-photo scrolling, or Canva-fiddling that comes before it.

Can You Actually Automate Hero Images on Substack?

You can automate the generation step but not the upload step. Substack does not publish a write API, which means there is no supported way for a script or integration to upload a featured image to a draft post. Any workaround that does exist relies on reverse-engineered private endpoints and breaks whenever Substack ships an update.

The practical ceiling in 2026 is semi-automation: you automate the creative work, which is where the time actually goes, and keep the 10-second manual upload. For a writer publishing weekly, that’s the difference between 20 minutes of image work per post and 60 seconds. This is the same pattern we recommend in our broader guide to automating blog hero images, just applied to Substack’s specific constraints.

Substack confirms on its own help pages that featured images and social preview images are managed inside the post editor, with no automation endpoints documented. Community tooling like n8n’s Substack nodes explicitly warns that its integration uses private endpoints extracted from a logged-in browser session, which is fragile by design. There’s no Zapier “when new draft is created, upload image” flow, no webhook for publishing, no scheduled image injection. What you can do is pre-generate the image from your draft URL, download it, and paste it into Settings. That last step is ten seconds, and everything before it is the part worth automating.

Why Substack Writers Struggle with Featured Images

The core issue is that most writers aren’t designers, and the Substack feed punishes generic visuals harder than other platforms do. 49% of creators who monetize their work spend 20 or more hours per week on content creation, and a disproportionate slice of that goes to image selection.

The frustration is pretty consistent across writers. One analysis of 100 Substack visual identities put it bluntly: “If you look generic and boring, you lose new subscribers. Everyone’s feed blends together there, and there are thousands more Substacks now than there were in 2024.” Another writer described the weekly cover image selection as a cycle of “vague dissatisfaction: no, not that. Closer. Too cliché. This feels dead.”

Writers pick Unsplash because it’s the fastest option inside Substack’s editor, then complain that every other Substack in their niche is using the same photo. This isn’t just an aesthetic irritation. Readers in a crowded niche start to recognize a publication by its images before reading the title, so sharing visuals with five other newsletters actively works against the brand recognition that drives paid conversions. Substack’s own built-in stock photo search pulls from Unsplash, which speeds up selection while guaranteeing the duplicate-image problem.

Image-based emails see a 4.84% click-through rate versus 1.64% for text-based emails, roughly 3x higher, and posts with social preview images get 2x more signups and 40% more clicks than posts without them. On a platform where over 70% of traffic is mobile and readers are scrolling through a dense Notes feed, the hero image is doing the work of a headline and a preview at the same time. We went deeper on this in our earlier analysis of whether blog images actually move the needle, which found that topic-relevant custom imagery consistently outperforms generic stock.

What Are Substack’s Featured Image Requirements?

Substack recommends featured images at around 1,456 by 1,048 pixels, with a minimum of 420 by 300, a maximum file size of 10 MB, and support for JPG, PNG, WebP, and GIF formats. The email header banner is a separate field with different dimensions. Most guides conflate the two, which causes headaches when an image looks right on the web post and wrong in the email.

Here’s the full specification, pulled from Substack’s official image dimensions guide:

Image slot Recommended size Where it appears
Featured image (post) 1,456 × 1,048 px (14:10) Post page, homepage thumbnail, Notes feed, inbox preview
Social preview image 1,200 × 630 px (1.91:1) Twitter/X, LinkedIn, Facebook, Slack, Discord shares
Email header banner 1,100 × 220 px (5:1) Above the post title in the newsletter email only
In-article images 730 px wide Inline within post body

The featured image and the email header are separate uploads with separate dimensions, set in different places inside the editor. And Substack crops aggressively on mobile: because over 70% of Substack traffic is mobile, anything near the edges of a 14:10 image gets cut. Don’t embed text in the image, and keep your subject out of the corners. The social preview slot is worth setting explicitly, and our complete guide to Open Graph images walks through why it matters for Twitter, LinkedIn, and Slack previews.

WebP is supported and produces smaller files, but JPG and PNG are still the safest defaults for compatibility across email clients.

Four Ways to Generate Substack Hero Images, Compared

There are four realistic approaches to creating hero images for Substack in 2026. They differ less in output quality than in how much of your time they eat.

Method Time per image Skill required Contextual relevance Cost
Stock photos (Unsplash in editor) 5 to 15 min None Low, generic Free
Canva templates 15 to 45 min Moderate design sense Moderate Free, or $13/mo Pro
Prompt-based AI (ChatGPT, Midjourney, DALL-E 3) 10 to 30 min with iteration Prompt engineering Depends on prompt quality $10 to $30/mo
URL-in AI (imghero) ~30 seconds None High, reads your draft Free tier, then €9/mo

Stock photos are fast the first time and slow over the long run. After a month, you’ll spot the same Unsplash image on three other Substacks in your niche, and that’s not just an aesthetic irritation. Readers who see your image before they see your name learn to associate the visual with someone else’s publication. We saw the same pattern when we analyzed how 15 SaaS companies handle their blog hero images: the brands that looked generic all shared the same stock-library aesthetic.

Canva templates solve the design-skill gap but replace it with a design-time tax. You’re still browsing stock photos inside Canva, still making layout decisions, still exporting at the right dimensions. A writer publishing weekly ends up doing 30 minutes of Canva work per post, which adds up to 26 hours a year on featured images alone. Our detailed comparison of Canva versus imghero for blog images breaks down exactly where that time goes.

Prompt-based AI tools produce the best per-image quality but require prompt engineering for every single post. Research on prompt engineering in 2025 found expert prompts succeed on the first try only 40 to 60 percent of the time, with three iterations to reach 85 percent satisfaction. That matches what Substack writers report: most hero images from Midjourney or DALL-E need two or three rounds before one lands. We covered the specifics of ChatGPT’s image workflow for bloggers in a separate comparison if you want the full detail.

URL-in AI removes the prompt-writing step entirely. You paste the draft URL, the tool scrapes and summarizes the post, writes the prompt for you, and returns an image. You skip the creative decisions, not just the individual clicks, which is where the real time savings come from for weekly publishers.

How to Auto-Generate a Substack Hero Image with imghero

The workflow takes about a minute once you know the steps:

  1. Draft your Substack post as usual and click Preview. Copy the draft URL from your browser bar. Substack generates a preview URL for every draft, even before it goes live, which imghero can read.
  2. Go to img-hero.com and paste the URL into the input field. Pick a style (more on style choice below).
  3. Wait about 30 seconds. imghero scrapes your draft, summarizes the content with an LLM, writes an image prompt automatically, and generates the image, with no prompt input from you.
  4. Download the image. imghero outputs a 1200 × 675 PNG with full commercial rights and no attribution required. That’s 16:9, which fits inside Substack’s 14:10 featured image slot without awkward cropping.
  5. Upload to Substack. Open your draft, click the Settings gear in the bottom-right of the editor, and upload the image under Post Thumbnail. This is the 10-second step that can’t be automated away.
  6. Optional: set the same image as your social preview. In the same Settings panel, scroll to Social Preview and upload the image there too. Substack defaults to using the featured image if you don’t set one here, but doing it yourself avoids surprises on LinkedIn.
  7. Optional: add a variant as your email header banner. If you want a matching email header, generate a second image with the same style and upload it under Settings → Email Settings → Email Header Image. The email banner is a different aspect ratio, so expect some crop.

Writers who run this workflow weekly cut their featured image time from 5 to 30 minutes per post to under 60 seconds, and get a unique image built around what their specific post actually says rather than a stock photo three other newsletters in the same niche are already using.

Automating Further with the imghero API

Writers with the Pro plan or higher can automate the generation step with imghero’s REST API. The endpoint takes a URL and returns an image you can drop into any part of your publishing workflow, which lets you pre-generate images for every draft in your queue before publishing day.

A minimal example in curl:

curl -X POST https://img-hero.com/api/v1/generate/ \
  -H "Authorization: Token YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yournewsletter.substack.com/p/your-post-slug/preview",
    "style": "minimal"
  }'

The response returns a url_id you can poll at GET /api/v1/urls/{url_id}/ every few seconds until the image is ready. Generation usually completes within 30 seconds. API plans include Starter at €9/month (20 images), Pro at €35/month (100 images), and higher tiers for volume users. Rate limit is 100 requests per minute per token.

A realistic automation pattern: run a scheduled script every Sunday evening that reads the URLs of all your draft posts, calls imghero for each one, and saves the images to a folder. When you sit down to publish on Monday, every featured image is already waiting. You still paste them in manually because Substack has no write API, but the creative work is done before you start. For most weekly publishers that’s all the automation they need. Anything that promises more is using private endpoints that will break on Substack’s next update, which is a fragile thing to build a workflow on.

Choosing the Right Style for a Substack Newsletter

Substack’s visual design is minimal by default, which means busy hero images clash with the platform aesthetic. The styles that work best on Substack look intentional at small sizes, survive aggressive mobile cropping, and don’t compete with the post title that Substack stacks above the image.

imghero ships with 18 built-in styles. For Substack newsletters, four are worth knowing:

  • minimal: flat, geometric, lots of whitespace. Fits Substack’s look directly. Good default for essay and analysis publications.
  • illustration: hand-drawn or vector illustration style. Reads well at thumbnail sizes in the Notes feed and stands out without being busy.
  • photo: realistic photography. Best when your post has a specific concrete subject (a product, a place, a person). Not the right pick for abstract essays.
  • soft: watercolor and pastel tones. Works well for personal, reflective, or cultural newsletters.

Skip anything text-heavy (Substack already shows your post title above the image) and anything with hard contrast near the edges (mobile cropping will chop it). Beyond that, pick one style and stick with it across every post. Readers who recognize your images in the Notes feed before they’ve even read the title are more likely to click, and rotating through five styles a month throws that away. Top-performing Substack visual identities almost all have this in common.

Frequently Asked Questions

Does Substack have an API for uploading images automatically?

No. Substack does not offer a public write API, so there is no supported way to programmatically upload a featured image, social preview, or email banner to a post. Reverse-engineered community tools exist but rely on private endpoints and break when Substack updates its platform. The reliable ceiling is semi-automation: automate the generation, upload manually.

What’s the best image size for a Substack featured image?

Substack recommends at least 1,456 × 1,048 pixels for the featured image, a 14:10 aspect ratio. The minimum is 420 × 300 pixels, the maximum file size is 10 MB, and acceptable formats are JPG, PNG, WebP, and GIF. For a separate social preview, use 1,200 × 630 pixels.

Can I use AI-generated images on Substack legally?

Yes, as long as your image generation tool grants commercial rights. imghero grants full commercial rights with no attribution required, which covers paid Substack publications, sponsorships, and derivative works. Google has explicitly confirmed there is no SEO penalty for AI-generated images, and Substack has no policy restricting their use.

What’s the difference between the Substack featured image and the email header banner?

They are two separate image uploads with different dimensions and different placements. The featured image (14:10) appears on the post page, homepage, Notes feed, and social shares. The email header banner (5:1, about 1,100 × 220 pixels) appears only inside the newsletter email, above the post title. You can leave the email header blank and let the featured image carry everything.

How many featured images can I generate per month with imghero?

imghero’s free tier includes 3 images with full commercial rights and no credit card required. Starter (€9/month) includes 20 images, Pro (€35/month) includes 100, and higher tiers cover bulk use. Unused credits roll over up to 2x the monthly cap. For a writer publishing weekly, the Starter plan covers an entire year of featured images with room to regenerate any you don’t like.


Substack isn’t going to ship a write API anytime soon, so the question isn’t how to fully automate featured images. It’s how to stop wasting the creative hours that sit in front of the ten-second upload. A URL-in AI tool handles that part: you paste your draft link, pick a style, and have an image in about 30 seconds. If you want to try it, imghero’s free tier covers three images with no credit card. Start here.

Stop wasting time on images

Your content deserves better visuals

Paste a URL. Get a stunning image. It's that simple.

Start Creating
Instant image generation Ready in seconds Full commercial rights

More from the Blog