> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trypekto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pekto API and MCP

> Generate editable presentations and LinkedIn carousels from your own products, workflows and AI agents.

Pekto turns a topic, an article, a post or a PDF into an editable presentation or a carousel of up to 30 slides, with every slide in a layout that fits what it says. The API and the MCP server give your code and your AI tools the same abilities the Pekto app has.

## What you can do

* generate a finished, editable presentation (3–20 slides) or LinkedIn/Instagram carousel (3–30 slides) from source text
* pick one of 32 carousel themes, or let Pekto choose
* list, read, edit, duplicate and delete your projects
* browse templates and brand kits, and create or delete brand kits
* check your credits
* schedule LinkedIn posts and manage unpublished ones

<AccordionGroup>
  <Accordion title="Ways to use it">
    - Ask Claude or ChatGPT for a carousel and get a link to an editable Pekto project
    - Turn every new blog post into a LinkedIn carousel from your CMS or a Zapier/n8n workflow
    - Build weekly report decks from your own data
    - Let an AI agent draft a deck, then finish it by hand in the Pekto editor
  </Accordion>

  <Accordion title="Example workflows">
    * A content team pastes a newsletter into Claude: "Make a 10-slide LinkedIn carousel from this." Claude calls Pekto and replies with the editor link.
    * A CMS webhook sends each published article to `POST /presentations` with `format: "carousel"`, then schedules the result with `POST /scheduled-posts`.
    * An agency script creates one carousel per client every Monday, each in the client's chosen theme.
  </Accordion>
</AccordionGroup>

## API or MCP?

<Columns cols={2}>
  <Card title="Use the API for" icon="code">
    Backends, scripts, CMS hooks and automation tools. You send JSON over HTTPS with an API key and get JSON back.
  </Card>

  <Card title="Use MCP for" icon="sparkles">
    Claude, ChatGPT, Codex, Cursor and other AI tools. People sign in with Pekto once and then just ask for what they want.
  </Card>
</Columns>

MCP is the conversational layer. Every MCP tool calls the same API underneath, with the same permissions and limits.

## How it works

1. **Authenticate.** Use an API key, or sign in with Pekto from your AI tool.
2. **Send the source.** A topic, the full text of a post or article, or both, plus the audience, objective and tone if you know them.
3. **Pekto plans it.** It decides what each slide is for (the hook, the tips, the steps, the stats, the takeaway) and gives every slide a layout made for that job.
4. **Get the link.** The response has the saved project's `project_id` and an `editor_url` that opens it in Pekto.
5. **Keep going.** Read or edit the project, schedule it, or open it in the editor and finish it yourself.

Generation runs in a single request that returns once the project is saved, so give your HTTP client a generous timeout (at least 3 minutes). It costs 2.5 credits; if it fails before the project is saved, the credits are refunded.

## Core concepts

<AccordionGroup>
  <Accordion title="Projects">
    Every presentation or carousel you create is a project. Projects are always private to their owner and fully editable in Pekto.
  </Accordion>

  <Accordion title="Carousel themes">
    A theme is a family of 18–26 layouts in one visual style, each made for a type of slide (cover, tip, steps, stat, quote, recap, closing and more). See [Carousels](/guides/carousels).
  </Accordion>

  <Accordion title="Credits">
    Generation uses credits from your Pekto plan. `GET /account` (or the `get_account_status` tool) shows your balance and the cost.
  </Accordion>

  <Accordion title="Scopes">
    API keys carry only the permissions you give them, such as `projects:read` or `presentations:create`. See [Authentication](/authentication).
  </Accordion>

  <Accordion title="Jobs">
    Every generation is recorded as a job you can read back with `GET /jobs/{job_id}`. Send an `Idempotency-Key` so a retry never creates or charges for a second deck.
  </Accordion>
</AccordionGroup>

## What to read next

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart" horizontal>
    Your first carousel in three requests.
  </Card>

  <Card title="MCP setup" icon="plug" href="/mcp/setup" horizontal>
    Connect Claude, ChatGPT, Codex or Cursor.
  </Card>

  <Card title="API reference" icon="book-open" href="/api-reference/introduction" horizontal>
    Every endpoint, with a playground.
  </Card>

  <Card title="Troubleshooting" icon="life-ring" href="/troubleshooting" horizontal>
    Fixes for the common problems.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.