How Workshop Handles Real Production

Workshop is a motion graphics compiler. You write a .ws file, and the compiler handles typography, color, timing, animation physics, and layout — producing deterministic, brand-safe video from structured intent.

This guide walks through the real production scenarios that prompt-based tools can't handle, and how Workshop's architecture solves each one.


Intent In, Design Out

Workshop doesn't generate code from a prompt and hope for the best. You write a .ws file — a structured, human-readable script — and the compiler executes a deterministic pipeline that makes every design decision for you.

ws
Film "Q3 Update"
  mood: confident
  theme: corporate-blue

Scene "Headline" [5s]
  show "Revenue grew 40%"
    size: hero
    enter: rise
  beat
  show "Our strongest quarter yet."
    size: title
    color: accent

This isn't a prompt. It's a specification. The same .ws file produces byte-identical output every time. You can version-control it, diff it, review it, approve it, and automate it.


The Compiler Encodes What Designers Know

Professional motion designers make hundreds of micro-decisions per video that audiences never consciously notice. Workshop's compiler encodes this knowledge:

  • Psycholinguistic pacing. Hold durations are calculated from syllable counts and cognitive load. A mood: calm video holds text 40% longer than mood: urgent — because the reading-speed model accounts for the difference between relaxed and pressured viewing.
  • Physics-based motion. Animations are driven by spring dynamics (mass, tension, friction), not keyframes. Every movement has physical weight.
  • Typographic hierarchy. The type scale, weight, spacing, and color are resolved from the mood profile automatically. You write size: hero and the compiler calculates the exact pixel size, weight, letter-spacing, and line-height.
  • Constraint-based layout. The layout engine calculates mathematically correct positions for every element based on hierarchy and safe margins.

Workshop's mood system encodes restraint as a first-class property. A mood: confident video uses clean cuts, subtle rises, and long holds. A mood: elegant video favors negative space and deliberate pacing. Fifty parameters per mood profile, all tuned to a specific emotional register — including knowing when not to animate.


Production Scenarios

Brand consistency across every asset

The problem: Brand guidelines specify exact colors, approved fonts, minimum clearance, and a motion vocabulary. Every video needs to match, regardless of who made it or when.

Workshop's answer: ThemePacks.

A ThemePack is a versioned JSON bundle that encodes a brand's entire visual identity — palette, typography, spacing, timing overrides, motion preferences. Register it once. Every .ws file rendered through it is on-brand by construction.

Legal approves the ThemePack once. Every video thereafter complies automatically. When the brand updates its color palette, update the ThemePack — every .ws file re-renders with the new palette without touching a single script.

Revisions without rework

The problem: The client changes the headline. Then the CTA. Then asks to swap scenes. In a prompt-based tool, you re-generate the entire video and pray the rest stays the same.

Workshop's answer: edit the .ws file.

Changing a headline is changing a string. Swapping scenes is cutting and pasting two blocks. The rest of the video is guaranteed identical because the compiler is deterministic. No drift, no re-rolling the dice on the parts you already approved.

diff
  Scene "Headline"
-   show "We're launching something new"
+   show "Meet the all-new Platform X"
      size: hero
      enter: rise

One line changed. One line different in the output. Everything else: byte-identical.

Matching previous campaign style

The problem: This quarter's video needs to "feel like" last quarter's. In a prompt-based tool, you can't reproduce a feel.

Workshop's answer: same mood, same theme, same templates.

If last quarter used mood: confident with theme: corporate-blue and the quarterly-report template, this quarter uses the exact same settings with different content. The visual identity is structural, not accidental.

Multi-format delivery

The problem: You need 16:9 for the website, 9:16 for Stories, 1:1 for LinkedIn. Each format has different safe areas and text scaling.

Workshop's answer: recompile with a different aspect ratio.

The layout engine recalculates positions, the type system rescales, and safe margins adjust — all automatically. One source file, as many outputs as you need.

Templates for repeatable content

The problem: You produce weekly updates, monthly reports, quarterly reviews. Each one should have the same structure, just different content.

Workshop's answer: define the template once, fill in variables.

ws
define template stat-slide [6s]
  background: dark
  show "{heading}"
    size: display
  beat
  show number "{value}"
    size: hero
    count-from: 0
    label: "{label}"
    color: accent

Scene "Revenue" from stat-slide
  heading: "Revenue"
  value: "$4.2M"
  label: "Total Revenue"

Approved once. Reused every week with new data. The structure never drifts.

Subtitles and localization

The problem: The video needs subtitles in English, French, and Spanish. Timing has to adjust because French runs longer.

Workshop's answer: the timing engine is language-aware.

Workshop's syllable counter has language-specific strategies for English, Spanish, French, German, Japanese, Chinese, and Korean. Hold durations recalculate automatically per language.

Delivery at scale

The problem: You need a personalized version for every customer, SKU, or sales rep. Hundreds or thousands of variants.

Workshop's answer: API + batch rendering.

27 REST endpoints including batch rendering with job status polling. Feed in a CSV of variables, get back rendered videos. Multi-tenant org isolation means each team operates in their own namespace.


Where AI Helps — And Where It Doesn't

Workshop isn't anti-AI. It uses AI where it's genuinely useful and enforces determinism where it's required.

Where AI helps: Workshop's AI copilot takes a plain-English prompt and generates a complete .ws script. Mention a URL — "make a launch video for acme.com" — and the brand resolver extracts colors from the page automatically. The LLM handles creative reasoning: what to say, how to structure the narrative, which mood fits.

Where determinism takes over: The compiler validates every AI-generated script. If the LLM produces invalid syntax, the error trace feeds back automatically for self-correction — 100% syntactically correct output. Once the .ws file exists, everything downstream is deterministic. No hallucination, no drift.

AI for reasoning. A compiler for execution. Neither alone is sufficient.


Quick Start

The simplest Workshop video is three lines:

ws
Scene "Hello"
  show "Hello, World"

The compiler fills in: confident mood, title size, primary color, fade entrance, 16:9 aspect, calculated timing. From there, every property is overridable — you control exactly as much or as little as you want.

To see it in action, follow the Quickstart → and compile your first video.

For the full language reference, see the Workshop Language Reference. For API integration, see the API Reference.