For developers
Render any template with one API call
Send a template ID and the values that change. Get back a file URL for an image, carousel, PDF or video, made by the same engine as the editor.
Free plan with 100 credits a month
curl https://app.jamframe.com/api/v1/render \
-H "Authorization: Bearer $JAMFRAME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateId": "clx8m2k3p0001abcd1234efgh",
"modifications": {
"title": "Summer sale ends Sunday",
"subtitle": "Up to 50% off everything",
"photo": "https://example.com/images/beach.jpg"
},
"response": {
"format": "png",
"scale": 2
}
}' import { JamFrame } from "jamframe";
const client = new JamFrame(); // reads JAMFRAME_API_KEY
const { data } = await client.render({
templateId: "clx8m2k3p0001abcd1234efgh",
modifications: {
title: "Summer sale ends Sunday",
subtitle: "Up to 50% off everything",
photo: "https://example.com/images/beach.jpg"
},
response: {
format: "png",
scale: 2
},
});
console.log(data.content); // the file URL from jamframe import Client
client = Client() # reads JAMFRAME_API_KEY
result = client.render(
"clx8m2k3p0001abcd1234efgh",
{
"title": "Summer sale ends Sunday",
"subtitle": "Up to 50% off everything",
"photo": "https://example.com/images/beach.jpg",
},
response={"format": "png", "scale": 2},
)
print(result["data"]["content"]) # the file URL JamFrame + REST API
What you can do
-
Five formats
PNG, JPEG and WebP up to 3× scale, multi-page PDFs and MP4 video with sound.
-
Many sizes in one call
Ask for up to 10 sizes and Smart Resize lays out each one.
-
Async jobs and webhooks
Queue long renders, poll the job or get a signed webhook when it's done.
-
AI inside the request
Send a prompt instead of text or an image, or translate the whole design into another language.
-
Signed and dynamic URLs
Render from a plain link in an <img> tag or email, with caching and credit caps.
-
Post in the same call
Render and publish to social accounts in one request.
Set up
How to connect it
- 1
Create an API key
Open API keys in the app. Keys are scoped to one workspace.
- 2
Find your template
List templates and their fields, or copy a request from the editor.
- 3
Call /api/v1/render
Send the template ID, your modifications and the output format.
Good to know
- Rate limits: 100 requests a minute on Free and Starter, 200 on Plus and Professional.
- Full reference: app.jamframe.com/docs/api
Questions
JamFrame and REST API
How fast is a render?
What does a call cost?
Works well with
- Node.js SDK A typed client for Node.js and TypeScript.
- Python SDK Sync and async clients for Python.
- Webhooks Signed events when renders, posts and workflows finish.
- MCP server Give any MCP-compatible agent a design tool with 17 actions.
Connect REST API in minutes.
Start free with 100 credits a month. No credit card needed to try the editor.