---
title: "Render a catalog variant to a preview PNG (public, no auth)"
method: POST
path: "/v1/tools/preview-variant"
tags: ["tools-free-tier"]
---

# Render a catalog variant to a preview PNG (public, no auth)

`POST /v1/tools/preview-variant`

## Request

- Base URL: `https://api.slideforge.dev`
- URL: `https://api.slideforge.dev/v1/tools/preview-variant`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Renders one pinned catalog variant to an image so a visitor can see real output before signing up. No .pptx is produced and nothing is downloadable. Takes a `prior_id` from the catalog — NOT a free-text brief: matching a brief to a layout needs the router, which spends model tokens, so it happens behind a free account.

## Request body

- VariantPreviewRequest: A pinned catalog variant to render. NOT a brief — see the endpoint docstring.
  - `prior_id` string, required

## Response `200`

Rendered — response includes a short-lived preview_url

- unknown

## Other responses

- `400`: Unknown prior_id
- `422`: Validation Error
- `429`: Rate limit exceeded (30/hour/IP)

---

[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)
