Moods, Themes & Visual Control Without a Canvas
In a traditional video editor, you manually set every font size, color, animation timing, and position. In Workshop Studio, the mood system makes those decisions for you. This guide explains how moods work, how to combine them, and how to override any decision the compiler makes.
What a Mood Does
A mood is a complete visual profile. When you set mood: confident, the compiler gains opinions about:
- Color palette — background, text, accent, muted, and contrast colors
- Typography — font weight distribution, letter spacing, text sizing curves
- Animation — entrance/exit types per intent, easing curves, stagger timing
- Timing — default tempo, hold durations, beat gaps
- Camera — preferred camera motion per intent
- Post-processing — grain intensity, vignette, bloom
Every scene, element, and animation in your video inherits from the mood unless you override it.
The Six Core Moods
| Mood | Personality | Tempo | Best For |
|---|---|---|---|
confident |
Professional, bold, structured | Measured | Product launches, SaaS demos, corporate |
playful |
Energetic, casual, colorful | Upbeat | Social media, casual brand content |
dramatic |
Cinematic, high-contrast, slow | Deliberate | Trailers, emotional storytelling |
elegant |
Refined, minimal, sophisticated | Measured | Luxury brands, editorial, portfolios |
calm |
Peaceful, soft, warm | Deliberate | Wellness, nature, mindfulness |
urgent |
High-energy, contrasting, fast | Rapid | Sales, limited-time offers, alerts |
Additional Moods
Beyond the six core moods, Workshop supports additional mood names like corporate, cinematic, electric, intimate, minimal, and retro. These are variations on the core moods with adjusted character — try them to find the right feel for your content.
Mood Composition
The most powerful feature of the mood system is composition — blending two moods together:
Film "Brand Video"
mood: confident + elegant
The syntax is BASE + OVERLAY. The two moods blend together — you get the character of both in a single visual treatment. Some useful combinations:
| Composition | Effect |
|---|---|
confident + elegant |
Professional polish with sophisticated restraint |
dramatic + urgent |
High-stakes cinematic energy |
playful + calm |
Friendly and approachable without being hyperactive |
elegant + dramatic |
Editorial gravitas |
urgent + playful |
Exciting and fun without feeling corporate |
In the Studio UI, the Film block shows two dropdowns side by side with a + separator. The left dropdown is the base mood, the right is the overlay. Setting the overlay to — uses the base mood alone.
Custom Color Palettes
Every mood ships with a default palette, but you can override any color:
Film "Custom Colors"
mood: confident
palette: { accent: "#FF6B00", primary: "#4C1D95", background: "#1E0A3C" }
Palette Tokens
| Token | Role | Used For |
|---|---|---|
background |
Primary scene background | Scene fills, behind text |
backgroundAlt |
Alternating background | Every-other-scene variation |
primary |
Main content color | Body text, primary headings |
accent |
Highlight color | Emphasized text, CTA elements, shapes |
muted |
Subdued color | Captions, secondary info, labels |
contrast |
High-visibility color | Text on accent backgrounds |
You only need to override the tokens you want to change. Unspecified tokens fall back to the mood's defaults.
Elements reference palette tokens by name:
show "Highlighted text"
color: accent
show "Secondary info"
color: muted
ThemePacks
ThemePacks are pre-built combinations of mood settings, palettes, fonts, and post-processing stored as reusable presets. Apply one with:
Film "Themed Video"
theme: "neon-nights"
A ThemePack can override:
- Base palette colors
- Font family and weight distribution
- Post-processing (grain, vignette, bloom intensity)
- Default entrance/exit animations
ThemePacks are managed server-side. The Studio UI exposes a theme setting on the Film block where you can type a theme name.
Overriding Compiler Decisions
The mood system makes good defaults, but sometimes you want manual control. Workshop Studio follows a progressive override model — set a property explicitly and the compiler respects it, skip it and the compiler decides.
Size
The compiler assigns font sizes automatically. Override with:
show "Small print"
size: caption
show "BIG STATEMENT"
size: hero
Size scale from smallest to largest: caption → body → subhead → title → display → hero.
Entrance & Exit Animations
The compiler selects entrance animations based on the scene's intent and the mood profile. Override with:
show "Pop in"
enter: pop
exit: fade
If you set enter but not exit, the compiler chooses an appropriate exit animation automatically.
Position
The compiler places elements automatically. Override with:
show "Bottom left"
position: lower-left
show "Top center"
position: upper-third
Weight
Font weight defaults come from the mood profile. Override with:
show "Thin"
weight: light
show "BOLD"
weight: black
Layer & Opacity
Stack elements in depth and control transparency:
show shape "circle"
layer: back
opacity: 0.15
color: accent
size: hero
show "Foreground text"
layer: front
Case Transform
Force text casing regardless of what was typed:
show "always uppercase"
case: upper
Post-Processing
Moods apply cinematic post-processing automatically — including film grain, vignette, and bloom. The intensity varies by mood to match its visual personality. ThemePacks can further adjust these values.
Switching Moods to Explore
The fastest way to understand moods is to write a short script and switch between them:
- Write a 2–3 scene script with mixed intents (problem → proof → cta).
- Set
mood: confidentand click Preview. - Change to
mood: dramaticand preview again. - Try
mood: playful + elegantand preview.
Each preview shows completely different color palettes, animations, timing, and typography — all from the same script. This is the core value proposition: one script, many visual treatments.
The compiler never modifies your text content. Switching moods only changes visual presentation — colors, timing, animations, and layout. Your words stay exactly as you wrote them.