Skip to content
JamFrame

Banner generation API

The banner generation API for every size at once

Generate web banners, display ads, sale banners and social headers from one template. Smart Resize lays the design out for each size, so one call can return the whole set.

Free plan with 100 credits a month · no card required

banner · 1600 × 600
square · 1080 × 1080
story · 1080 × 1920
  • Up to 10 sizes per call

    Name sizes like story or square, or give exact pixels like 300x250.

  • Layouts that adapt

    Photos re-crop, edge details stay on their edge, and columns stack when the shape flips.

  • Banners from your catalogue

    Make sale banners for a Shopify collection or discount in one go.

  • Banners from a link

    Drop a dynamic URL into an email or web page and the banner renders on first view.

For developers

One call, a full banner set

Copy a working request from the editor, or start from these.

curl https://app.jamframe.com/api/v1/render \
  -H "Authorization: Bearer $JAMFRAME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "clx8m2k3p0001abcd1234efgh",
    "modifications": {
      "headline": "Spring sale",
      "discount": "30% off",
      "cta": "Shop now"
    },
    "response": {
      "format": "png",
      "sizes": [
        "original",
        "1200x628",
        "300x250",
        "square"
      ]
    }
  }'

Examples

One template, every version you need

Web banner
Email header
Display ad
Story ad

Smart Resize does the layout

Set up the design once. JamFrame adapts it to each size: photos crop to fit, decorations stay on their edge, and side-by-side panes stack when a landscape design becomes portrait. Save up to 20 sizes per template and fine-tune any of them by hand.

  • Named sizes: story, square, portrait, landscape, widescreen, thumbnail, pin
  • Display ad and email header presets
  • One credit per page per size

Fresh banners when prices change

The Shopify app re-renders banners and product cards when a product's price or details change, and only when a value your template uses has changed.

  • Sale banners from a collection or discount
  • Save to Shopify Files or the product's images
  • Post them to social accounts

Personalised banners in emails

Use a dynamic URL as the image source and pass values in the link. Each version renders once, then comes from the cache for free.

  • No server needed
  • A credit cap per link
  • Signed URLs when values must not be changed

Everything included

Everything you get

In the editor

  • Display ad, email header and social presets
  • Up to 20 saved sizes per template
  • Manual tweaks per size
  • Brand library

In the API

  • response.sizes for many sizes at once
  • Named sizes or exact pixels
  • PNG, JPEG or WebP
  • Dynamic and signed URLs

With AI agents

  • Claude and ChatGPT connect through the MCP server
  • render_template fills any template from a chat
  • The design agent drafts new templates
  • publish_post schedules the result

Use cases

Who uses it for what

Questions

Banner generation API: common questions

How many sizes can I get in one call?
Up to 10 sizes and 30 pages in total. Each page of each size uses one render credit.
Do I have to design every size?
No. Smart Resize lays out each size from your original design. You can still adjust any saved size by hand.
Can banners update automatically?
Yes. The Shopify app re-renders when a product changes, and workflows can re-render from a sheet on a schedule.

More ways to use JamFrame

Make your first render in minutes.

Pick a template from the library, connect a source and make your first post in minutes.

Start free