Features
Three engines and the thing that joins them
Posters, video and screenshots share one template model, one credit balance and one API. Workflows chain them together and run the result on a schedule.
Poster & image engine
Posters that match your design exactly
Designs render in headless Chrome with the same markup the editor previews, so there is no second rendering path to drift out of sync. Sub-second, and the CDN URL comes back in the response.
Real typography
Google Fonts and your own files, shaped by Chrome — correct kerning, wrapping, line clamping, and Indic, CJK and emoji by default.
Gradients and effects
Linear and radial fills, gradient-filled text, shadows, strokes, blend modes and image filters.
Every layer type
Text, images, shapes, SVG, charts, tables, QR and barcodes — positioned, rotated and masked.
Any output
PNG, JPEG, WebP and print-ready PDF at up to 3× scale, with optional auto-trim to content.
curl -X POST https://pixbix.app/api/v1/render \
-H "x-api-key: pk_live_…" \
-d '{
"templateId": "offer-poster",
"values": {
"headline": "Diwali Sale",
"offer": "50% off",
"product": "https://cdn.lumen.co/lmp-2214.jpg"
},
"output": { "format": "png", "scale": 2 }
}'Video engine
A real timeline, rendered in the cloud
Describe the edit as JSON — tracks, clips, assets, transitions, output. The engine composites and encodes it, then calls you back with a signed webhook.
The edit format follows the standard timeline shape, so an edit written for a comparable video API is already a valid pixbix edit. Repoint the base URL and your existing JSON keeps working.
Timeline composition
Tracks and clips on a seconds-based timeline. Layer video, images, text, shapes, Lottie and captions.
Transitions and motion
Fade, slide, wipe, carousel, shuffle and zoom, plus Ken Burns effects and full keyframe animation.
Clip control
Trim, speed, crop, chroma key, opacity, blend modes and per-clip masks with feathered edges.
Audio and captions
Soundtrack with ducking, per-clip volume, loudness normalisation — and word-timed captions from a voice-over.
{
"timeline": {
"soundtrack": { "src": "https://…/bed.mp3", "effect": "fadeInFadeOut" },
"tracks": [
{ "clips": [{
"asset": { "type": "text", "text": "{{HEADLINE}}" },
"start": 0.4, "length": 5,
"transition": { "in": "slideUp", "out": "fade" }
}]},
{ "clips": [{
"asset": { "type": "video", "src": "https://…/clip.mp4" },
"start": 0, "length": 6, "fit": "cover", "effect": "zoomInSlow"
}]}
]
},
"output": { "format": "mp4", "resolution": "fhd", "fps": 30 }
}Screenshot API
Capture any URL, or raw HTML you send
The same real browser that renders templates. The things that usually break in screenshot services — web fonts, lazy-loaded images, content behind a cookie banner — simply work.
A preset is a named set of capture options stored in your workspace. The person who knows a site needs #intercom-container hidden is rarely the person who owns the cron job — edit the preset once and every job that names it picks the change up.
Real headless Chrome
Not an HTML-to-image approximation. Web fonts, CSS grid, container queries, canvas, SVG and shadow DOM all render as a browser shows them.
Full page or one element
Capture the whole scroll height, a device viewport, or a single element by CSS selector.
Clean captures
Dismiss cookie banners, hide selectors, set cookies and headers, and wait for the network to settle first.
Presets and caching
Save the whole recipe under a name and capture by naming it. Identical repeat captures are served from cache and cost nothing.
curl -X POST https://pixbix.app/api/v1/screenshot \
-H "x-api-key: pk_live_…" \
-d '{
"url": "https://acme.in/pricing",
"format": "png",
"fullPage": true,
"scale": 2,
"viewport": { "width": 1440, "height": 900 },
"blockCookieBanners": true,
"hideSelectors": ["#intercom-container"],
"waitUntil": "networkidle2"
}'Workflows
Chain all three, and let it run at 3am
Every part of this is already an API call: read a spreadsheet, capture a URL, render a template, push the result somewhere. A workflow is that glue — stored as data and run by us, so there is no cron box of your own to keep alive.
Source
source.sheet · source.http · source.list · contacts
Shape
filter · map · limit · dedupe · route · delay
Work
screenshot.url · render.template · http.request · audio.voiceover · captions.generate
Deliver
deliver.webhook · deliver.sheet · deliver.drive · deliver.whatsapp · deliver.email
One bad row is counted, logged with its row number and dropped — the other 4,181 keep going. There is no approval step by design: a workflow that can block on a person is one that stops silently at 3am and is found on Friday.
On a schedule
A cron you set, at minute resolution. The builder previews the next five fire times before you switch it on.
On an event
The same events webhooks deliver — render.completed, render.failed and the rest. A workflow never reacts to a render it produced, so it cannot loop.
From a URL
A private hook any other system can POST to — a Shopify webhook, a Zapier action, a step in your deploy pipeline.
// Every string in a step is a template.
"{{item.Name}}"
"{{item.Price | multiply: 1.18 | round: 2 | currency}}"
"{{now | date: 'DD MMM YYYY'}}"
"{{trigger.payload.order.id}}"Template studio
Decide exactly what can change
A template is a design plus a field schema. The design is locked; the fields are the contract you expose to the API, the app and your team.
20+ field types
- Text, long text, rich text
- Number, slider, toggle
- Select and multi-select
- Colour and gradient
- Image, video, audio, Lottie
- Date, URL, email, phone
- JSON, chart, table, QR
Bindings, not just swaps
- Target any property path
- Drive font size from a slider
- Retime a clip from a field
- Value transforms and scaling
- Skip-if-empty behaviour
- One field, many targets
Authoring controls
- Grouped editor panels
- Conditional visibility rules
- Validation and defaults
- Editor-only or API-only fields
- Versioning with rollback
- Private or public
Mobile app
Creative that ships from the field
The people who need a poster most are rarely at a desk. The app puts your published templates in their pocket — they fill in the fields, preview live, and export or share straight from the phone.
- Android and iOS
- Live preview while editing
- Save to gallery or share
- Offline drafts
- Same credits and templates
- WhatsApp OTP sign-in
Headline
Diwali Sale
Offer
50% off
Price
₹1,249
Platform
Production concerns, already solved
The parts you would otherwise build before this could face a customer.
Teams and roles
Owner, admin, billing, editor and viewer, with invitations and ownership transfer. Nobody can grant a role above their own.
Scoped API keys
Per-key scopes, IP allowlists and expiry. Test keys render for free and always watermark.
Signed webhooks
HMAC over timestamp and body, retried with backoff, auto-disabled when an endpoint stays dead.
Predictable credits
Priced from the request before it runs. Held on submit, settled on success, refunded on failure.
Media library
Upload once, reuse everywhere. Probed for dimensions and duration, with storage counted against your plan.
Idempotency
Send an Idempotency-Key and a retried request returns the original render instead of billing twice.
Or read the API reference first.