Search
Documentation

← Content types

Icons

Replace template icon carriers with glyphs from any SVG icon pack. Icons land in the finished deck as native vector shapes — no raster fallback.

How icons work

The scanner detects three kinds of icon carrier in a template: SVG-picture shapes, textless autoshapes used as placeholder icons, and icon-font glyph runs. Each becomes an icon field in the catalog. At build time the filler swaps the carrier with the SVG geometry for the chosen glyph, placed through the same native-shape pipeline (svgdeck) that procedural arts use.

Icon packs

Bundled starter pack: Slidura ships with the Lucide icon pack pre-seeded at boot (lucide pack key). It is available to all accounts without any upload step.

User-uploaded packs: upload any TTF/OTF or SVG sprite pack via the web (MediaLib → Icons → Upload pack) or via API:

POST /api/v1/icon-packs/presign     { pack_id, upload: { url, method, headers } }
PUT  <upload.url>                   pack bytes
POST /api/v1/icon-packs/{id}/confirm   (queues the import job)
GET  /api/v1/icon-packs/{id}/status    (poll until status = ready)

Import parses the pack, extracts per-glyph SVG geometry, and stores it. Large packs may take a few seconds.

Finding a glyph

Use GET /api/v1/icon-packs/{id}/catalog?q=<term> or the MCP tool search_icons(pack_id, query) to search by glyph name, keywords, or enriched description. The web MediaLib provides the same search inline.

Once you have a glyph name, the sentinel is:

@icon:<pack_key>/<glyph_name>

For example: @icon:lucide/arrow-right. The MCP tool get_icon_ref(pack_id, name) returns the ready-to-use sentinel in the build_ref field.

Colour handling (brand modes)

Icons are coloured at build time according to a brand mode appended to the sentinel:

ModeBehaviour
recode (default for monochrome glyphs)replaces every fill with the template’s accent1 colour
snapmaps each source colour to the nearest theme colour (ΔE distance)
keepuses the glyph’s colours verbatim

Override per-reference: @icon:lucide/arrow-right?brand=keep.

MCP surface

ToolPurpose
list_icon_packs()list all packs (bundled + uploaded) with status and glyph count
get_icon_catalog(pack_id)full glyph list with refs, colour profile, and enrichment fields
search_icons(pack_id, query)search by name / keywords / description
get_icon_ref(pack_id, name)resolve a glyph name to a build_ref sentinel
enrich_icon(glyph_id, …)write back description, usage hint, or keywords

Optional icon enrichment

When server-side enrichment is enabled, a vision pass can add human-readable descriptions, usage hints, and keyword tags to each glyph. Enriched metadata improves search recall and is surfaced in the MediaLib and to the build assistant. Enrichment is optional and does not change the glyph geometry.

Hiding bundled packs

Bundled packs (such as lucide) cannot be deleted — they are shared infrastructure — but you can hide any bundled pack from your account’s pack list via DELETE /api/v1/icon-packs/{id} (hide-not-delete). The pack remains available to other accounts and can be un-hidden by re-adding it.