Skip to content
Technology · Built on Claude

How we build with Claude

Claude does the strategy, story and scripting work a studio bills for, with boards and QA in build. This page shows where it sits in our system, which model and features each agent uses, and what is live versus still in build.

Built implemented in our codebase In build in development Next planned, not started
Architecture

Two Claude calls today.
An agent pipeline next.

The Story Engine is a serverless function that chains two Opus calls and streams progress to the browser. The production lane, in build, will take the approved storyboard and drive real creative tools.

Built Story Engine
Built lane. The browser calls the serverless /api/story endpoint, which streams server-sent events. Step 1, the Brand Analyst, runs claude-opus-5-5 at low effort with the web_fetch tool limited to two fetches. Step 2, the Story Director, runs claude-opus-5-5 with adaptive thinking and a JSON schema output at medium effort. It produces a schema-valid storyboard JSON that renders in the UI, while summarized thinking streams to the UI. The public demo currently replays a labelled sample. Browser /api/story Step 1 · Brand Analyst Step 2 · Story Director Schema-valid storyboard JSON UI brief: URL, description, length, tone serverless · streams SSE events claude-opus-5-5 · effort: low web_fetch_20260209 (server tool) max 2 fetches · user URL only claude-opus-5-5 · effort: medium adaptive thinking, summarized output_config.format: JSON schema concepts render; director's notes stream POST brief brief + URL brand brief validated to schema render
In build Production lane
In-build lane. The approved storyboard JSON will go to the Production Agent, to be built on the Claude Agent SDK with MCP servers for After Effects, Blender, Cavalry and DaVinci Resolve, using allowlisted operations only and no arbitrary script execution. Rendered frames will go to the QA Reviewer, which will use vision and a claims-compliance check. A human director gate approves the cut before delivery. Approved storyboard JSON Production Agent QA Reviewer Human director gate Approved cut to customer Claude Agent SDK · claude-opus-5-5 MCP servers After Effects · Blender Cavalry · DaVinci Resolve allowlisted operations only no arbitrary script execution claude-opus-5-5 · vision checks rendered frames vs script, brand, safe zones, platform specs, claims compliance approve, or send back for fixes human-approved story rendered frames findings + frames only after sign-off

The left lane is built and deployed; the public demo currently replays a labelled sample until live generation is switched on. In the right lane, dashed boxes are agents still in development. Each handoff is structured data, and a person approves the story before production and the cut before delivery.

Why Claude

Four reasons we
build on Claude.

We need a model that can make creative calls, hand off clean data, operate real software and remember a brand. Here is how Claude covers each.

01Built

Creative judgment with adaptive thinking

The Story Director decides how much to reason before it commits to an angle, instead of us tuning a fixed budget per brief. The Story Engine is built to stream the summarized thinking to the page, so you can watch the director's notes form once live generation opens. The preview replays a labelled sample.

  • adaptive thinking
  • summarized display
02Built

Structured outputs production can consume

Every storyboard is generated against a JSON schema: beats, timecodes, voiceover, on-screen text and sound. Production can read it directly, so nobody re-types a script between stages.

  • output_config.format
  • JSON schema
03In build

Tool use and MCP, not black-box generation

Production agents will call allowlisted operations in After Effects, Blender, Cavalry and DaVinci Resolve. The output will be editable project files that our founder can open and finish, not a flat clip.

  • Claude Agent SDK
  • MCP
  • allowlisted ops
04Next

Long context and prompt caching for brand memory

Planned: a brand kit, past scripts and performance notes will sit in a stable cached prefix, so every new ad will start from what already worked, without paying to re-read it each time.

  • long context
  • prompt caching
Model & feature map

Which agent
uses what.

One model family, matched to each job by effort level and tooling. A dash means we have not committed to a model for that row yet.

Agents, the Claude model each uses, the Claude features involved, and delivery status
AgentModelClaude featuresStatus
Brand AnalystOpus 5.5Web fetch, effort lowBuilt
Story DirectorOpus 5.5Adaptive thinking, structured outputs, streamingBuilt
Script TimerNone (code)Deterministic 2.5 words/sec timing checkBuilt
Storyboard ArtistOpus 5.5Vision on product photosIn build
Production AgentOpus 5.5 via Claude Agent SDKMCPIn build
QA ReviewerOpus 5.5VisionIn build
Brand Memory—Prompt cachingNext
Performance loop——Next
Safety & responsibility

Guardrails
around the model.

A public endpoint that calls a model and fetches web pages needs limits. These are the ones we ship with, and the ones we are adding as production comes online.

Only your URL is fetched

The web fetch tool gets the exact page you give us, never one we or the model chose. Each brief is capped at two fetches.

Inputs are length-capped

The URL and the product description have hard limits in the form and on the server, so a brief cannot be used to push arbitrary volumes of text through the model.

Per-IP rate limiting

The public Story Engine endpoint limits requests per IP address to protect it from abuse and runaway cost.

Refusals and failures are handled

If the model declines or a call fails, the server falls back rather than breaking the page. Output that is a sample, not a live run, is labeled as one.

Humans approve before anything ships

You approve the story, our founder finishes the cut and signs off as creative director. No ad is delivered on model output alone.

No training on customer data Policy

Briefs, URLs and assets are used only to produce your concepts and ad. We do not use them to train models.

Claims-compliance check in QA In build

The QA Reviewer will flag claims in a script or on-screen text that the brand page does not support, so unverifiable claims do not reach an ad.

Engineering & usage

Built with Claude.
Priced by usage.

We use Claude to build the product as well as to run it, and we can be plain about what that costs in API calls.

Engineering with Claude

We build with Claude Code. This site and the pipeline were built with it, from the serverless Story Engine to the schemas and the front end. We review what it writes before it ships.

  • Claude Code
  • this site
  • api/story
  • pipeline

Usage profile

Today: the Story Engine backend is deployed, and each live run is two Claude Opus 5.5 calls, one to read the brand and one to direct the story. The public demo shows a labelled sample until live generation opens. Planned: once the production and QA agents ship, each paid ad will also run long-context production calls and vision QA passes over rendered frames. Usage will scale linearly with briefs and orders.

Try the
Story Engine.

See a labelled sample of the two built agents' output in the Story Engine demo. Questions about how it is built? Email us.