One API. Every graphic.
Render passes, certificates, receipts, review cards and flyers from your data — no headless browser, no design queue.
Live request
See a real render
1curl -X POST https://core.drawtab.app/api/v1/render \_2 -H "Authorization: Bearer dt_live_••••••••••••"_ \3 -H "Content-Type: application/json"_ \4 -d '{5 "canvas"_: { "width"_: 1200_, "height"_: 630_, "backgroundColor"_: "__CMT__#090d16"_ },__END__6 "format"_: "png"_,7 "quality"_: 90_,8 "responseType"_: "json"_,9 "layers"_: [10 {11 "type"_: "image"_,12 "x"_: 60_, "y"_: 60_, "width"_: 100_, "height"_: 100_,13 "url"_: "https:__CMT__//images.unsplash.com/photo-__NUM__1494790108377_-be9c29b29330?w=400_&auto=format&fit=crop&q=80_"__END__,__END__14 "mask"_: "circle"_15 },16 {17 "type"_: "text"_,18 "x"_: 190_, "y"_: 75_, "width"_: 800_, "height"_: 45_,19 "text"_: "Sarah Chen"_,20 "fontFamily"_: "Inter"_,21 "fontSize"_: 38_,22 "fontWeight"_: "bold"_,23 "color"_: "__CMT__#ffffff"_,__END__24 "autoFit"_: true_25 },26 {27 "type"_: "text"_,28 "x"_: 190_, "y"_: 125_, "width"_: 800_, "height"_: 28_,29 "text"_: "Paystack · Keynote Speaker"_,30 "fontFamily"_: "Inter"_,31 "fontSize"_: 20_,32 "color"_: "__CMT__#94a3b8"___END__33 }34 ]35 }'{
"success": true,
"format": "png",
"width": 1200,
"height": 630,
"durationMs": 42.8,
"sizeBytes": 84210,
"dataUrl": "data:image/png;base64,iVBORw0KGgo..."
}Sarah Chen
Paystack · Keynote Speaker
Engine: 42.8ms
Illustrative output — the numbers update on every live call. Try it yourself with the interactive playground.
What you can ship
Real assets, from your data
One endpoint, every artifact. Open a workflow to see the data behind it.
The platform
Four services, one account
Render on demand, automate from a webhook, or let a designer own the layout.
Render API
One REST endpoint. Send JSON, get an image back — PNG, JPEG, WebP or AVIF, up to 8192 × 8192.
See the endpointPipeline webhooks
Drawtab verifies, normalizes and renders from your provider’s webhook — no glue service of your own.
How webhooks workDesign-first templates
A designer owns the layout once. Your code sends variables into named hotspots — no coordinates to maintain.
Render a templateNative integrations
Ready-made connectors for the tools you already use, plus one universal webhook for everything else.
Browse integrationsLive in minutes
Key to first render
Nothing to install. If your stack can make an HTTP request, it can render.
Create a free account
Sign up at workspace.drawtab.app. The Sandbox ships with 150 credits (~15 renders) and needs no credit card.
Generate an API key
Open Developers → API Keys. The secret (dt_live_…) is shown exactly once and stored only as a SHA-256 hash.
POST a render
Send JSON to /api/v1/render with your key. fetch, requests and curl all work — nothing to install.
Ship the image
Use the bytes directly, or JSON with durationMs, sizeBytes, per-stage timings and base64 when you need them.
Keys live in the workspace developer console. Hashed with SHA-256, shown once — keep it in a secret manager.
Built for production
Fast by architecture, not caching
No browser, no cold start. Every render runs the same way.
No cold start
Nothing to warm up. The first call of the day costs the same as the ten-thousandth.
Long names fit
Set autoFit: true and a 40-character name shrinks into its box instead of breaking your layout.
Masks and QR built in
Circle and squircle crops, vector QR codes, shadows and borders are layer types — not another vendor.
No SDK to install
It’s a JSON endpoint. fetch, requests or curl — whatever your stack already has.
Two ways to work
Code-first or design-first
Same endpoint, same engine. Pick what keeps your team moving.
Code-first
Own every pixel. Describe a canvas and an ordered list of layers.
- Full control of position, type, images, shapes and QR.
- autoFit, masks and shadows are built in.
- Deterministic JSON you can review and version.
{
"canvas"_: { "width"_: 1200_, "height"_: 630_ },
"layers"_: [ /* text, image, qrcode, shape */ ]
}Design-first
Let a designer own the layout. Your code only sends the data.
- Templates are built once in the studio.
- Send a template ID plus named variables.
- No coordinates to maintain as the design evolves.
{
"templateId"_: "tpl_83921"_,
"variables"_: { "attendee_name"_: "Sarah Chen"_ }
}Automation
The same engine, behind your webhooks
Point a provider’s webhook at the pipeline gateway. Drawtab verifies it and renders — no glue service of your own.
One gateway for every provider. Credentials and field mapping stay in your workspace, so the URL you hand out never changes.
HMAC signature
The payload is signed and verified before anything renders.
Authenticated fetch-back
The webhook is just a signal — Drawtab re-fetches the authoritative record.
Secret URL gate
An unguessable secret in the URL, rotatable from the dashboard.
Direct read
No inbound webhook: Drawtab reads new records and fingerprints each one.
The details
Everything technical lives in the docs
This page is the pitch. Schemas, scopes, error codes and SDK examples are in the docs.
Pricing
Credits, not seats
10 credits per render, charged only on success. Start with 150 free sandbox credits and scale when your product does.
- Charged only after a successful render
- 150 free sandbox credits, no card required
- Top-ups and subscription allowances in one balance
FAQ
Questions that come up first
Do I need an SDK?
No. It’s a JSON endpoint — call it with fetch, requests or curl. The docs have copy-paste examples.
What can I render?
Anything a template or layer list can describe: passes, certificates, review cards, milestones, flyers and social images — up to 8192 × 8192.
How does authentication work?
Create a key in the workspace developer console and send it as a bearer token. Keys are scoped, hashed at rest and revocable immediately.
What does a render cost?
10 credits, charged only after a successful render. Too low a balance is rejected before anything is drawn.
Where are the schemas and error codes?
In the API reference at docs.drawtab.app — the source of truth for request fields, responses, errors and rate limits.
Can I use my own templates?
Yes. Design one in the studio, render it by ID and pass variables into its named hotspots.
Are outbound webhooks available?
Not yet. Inbound pipeline webhooks are live; outbound events can be registered but aren’t dispatched.
Ship your first render in under a minute
Create a free account, grab an API key, send one request. 150 sandbox credits to start — no card required.