Open Graph image API
An Open Graph image for every page
Give every blog post, product and docs page its own share image. Put a dynamic URL in your og:image tag, call the API, or let the WordPress and Webflow apps do it.
Free plan with 100 credits a month · no card required
-
Dynamic URLs
Pass the title in the link. The image renders on first view, then comes from the cache.
-
Signed URLs
Tamper-proof links that expire, for values that must not be changed.
-
WordPress and Webflow
A share image for every post or CMS item, made automatically.
-
Cheap at any scale
One credit for a new image; cache hits are free, and each link has a credit cap.
For developers
Drop a URL into your page
Copy a working request from the editor, or start from these.
<meta
property="og:image"
content="https://app.jamframe.com/r/d/<publicId>.png?title=How%20we%20cut%20onboarding%20to%202%20days&author=Mia%20Chen"
/> curl https://app.jamframe.com/api/v1/render \
-H "Authorization: Bearer $JAMFRAME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateId": "clx8m2k3p0001abcd1234efgh",
"modifications": {
"title": "How we cut onboarding to 2 days",
"author": "Mia Chen"
},
"response": {
"format": "png"
}
}' import { JamFrame } from "jamframe";
const client = new JamFrame(); // reads JAMFRAME_API_KEY
const { data } = await client.render({
templateId: "clx8m2k3p0001abcd1234efgh",
modifications: {
title: "How we cut onboarding to 2 days",
author: "Mia Chen"
},
response: {
format: "png"
},
});
console.log(data.content); // the file URL from jamframe import Client
client = Client() # reads JAMFRAME_API_KEY
result = client.render(
"clx8m2k3p0001abcd1234efgh",
{
"title": "How we cut onboarding to 2 days",
"author": "Mia Chen",
},
response={"format": "png"},
)
print(result["data"]["content"]) # the file URL Examples
One template, every version you need
No backend required
Turn on a dynamic URL for a template, then use it anywhere an image goes. Values come from the query string, like ?title=Hello.
- Images or PDFs, up to 20 megapixels per page
- Pick a saved size with _size
- A credit cap per link, 100 by default
Images that follow your content
The WordPress plugin makes a featured and social image when you publish, and the Webflow app keeps an image in each CMS item's Image field up to date.
- Works with Yoast SEO and Rank Math
- Re-renders only when values change
- Alt text from the item's name
Try it free
Make a single OG image in the free OG image generator, no sign-up needed, and copy its dynamic URL when you're ready to automate.
- 1200 × 630 PNG
- Same render engine as the API
- Copy the request for your app
Everything included
Everything you get
In the editor
- 1200 × 630 web presets
- Ready-made OG templates
- Dynamic URL tab per template
- Brand library
In the API
- Dynamic URLs (/r/d/…)
- Signed URLs with expiry
- Cached results, free cache hits
- Credit caps per link
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
-
Blogs and SEO
Featured and OG images for every article.
Learn more -
Personalized marketing
One image per customer for email and ads.
Learn more -
Ecommerce
Product cards, sale banners and catalogue posts.
Learn more -
Creators and LinkedIn
Carousels, quote cards and thumbnails.
Learn more
Questions
Open Graph image API: common questions
Do I need a server to make OG images?
What does it cost?
Can people abuse my dynamic URL?
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 -
Banner generation API
Web banners and ads in every size at once.
Learn more
Make your first render in minutes.
Pick a template from the library, connect a source and make your first post in minutes.