AgentSlide is a Next.js app that generates presentation outputs from a text prompt using a streamed, multi-step AI pipeline.
It currently supports three creation modes:
- Slides: structured deck output with PPTX export and web presentation view
- Webpage: single-page HTML output
- Knowledge Graph: interactive graph HTML output
- Chat-based studio at
/studio - Real-time SSE pipeline progress
- Three generation modes with mode-specific pipeline tracking
- PPTX export for slide mode
- History browser with reload/delete
- Local file-based output persistence (
output/<uuid>)
npm install
cp .env.example .env.localSet at least:
GOOGLE_GENAI_API_KEY=your_api_key_hereGet API key: https://aistudio.google.com/apikey
npm run devOpen:
- Landing page:
http://localhost:3000/ - Studio:
http://localhost:3000/studio
Pipeline steps:
intakeplanningresearchgenerationassetsqarendering
Notes:
assetsincludes deterministic chart/table processing and image URL resolution.- PPTX rendering runs when output is not web-only.
Pipeline steps:
researchgeneration
Output: index.html served by /api/output-html?id=<pageId>.
Pipeline steps:
researchgenerationrendering
Output: index.html + graph-data.json.
POST /api/generate(slides, SSE)- Body:
{ prompt, theme?, approvedPlan? }
- Body:
POST /api/generate-webpage(webpage, SSE)- Body:
{ prompt }
- Body:
POST /api/generate-knowledge-graph(knowledge graph, SSE)- Body:
{ prompt, depth? }
- Body:
SSE events used by frontend:
progresscompleteerrorlog(slides route tracing)
GET /api/deck/[id]- validateddeck.jsonGET /api/export?id=<deckId>- PPTX downloadGET /api/output-html?id=<id>- HTML output viewGET /api/assets/[deckId]/[file]- image asset serving
GET /api/history- list saved outputsGET /api/history/[id]- load one saved outputDELETE /api/history/[id]- delete saved output directory
Each run is saved under output/<uuid>/.
Typical slide run:
deck.jsonmeta.jsontrace.jsonlpresentation.pptx(when generated)assets/*(image files/refs as applicable)
Typical webpage run:
index.htmlmeta.json
Typical knowledge graph run:
index.htmlgraph-data.jsonmeta.json
See .env.example for full list. Most commonly used:
GOOGLE_GENAI_API_KEY
GEMINI_MODELGEMINI_TEMPERATURE_INTAKEGEMINI_TEMPERATURE_PLANNINGGEMINI_TEMPERATURE_CONTENTGEMINI_TEMPERATURE_RESEARCHGEMINI_TEMPERATURE_COMPRESSIONGEMINI_MAX_RETRIES
SLIDEMAKER_IMAGE_PROVIDER(current effective provider: unsplash)UNSPLASH_ACCESS_KEY(optional; seeded picsum fallback when missing)SLIDEMAKER_IMAGE_STRICT
SLIDE_GENERATION_BATCH_SIZENEXT_PUBLIC_DEBUG_MODE
npm run dev
npm run build
npm run start
npm run typecheckapp/
api/
assets/[deckId]/[file]/route.ts
deck/[id]/route.ts
export/route.ts
generate/route.ts
generate-webpage/route.ts
generate-knowledge-graph/route.ts
history/route.ts
history/[id]/route.ts
output-html/route.ts
presentation/[id]/page.tsx
studio/page.tsx
lib/
agents/
renderers/
hooks/
schemas.ts
types.ts
components/
chat-interface.tsx
preview-panel.tsx
sidebar.tsx
output/
- Next.js 15 (App Router)
- React 19 + TypeScript
- Google Gemini via
@google/genai - Zod validation
- PptxGenJS
- Vega / Vega-Lite
- Framer Motion
MIT




