Introduction
Renza turns an HTML slide deck into a hosted document with presentation controls, sharing, comments, and version history. You can publish a deck made with any tool, generated with an AI assistant, or written by hand.
Your tools now generate work as HTML, the format models write best. A .pptx or .docx is a
binary object graph an agent can't open and rewrite; HTML is declarative text a model can hold in
its head and regenerate wholesale. Renza is where that HTML goes to live — not a repository, not a
chat window, but a document home with sharing, comments, versions, and the right people.
What Renza does
- Hosts your artifact as-is. Arbitrary HTML, served exactly as you made it. We never flatten your design into a template format.
- Understands the document. A deck is a sequence of slides, so Renza gives it present mode, keyboard navigation, thumbnails, and per-slide comments.
- Makes review frictionless. Reviewers drop comments anchored to a slide and resolve them — no account required. Feedback survives across versions.
- Permissions like Drive. A share dialog you already know: people, link access, and roles.
- Works with your tools. Publish from the CLI or integrate through the API and TypeScript SDK. Renza hosts the resulting document; it does not run a model or sell inference.
What Renza is not
- Not a generator. Renza hosts and manages the artifact after it has been created elsewhere.
- Not a closed format. We host arbitrary HTML, not a proprietary block format.
- Not an AI vendor. No models, no inference, no token metering — on any plan.
- Not tied to one authoring tool. The input is HTML and the publishing surfaces are documented.
Make your first deck
Get a key first — renza login pairs the CLI through your browser, or mint one in the dashboard.
See Authentication for the details. Then publish an HTML deck:
renza publish deck.htmlcurl https://api.renza.io/v1/imports \
-H "Authorization: Bearer $RENZA_API_KEY" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"source": "paste",
"html": "<!doctype html><section data-renza-slide>Slide 1</section>…",
"title": "Q3 Board Deck"
}'import { createRenzaClient } from "renza-sdk";
const renza = createRenzaClient({ apiKey: process.env.RENZA_API_KEY! });
const imported = await renza.imports.create({
source: "paste",
html: "<!doctype html><section data-renza-slide>Slide 1</section>…",
title: "Q3 Board Deck",
});All three do the same thing: renza publish is the porcelain over
POST /v1/imports — it finds your HTML, imports it as a deck, and
opens the live link. The full journey is in Import a deck.
Start here
- New to Renza? Read Core concepts to learn the vocabulary — decks, artifacts, slides, versions, grants.
- Have a deck to bring in? Follow the guides — import, sharing, present mode, comments and versions.
- Building on Renza? The CLI, API reference, and SDK cover the programmatic surface.