an ai slide studio · live in your browser

Say it.
See the slides.

Describe the deck you want. Beem agrees a look and an outline with you, then writes real, editable slides on a 1920×1080 canvas — page by page, while you watch. Nothing to install.

a real deck · rendered live
beem studio · getting started
v1

Say it.
See the slides.

Describe a deck in one sentence. Beem proposes a style, then an outline — and once you've approved both, real editable pages land in your workspace.

01 describe02 style03 outline04 edit05 present

Describe it once.
Beem writes the deck.

describe → approve → watch ↻
  1. 01describe

    Say what you’re presenting

    One line in the command bar — a Series A pitch, a quarterly review, an onboarding deck. Attach a PDF, a doc or an image and Beem reads it before it starts.

    A 10-slide Series A pitch deck
    autofastmax
  2. 02approve

    Beem checks in twice

    It proposes a visual style, then a page-by-page outline. Nothing gets written until you have said yes to both, so a deck never runs off in the wrong direction.

    ?Use this style, then this outline?
    ✓ style · ✓ outline · 10 pages
  3. 03watch

    Pages land as they’re written

    Beem works in your own cloud workspace and each page appears the moment it renders. Leave the tab if you like — progress waits for you in the sidebar.

    6 / 10 pages on disk
    live preview

Your own agent.
Not somebody’s plugin.

ask beem · ⌘i
Ask BeemHistory
Make the pricing page less busy — one idea per column
Slide: pricing · p.4
Thinking

Four columns each carrying a heading, a price, five bullets and a button. Cutting to one claim per column and letting the price sit alone should do it.

Reading slidepricing/index.tsxEditing slide1 patch · 1.2 KB
Sharpen the headline on this pageAuto
built in · not bolted on

The agent is part of the product.

No plugin to install, no API key to paste. Beem reads your deck, edits the code and re-renders it — and every step shows up in the panel as it happens.

scope · attachments

Point it at exactly one page.

Ask about the whole deck, or narrow it to the page you are looking at. Drop in an image, a PDF, a markdown file or plain notes and Beem reads them first.

auto · fast · max

You pick the engine.

Auto reads the task and chooses for you. Fast for a quick draft, Max for a deck that has to land. The model provider is yours to pick too.

Every pixel is yours.
Click it and change it.

inspector · two ways
01do it yourself

Point at it. Change it. Keep it.

Toggle inspect and click any element. Change the words, the font, the weight, the colour — or swap and crop the image, right on the canvas. Edits buffer until you hit Save, so a whole batch lands as one write.

cover
Q2 Launch
Where the quarter landed, what moved it.
1 unsaved changeDiscardSave
Inspect<h1>
ContentQ2 Launch
Typography
Size
88px
Weight
Semibold · 600
Style
Color
Text
#D56B48
02hand it to beem

Say what’s wrong. Beem fixes it.

Click a block and leave a note in plain words. Collect a few across the deck, then hit Apply all — Beem reads them, rewrites the pages and clears the notes. No terminal, no slash commands.

cover
Q2 Launch
Where the quarter landed, what moved it, and what we do next.
1 comment
line 58
make this title the accent colour
Apply all (1)
1

Every image you need.
None of the hunting.

assets · powered by svgl ↗
studio.beem-ai.dev · assets
SlidesAssets
Upload
claude.svg
3.4 KB
codex-dark.svg
2.1 KB
gemini.svg
4.0 KB
cursor-dark.svg
5.2 KB
cloudflare.svg
6.8 KB
zeabur-dark.svgzeabur-light.svg
4.7 KB
Search svgl
vercel
Vercel
Vercel
Cloudflare
Cloudflare
Zeabur
Zeabur
upload · organise · swap

Drop it on the canvas.

Photos, screenshots, a chart you exported five minutes ago — let go of the file and it is part of the deck. The pane keeps the pile tidy afterwards, and Beem can reach for anything in it by name.

brand marks · via svgl

Search once, take the SVG.

The svgl catalogue is wired into the pane. Type a company name, take the mark — light and dark cuts arrive together, already vector.

Then go present it.
Wherever you are.

present · export · anywhere
01present

A presenter console, not a slideshow

Current page and what is coming next, your speaker notes, a timer, a laser pointer and an overview grid. Drag the deck onto the projector and keep the console on your laptop.

OBLP?
02export

PDF, or a single HTML file

Print-quality PDF for sending on, or a self-contained HTML bundle that opens straight from a folder — no server, no runtime, nothing to keep alive.

deck.pdfdeck.html
03anywhere

The whole studio on a phone

Describe a deck, browse what you have, open one and present it — from a phone. Hold to talk if typing on the train is a nuisance.

touchvoice input
04five languages

Including right-to-left

English, 简体中文, 繁體中文, 日本語 and العربية — Arabic flips the whole interface to right-to-left, not just the text.

EN中文日本語عربي
for developers

Rather drive it yourself?
It’s a framework too.

Beem Slide is a React slide framework before it is a studio. Scaffold a project, point your own agent at it, and author the same 1920×1080 slides on your own disk.

Read the docs
Your files, your git
Slides are .tsx files in your repo. Diff them, review them, revert them — the same way you handle the rest of your code.
The same runtime
Inspector, design tokens, present mode, PDF and HTML export all run locally. The studio is this, hosted.
Any agent that writes React
Ships skills your agent can call — /create-slide, /apply-comments, /create-theme — and no lock-in to ours.
Terminal and MCP, same cloud
beem push uploads a deck, beem publish gives it a public link — from your shell or a GitHub Action. beem mcp install wires the toolset into Claude Code, Codex, Cursor and any other MCP client.

One page, one file.
Open it and it’s React.

slides/opening/index.tsx
tsx · 16 lines
import type { Page } from '@beem-slide/core';
 
const ACCENT = '#d56b48';
const WORD = 'deck';
const SUBTITLE = 'Rendered live, straight from the file.';
 
const Opening: Page = () => (
<div style={{ background: '#101014', color: '#f4f2ee' }}>
<h1 style={{ fontSize: 188, letterSpacing: '-0.04em' }}>
See the <em style={{ color: ACCENT }}>{WORD}</em>.
</h1>
<p>{SUBTITLE}</p>
</div>
);
 
export default [Opening] satisfies Page[];
rendered outputlive
beem-slide · 012026

See the deck.

Rendered live, straight from the file.

opening001 / 001
Already have an agent?if it can write a tsx file, it can write a deck
CursorCursorClaudeClaudeWindsurfWindsurfCodexCodexZedZedGemini CLIGemini CLIOpenCodeOpenCodeCursorCursorClaudeClaudeWindsurfWindsurfCodexCodexZedZedGemini CLIGemini CLIOpenCodeOpenCode

Start from a sentence.
Or start from a repo.

Two ways in. Both land the same thing — pages you can open in an editor.

in the browser

Describe the deck in plain words. Beem agrees a style and an outline with you, then writes it page by page while you watch. Nothing to install.

in your terminal

Scaffold a project with one command, then point your own agent at it — Claude, Codex, Cursor — and the pages land on your disk.