1,500+ templates readyPNG · JPEG · PDF

Design it once.
Render it ten thousand times.

Pixy is a design editor whose files are addressable. Build the template, name the elements, then send text, image sources, fills and strokes to a single endpoint — and get finished files back. Your layout stays a design. Your data does the rest.

Free plan · 20 credits · no card required

Templatedesign_id
image_id
New inbadge_id

Autumn drop is live

title_id

1080 × 1350

4 named elementstext:
Warm coffee shop promotionModern coffee branding postMarketing mistakes carousel, page 1
ig-postPNG
Fresh produce campaign headerLuxury lipstick promotionMonochrome fashion campaign
email-heroJPEG
POST /generate

1,500+

Ready templates

1

Endpoint to learn

3

Export formats

4

Modifiable fields

POST app.pixy.art/api/v1/{designId}/generate · Authorization: Bearer YOUR_API_KEY

Made in Pixy

Every one of these is a template, not a mockup.

Browse the library
Fresh produce campaign header
Editorial fashion campaign header
Minimalist chair product email
Luxury lipstick promotion
Healthy habits promotion
Artisan coffee promotion
Monochrome fashion campaign
Gaming launch announcement
Natural fruit brand advertisement
Construction contractor email
Minimal fashion editorial post
Warm coffee shop promotion
Modern coffee branding post
Marketing mistakes carousel, page 1
Type history carousel, page 4
Coffee shop opening hours story
Luxury runway story
Corporate business invitation

How it works

From a design file to a production pipeline in an afternoon.

No headless browser to babysit, no HTML rebuild of a layout that already exists, no design queue between your data and your assets.

  1. 01Editor

    Design it once

    Open a template or build your own in the Pixy editor. Give the elements you plan to change a name you will recognise later — the headline, the product shot, the badge.

  2. 02IDs

    Copy the IDs

    Every design has a designId, and every element inside it has its own id. Copy them straight out of the editor. That is the whole integration surface.

  3. 03POST /generate

    Send modifications

    POST an array of modifications — text, src, fill, stroke — against the design. One request, one element or fifty, in whatever order your data arrives.

  4. 04PNG · JPEG · PDF

    Get files back

    Pixy renders the design with your changes applied and returns the finished files. PNG, JPEG or PDF, at the size the design was built at.

Your rowsheadline · src
  • Autumn drop is livelinen-set.jpg
  • La collection d’automneroast-02.jpg
  • Nur dieses Wochenendenight-city.jpg
  • Solo este fin de semanaharvest-04.jpg
generate
New in

Autumn drop is live

variant-01PNG
The whole installnpm install @pixy-art/sdkRead the quickstart

The roster

On shift

Six jobs.
One template each.

Every card below is a real Pixy template, made once and wired to a field in your data. They share a brand, a type scale and a set of rules a designer approved — and they never need that designer again to change a headline.

  • Warm coffee shop promotionModern coffee branding postvar 1/2

    Social posts

    Branded posts and ads

    text + src

    One layout, one row of campaign data, every variant your paid team wants to test this week.

  • Fresh produce campaign headerNatural fruit brand advertisementvar 1/2

    Campaign ads

    Seasonal and promotional

    text + fill

    Same grid, new offer, new palette. The pricing changes at 9am and the creative changes with it.

  • Coffee shop opening hours storyLuxury runway storyvar 1/2

    Stories

    Vertical, for every channel

    text + src

    Opening hours, a drop, a countdown. Rendered at 1080 × 1920 without anyone resizing anything.

  • Artisan coffee promotionHealthy habits promotionvar 1/2

    Email headers

    Visuals for campaigns

    text + fill

    Localise the header for eleven markets without opening eleven files.

  • Luxury lipstick promotionMinimalist chair product emailvar 1/2

    Product promos

    Straight from the catalogue

    src + text

    Point the image element at the new product shot. Pixy centre-crops it to the frame the designer drew.

  • Marketing mistakes carousel, page 1Type history carousel, page 4var 1/2

    Carousels

    Multi-page, one template

    text per page

    Page one to page five from an array. The layout holds; only the copy moves.

Browse 1,500+ templates

Or start from a blank canvas, 100–2000px on either side

Try it · nothing to sign up for

Don’t read about it.
Change something.

