Guide2026-04-136 min

Custom Themes: Brand Your SlideForge Output

Match your company's exact brand identity. Three ways to create themes: JSON API, upload a .pptx template, or let an AI agent extract colors and fonts.

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 IDPrimaryStyle
consulting_blue#1E3A5FClassic consulting (McKinsey-like)
consulting_dark#111827Dark background, amber accent
consulting_light#1E40AFLight background, red accent
consulting_green#1B4D3EBCG-inspired green
consulting_red#8B1A1ABain-inspired red
investor_pitch#1A1A2EStartup pitch deck
startup_bold#6C2BD9Bold purple, modern
corporate_formal#003366Traditional 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 background
  • text — body text color
  • light_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 swatches

Via 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.

Try SlideForge free

$3 credit, no card required. Generate your first slide in under a minute.