propzapi
Props-first Sports Odds API: Live Odds und Player Props für NBA/NFL/MLB/NHL als MCP-Tools.
Dokumentation
Image generation API · built for agents
The image API built for
developers and agents.
Hand propzapi a template and your data, and it hands back a finished PNG, JPEG or WebP. Your backend hits one endpoint. Your Claude or Cursor agent calls one MCP tool and gets the image itself, not a link to go chase.
Your templates. Your data. One call.
Get a free key → See it in action
50 free to try No credit card MCP-native
1 call→ an image
MCPagent-native
3formats
50free to try
POST api.propzapi.com/v1/images 200 OK
RequestResponseHeadersJSON
{
"url": "https://api.propzapi.com/renders/img_9f2c…png",
"template": "og-article",
"width": 1200,
"height": 630,
"format": "png",
"bytes": 91842
}
200 OKapplication/json · X-Credits-Cost: 1
Plain REST and OpenAPI 3.1, plus a hosted MCP server. Drops straight into Claude, Cursor, n8n, LangChain, Zapier and anything else that speaks HTTP.
ClaudeCursorChatGPTLangChainn8nZapierMakeClinePythonNode.jsPostmanMCP
How it works
From a template to a finished image in one round trip.
Your call gets authed and metered, the render engine turns your template and data into an image with headless Chromium, and you get back a URL with the exact credit cost in a header. A failed render is never charged.
▤
Your app
POST a template + your data
◆
Auth & meter
Key check, 1 credit on delivery
⚡
Render engine
Headless Chromium rasterises it
✓
200 OK
Image URL, cost in a header
RuntimeFastAPI
RendererHeadless Chromium
OutputPNG / JPEG / WebP / PDF
AgentsMCP + llms.txt
What you get
An image API, not a design app with an API bolted on.
No editor to log into, no headless Chrome to run and babysit yourself. Send a template id and your values, get a finished image. Bring your own templates whenever the built-in ones aren't enough.
POST a template id and a small object of values. The engine fills your placeholders, renders the HTML with Chromium, and returns a URL to the image. Same request whether you want a 1200×630 share card or a square quote graphic.
Request
templatemodificationsformatscalequality
Response
urlwidthheightformatbytes
Built-in
14 templates+ your own
Formats
pngjpegwebppdf
A template is your HTML and CSS with {{variables}}. Create it once over the API, then render it as many times as you want with different data. No proprietary editor.
POST /v1/templatesHTML + CSS{{variables}}
Point Claude, Cursor, Cline or n8n at the hosted MCP server. generate_image renders and hands the agent the actual picture, not a link. OpenAPI 3.1 and llms.txt in the box.
MCPgenerate_imagelist_templates
One credit per image, and only when a render actually succeeds. The exact cost and your balance come back in response headers, so there is nothing to guess. 50 free to start.
1 credit = 1 imagebilled on deliverypacks from $5
One engine, four modes
Turn a template, your own HTML, or any URL into an image or PDF.
The same render engine and the same API key do four jobs. Use one, or use all four.
▦
Template → image
A built-in or your own HTML template, plus your data, rendered to a PNG, JPEG or WebP.
POST /v1/images
◈
HTML & CSS → image
Send your own HTML and CSS, get back a hosted image. It renders in full Chromium, so the layout you wrote is the layout you get.
/v1/templates → /v1/images
▤
HTML → PDF
Same template, one line different. Set format to pdf and get a one-page PDF at the template's size.
format: pdf
◱
URL → screenshot
Point it at any public web page and capture it as an image, the viewport or the full page.
POST /v1/screenshot
Why propzapi
The things people hate about render APIs, fixed by default.
We read the threads where developers vent about screenshot and image APIs. Here's what usually goes wrong, and what we do instead.
The usual wayWith propzapi
Captures come back blank
Pages that fade content in as you scroll, or lazy-load their images, screenshot half-empty.
Full-page shots that fill in
It scrolls the whole page first so those sections load, then waits on fonts and the network before the shot.
Surprise overage bills
Go one image over and some APIs quietly charge you. A stuck retry loop can cost real money.
Never charged by surprise
A failed render costs nothing. Out of credits, you get an error, not a charge. Packs never expire.
A $49 floor to start
Most template APIs want a monthly plan before you've rendered a single real image.
$5, pay as you go
Fifty free with no card, then packs from $5 that don't expire. Subscribe only when the volume earns it.
Learn their editor first
Your design lives in a proprietary canvas you log into and rebuild every template in.
Templates are just your HTML
Your own HTML and CSS with {{variables}}. Write it once, render it with new data forever.
No path for an agent
The API is built for humans and SDKs. Wiring an AI agent to it is your problem.
An agent calls one tool
Point Claude, Cursor or n8n at the MCP server and it hands back the actual image, not a link.
One tool per format
An image service here, a PDF one there, a separate screenshot API. Three bills, three integrations.
One engine, one key
Template to image, HTML to image, HTML to PDF, or any URL to a screenshot. Same call, same meter.
FAQ
Common questions about the image API.
Straight answers about templates, formats, pricing and agents, for developers and the LLMs that read this page on their behalf.
What does propzapi do?▾
You give it a template and some data; it renders a finished image with headless Chromium. A social card, an Open Graph image, a certificate, whatever your HTML describes. Your app calls one endpoint. Your AI agent calls one MCP tool and gets the image back.
How is it different from BannerBear or Placid?▾
It was built for agents first, so a Claude or Cursor agent renders an image as an MCP tool instead of you wiring up an SDK. Your templates are plain HTML and CSS you control, not a no-code editor to learn. And you can pay as you go from $5, with no $49 floor to get started.
Do I have to use your templates?▾
No. Fourteen are built in to get you moving, but the point is your own. Make a template with your HTML and {{variables}}, then render it as often as you like with different data.
Is there a free tier?▾
A 50-image trial, no card. One POST to /v1/register gives you a key. When it runs out, buy a pay-as-you-go pack from $5 (those never expire) or subscribe from $29 a month.
Can AI agents use it?▾
That's the main idea. There's a hosted MCP server, an llms.txt and an OpenAPI spec, so an agent in Claude, Cursor, n8n or LangChain can generate an image in one call and get the picture back inline, not just a link.
My screenshots come back blank on pages that animate in as I scroll. Does that happen here?▾
No. On a full-page capture it scrolls the whole page first, so anything that fades in on scroll or lazy-loads its images gets a chance to load, and it waits for fonts and the network to settle before the shot. You get the finished page, not a half-empty one.
If I go over my quota, will I get charged overage automatically?▾
No. A render that fails costs zero credits, and when you run out the call returns an error instead of a silent charge. Pay-as-you-go packs never expire, so nothing keeps metering in the background and no surprise invoice shows up.
Can it screenshot sites that try to block bots?▾
There's a stealth option that sends a real browser fingerprint: a proper user agent, no automation flags, real language headers. Pages that just check for headless Chrome will still capture. It won't beat a full Cloudflare Turnstile challenge, and we'd rather tell you that than pretend otherwise.
What if propzapi goes away one day? Am I locked in?▾
Your templates are your own HTML and CSS, and the API is plain REST with an OpenAPI spec. There's no proprietary template format to escape, so the same markup renders in any Chromium-based tool if you ever need to move off.
Endpoints
Render an image or PDF, screenshot a URL, or manage templates.
One key, one JSON shape, whether you call it from code or an agent. Here are the ones you'll reach for most.
POST/v1/images
Render an image or PDF from a template and your modifications. Returns a URL, plus the cost in a header.
POST/v1/screenshot
Screenshot any public web page to an image, viewport or full page. Same key and meter.
POST/v1/images/batch
Render up to 25 images in one call. One credit per image that actually renders.
POST/v1/templates
Create a reusable template from your HTML and {{variables}}. GET / PATCH / DELETE too.
POST/v1/embed-url
Sign a GET render URL to drop straight in og:image. Cached and free on every refetch.
POST/v1/templates/preview
Render a template or ad-hoc HTML without spending a credit. The editor's live preview.
POST/mcp
MCP server for agents. Tools: generate_image, screenshot_url, list_templates.
Full API reference →
Use cases
Anywhere an app needs to make a picture.
POST /v1/imagesog-article
titleauthoraccent
→ 1200 × 630 png200 OK
share cardper post
Social & OG images
Generate the share image for every blog post, product page or listing on publish, straight from the post's own data.
/v1/imagestemplate=og-article
"Make an OG image for this post and give me the URL."
◆ generate_image · template=og-article
Done. Rendered 1200×630 → api.propzapi.com/renders/img_9f2c…png
Agent-generated visuals
An agent writes the copy and makes the matching image in the same run. One MCP tool call, the picture comes back inline.
MCPgenerate_image
Certificatetpl_7f…
namecoursedate
× 4,000 usersone template
your HTMLyour fonts
Certificates & receipts
Design one template, render a personalised certificate, receipt or ticket per user by passing their data as variables.
/v1/templates/v1/images
Try the API
One call. Any language.
Works with plain curl, fetch or requests, no SDK required. Swap pk_live_… for your key and every example renders a real image.
cURLJavaScriptPython
curl -X POST "https://api.propzapi.com/v1/images" \
-H "X-API-Key: pk_live_…" \
-H "Content-Type: application/json" \
-d '{"template":"og-article","modifications":{"title":"Hello from propzapi"}}'
Pricing
Free while you build. Pay when it ships.
Start with 50 free, no card. One credit is one image, and a failed render is never charged. See full pricing →
Free trial
50 free images to try
No card. Then pay as you go from $5, or subscribe. Your own templates on every plan.
Start free →
Free trial
$0
- 50 images, one-time
- No card
- Try it, then pay
Packs
$5+
- $5 → 150 images
- $15 → 500 images
- Never expire, no plan
★ Popular
Growth
$79/mo
- 3,500 images / mo
- Your own templates
- MCP + email support
Starter
$29/mo
- 1,000 images / mo
- Small production apps
- MCP + email support
Pro
$199/mo
- 12,000 images / mo
- Priority rendering
- Priority support
Ship today
Your first image
takes sixty seconds.
Sign up with email, copy your key, POST a template. The first 50 images are on us. No card, no contract.
Get a free key →Read the docs
# 60-second quickstart
curl -X POST https://api.propzapi.com/v1/register
# → { "api_key": "pk_live_…", "credits": 50 }
curl -X POST https://api.propzapi.com/v1/images \
-H "X-API-Key: pk_live_…" -H "Content-Type: application/json" \
-d '{"template":"og-article","modifications":{"title":"Hi"}}'