Variable-data image press for the internet

One template.Ten thousandfinished images.

Design an image once. Mark the parts that change. PixelDrive renders a finished file for every row of data you send it: by URL, by API, by CSV, by your AI agent. Fresh renders in about a second, cached repeats in 19 ms, free.

PixelDrivePro - Bulk image generation from one template, API First. | Product Hunt

No card. No watermark. The URL is the API:

GET/img/t/8c41f2?name=Ana%C3%AFs+Robichaud&lang=fr&price=49%20%E2%82%AC&format=webp
Out · spring_fr_0001.png1200×630 · webp · 1.04 s
01 · Anaïs RobichaudMontréal · fr · 49 €
02 · Jae-min SeoSeoul · ko · ₩59,000
03 · Tunde OkaforLagos · en · ₦24,500
04 · Marta JankowskaWarszawa · pl · 199 zł
05 · Ravi DeshmukhPune · hi · ₹1,299
SEC. 02 · HOW IT WORKS

The press runs
in three passes

No screenshots of dashboards. This is the whole product: a template, its variables, and one HTTP call.

01Design

Set the plate

A full canvas editor in the browser: text, images, shapes, SVG. QR codes, barcodes and rating stars are native elements, not hacks. Pull photos from Unsplash and icons from Noun Project without leaving the canvas. Import PSDs.

Every save is checkpointed. 30 restorable versions per template.

editor · spring_promo · 1200×630
T  headline
T  subline
▢  price_chip
▧  product_photo
▦  qr_checkout
★  rating
HEADLINE AAsubline copy here49 €Placeholder product photo on the canvas
02Mark

Mark what changes

Click any element and mark it as a variable. Text, image sources, colors, font sizes, languages. Everything else stays locked, so the brand survives contact with the spreadsheet.

Variables become API parameters automatically. No schema to write.

variables · 4 marked
T  headline {headline}
T  subline {subline}
▢  price_chip {price}
▧  product_photo {photo}
▦  qr_checkout
★  rating
{headline}{subline}{price}Variable photo slot
03Render

Run the press

One GET for quick merges, one POST for full control. Pick the format and quality per request. Identical inputs hit the cache and cost nothing, so retries and re-shares are free.

PNG · JPEG · WebP · AVIF · PDF  /  quality 1-100  /  ?lang= on anything

# quick merge, straight from an img tag
GET /img/t/8c41f2?headline=Final+week&price=29€
    &format=webp&quality=80&lang=de

# full control
POST /v1/render
{
  "template": "8c41f2",
  "format":    "avif",
  "payload": {
    "headline": { "text": "Final week", "lang": "de" },
    "photo":    { "src":   "https://…/sku-2481.jpg" }
  }
}

201 { "url": "https://pixeldrive.pro/img/t/8c41f2/a91….avif",
      "cached": false, "credits_charged": 1 }

render.completed webhook fires after this line1 credit

Fresh render

≈ 1.0 s headless render, any template

Cached repeat

19 mssame inputs, 0 credits

Throughput

27 / sec per render node, scales flat

Output

5 formats png jpeg webp avif pdf

SEC. 07 · COMPARISON

The press vs.
the other shops

Same job, different bill. Compared against the typical image-API price sheet.

PixeldriveThe usual image API
PreviewsFree, always. Iterate without billing.Billed like a render.
Cache hitsFree. Repeat URLs serve in 19 ms.Billed again, or capped.
TranslationIncluded. 70 languages on our own model.Bring your own vendor and glue code.
AI agentsHosted MCP server, 26 tools, in the registry.None. REST only.
FormatsPNG, JPEG, WebP, AVIF, PDF.PNG and JPEG.
$29 / month buys8,000 fresh images. $0.0036 each.About 1,500 to 2,500 images.

"The usual image API" = published pricing of the leading template-render services, June 2026. Run your own numbers; ours stay flat.

SEC. 01 · LIVE DEMO

Operate the
press yourself

This is the real workflow: change a variable, get a file. No signup needed for a proof.

Job ticket · yourstemplate 8c41f2

This proof is free. Live preview — previews never bill. On the press, lang= translates any text you send, not just samples.