These are the four fields the API can modify, wired to a real design. Edit any of them and watch the canvas repaint — then take the request it wrote for you and run it against your own template.

textTitle element
textBadge element
fillHex value
srcImage element
formatExport option
Preview · render 11080 × 1080 · PNG
New in

Autumn drop is live

design_id · png

Drawn in your browser so you can play with it instantly. The real call returns the same design as a downloadable file, rendered by Pixy — not a screenshot of a web page.

playground.ts
const image = await pixy.generate(DESIGN_ID, [  {    id: TITLE_ID,    text: "Autumn drop is live",  },  {    id: BADGE_ID,    text: "New in",    fill: "#6c3bf0",  },  {    id: IMAGE_ID,    src: "https://cdn.example.com/linen-set.jpg",  },], { format: "png" })

What you can change

Four fields. That’s the entire API.

No template language, no CSS to keep in sync with a design file, nothing to learn on a Friday afternoon. You address an element by its id and set what it should say, show, or be coloured.

  • text

    Text elements

    Swap the copy. Styling and position survive; the box reflows unless the element is set to autofit.

    New season drop
  • src

    Image elements

    Point at any public URL. The new image is scaled to fill the original frame and centre-cropped, so the layout never shifts.

  • fill

    Text, shapes, SVG

    Recolour a headline, a badge or a background from a hex value your own data supplies.

  • stroke

    Text, images, shapes

    Change an outline colour. Visible wherever the element already carries a stroke width above zero.

What comes back

  • PNG

    High-quality image exports

    1 credit / page
  • JPEG

    Compact image exports

    1 credit / page
  • PDF

    Shareable document exports

    1 credit

Canvas

1002000px

on either side, at whatever aspect your design needs — a story, a wide banner, an A4 document. Type and kerning render exactly as they do in the editor, because it is the same renderer.

Full field reference

Whitelabel

Put the editor inside your product.

Your users make graphics without leaving your app. Your logo in the corner, your accent colour on the buttons, only the panels you want them to have — and on Scale, no mention of Pixy anywhere in it.

Your logo
Drop your wordmark into the editor chrome so it reads as part of your product, not as a tool you rented.
Your colour
One hex value repaints the buttons, accents and interface details to match your brand.
Your sidebar
Turn the eight panels on or off — templates, text, images, elements, draw, uploads, brand kit, background.
Your exits
Choose the export formats users can leave with, the save button label, and whether it opens inline or as a modal.
AAcme Studio
Save to Acme
  • Templates
  • Text
  • Images
  • Elements
  • Draw
  • Uploads
  • Brand kit
  • Background
Modern coffee branding postMonochrome fashion campaignFresh produce campaign header

Your users’ design

ExportsPNGJPEGPDFBranding off
Worked example · not live traffic

A day’s work, if the
design queue didn’t exist.

Every row is one request against one template. Nobody opened a design file, and nobody waited for a designer to come back from lunch.

  • Autumn drop — story
    PNG · text

    Headline swapped for 14 locales. One request per row of the sheet.

    820ms
  • Invoice — EU
    PDF · text

    Line items and totals filled from the billing webhook.

    1.1s
  • Product card — 1080²
    JPEG · src

    Image element repointed at the new catalogue shot, centre-cropped to frame.

    640ms
  • Blog cover — wide
    PNG · fill

    Badge recoloured to the category hex the CMS sent through.

    590ms
  • Certificate — cohort 12
    PDF · text

    Name, date and course rendered the moment the course was completed.

    930ms

Sample data on a loop, written to show the shape of a workload. Not a live feed.

Why Pixy

The honest comparison.

Two other ways to get a thousand on-brand images. Both work. Here is what each one costs you.

Pixy compared with designing by hand and with headless-browser screenshots
ApproachBy handHeadless screenshotsPixy
Time to the 200th variantDaysHours of CSSOne loop
Who makes a copy changeA designerA front-end devWhoever owns the data
What you maintainA file per variantAn HTML clone of the designOne template
Typography and kerningExactBrowser-dependentExact
PDF outputManual exportExtra plumbingA format flag
Non-technical editingYesNoYes — same editor

Modifications

Examples to modify images from code.

Here are some quick examples on how to get started to auto-generate images. Read our API docs for full understanding on modifications.

01

Replace text

Text changes keep the original text element’s styling and position. The text box can resize based on the new content, unless that text element is using “autofit” behavior.

