Productivity
prezentit
description: Generate beautiful AI-powered presentations instantly.
```skill
---
name: prezentit
description: Generate beautiful AI-powered presentations instantly. Create professional slides with custom themes, visual designs, and speaker notesβall through natural language commands.
homepage: https://prezentit.net
emoji: "π½"
metadata:
clawdbot:
emoji: "π½"
skillKey: prezentit
homepage: https://prezentit.net
requires:
config:
- PREZENTIT_API_KEY
config:
requiredEnv:
- name: PREZENTIT_API_KEY
description: Your Prezentit API key (starts with pk_). Get one free at https://prezentit.net/api-keys
example: |
export PREZENTIT_API_KEY=pk_your_api_key_here
permissions:
network:
- https://prezentit.net/api/v1/*
fileSystem: none
env:
reads:
- PREZENTIT_API_KEY
writes: none
---
# Prezentit - AI Presentation Generator
**Base URL**: `https://prezentit.net/api/v1`
**Auth Header**: `Authorization: Bearer {PREZENTIT_API_KEY}`
> **This skill requires a `PREZENTIT_API_KEY` environment variable.** Get a free API key at https://prezentit.net/api-keys β new accounts include 100 free credits.
## β οΈ CRITICAL FOR AI AGENTS
**ALWAYS use `"stream": false`** in generation requests! Without this, you get streaming responses that cause issues.
---
## Complete Workflow (FOLLOW THIS ORDER)
### Step 1: Check Credits First
```http
GET /api/v1/me/credits
Authorization: Bearer {PREZENTIT_API_KEY}
```
**Response:**
```json
{
"credits": 100,
"pricing": {
"outlinePerSlide": 5,
"designPerSlide": 10,
"estimatedCostPerSlide": 15
},
"_ai": {
"canGenerate": true,
"maxSlidesAffordable": 6,
"nextSteps": ["..."]
}
}
```
β If `_ai.canGenerate` is false, direct user to https://prezentit.net/buy-credits
β Use `_ai.maxSlidesAffordable` to know the limit
### Step 2: Choose a Theme
**Option A β Browse all available themes and pick by ID:**
```http
GET /api/v1/themes
Authorization: Bearer {PREZENTIT_API_KEY}
```
**Response:**
```json
{
"themes": [
{ "id": "corporate_blue", "name": "Corporate Blue", "category": "Corporate & Professional" },
{ "id": "nature_earth", "name": "Nature Earth", "category": "Nature & Organic" }
],
"categories": ["Corporate & Professional", "Creative & Visual", "Data & Analytics", ...],
"_ai": {
"totalThemes": 20,
"popularThemes": ["corporate_blue", "midnight_tech", "nature_earth", "storyteller", "data_dashboard"]
}
}
```
β Use the exact `id` value in your generation request
**Option B β Search for a theme by keyword:**
```http
GET /api/v1/themes?search=minimalist
Authorization: Bearer {PREZENTIT_API_KEY}
```
β Returns best matches ranked by relevance. Use the `id` from `bestMatch`.
**Option C β Describe a custom style (no theme ID needed):**
Use the `customDesignPrompt` parameter instead. See the Custom Design Prompt section below.
### Step 3: Generate Presentation
```http
POST /api/v1/presentations/generate
Authorization: Bearer {PREZENTIT_API_KEY}
Content-Type: application/json
{
"topic": "User's topic here",
"slideCount": 5,
"theme": "corporate_blue",
"stream": false
}
```
**β±οΈ IMPORTANT: Generation takes 1-3 minutes. The API will return when complete.**
**Full Request Parameters:**
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `topic` | string | Yes* | Presentation topic (2-500 chars). Required if no `outline`. `prompt` is also accepted as an alias. |
| `outline` | object | No | Pre-built outline (saves ~33% credits). See Outline section below. |
| `slideCount` | number | No | Number of slides (3-50, default: 5). Ignored if outline provided. |
| `theme` | string | No | Theme ID from `GET /api/v1/themes`. Use the exact `id` value. |
| `customDesignPrompt` | string | No | Custom visual style description (see below). Overrides theme ID. |
| `details` | string | No | Additional context about the presentation content. |
| `confirmPartial` | boolean | No | Set `true` to confirm partial generation when credits are limited. |
| `stream` | boolean | **ALWAYS false** | **AI agents must always set `stream: false`**. |
*`topic` is required even when providing an `outline` (used for presentation metadata).
### Step 4: Get the Result
**Success Response:**
```json
{
"presentationId": "uuid-here",
"viewUrl": "https://prezentit.net/view/abc123",
"creditsUsed": 75,
"remainingCredits": 25
}
```
β Share the `viewUrl` with the user. That's their presentation!
### Step 5: Download (Optional)
```http
GET /api/v1/presentations/{presentationId}/download?format=pptx
Authorization: Bearer {PREZENTIT_API_KEY}
```
**Formats:** `pptx` (PowerPoint), `pdf`, `json` (raw data)
---
## Pricing
| Scenario | Cost per Slide | Example (5 slides) |
|----------|----------------|-------------------|
| Auto-generate outline | 15 credits | 75 credits |
| Provide your own outline | 10 credits | 50 credits (~33% savings!) |
- New accounts get **100 free credits**
- Buy more at: https://prezentit.net/buy-credits
---
## Theme Selection
### How to Pick a Theme
1. **Fetch the theme list**: `GET /api/v1/themes` β returns all available themes with `id`, `name`, and `category`
2. **Pick the best match** for the user's topic and style preference
3. **Pass the `id`** in the generation request as the `theme` parameter
You can also search: `GET /api/v1/themes?search=KEYWORD` or filter by category: `GET /api/v1/themes?category=CATEGORY_NAME`
### Custom Design Prompt (Skip the Theme List)
If no existing theme fits, use `customDesignPrompt` to describe a fully custom visual style. **This must be a detailed, structured description** β not just a color palette.
**REQUIRED structure for customDesignPrompt** (include ALL of these sections):
```
COLOR SYSTEM: Primary [hex], secondary [hex], accent [hex], background [hex/gradient], text colors for headings and body.
TYPOGRAPHY: Heading font style [e.g., bold geometric sans-serif like Montserrat], body font style [e.g., clean humanist sans-serif like Open Sans], size hierarchy [large/medium/small], weight contrast.
LAYOUT SYSTEM: Slide structure [e.g., asymmetric split with 60/40 content-to-visual ratio], alignment [left-aligned text with right visual panel], spacing philosophy [generous whitespace vs. dense information], grid approach.
VISUAL ELEMENTS: Background treatment [solid/gradient/textured/patterned], decorative motifs [geometric shapes, organic curves, line art, etc.], image style [photography with overlay, illustrations, icons, data visualizations], border/frame treatments.
MOOD & TONE: Overall aesthetic [e.g., corporate authority, playful creativity, academic rigor, tech-forward], energy level [calm/dynamic/bold], intended audience impression.
```
**Example β Good customDesignPrompt:**
```json
{
"topic": "AI in Healthcare",
"customDesignPrompt": "COLOR SYSTEM: Primary deep medical blue (#1B3A5C), secondary teal (#2A9D8F), accent warm coral (#E76F51) for callouts, backgrounds alternate between clean white (#FAFAFA) and very subtle blue-gray (#F0F4F8), heading text dark navy, body text #333333. TYPOGRAPHY: Headings in bold geometric sans-serif (Montserrat style), body in clean humanist sans (Source Sans style), strong size hierarchy with 48pt titles, 24pt subtitles, 16pt body. LAYOUT SYSTEM: Asymmetric layouts with 60/40 content-to-visual split, left-aligned text blocks with right-side data visualizations or medical imagery, generous padding (60px margins), clean grid structure. VISUAL ELEMENTS: Subtle DNA helix watermark in corners at 5% opacity, thin teal accent lines as section dividers, medical iconography (stethoscope, heartbeat, molecular structures) as small decorative elements, photography with blue-tinted overlay for full-bleed backgrounds. MOOD & TONE: Professional medical authority balanced with approachable warmth, calm and trustworthy, designed for hospital executives and medical professionals.",
"stream": false
}
```
**Example β Bad customDesignPrompt (TOO VAGUE, will produce generic results):**
```
"blue and white medical theme"
```
---
## Creating Outlines (Save ~33% Credits)
Providing your own outline saves credits and gives you full control over content.
### Outline Structure
The outline is an object with a `slides` array. Each slide has these fields:
```json
{
"topic": "Your Presentation Topic",
"outline": {
"slides": [
{
"title": "Slide Title Here",
"mainIdea": "A clear sentence explaining the core message of this slide and what the audience should take away from it.",
"talkingPoints": [
"First key point with enough detail to be meaningful (at least 10 characters)",
"Second key point expanding on the main idea",
"Third key point providing supporting evidence or examples"
],
"visualGuide": "Detailed description of the visual layout: background style, image placement, icon suggestions, chart types, color emphasis areas, and decorative elements for this specific slide."
}
]
},
"stream": false
}
```
### Slide Field Reference
| Field | Required | Constraints | Description |
|-------|----------|-------------|-------------|
| `title` | Yes | 3-100 chars, 1-15 words | Slide heading |
| `mainIdea` | Yes | 10-500 chars, 3-75 words | Core message of the slide |
| `talkingPoints` | Yes | 2-7 items, each 10-300 chars (3-50 words) | Key points to cover |
| `visualGuide` | Yes | 20-500 chars, 5-75 words | Visual design instructions for this slide |
### Validation Rules
**Overall:**
- Minimum **3 slides**, maximum **50 slides**
- `topic` is still required (used for presentation metadata)
- All four fields (`title`, `mainIde
... (truncated)
productivity
By
Comments
Sign in to leave a comment