> **Shapeless capabilities index**
> Fetch https://shapelessai.com/llms.txt to discover every page before exploring further.
> Every page also answers Markdown: append `.md` to its path, or send `Accept: text/markdown`.

# Render a carousel

*Verified 2026-10-07. Source: https://shapelessai.com/capabilities/render-carousel*

Turn structured slide content into a designed carousel: a PDF for LinkedIn's document post plus one PNG per slide for Instagram, each a media key.

Send the slides' headlines and body lines; the layout, type and brand colors are ours to set. The PDF key goes straight into a LinkedIn post, the PNG keys into an Instagram carousel.

## Ask in plain words

- "make a five slide LinkedIn carousel from these points"
- "carousel generator API"
- "render these tips as an Instagram carousel"

## From an agent host (MCP)

Server: `https://shapelessai.com/mcp` ([add it to your host](https://shapelessai.com/connect)).

- `tools_run` with `{ "name": "render_carousel", "input": { ... } }`: the input is the REST body below; `tools_list` prints its JSON Schema.

## From code (REST)

Bearer API key with the scope each call names ([auth](https://shapelessai.com/docs/auth), [OpenAPI](https://shapelessai.com/api/openapi.json)).

- `POST /api/carousels` (write scope): Render a carousel to PDF plus slide PNGs (tool render_carousel). Schema on GET /api/tools.

## From a terminal (CLI)

- `shapeless tools run render_carousel --input '<json>'` (`tools show render_carousel` prints the schema)

## Example

```bash
curl -s https://shapelessai.com/api/carousels -H "Authorization: Bearer $SHAPELESS_API_KEY" -H "Content-Type: application/json" -d @carousel.json
```

## Refusals

| Status | Meaning |
| --- | --- |
| 400 | The input does not match the tool's schema; the message names the field. |
| 402 | Not enough credit to hold budgetUsd, or the call costs more than budgetUsd. |
| 404 | No such tool on this deployment. |
| 422 | The tool refused this input; nothing was charged. |
| 502 | The tool failed; nothing was charged. |

## Where else

- [The api docs](https://shapelessai.com/docs/api) ([markdown](https://shapelessai.com/docs/api.md))
