Catalog
The template engine and its /v1/templates* endpoints were removed in v5. Discovery now runs through the catalog — 150+ render patterns grouped into families and segments. Each catalog entry carries a ready-to-send intent payload and a brief, so you can browse, preview the exact variant for free, then render it deterministically for $0.05.
The browsable gallery for these patterns is at /templates. To render a pattern from code, pair the catalog with POST /v1/render/intent.
GET /v1/catalog
Browse the catalog. Filter with q (free-text), segment, or family. The response also returns the full lists of segments, families, and use_cases for faceted navigation.
# Browse the catalog curl "https://api.slideforge.dev/v1/catalog" \ -H "Authorization: Bearer sf_live_YOUR_KEY" # Filter by free-text query, segment, or family curl "https://api.slideforge.dev/v1/catalog?q=board+kpi&family=kpi_metrics" \ -H "Authorization: Bearer sf_live_YOUR_KEY"
{
"items": [
{
"slug": "kpi_metrics_delta_scoreboard",
"layer": "pattern",
"title": "Delta scoreboard",
"family": "kpi_metrics",
"family_label": "Kpi Metrics",
"variant": "delta_scoreboard",
"segments": ["corporate", "consulting"],
"use_cases": ["board_update", "qbr"],
"blurb": "Headline metric cards with values and deltas.",
"preview_url": "/v1/catalog/kpi_metrics_delta_scoreboard/preview"
}
],
"count": 1,
"segments": ["consulting", "sales", "corporate", "startup_vc", "it_services", "marketing", "gov_ngo", "education"],
"families": ["kpi_metrics", "comparison_matrix", "waterfall_bridge", "case_story", "..."],
"use_cases": ["board_update", "qbr", "due_diligence", "..."]
}GET /v1/catalog/{slug}
Get one pattern's detail. For a pattern entry the slug is the prior_id — pass it straight to /v1/render/intent. The intent field is a ready-to-send create_slide payload you can copy and edit.
# Get one pattern — includes a ready-to-send intent payload + brief curl "https://api.slideforge.dev/v1/catalog/kpi_metrics_delta_scoreboard" \ -H "Authorization: Bearer sf_live_YOUR_KEY"
{
"slug": "kpi_metrics_delta_scoreboard",
"layer": "pattern",
"title": "Delta scoreboard",
"family": "kpi_metrics",
"variant": "delta_scoreboard",
"brief": "Q3 board KPI snapshot: revenue, margin, cash, supplier lead time.",
"intent": {
"form": "kpi_metrics",
"variant": "delta_scoreboard",
"headline": "Revenue and margin ahead of plan; supply lead times are the watch item",
"data": { "metrics": [
{"label": "Revenue", "value": "$112M", "delta_value": "+6% vs plan", "delta_tone": "good", "emphasis": "primary"}
]}
}
}Render a catalog pattern
Send the slug as prior_id (or copy the detail's intent payload) to POST /v1/render/intent for a deterministic render ($0.05) — no routing, no LLM. Add preview: true for a free ephemeral PNG first.
# Render the pattern verbatim — $0.05 (or preview:true for a free PNG).
# Send the slug as prior_id, or copy the detail's "intent" payload to customize it.
curl -X POST https://api.slideforge.dev/v1/render/intent \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"prior_id": "kpi_metrics_delta_scoreboard",
"theme_id": "slideforge_standard"
}'Just have a brief?
You don't have to pick a pattern yourself. Call POST /v1/render/auto (or MCP create_slide(mode="brief")) with a brief — the SSG intent engine routes it to a pattern and renders deterministically. Bounded at $0.05, free when the brief is unroutable (intent_unroutable envelope).