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.
Related guides
- How to write effective briefs — get better slides from every template and theme
- Add PowerPoint export to your SaaS — per-customer themes for white-label output
- Automate reports from Excel — combine themes with scheduled report generation
- SlideForge vs python-pptx — why an API beats managing theme code yourself
Get started
Browse themes in the console, or read the full API reference. Sign up for $3 free credit to try custom themes.