← Back to Skills
Productivity

prezentit

vegovevo By vegovevo 👁 4 views ▲ 0 votes

description: Generate beautiful AI-powered presentations instantly.

GitHub
```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

Comments

Sign in to leave a comment

Loading comments...