The core innovation

Create the document once.
Generate it forever.

Use AI to draft templates from prompts, screenshots, reference PDFs, HTML, or sample JSON. Map fields visually. Publish a reusable template. Call it from your API.

docujson.comtemplate-builder
Live demo
1
Input
Drop a screenshot
or paste a prompt below
“An invoice with our logo, line items, and a payment note at the bottom.”
2
Map & preview
customer.name header
line_items[] table
3
Generate
POST /v1/generate
{
templateId: 'custom_invoice_v1',
data: { ... }
}
→ 200 OK
{ pdfUrl: ... }
Template live · v1
Works with:
Prompt
Screenshot
Reference PDF
HTML
Sample JSON
What it does

From prompt to production,
in minutes.

Drafts from messy starting points

Start from a prompt, screenshot, PDF, HTML snippet, or sample JSON. The builder turns the reference into a template draft your team can review.

Maps real data

Connect JSON paths like customer.name, line_items[], totals.amount, and due_date to specific document regions.

Previews before publishing

Render sample data, check layout issues, test long fields, and confirm that mapped values land where they should.

Publishes to a workspace

Approved templates become available in the workspace you choose, with a stable templateId developers can call through the API.

How it works

Four steps to a reusable template.

01

Describe or upload the document

Bring the document you need: a prompt, a screenshot, an old PDF, a Figma export, HTML, or a rough sketch.

Drag & drop a reference
PNG, PDF, HTML, or paste a prompt
02

Add sample JSON

Use fake representative data. Do not submit PHI, secrets, or sensitive customer data while drafting templates.

{
"customer": { "name": "Acme" },
"total": 2450.00
}
03

Map the fields

Point each section of the document to the right object, array, field, total, date, or conditional value.

customer.nameheader
line_items[]table rows
totals.amountfooter
04

Publish the template

Once reviewed, publish it as a reusable API template and generate documents through POST /v1/generate.

# Published!
templateId: custom_invoice_v1
status: live
Ready to call via the API
Who it's for

Design and ship, in the same workspace.

For business users

Designers, ops, and founders

Own the look of your documents without filing an engineering ticket. Upload a screenshot, describe what you need, click publish.

  • No code required
  • Upload screenshots or reference PDFs
  • Visual field mapping
  • Preview with real sample data
For developers

Integrate once. Never rebuild.

Non-technical teams own the design. You get a stable templateId to call through the API. No redeploys when the design changes.

  • Stable templateId after publishing
  • Versioned releases
  • Works with your existing data shape
  • One endpoint — POST /v1/generate
Data boundary

The AI builder is a creation workflow — not your runtime.

Standard PDF generation uses published templates and structured payloads without requiring a model call. Builder inputs may be sent to an AI provider as described in the Privacy Policy and sub-processor list.

Use fake representative data when drafting templates. Do not submit PHI, secrets, or sensitive customer data during drafting.

Developer handoff

After publishing,
call it like any template.

Once your team publishes a custom template, developers call it exactly the same way they'd call a built-in. Same endpoint, same auth, stable templateId.

No redeploys when the design changes
Versioning so updates don't break integrations
One endpoint, any HTTP client
POST /v1/generate
{
  "templateId": "custom_invoice_v1",
  "data": {
    "customer": {
      "name": "Acme Studio"
    },
    "line_items": [
      { "description": "Design retainer", "quantity": 1, "unit_price": 2450 }
    ],
    "totals": {
      "amount": 2450
    }
  }
}
Review checklist

Before you publish.

A quick pass to catch the issues that bite in production.

  • 01
    Confirm each mapped field points to the right JSON path
  • 02
    Test repeating arrays
  • 03
    Test long names and addresses
  • 04
    Test missing optional fields
  • 05
    Remove sample data from the template
  • 06
    Preview the final document
  • 07
    Confirm the template should be available in that workspace

Make custom documents feel like product settings,
not engineering tickets.