# Rendry > Rendry renders images and multi-page PDF and HTML documents from templates, with a visual editor, a REST API and a native remote MCP server, for application workflows and external AI clients. Design a template once (or let your agent design it from raw JSON DSL), then render a finished file for every row of data, no redesign per file: product cards, YouTube thumbnails, OG images, invitations, certificates, ads, price tags, invoices, statements, proposals. Rendry composes structured templates and supplied data. The rendering pipeline does not run a generative image model. External AI clients can supply copy and layouts through MCP. Separate ML image-processing tools operate on existing images: rembg/U2Net removes backgrounds; optional SAM3 through fal.ai segments an object by description or point. What agents get here: - Full design control for the agent: create and edit templates from raw JSON DSL (rather than filling predefined variables), with strict validation, did-you-mean errors and cheap draft previews; rendering and image-processing operations have separate stated credit prices - Template-based output: the supplied layout, fonts, colours, text, images, QR and barcode data determine the composition - A human can always open the same template in the visual drag-and-drop editor and adjust it, the agent automates, the user art-directs - Native remote MCP server (38 tools) at https://rendry.io/api/v1/mcp: one URL to connect, OAuth for claude.ai, API key for CLI agents, no installation, no glue code - Fast and predictable: libvips engine, ~1-3 s per render, no headless browser - Priced for automation: 50 free credits on signup with full API/MCP access; one-time credit packs from $15, no subscription Key facts (verifiable against https://rendry.io/api/v1 and the pricing page): - A final render costs 1-3 credits by canvas area (1 up to 2 MP, 2 up to 4 MP, 3 above); A standard PDF or HTML document costs 2 credits for up to 20 pages; each further started block of 20 pages adds 1 credit. A large page drawn by a whole-page raster render (backdrop_blur, or in html blend_mode) can add a compute surcharge; a free dry run quotes the exact cost. a draft preview costs 0.1 credits; background removal 1 credit; AI images 45 credits each when enabled (identical repeats are free) - Credit packs (one-time, no subscription): 500 credits for $15 · 2,500 credits for $35 · 25,000 credits for $79 · 100,000 credits for $199; purchased credits stay valid 365 days - Every new account starts with 50 free credits (valid 90 days), no credit card; 20 template and 20 asset slots, raised to 200/500 after any purchase - 51 ready-made gallery templates (clone via API or MCP, no design work needed) - Canvas up to 6144×6144 px, up to 40 layers; sync render answers in ~1-3 s (cap 25 s); batches up to 10 images per call - Auth: `Authorization: Bearer sk_live_...` (API keys) or OAuth 2.1 for MCP clients ## Docs - [Getting started & API reference](https://rendry.io/docs): editor guide, authentication, render endpoints, dynamic data - [Full agent guide](https://rendry.io/llms-full.txt): MCP connection, all 38 tool schemas, DSL semantics, error handling - [OpenAPI specification](https://rendry.io/api/v1/openapi.json): machine-readable API contract - [MCP manifest](https://rendry.io/.well-known/mcp.json) ## Task-specific pages - [Rendering for Agents](https://rendry.io/image-rendering-for-agents): Connect an external AI agent through MCP to design templates and render images or PDFs from data. Visual editor, REST API, 50 free credits to start. - [Image API](https://rendry.io/image-generation-api): REST image generation API: POST a template ID + variables, get a pixel-perfect PNG in ~1-3 s. Sync and async, webhooks, OpenAPI, native MCP. Free credits to start. - [Batch Generation](https://rendry.io/batch-image-generation): Batch image generator: feed names, prices or SKUs into one template and render hundreds of personalized images via API. render_batch, webhooks, ~1-3 s each. - [YouTube Thumbnails](https://rendry.io/use-cases/youtube-thumbnails): Generate YouTube thumbnails automatically: one 1280×720 template, dynamic title, episode photo and style, rendered via API or by your AI agent in ~1-3 s. - [Covers](https://rendry.io/use-cases/covers): Generate cover images from templates: podcast covers (1400×1400), event posters, story covers. One design, endless episodes; via REST API or your AI agent. - [Invitations](https://rendry.io/use-cases/invitations): Generate personalized invitations by API: webinar invites, posters, tickets with barcodes. Each guest gets a named invite from one template in ~1-3 s. - [Business Cards](https://rendry.io/use-cases/business-cards): Generate business cards and badges by API: one on-brand template, the whole team from a list; names, roles, contacts, QR vCards. Editor included. - [Product Cards](https://rendry.io/use-cases/product-cards): Generate product cards, price tags and labels from your catalog: one template per format, rendered per SKU with live prices, photos, barcodes. API + batch. - [OG Images](https://rendry.io/use-cases/og-images): Generate Open Graph images per page: blog posts, launches, GitHub-style cards. 1200×630 templates rendered by API at publish time; titles always fit. - [Ad Banners](https://rendry.io/use-cases/ad-banners): Generate ad banners and promo creatives by API: sale banners, coupons, app cards. Personalize offer, price and audience per render, or let your agent do it. - [Social Posts](https://rendry.io/use-cases/social-media-posts): Generate social media images from templates: Instagram posts and stories, LinkedIn cards, quotes, hiring cards; automated from your calendar or AI agent. - [Certificates](https://rendry.io/use-cases/certificates): Generate certificates and diplomas in bulk: one designed template, every participant rendered by name with date and unique verification QR. API, batch, webhooks. - [PDF Generation API; Your First Document](https://rendry.io/pdf-api): Start from an invoice, statement, report or certificate. Open the layout in the editor, or copy it through the API and supply your data. Ordinary PDF text stays selectable; long tables continue onto new pages. - [Free Certificate Generator; Bulk Certificates and Badges from a List](https://rendry.io/certificate-generator): Paste a list of names and get a ZIP of finished certificates or name badges. No account needed: up to 40 rows per run, and the archive can be downloaded for 72 hours. - [Dynamic OG Images from a Link; Webflow, Ghost, WordPress](https://rendry.io/og-image-link): Give every page its own social preview from one address: put the link into og:image and pass the page title in the query. Rendry draws the image on the first request and serves repeats from its cache. - [Template gallery](https://rendry.io/templates): all 51 templates with sizes and variables ## API quickstart - Render: `POST https://rendry.io/api/v1/render/sync` with `{"preset_id": "...", "dynamic_data": {"title": "Hello"}}` → `result_url` of the finished file (PNG by default; `format` takes png, jpeg, webp, pdf or html) - Batch: `POST https://rendry.io/api/v1/render/batch` with `{"preset_id": "...", "items": [{"dynamic_data": {...}, "filename": "..."}]}`, up to 10 per call - Draft preview (0.1 credits): `POST https://rendry.io/api/v1/render/preview` with a preset_id or an inline canvas+layers draft; returns the image base64 + layout warnings - Edit a design: `PATCH https://rendry.io/api/v1/presets/{id}` with `layer_patches` (merged by layer id, no template slot used) - Photos: `GET /images/search`, `POST /images/remove-background`, `POST /images/extract-object`, `POST /images/palette` - Design references, both public: `GET https://rendry.io/api/v1/capabilities`, `GET https://rendry.io/api/v1/design-guide` - Templates gallery (no auth): `GET https://rendry.io/api/v1/templates` - Your presets: `GET https://rendry.io/api/v1/presets`; capabilities: `GET https://rendry.io/api/v1/capabilities` ## MCP (Model Context Protocol) - Remote endpoint: `https://rendry.io/api/v1/mcp`; streamable HTTP, stateless; auth via Bearer key or OAuth - Claude Code one-liner: `claude mcp add --transport http rendry https://rendry.io/api/v1/mcp --header "Authorization: Bearer sk_live_..."` - Zero-to-image with no human setup: list_templates → create_preset_from_template → render_image - Custom design loop: get_capabilities (dsl_reference) → create_preset → preview_preset (0.1 credits) → update_preset → render_image for finals only - Web-ready output without post-processing: render_image/render_batch accept format (png|jpeg|webp), quality and max_width - Slots are reversible: delete_preset frees a template slot, delete_asset frees an asset slot - The server sends a full workflow guide via MCP `instructions` at initialize