Back to Skills
    🦞

    prezentit

    description: Generate beautiful AI-powered presentations instantly.

    By @vegovevo
    View on GitHub
    SKILL.md
    ```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)