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

# Ablo Decks SDK — Build Slide Decks Programmatically

> Welcome to the Ablo Decks SDK. Build, automate, and programmatically control Ablo slide presentations using a typed TypeScript API.

The Ablo Decks SDK (`@abloatai/decks`) gives you a fully typed TypeScript client for creating and managing Ablo slide decks from code. Decks you build with the SDK are indistinguishable from ones created by hand in the Ablo editor or generated by Ablo's AI — the same styling, the same layer model, the same fidelity. Whether you're generating pitch decks on the fly, automating report slides, or integrating presentations into your application, the SDK puts the full Ablo surface area at your fingertips.

<CardGroup cols={2}>
  <Card title="Introduction" icon="book-open" href="/introduction">
    Learn what the Ablo Decks SDK does, what resources it exposes, and when you should reach for it.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Install the package, grab an API key, and create your first deck in under five minutes.
  </Card>

  <Card title="API Reference" icon="code" href="/api/decks">
    Explore the full reference for decks, slides, layers, layouts, themes, and images endpoints.
  </Card>

  <Card title="Guides" icon="map" href="/guides/batch-operations">
    Go deeper with batch operations, advanced layer styling, and production patterns.
  </Card>
</CardGroup>

## Get up and running in three steps

Follow these steps to go from zero to your first programmatic Ablo deck.

<Steps>
  <Step title="Install the SDK">
    Add `@abloatai/decks` to your project using your preferred package manager.

    ```bash theme={null}
    npm i @abloatai/decks
    ```
  </Step>

  <Step title="Get your API key">
    Open your Ablo workspace, navigate to **Settings → API**, and copy your API key. Store it as the environment variable `ABLO_API_KEY` so it stays out of your source code.
  </Step>

  <Step title="Create your first deck">
    Import `Decks`, initialise the client, and call `ablo.decks.create`. The SDK returns the new deck object — including its `id` — as soon as the API confirms the operation.

    ```typescript theme={null}
    import { Decks } from '@abloatai/decks';

    const ablo = new Decks(process.env.ABLO_API_KEY);

    const deck = await ablo.decks.create({
      title: 'My First Deck',
      slides: [
        {
          title: 'Hello, Ablo',
          layers: [
            {
              type: 'text',
              text: 'Built from code.',
              style: 'h1',
              at: { x: 160, y: 120, w: 1600, h: 160 },
            },
          ],
        },
      ],
    });

    console.log('Created deck:', deck.id);
    ```
  </Step>
</Steps>
