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
-
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"
]
}
}' import { JamFrame } from "jamframe";
const client = new JamFrame(); // reads JAMFRAME_API_KEY
const { data } = await client.render({
templateId: "clx8m2k3p0001abcd1234efgh",
modifications: {
headline: "Spring sale",
discount: "30% off",
cta: "Shop now"
},
response: {
format: "png",
sizes: [
"original",
"1200x628",
"300x250",
"square"
]
},
});
console.log(data.content); // the file URL from jamframe import Client
client = Client() # reads JAMFRAME_API_KEY
result = client.render(
"clx8m2k3p0001abcd1234efgh",
{
"headline": "Spring sale",
"discount": "30% off",
"cta": "Shop now",
},
response={"format": "png", "sizes": ["original", "1200x628", "300x250", "square"]},
)
print(result["data"]["content"]) # the file URL Examples
One template, every version you need
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
-
Ecommerce
Product cards, sale banners and catalogue posts.
Learn more -
Personalized marketing
One image per customer for email and ads.
Learn more -
Agencies
On-brand content for every client, at scale.
Learn more -
Events and webinars
Speaker cards, countdowns and recap videos.
Learn more
Questions
Banner generation API: common questions
How many sizes can I get in one call?
Do I have to design every size?
Can banners update automatically?
More ways to use JamFrame
-
Image generation API
On-brand images from your templates, by API.
Learn more -
PDF generation API
Multi-page PDFs from templates you design.
Learn more -
Video generation API
Short MP4s with animation, music and subtitles.
Learn more
Make your first render in minutes.
Pick a template from the library, connect a source and make your first post in minutes.