Publish
what your AI
wrote.
Send a link. Look professional. No dev required. Claude or ChatGPT writes the report. my-site.io gives you the URL to share with your client.
Paste report.
Get URL.
Send link.
Your AI drafts a proposal, analysis, or report in HTML. Your agent calls my-site.io. A stable public URL comes back. You paste it into Slack, email, or your client deck. No deploy pipeline. No Vercel. No Google Doc.
json-render.
Skip raw HTML entirely. Send a JSON spec and let the server render it to a sanitized page. Allowlisted tags only, no scripts, no iframes, no event handlers. Guardrails-first, built for LLMs that generate structured output.
{ "root": "r", "elements": { "r": { "type": "Card", "children": ["h", "b"] }, "h": { "type": "h1", "text": "Q1 report" }, "b": { "type": "p", "text": "Revenue up 23%." } } }
Upload once.
Reuse
everywhere.
Host binary assets once, then reference their returned URLs inside artifact HTML, hosted apps, and datasets. No duplicate uploads. No Base64 in your payloads. Stable public links that stay put.
curl -X POST https://adjoining-bison-868.convex.site /v1/images \ -H "Authorization: Bearer your_artifact_api_key" \ -H "Content-Type: image/png" \ --data-binary @./hero.png # response { "id": "img12345", "url": "https://adjoining-bison-868.convex.site /i/img12345", "contentType": "image/png", "size": 182734 }
Every hosted asset gets an immutable ID and a stable public URL. Compose them inside artifact HTML, hosted apps, markdown, or anywhere a URL goes.
Numbers.
Not promises.
Serverless edge. Global region routing. Sub-50ms deploys at p99. Measured from accepted request to live URL.
Multi-page
apps.
Beyond single pages. Define routes, layouts, metadata, and hosted image references in one JSON spec. Server-rendered on Vercel with 36 shadcn/ui components.
Define /, /about, /products/[slug]. Each route is a server-rendered page with its own metadata.
36 pre-built shadcn/ui primitives: Card, Table, Tabs, Accordion, Button, Badge, Progress, Form. Zero CSS needed.
Fetch the system prompt at /v1/apps/catalog/prompt and JSON schema at /v1/apps/catalog/schema. Feed them to any LLM.
curl -X POST https://adjoining-bison-868.convex.site /v1/apps \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "routes": { "/": { "page": { ... } }, "/about": { "page": { ... } } } }'
Two tiers.
No ceremony.
Start free. Upgrade when you want to keep artifacts past 24 hours. No per-seat pricing, no enterprise tier, no sales call.
Free
- —3 active artifacts
- —24-hour artifact expiry
- —60 API requests/min
- —All artifact types: HTML · JSON · Image · CSV · Dataset · App
Pro
- —Unlimited active artifacts
- —No automatic expiry
- —120 API requests/min
- —Priority support