---
title: "Render a deck from N structured SSG intents (mirrors MCP create_deck)"
method: POST
path: "/v1/render/intent/deck"
tags: ["render"]
---

# Render a deck from N structured SSG intents (mirrors MCP create_deck)

`POST /v1/render/intent/deck`

## Request

- Base URL: `https://api.slideforge.dev`
- URL: `https://api.slideforge.dev/v1/render/intent/deck`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Deterministic SSG deck render — the REST mirror of the MCP create_deck tool. `slides` is a list of 1-30 intent objects (each the same shape as /v1/render/intent: form + typed fields, or a brief). Slides fill in parallel and merge into one themed PPTX. $0.05 per usable slide.

## Request body

- IntentDeckRequest: POST /v1/render/intent/deck — N structured SSG intents → one merged PPTX. REST mirror of the MCP create_deck intent path. `slides` is a list of intent objects (same shape as /v1/render/intent: form + typed fields, or a brief). Slides fill in parallel and merge into one themed deck. $0.05 per usable slide.
  - `slides` object[]
  - `theme_id` string, nullable
  - `brand` object, nullable
  - `name` string, nullable
  - `source` string, nullable
  - `dry_run` boolean
  - `force_render` boolean
  - `allow_partial` boolean
  - `logo_id` string, nullable
  - `styling` string, nullable
  - `direction` 'ltr' | 'rtl', nullable
  - `imagery` string, nullable
  - `imagery_tag` string, nullable
  - `strict_policy` object, nullable
  - `detail` string, nullable

## Response `200`

Deck render complete

- unknown

## Other responses

- `400`: Missing/invalid slides
- `402`: Insufficient balance
- `422`: Validation Error

---

[API](https://skmtc.dev/slideforge/apis/slideforge-api.md) · [All operations](https://skmtc.dev/slideforge/apis/slideforge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/slideforge/apis/slideforge-api/revisions/ae698e3d3c00?raw)