example-01.ts
const image = await pixy.generate(DESIGN_ID, [  {    id: TITLE_ID,    text: "New season drop",  },])
02

Replace image source

Replacement images are always scaled to fill the original image element’s size. If the new image has a different aspect ratio, Pixy keeps the center of the new image in view and crops the outer edges as needed so the layout stays aligned.

example-02.ts
const image = await pixy.generate(DESIGN_ID, [  {    id: IMAGE_ID,    src: "https://example.com/cover.jpg",  },])
03

Multiple changes on the same element

You can send multiple supported fields for one element in the same modification object when they apply to that element type.

example-03.ts
const image = await pixy.generate(DESIGN_ID, [  {    id: TITLE_ID,    text: "New season drop",    fill: "#111827",    stroke: "#ffffff",  },])
04

Multiple changes on different elements

One request can update multiple elements at once by sending multiple modification objects, each with its own element id.

example-04.ts
const image = await pixy.generate(DESIGN_ID, [  {    id: TITLE_ID,    text: "New season drop",    fill: "#111827",    stroke: "#ffffff",  },  {    id: IMAGE_ID,    src: "https://example.com/cover.jpg",  },  {    id: ELEMENT_ID,    fill: "#111827",  },])

Automations

One call today. No-code next.

The API is live now and does everything on this page. The connectors below are on the roadmap — listed here so you can see where this is going, marked so you don’t plan a launch around one.

  • API

    Live

    In-house

    Generate images at scale with full control. REST, bearer auth, or the official TypeScript SDK.

    Explore automation docs
  • Zapier

    Coming soon

    External

    Automate image generation across your tools with no code in between.

  • Airtable

    Coming soon

    External

    Manage the copy and the assets in a base, and generate straight from your rows.

  • n8n

    Coming soon

    External

    Build self-hosted workflows that generate and process images at volume.

  • Make.com

    Coming soon

    External

    Design visual scenarios for bulk creative production.

Pricing

Pricing for teams shipping design.

Start on Free with 20 credits — no card required.

  • Starter

    For solo creators getting started with regular usage.

    $49/ month

    Get started

    What’s included

    Members
    1
    Credits
    1,000 / month
    Overages
    $0.03 / credit
    API
    Embed
  • Growth

    Popular

    For growing teams with active API and embed usage.

    $149/ month

    Get started

    What’s included

    Members
    3
    Credits
    10,000 / month
    Overages
    $0.02 / credit
    API
    Embed
  • Scale

    For high-volume teams that need the embeddable Pixy image editor.

    $299/ month

    Book a demo

    What’s included

    Members
    10
    Credits
    50,000 / month
    Overages
    $0.01 / credit
    API
    Embed

Image exports cost 1 credit per page · PDF costs 1 credit

FAQ

The questions we get most.

Email

support@pixy.art

Something here not covered? Write to us — a person answers.

What can I generate with Pixy?

Repeatable assets built on reusable templates: social graphics, blog banners, ads, email headers, product promos, invoices, shipping labels, certificates, and any other branded visual you would otherwise make one at a time.

Do I have to rebuild my design in code?

No. That is the point. The design stays a design — you build it in the Pixy editor, and the API changes named elements inside it. Nothing about your layout is reimplemented as HTML, so nothing about it can render differently on a different machine.

Does every plan include API access?

API access is included on Starter, Growth and Scale. Free is for designing from templates and exploring the editor. What changes between the paid plans is credits, seats and whether the embeddable editor is included.

Which plan includes embed?

Embed is on Growth and Scale. Scale is the plan for teams putting the editor inside their own product, because it is the one that removes Pixy branding from the embedded experience.

How do credits and overages work?

Each plan carries a monthly credit allowance. Image exports cost one credit per page and a PDF costs one credit. Go past the allowance and the extra usage bills at your plan’s overage rate rather than stopping mid-campaign.

Can I use my own templates and brand rules?

Yes. Pixy is built around reusable templates and brand-safe controls, so the layout, type and spacing a designer approved are the ones every generated asset uses.

Start here

Make the template.
Let the code make the rest.

Free plan, 20 credits, no card. Build a design, copy its id, and send your first modification before this tab goes cold.

1,500+ templates · PNG · JPEG · PDF · EU-hosted