Every slide SlideForge generates uses a theme — colors, fonts, and spacing that make the output look like your brand, not a generic template.8 built-in themes work out of the box. Custom themes let you match your company's exact brand identity. Three ways to create one: JSON, upload a .pptx, or let an agent extract it.
Built-in themes
Every request defaults to consulting_blue if no theme is specified. 8 built-in themes cover common styles:
| Theme ID | Primary | Style |
|---|---|---|
| consulting_blue | #1E3A5F | Classic consulting (McKinsey-like) |
| consulting_dark | #111827 | Dark background, amber accent |
| consulting_light | #1E40AF | Light background, red accent |
| consulting_green | #1B4D3E | BCG-inspired green |
| consulting_red | #8B1A1A | Bain-inspired red |
| investor_pitch | #1A1A2E | Startup pitch deck |
| startup_bold | #6C2BD9 | Bold purple, modern |
| corporate_formal | #003366 | Traditional corporate |
Use any built-in theme by passing theme_id in your request:
curl -X POST https://api.slideforge.dev/v1/render \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-d '{"template": "kpi_dashboard", "brief": "Revenue $12.4M", "theme_id": "consulting_dark"}'Method 1: Create from JSON
Define your brand colors programmatically. Colors are required; typography and spacing have sensible defaults.
curl -X POST https://api.slideforge.dev/v1/themes \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "acme_brand",
"colors": {
"primary": "#2B5EA7",
"secondary": "#1A3C6E",
"accent": "#E87722",
"background": "#FFFFFF",
"text": "#1A1A2E",
"light_text": "#FFFFFF"
},
"typography": {
"font_family": "Calibri"
}
}'
# Returns: {"theme_id": "acme_brand", ...}The theme is saved to your account and persists across sessions. Use it with theme_id: "acme_brand" in any generate, render, or deck request.
Color fields
primary— main brand color (headers, key shapes)secondary— supporting color (sub-headers, secondary shapes)accent— highlight color (callouts, emphasis, trends)background— slide backgroundtext— body text colorlight_text— text on dark backgrounds
The engine auto-generates a tint ramp from your primary color (90%, 70%, 50%, 30% opacity) for gradients and subtle fills. WCAG contrast is computed automatically for text readability.
Method 2: Extract from a .pptx file
Already have a branded PowerPoint template? Upload it and SlideForge extracts the theme — colors, fonts, slide dimensions, and logo.
curl -X POST https://api.slideforge.dev/v1/themes/upload \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-F "file=@brand-template.pptx" \
-F "name=acme_from_pptx"
# Returns: {"theme_id": "acme_from_pptx", "colors": {...}, "typography": {...}}The extractor reads the slide master's color scheme, font theme, and dimensions. If the template has a logo in the header/footer zone, it's extracted and stored as an asset automatically.
Method 3: Via MCP (agent-assisted)
In Claude Desktop, use the upload_file tool with purpose: "theme":
// Agent conversation:
You: "Extract our brand theme from this PowerPoint template"
AI: *calls upload_file with purpose="theme"*
AI: "I extracted your theme: primary #2B5EA7, accent #E87722, font Calibri.
Saved as theme_id 'acme_brand'. Want me to generate a slide with it?"Adding a logo
Upload your company logo separately — it gets placed in the slide chrome (header area) automatically.
curl -X POST https://api.slideforge.dev/v1/assets/logo \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-F "file=@logo.png"
# Returns: {"logo_id": "a1b2c3d4", "blob_url": "..."}PNG, JPG, SVG, GIF, or WebP — max 5 MB. The logo persists across sessions. Use it with your theme for fully branded slides.
Listing your themes
curl https://api.slideforge.dev/v1/themes \
-H "Authorization: Bearer sf_live_YOUR_KEY"
# Returns: built-in themes + your custom themes with color swatchesVia MCP: list_themes returns all available themes.
Theme schema reference
Get the full JSON schema with field descriptions:
curl https://api.slideforge.dev/v1/themes/template \
-H "Authorization: Bearer sf_live_YOUR_KEY"This returns the complete schema with defaults — useful for programmatically building themes or validating input.
Tips
- Start with a built-in theme and customize from there — change just the colors to match your brand.
- Primary color matters most — it drives headers, key shapes, and the tint ramp. Secondary and accent are supporting.
- Test with a KPI dashboard — it uses all color slots, so you can see the full palette in one slide.
- Font availability — the API container has Calibri, Arial, Helvetica, and common fonts. If your brand font isn't available, the engine falls back gracefully.
Get started
Browse themes in the console, or read the full API reference. Sign up for $3 free credit to try custom themes.