Press proof · 0 credits
Ferro & Vine Supply Co.
Spring mega sale
Up to 40% off — this weekend only
$49EN · 1200×630
Product photo in the live ad-render demo
Out · demo_en.webp1200×630 · 38 KB · 0.9 s
GET/img/t/8c41f2?headline=Spring+mega+sale&price=%2449&format=webp
201 { "url": "https://pixeldrive.pro/img/t/8c41f2/724826.webp", "cached": false, "credits_charged": 0 // preview }

Like it? Get 1,000 free renders →

SEC. 04 · FOR AI AGENTS

Your agent
runs the press

PixelDrive ships a hosted MCP server with 26 tools. Claude, Cursor, or any MCP client can open a blank canvas, lay out elements, search stock photos, and ship a finished render without a human touching the editor.

The loop that makes it work: previews are free. The agent renders a proof, looks at the actual pixels, fixes the kerning, and only pays when it ships the final. Iteration costs nothing.

Listed in the official MCP registry as pro.pixeldrive/pixeldrive

Read the MCP docs

Job ticket · 0610-114operator: claude
  1. client"Launch card for the Berlin webinar. German, 1200×630, brand blue, QR to the signup page."
  2. agent→ create_template { 1200×630 }
  3. agent→ add_elements { headline, date, speaker, qr_code }
  4. agent→ preview_image ◆ proof returned, 0 credits
  5. agent"Date collides with the QR quiet zone. Nudging."
  6. agent→ update_element { y: 482 } · → preview_image ◆ clean
  7. agent→ generate_image · 1 credit
  8. presshttps://pixeldrive.pro/img/t/2f8a…/webinar_berlin_de.png
SEC. 03 · CSV BATCH

Feed it
a spreadsheet

Upload a CSV in the dashboard or POST it to /v1/render/batch. One image per row, named and numbered.

namemarketlangpricephoto
1Anaïs RobichaudMontréalfr49 €sku-2481.jpg
2Jae-min SeoSeoulko₩59,000sku-2481.jpg
3Tunde OkaforLagosen₦24,500sku-1190.jpg
4Marta JankowskaWarszawapl199 złsku-0832.jpg
5Ravi DeshmukhPunehi₹1,299sku-1190.jpg
6Lucia FerraroTorinoit45 €sku-0832.jpg
7Björn HalvorsenBergenno519 krsku-2481.jpg
8Yasmin El-SayedCairoarE£780sku-1190.jpg

campaign_q2.csv · 8 of 1,847 rows · lang column = per-row translation

Soldes de printemps49 €
Render 0001, Montreal market, French
spring_fr_0001.png
봄맞이 세일₩59,000
Render 0002, Seoul market, Korean
spring_ko_0002.png
Spring mega sale₦24,500
Render 0003, Lagos market, English
spring_en_0003.png
Wiosenna wyprzedaż199 zł
Render 0004, Warsaw market, Polish
spring_pl_0004.png
वसंत सेल₹1,299
Render 0005, Pune market, Hindi
spring_hi_0005.png
Saldi di primavera45 €
Render 0006, Torino market, Italian
spring_it_0006.png
Vårsalg519 kr
Render 0007, Bergen market, Norwegian
spring_no_0007.png
تخفيضات الربيعE£780
Render 0008, Cairo market, Arabic
spring_ar_0008.png
ProgressWatch the run live in the dashboard. Failed rows are listed, not buried.
DoneA completion email with counts, plus a batch.completed webhook with every URL.
ZapierOr skip the CSV: point a Zap or a Make scenario at the press and never see a file.
SEC. 05 · USE CASES

What runs
on the press

Six standing jobs from the board. Every one of them is a template plus a data source.

SEC. 06

Also on the sheet

The plumbing you'd otherwise build yourself, already bolted to the press.

Webhooksrender.completed and batch.completed, HMAC-SHA256 signed, retried three times. Point Zapier or Make at them.whsec_…
Edge cacheIdentical inputs return the stored file. Repeats cost 0 credits and ship in 19 ms, so hotlinking renders in email is fine.0 cr / hit
FormatsPNG, JPEG, WebP, AVIF, PDF with per-request quality. Each format cached separately.?format= · ?quality=
TokensScoped API tokens with optional expiry and per-token rate limits. Usage counted per token.rate_limit/min
HistoryEvery template keeps 30 restorable checkpoints. Restore is itself checkpointed, so nothing is ever lost twice.30 / template
GalleryA public template gallery to start from. Clone one, swap the variables, render./templates
ElementsQR codes, barcodes, and rating stars re-generate from data on every render. A 4.2 rating draws 4.2 stars.native
StockUnsplash photos and Noun Project icons searchable inside the editor and over the API.search_photos
ReportsBatch completion email with counts and failures, straight to the operator on duty.smtp ok
Plugs intoZapierMaken8nClaudeCursorAny MCP clientPlain HTTP

The language drum

Say it in Español.

Append &lang=es to any render URL and every text layer comes back translated, re-fit, and cached. Whole template or single field. The engine is a translation model we run on our own metal: no per-word vendor fees, no text leaving the press, translations cached for 90 days.

/img/t/8c41f2?headline=Final+week &lang=ja
→ 最終週間 · rendered, cached, 1 credit
EspañolFrançaisDeutsch日本語한국어हिन्दीعربيPortuguêsPolskiTürkçeУкраїнськаTiếng ViệtKiswahili+ 57 more
SEC. 08 · RESULTS

Press checks

Operators on record, and the meter readings from the last thirty days.

Press check · 0610-1 · batch runPassed

Our catalog refresh went from an afternoon of exports to a 90-second batch run. Nobody on the team has opened the old PSD since March.

Mira CastellanosContent ops lead, Bodega Norte
Press check · 0610-2 · cachePassed

We hotlink renders straight into lifecycle email: 11 million opens last quarter, zero broken images, zero extra credits.

Dmitri VasilievLifecycle marketing, Ferryline
Press check · 0610-3 · agentsPassed

Our Claude agent designs the weekly creative and ships it while we sleep. Free previews are the whole trick: it can look at its own work before it spends.

Aoife BrennanFounder, Slipstream Social
Open slot · 0610-4

Your line goes here

Run your first job on 1,000 free credits →

Renders, 30 days

4,182,907 across 61 countries

Median cached serve

19 msp99 under 120 ms

Uptime, quarter

99.97% status page is public

Languages rendered

70 most popular: es, de, fr

SEC. 09 · PRICING

Rate card

1 credit = 1 fresh render. Cache hits and proofs are free. Credits arrive monthly.

Annual billing: save 17% (two months free) on any paid plan, chosen at checkout. Free proofs: previews never bill. Free repeats: cached renders never bill. Translation, webhooks, batch runs, the MCP server and every output format are included on every plan, the Free one too.

SEC. 11 · FAQ

Questions
at the desk

What exactly costs a credit?

One fresh render = one credit, regardless of size or format. Cache hits are free: the same template with the same inputs returns the stored file and bills nothing. Previews (in the editor, over the MCP, in the demo above) are always free.

How fast is it, honestly?

A fresh render takes about a second. A cached repeat serves in roughly 19 ms. Each render node sustains around 27 renders per second and nodes scale horizontally, so batch throughput is a provisioning question, not an architectural one.

Can it translate any text I send?

Yes. Add lang=de to a render and every text layer is translated, or set it per field. The model runs on our own servers: no per-word vendor fees, your copy never leaves the press, and each translation is cached for 90 days so repeats are instant.

How do I run a batch?

Upload a CSV in the dashboard or POST rows to /v1/render/batch. Each row becomes one image. Progress streams live, failed rows are listed individually, and when the run finishes you get an email and a batch.completed webhook containing every URL.

What can my AI agent actually do?

Everything you can: create templates, add and arrange elements, search stock, mark variables, preview for free, and render. The hosted MCP server exposes 26 tools and is listed in the official registry as pro.pixeldrive/pixeldrive. Free previews mean the agent iterates on real pixels before it spends a credit.

Which formats can I get back?

PNG (default), JPEG, WebP, AVIF and single-page PDF, with a qualityparameter for the lossy ones. Each format is cached separately, so switching formats doesn't invalidate what you've already rendered.

Where do the images live, and for how long?

On our edge store, served from a stable URL you can hotlink anywhere: email, meta tags, your own CDN. Re-rendering the same inputs always resolves to the same file, so links never rot when your data doesn't change.

What happens when I hit my plan limit?

Cache hits keep serving free, so live traffic never breaks. Fresh renders pause until you top up or the month rolls over. Per-token rate limits are yours to set, so one runaway integration can't drain the account.

Startprinting.

1,000 free credits, the first thousand images are on us. A template takes ten minutes. The next ten thousand images take none of yours.