ThemePacks
A ThemePack is your brand encoded as a JSON object. It overrides mood defaults with your specific colors, fonts, and timing preferences. When applied during compilation, every video produced with that ThemePack is on-brand by construction — compliance is enforced by the compiler, not by human review.
The Schema
{
"schema": "themepack.v1",
"name": "acme-brand",
"version": "1.0.0",
"palette": {
"primary": "#1A1A2E",
"accent": "#E94560",
"background": "#FFFFFF",
"backgroundDark": "#0A0A0A",
"muted": "#888888",
"contrast": "#FFFFFF"
},
"typography": {
"families": { "sans": "Space Grotesk" }
}
}
The palette maps semantic color tokens to hex values. When a .ws script uses color: accent, it resolves to the ThemePack's accent color. The typography object specifies font families.
How ThemePacks Compose with Moods
ThemePacks override selectively. The layering order:
- Mood profile — provides all 50+ parameters as a complete system
- ThemePack — overrides palette, typography, and optionally timing
- Element-level values — explicit
color: #FF0000overrides everything
If your ThemePack defines palette but not timing, the mood's timing is preserved. Everything not overridden falls through. This means you can use any mood with any ThemePack — playful with a corporate ThemePack gives bouncy animation in corporate colors.
Org-Scoped Registration
ThemePacks are registered via the API and scoped to your organization.
curl -X POST https://api.ws.video/api/themes \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-org-id: YOUR_ORG_ID" \
-d '{ "schema": "themepack.v1", "name": "acme-brand", ... }'
The Approval Model
Traditional brand governance reviews every creative output. ThemePacks invert this: design and legal approve the ThemePack once. Every video compiled with it is structurally compliant. When your brand evolves, update the ThemePack — every re-compiled video uses the new brand automatically.
Built-in Themes
Workshop ships seven built-in ThemePacks for common visual styles. These serve as starting points or can be used directly for non-branded content.
Next Steps
- Themes API — CRUD operations for ThemePack management
- Brand Governance — the full workflow
- The Mood System — how moods provide the base