An image generation API that behaves like infrastructure
One POST request: template ID plus a flat map of variables. One response: a finished PNG at the exact canvas size, rendered by a native libvips engine in ~1-3 s, no headless Chrome, no cold starts, no surprise crops. Design the template visually or as raw JSON DSL; render it from code, cron jobs, n8n/Make/Zapier or your AI agent.
Start free; 100 renders/month · Documentation
Why teams and agents use it
- Sync and async. Sync render answers in ~1-3 s (up to 25 s). Async returns a job id and calls your webhook, built for queues and batch jobs.
- Dynamic everything. Text {variables}, dynamic image URLs, QR and barcode content, per-request filenames. One template, any number of variations.
- Typed contract. OpenAPI spec at /api/v1/openapi.json, strict DSL validation with did-you-mean errors, explicit 4xx codes your code can branch on.
- Not just an API. The same templates open in a visual editor for humans, and in a 24-tool MCP server for AI agents. Three interfaces, one source of truth.
One request, one image
curl -X POST https://rendry.io/api/v1/render/sync \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"preset_id": "your-template",
"dynamic_data": { "title": "Hello", "photo": "https://..." }
}'
# → 200 OK, {"result_url": "https://rendry.io/....png"}Ready-made templates for this
- OG Image — Blog Post: 1200x630 article cover. Dark violet-cyan mesh + grain, category chip, gradient headline, author strip. Mood: modern engineering blog. Use for: blog posts, changelogs, docs. (1200x630)
- Price Tag: Shelf price tag with product name and big price. Use for: retail shelves and markets. (500x300)
- Payment Receipt: Payment receipt with itemized rows and totals. Use for: order confirmations. (600x900)
- Shipping Label: Shipping label with addresses and barcode. Use for: parcels and logistics. (800x600)
- Testimonial Card: Customer testimonial with avatar, quote and rating. Use for: reviews and social proof. (1200x628)
- X / Twitter Post Card: X/Twitter 1600x900 text card. Near-black with violet mesh, bold white statement, author strip with avatar. Mood: confident hot take. Use for: quotes, opinions, threads. (1600x900)
Built for AI agents, not just humans
Rendry ships a native remote MCP server (https://rendry.io/api/v1/mcp) with 25 tools. Your agent designs templates from raw JSON DSL, previews them for free, then renders batches. Full control over every pixel stays with the agent, while a human can always open the same template in the visual editor and adjust it. No headless browser, no screenshot hacks, no glue code.
Machine-readable: llms.txt · llms-full.txt · openapi.json · mcp.json
Frequently asked questions
- How fast is the API?
- Typical synchronous render completes in ~1-3 s. The engine is native libvips, no browser rendering, which is why there is no cold-start penalty.
- What image formats and sizes are supported?
- PNG output up to 4096×4096 px, up to 40 layers per template: text, images, shapes, QR codes, barcodes (Code128, EAN-13), gradients, groups.
- Is there a free tier?
- Yes: 100 renders and 20 templates per month, no credit card, full API access. Paid plans from $15/mo.
- How do webhooks work?
- POST /render/async with a webhook_url; Rendry calls it with the job result when the render finishes. Poll /render/status/{job_id} as an alternative.
- Can I generate images without writing templates by hand?
- Yes: pick one of 39 gallery templates and clone it via API, design visually in the editor, or let an AI agent design it over MCP from raw JSON DSL.