Stop talking to an audience. Talk to each person.

Document infrastructure for the age of agents.

Your agent designs the document and fills it with your data. You review and approve. Composa generates one, or a million.

Join the beta

*Open to beta testers only, for now.

Works with Claude, Claude Code, Codex, Cursor and VS Code, or any MCP client.

Real renders, sped up: an agent builds it through the MCP, then one call prints it for six clients.
Slide presentation
Slide presentation
YouTube thumbnail
YouTube thumbnail
Corporate report
Corporate report
Boarding pass
Boarding pass
Instagram post
Instagram post
Bank statement
Bank statement
Concert ticket
Concert ticket
Certificate
Certificate
Instagram story
Instagram story
Invoice
Invoice
Shipping label
Shipping label
Restaurant menu
Restaurant menu
Bank slip (Brazil)
Bank slip (Brazil)
Event badge
Event badge

Anything printable.

You dream it. We render it. Effortlessly.

Every page below was made in Composa by AI agents. No human touched it.(but you could)

Sample data: every name, company, number and code in these documents is made up. Click any of them to open it.

Your agent drafts.
You have the final say.

When something needs your eye, open the document and change it directly.

Open the editor →

Text and styles

Named styles. Change one and the whole document follows.

Tables from spreadsheets

Paste a spreadsheet. Negative numbers turn red on their own.

Charts

Line, bar, area and donut, drawn from each customer's data.

QR codes and barcodes

For payments or tracking, with a different code on every document.

Variables

Mark what changes from one customer to the next: name, amount, photo, even color. The rest stays the same.

Active variables

Some fields fill themselves: a sum, a rule, a sentence or a decision written by AI from each customer's data.

Live, together

Your team and the agent in the same file, at the same time.

Publishing keeps versions

Every publish is kept. Going back is one click.

Go global.
One file, every language.

Your agent writes each language into the same file. Every customer gets the document in theirs: one call, one parameter.

+ many other languageslanguage: "en"

Hundreds. Thousands. Millions.
Each one personal.

For everyone who speaks to a crowd one person at a time. One design, printed for every customer, branch or student with their own data: analysts bring the numbers, engineers wire them in, designers own the page.

▦ branches_q3.csv

branchrevenuevs plan
Lisbon Chiado€4.93M+5.9%
Porto Santa Catarina€3.43M-3.2%
São Paulo Oscar Freire€6.25M+9.4%
Madrid Serrano€4.44M-0.1%
Berlin Kurfürstendamm€2.59M-6.6%
… plus weekly sales, category mix, notes and departments per branch
composa

One template. One row per branch. Five briefings, each with its own numbers, charts and story.

Click to open all 5 briefings ↗

Measured in production · Sep 30, 2026

Delivered in milliseconds.¹
Our API can take it.

Server time per report
33–119 ms
of server time per 8-page report, in calls of 100 different reports.
Calls at once
2,500 calls
sent at the same instant, every one answered, with no errors or timeouts.

Integrate with no-code or AI.

No plugin to install. Composa speaks plain HTTP and MCP, so the tools you already build with can print with it.

No-code platforms

One HTTP step in your flow.

  • n8n logon8n
  • Make logoMake
  • Zapier logoZapier
  • Bubble logoBubble
  • Airtable logoAirtable

Add an HTTP request to your automation or app, send the row, get the document back. Your API key goes in the header.

POST /api/v1/run

Read the API docs →

Vibe coding tools

Your AI builds it with you.

  • Claude logoClaude
  • Lovable logoLovable
  • Replit logoReplit
  • Cursor logoCursor
  • Codex logoCodex

Connect the ones that support MCP and they design in Composa directly. Any of them can also write the API call into the app you are building.

https://mcp.composa.dev/mcp

Read the MCP docs →

Composa connects to these tools through its public API and MCP; there is no official partnership or marketplace app. Names and logos belong to their owners. The API and the MCP are open to beta testers only, for now.

Private by default.

The data you send to print a published template is used for that alone, and not kept. Only your team can see your projects.

For teams · the API

Your customers' data

  1. 1 · Your call
  2. 2 · Printed
  3. 3 · File sent back
  4. 4 · Data dropped
  • Data sent to print is not stored.The data in each call to POST /api/v1/run, the API that prints your published templates, is not saved. The file comes back in the response.
  • Keys are kept as a hash.We show each API key once. After that, not even we can read it.
  • No AI of ours reads it.On the API and the MCP, our servers send your documents to no AI service. Only the agent you connect reads them.

For you · the editor

Your documents

  1. 1 · Your team's project
  2. 2 · Someone else asks
  3. 3 · Not found
  • Private to your team.No one outside your team can open your projects.
  • Yours to delete.A deleted project is erased after 30 days, with its pictures and versions.
  • Download links expire.A file your agent prints comes as a link only you get, and it stops working after one hour.

We don’t lock you in.
PDF. PNG. SVG.

Every document downloads in all three, from the same design. Pick the file for where it's going. Below: one real post, three real files.

PDF

For print, email and the archive.

  • Vector text and shapes, made for print
  • Text stays selectable and searchable
  • Fonts travel inside the file
↓ Download .pdf 25 KB
The Caju Store post as a PNGZoom in: pixels

PNG

For social posts, chat and slides.

  • Goes straight to Instagram, WhatsApp or LinkedIn
  • Drops into any slide, email or CMS
  • Opens anywhere, nothing to install
↓ Download .png 69 KB · 918 px
The Caju Store post as an SVGZoom in: still sharp

SVG

For websites and apps.

  • Vector: stays sharp as you zoom in
  • Light enough for a web page
  • Sits in your code; style and scale it like any element
↓ Download .svg 63 KB

Your first document ready in minutes, delivered in milliseconds.¹

Join the beta

*Open to beta testers only, for now.