The field guide.
Inside the craft.

The workflow, the design desk, and the decisions behind a film. Looking for the short version? Back to the homepage.

One four-scene film, six motion languages. Swatches to choose by eye; the real film is Claude's.
Preciseexpo.out · 200–1000 ms · no overshoot
Elasticback.out · overshoot allowed
Cinematicpower2 · 400–2400 ms · long holds
Liquidpower4.inOut · continuous
Snappypower4.out · 120–800 ms
Choppy / steppedsteps(4) · no interpolation

Thirty people make an AI video. They get thirty videos and one film.

The content differs. The film is the same: the obvious story, a default look, everything fading up on one ease, a 30-second music loop under a 45-second film, a whoosh on every cut, glowing text. Viewers now name these tells on sight.

Each one is a default nobody chose. RasanAI replaces every default with a decision, then checks the build against all of them.

  • Hook, problem, "Introducing X", three features, call to actionOne of 66 narrative devices, picked from what is true about your product
  • A default lookA named design system, matched to the story
  • Everything fades up on the same easeA motion contract, checked tween by tween
  • A 30-second loop under a 45-second filmA track cut on bar lines that ends when the film ends
  • A whoosh on every cutSound effects only for things you can see happen
  • Glowing textA gate that rejects the look, copy, motion and sound tells
  • A film about the product, from memoryResearch first: its real screens, words, brand and past launch films, every fact sourced
  • Scenes that each look fine and never flowOne motion score for the whole film, every seam designed on both sides
  • The safe, forgettable defaultA crew pushed to show off, and critics that fail competent-but-safe work
  • Everything flat, or a three.js demo spinning in a voidReal 3D where depth earns it, planned like a 3D lead and joined to the 2D frame by frame
  • A lyric video that is a gradient with subtitles on itEvery word timed to the voice, every line a pun or a transformation, every cut on a downbeat
  • A render that looks like a screen recordingReal motion blur on every scene and one grade across the film, so cuts do not change the texture

How it runs

Five calls. You see your film at every one.

You type /rasanai make a 45s launch film for tally.app. A Director's Console opens in your browser, shows what Claude is doing as it works, and stops you five times. The story and the look are separate calls: the script is judged as words and timing first.

  1. 1

    Brief

    One sentence you can edit: "A 45-second launch film for Tally, 16:9 for the website, with voiceover, in Tally's own colours and type", and what the research found: the product's real screens, words and brand, each with its source. With your permission, it also reads the product's code on your computer.

    Your callFix a word and press Start, or press Just make it.

    The Brief call in the Director's Console: one editable sentence describing the film, with the site captures Claude will use below it
  2. 2

    Story

    Three scripts, Sure, Bold and Wild, written at the same time by three writers from your product's researched truth, then read by a hostile editor. Each is a title, a logline and every beat: what's on screen, what's said, what we see. No style yet.

    Your callPick one, or tell Claude what to change in a line.

    The Story call: three story tabs labelled Sure, Bold and Wild, and the selected story as a script table of timed beats with on-screen lines, voiceover and visuals, the turn highlighted
  3. 3

    Look

    Three design systems built for that story by a design desk, each drawn as a real frame on its own first line and moving when you hover.

    Your callPick one, ask for new blends near it, or turn the energy up or down.

    The Look call: three bespoke design systems drawn on one line, Every receipt, counted: Counting House on ledger paper with a red stamp, Night Audit on a dark reconciliation board, Stamp Duty in yellow and violet
  4. 4

    Animatic

    The whole film, rough: a Motion Director has scored every shot and every seam, and every scene's key frame sits at its real duration, with the real music edit and the voice.

    Your callPlay it and click any moment to leave a note. Then one animator per scene builds them all at once while you watch.

    The Animatic call: the film's key frames on a timeline under a player, the music waveform beneath, and notes pinned to moments
  5. 5

    Final

    The rendered film with scene markers, your notes, every version and what changed between them.

    Your callNote a moment, apply the notes, render and download.

    The Final call: the rendered film in a player with scene markers on the scrubber, a notes list and a version history

Claude decides the rest.

The craft is decided the way a senior motion designer would decide it, from a quantified playbook, and every call is listed in the Decisions drawer with its reason. Change any of it by telling Claude (⌘K) or leaving a note.

  • Research
  • Story device
  • Scenes
  • Motion score
  • Timing
  • Motion language
  • Transitions
  • Music edit
  • Sound effects
  • Lighting
  • Grade
  • HyperFrames workflow

Claude's pick is the most ambitious film that still tells the truth clearly. Every decision names the obvious option it passed over.

Decisionsevery call, with its reason
Story
The Museum Exhibit. The old way of doing taxes, shown as artifacts. Passed over: problem, then solution.
Style
Museum wall text. The story is an exhibition, so the film is a gallery wall.
Motion
Luxurious / slow: circ.out, 600 to 2800 ms, holds of 1.8 s or more.
Transitions
Hard cuts, and one match cut from the shoebox to the booked month.
Scenes
7 scenes in 45 s. The hook lands at 1.6 s; the end card holds 2.4 s.
Music
Edited to 45 s on bar lines. The reveal falls on the downbeat of bar 9.
Sound
4 effects, each on something you see: the lid, the stamp, the tap, the logo.
Light
A spotlight pool on each exhibit. Grade: clean neutral.

Under the five calls

What makes the films different.

A story picked from what is true

Before any concept, Claude writes a truth sheet from your product: what really changes, for whom, in its own words and numbers. From 66 narrative devices it pitches three films that differ on at least five of seven axes. A rubric rejects the default arc, and any pitch that would work for any product.

ExampleFor a bookkeeping app, The Museum Exhibit: the shoebox of receipts under glass (c. 2019), a placard for every late-night spreadsheet, and an empty plinth where tax season used to be.

Three design systems, made for your film

A design desk researches your subject's own visual world, then blends references from an internal library of 108 design systems and 49 motion styles into three new systems for the story you chose. Each is a complete DESIGN.md with colours by role, real fonts, motion timings and a camera, drawn as a specimen on your film's first line. A gate rejects the generic ones before you see them.

ExampleFor a bookkeeping story: Counting House, ledger paper and banknote green with one red stamp, blended from financial-press charts, banknote engraving and Saul Bass.

Music edited to the picture

Tracks long enough for the film, analysed with nothing but Node and FFmpeg for beats, bars, sections and a real ending, then cut on bar lines so the music never loops. The reveal and the logo land on downbeats. Sound effects only for visible events, on a budget. Mixed to −14 LUFS.

ExampleA 45-second film gets a track that ends at 45 seconds: one forward jump on a bar line into the real ending, and half a bar of near-silence before the reveal.

An anti-slop gate

Before anything reaches you, slop.mjs checks five kinds of tell. Copy: seamless, unlock, the not-X-it's-Y line, em dashes. Look: neon glow text, purple-blue gradients, particle filler, corner timecodes, Inter everywhere. Motion: idle loops, everything entering the same way. Timing: unreadable text, uniform shots, no end hold. Sound: loops, a whoosh per cut, loudness, dead air.

Examplegeneric-copy · error on the headline Unlock seamless bookkeeping. Fix: the real outcome, number or feature, in the product's own words.

Research before the story

A research crew reads the product's site, help center, changelog and brand pages, and collects its real screens with a measured UI kit. For a known brand it measures the brand's past launch films shot by shot. With your permission it also reads the product's code on your computer. Every fact on screen traces to a source; nothing comes from memory.

ExampleFor a ChatGPT film: the composer's real words and radius, the colours from its own stylesheet, and a note that the Plugins menu is gone, so no frame shows it.

One score, every scene in parallel

A Motion Director scores the whole film: the spine, the energy curve, every shot, every seam with exact handoff numbers on both sides, one signature move. Then one animator per scene builds them all at once, looks at its own motion frame by frame, and fresh-eyed critics judge the cuts, the facts and the film.

ExampleSeam 6 → 7: the source chip pushes through into the report; it leaves scene 6 at x 1210, scale 1.4, moving left at 900 px/s, and scene 7 picks it up exactly there.

ரசனை

rasanai /ˈrʌ.sə.nai/ · Tamil ரசனை, from Sanskrit रस rasa

  1. Taste; the eye (and ear) for what feels right. “Avarukku nalla rasanai”: they have good taste.
  2. From rasa: in Indian aesthetics, the feeling a work leaves in the person experiencing it. What is tasted, more than what is shown.

A video keeps its rasa in how it looks, moves, cuts and sounds. RasanAI is the rasanai: the taste to choose it, on purpose.

The design desk

Three looks, made for this film.

There is no style menu. When you have chosen a story, a design researcher has already studied its subject: the materials, places and eras it belongs to, and the clichés of its category. Three designers then each build one system for the story by blending two to four references from the desk's internal library, and add the subject's own world, so none of the three is a copy of anything.

The library holds 108 design systems (graphic-design movements, studios and brands, regional and period looks, print and 3D materials) and 49 motion and camera styles. It is raw material the designers read, not something you pick from. What they hand you is a DESIGN.md: palette roles, type from Google Fonts or Fontshare, grid, shape, motion timings with GSAP eases, camera language and what to avoid.

The Counting House specimen: Every receipt, counted. in a heavy grotesk on ledger paper, a mono receipt totalling 1,284.60 and a vermilion CHECKED stamp
Counting House, one of three. Drawn on the film's first line, in its own type, paper and one rationed red.
Three systems for the same story: Counting House, Night Audit and Stamp Duty
Three for the same story. Sure, Bold and Wild differ in palette, display face, layout and motion; a gate fails any two that are alike.
  • A gate, not a hope. Each system's specimen is rendered and measured: palette off-contract, accent share, ink contrast, a font that does not exist, a generic default (Inter for everything, the purple-blue gradient). The three must differ in at least three of palette, display face, layout and motion language, and may not blend the same references.
  • The chosen system is the film's look. It becomes the film's DESIGN.md, its motion contract and its direction. With your own DESIGN.md, the first system is your brand extended for motion, and the other two push around it.
  • Honest about its sources. The library was written from fetched sources and then edited: 116 of 157 entries have had the edit pass, colours are mostly proposed from a designer's reading rather than measured (15 entries are measured), and the library says which. Nothing in it is offered as a claim about the original work.

Reference library

Explore by eye.

Try a line, browse a visual family, and download a system's DESIGN.md.

Loading styles…

Your brand

Bring your DESIGN.md.

If your project has a brand reference, it becomes the look. All three films are drawn in its colors and type, and the brief sentence says so. Ask for a new look and the styles use their own colors instead.

  • Reads the common shapes: design.md spec frontmatter with oklch() colors and nested typography, impeccable and gstack files, Stitch-style prose, CSS custom properties, token tables with or without #.
  • Gives every color a role (canvas, ink, accent, surface, muted, status) from its name and comment, then contrast. A saturated "text accent" never becomes the ink; status colors never become the accent.
  • Finds the fonts, skips "banned" ones, maps platform fonts the renderer doesn't have (SF Pro → Inter, SF Mono → JetBrains Mono, Calibri → Carlito) and says so.
  • Writes a frame.md HyperFrames accepts, checks it with HyperFrames' own parser, and stages every font file into the project.

See an example DESIGN.md

A brand board read from Tally's DESIGN.md: the wordmark, the palette by role (canvas, ink, a mint accent, surface, muted), Bricolage Grotesque and DM Sans, radius 12px
What RasanAI read. Colors by role, the fonts, the radius, and the one rule for the accent.

The vocabulary

A film is a stack of decisions.

Two pieces can both be "2D UI animation" and look nothing alike. RasanAI holds the vocabulary of motion design as data: 32 dimensions and 926 terms, each with a definition, what it looks like, how it moves, where it's used, what it's confused with, and the instruction Claude follows.

Every decision Claude makes, and every prompt to a builder, is written in these terms. A film vocabulary turns each one (a rack focus, a bleach-bypass grade, a J-cut) into an HTML, CSS and GSAP recipe with numbers. Share a screenshot or a video you like and Claude reads it into the same terms.

Format & tone

Format (66) · Tone (29)

product launch film · feature reveal · logo sting · concept explainer · kinetic typography · title sequence · confident · premium · playful

What's on screen

UI treatment (44) · Product demo (28) · UI interaction (51) · Data viz (23) · Photo & video (21) · Illustration (40) · Character (17)

simplified UI · exploded UI · bento UI · terminal UI · cursor-driven demo · input → output · number counter · flat vector

Look

Visual style (77) · Era (22) · Color (28) · Typography (24) · Composition (34) · Material (31) · Texture (28) · Shape · Stroke · Shadow · Depth · Iconography

Swiss / International · neo-brutalism · risograph · soft 3D · Y2K · grotesk · duotone · hard offset shadow · film grain

Light & grade

Lighting (22) · Color grade (23)

key, fill and rim · low-key · window light · neon practicals · volumetric god rays · bleach bypass · teal-orange · Kodachrome · day for night

Motion

Motion language (32) · Motion function (24) · Transitions (44) · Camera (24) · Effects (34) · Production (25)

precise · springy · cinematic · stop-motion-like · UI morph · match cut · mask reveal · push-in · parallax

Story & sound

Narrative (24) · Pacing (18) · Sound (15)

statement → evidence → payoff · feature montage · beat-driven · voiceover-synchronized · music-led
DIRECTION.mdcompiled from the chosen film
# Direction: Swiss / International Typographic Style,
  simplified-UI product launch film, precise motion

Style formula
Format / purpose: Product Launch Film
        ↓
Emotional / brand tone: Confident + Friendly
        ↓
UI treatment: Simplified UI
        ↓
Visual style: Swiss / International Typographic Style
        ↓
Typography: Grotesk
        ↓
Motion language: Precise

### UI treatment: Simplified UI
Simplified UI. The real interface with non-essential
detail removed.
- Do: keep its true layout and hierarchy; remove
  secondary controls, dense data and placeholder text…
- Not to be confused with: Abstracted UI keeps only
  the one control that matters…
Energetic neo-brutalist 2D interface animation
  1. neo-brutalist UI
  2. heavy stroke · hard offset shadow
  3. high contrast · color blocking
  4. snappy motion
  5. hard cuts · push · fast pacing
Luxury minimal reveal
  1. high-contrast serif
  2. dark UI · limited palette
  3. negative space · single-object hero
  4. luxurious / slow motion
  5. dissolve · light wipe
Technical monochrome developer-tool animation
  1. terminal UI · monospace
  2. black and white
  3. technical diagram
  4. precise · linear motion
  5. hard cut · wipe

The compiled direction goes to every builder: into frame.md, into every scene's work packet with the motion contract, and into every reel card's brief.

The motion

A motion language, with a contract.

"If these graphics were alive, what laws would they follow?" Each of the 32 motion languages is a term with a binding contract: its eases, the durations allowed, the stagger, the minimum hold, and the moves it bans. The chosen style's language becomes motion.md.

Every language's swatch passes the same checker the real build must pass, so what you see is what's enforced. One language governs the whole film; scenes differ only in intensity.

Preciseexpo.out / expo.in · 200–1000 ms · stagger 80 · hold 900Exact, grid-locked destinations, zero overshoot.
Springyback.out(1.7) / power3.in · 180–1100 ms · stagger 40A damped spring: fast attack, one overshoot, quick settle.
Cinematicpower2.out / power2.inOut · 400–2400 ms · hold 1400Slow push-ins and breathing holds.
Snappypower4.out / power3.in · 120–720 ms · stagger 50Steep initial velocity, very short settle.
Luxurious / slowcirc.out / circ.in · 600–2800 ms · hold 1800Restraint as the signal of value.
Stop-motion-likesteps(6) / steps(4) · 12 fps · hold 750Held poses on twos, like physical stop-motion.
The same lines in six motion languages, side by side, in one look
The same lines in six languages. The chosen language's contract then governs every scene Claude builds.

Who makes it

A crew makes every film.

Claude is the director. A crew of agents does the work, each with its own brief and a check its work must pass. The crew never talks to you, and nothing on screen comes from memory.

Researchers read the product's site, help center, changelog and brand pages, and measure its past launch films shot by shot. Three writers pitch against each other. A Motion Director scores how the whole film moves. Then one animator per scene builds them all at once, and each looks at its own motion frame by frame before handing it back. Every creative brief ends the same way: show off. Claude's unpushed default is competent and forgettable, and the critics are told to fail it.

A key frame Claude designed: Tax season. Again. on a Swiss grid, receipts piled on the right
Key frame: the hook. Swiss grid, grotesk, the brand's paper and ink.
A key frame: simplified product UI with March books balanced and a single mint accent
Key frame: the product. Simplified UI, one mint accent for the balanced state.
  1. ResearchProduct, brand, real screens, past films, and your local code with permission; merged into one truth sheet
  2. Writers' roomThree writers, one script each, and an editor who reads like a hostile client
  3. Motion scoreEvery shot in 2D or real 3D, every seam with exact handoff numbers, 2 to 4 showreel moments
  4. AnimatorsOne per scene, in parallel, building toward the approved key frame
  5. CriticsFresh eyes on frames, motion, facts and film; competent but safe is a fail

Real 3D

Flat, in depth, or both.

Every scene in the score is 2D, 3D or a hybrid of both. The Motion Director decides where depth earns its place: the lens in millimetres, camera moves that land, one motivated key light, materials from the look. The seams between flat and deep are planned to the pixel, so a card you were just reading lifts off the page on the cut.

3D scenes run on Rasan3D, a three.js runtime clocked by the scene's own timeline. Every frame averages several renders, which gives real motion blur, depth of field and anti-aliasing. Real screenshots keep their exact colours on UI slabs, the official logo and brand type can be extruded, and a 3D gate checks every scene before it ships: same frame for the same time, nothing blank, eased on the motion contract, blurred where it moves, at rest at least once.

The last 2D frame: the RasanAI story screen, flat
The last 2D frame. The story screen, flat, exactly where the 3D scene picks it up.
The same screen in 3D: its layers separated in depth, the picked card lifted toward the lens with a label pinned to it
A second later, in 3D. The page separates into its layers and the camera arcs to the picked card.

The 3D engine, opened

Not a menu of looks. An engine.

Rasan3D now exposes what the shot needs instead of a list of presets. A render graph takes GLSL passes at the scene or the post stage with depth compositing, render targets and extra views. Deterministic simulation runs on the CPU or the GPU and is still a pure function of time, so it renders the same on every frame and every seek. Real DOM can hang in 3D, focus, f-stop and aperture are keyable, and the lens can shift.

All of three.js r181's addons are vendored (274 modules, about 5.6 MB), and a GLSL library ships with it: noise, signed-distance shapes, ray marching, non-photoreal shading (engraving, stipple, hatching), colour and post. The gates now fail only what breaks a render. Taste rules are warnings, and a stated intent silences them; the design system is the only bound on the look.

A ray-marched field of heads and spheres shaded as an engraving, black line on cream
Ray-marched, engraved. A signed-distance scene shaded as line engraving by the GLSL library.
Hundreds of capsule pillars in warm haze with a sphere in the foreground and the line Nine hundred pillars. One sun.
One field, one light. Instanced pillars in haze, with depth of field on the foreground.
Thousands of small stones in a ring around a large sphere on a dark floor, with the line Four thousand stones find their own level
A simulation that obeys a rule. Four thousand stones settling, deterministic: the same frame on every seek.
A real HTML card reading 4,812 pages with a bar chart, standing in a 3D room with a pinned label
DOM in the room. A real HTML card with live type, lit and shadowed in 3D, with a label pinned to it.

Costs are real: 3D frames with depth of field, shadows and many samples take seconds each without a GPU. These renders are single frames from test scenes, not films.

Claude and ChatGPT

The crew adapts to the model running it.

The goal is the same for every model: the most ambitious, professional film it can make. What changes is how each crew member is asked. Models fail differently on the same prompt, so crew.mjs brief adapts it to the model that will run the job, and the role, the check and the bar stay identical.

  • Claude. Opus gets the explicit show-off ask and craft guardrails; Sonnet gets numbered steps, a worked example and two improvement passes after looking at its renders; Haiku only gathers facts, with a source on every line.
  • ChatGPT through Codex. There is no Agent tool there, so members run as parallel codex exec processes from the same prompt files and are accepted by the same checks. The prompt puts outputs and the check command first, says never to ask, and asks for whole files.
  • What a real Codex run showed. One scene from gpt-5.6-sol passed the checks but was small, safe and full of placeholders. GPT's scene prompts now carry a worked example of reel-quality, and it must critique its own work against the critics' rubric before handing back. That is a fix to the prompt, not yet a measured result across films.

Songs and the finish

Every word on its note.

Give RasanAI a track and its lyrics and it times every word to the voice, then reads the music: tempo, downbeats, sections, kick hits. Three writers each pitch one treatment: a single concept, a palette with one owned accent, a signal that runs through the whole film and a plate for every lyric section, each in its own instrument. A line never becomes a picture of itself. It becomes a pun or a transformation.

A gate checks the treatment before you see it: every line used once, no idiom more than twice, one accent hue, cuts on the beat grid, a hook that climbs each time it returns, depth where a long film needs it. Then each plate's animator lights every word on its sung start through RasanMusic, a small runtime that reads the timings as functions of time. Measured on one song against a hand-corrected truth: a median word-start error of 50 to 60 ms, 250 to 280 ms at the 90th percentile.

  • The finish. The delivery render gets real motion blur on every scene, 2D included: sub-frames are rendered and averaged over a shutter window, up to 32 samples.
  • One grade. Grain, halation, vignette and an optional LUT, the same on every scene. Flat brand colours at the centre of the frame stay within a level.
  • The cost, stated. About 3 times a normal render at 8 samples and 10 to 12 times at 32. Drafts skip it.
  • Stepped looks stay sharp. A scene made on twos or threes can opt out of the blur, so its steps stay hard while the rest of the film is blurred and graded.

Every kind of video

Whole films, from any source.

RasanAI hands the approved plan to the HyperFrames workflow that fits, pre-writing what it reads (the brief, the storyboard and script in its exact format, frame.md, the music edit), so it asks nothing and re-decides nothing.

Launch filmproduct-launch-video

From a product URL: capture, story, scenes, voice, music.

Explainerfaceless-explainer

A topic, article or how-to, told with invented visuals.

PR videopr-to-video

A pull request as a changelog film, code excerpts and all.

Custom piecegeneral-video

Brand films, montages, anything multi-scene.

Music videomusic-to-video

Cut to a track's beat grid; lyric videos with every word timed to the voice.

Footage reelreel

A folder of your clips, cut together with cards and captions.

Captions & overlaysembedded-captions · talking-head-recut

A talking-head clip, captioned or recut with designed cards.

Motion graphicsmotion-graphics

A title, sting, stat hit or lower third.

Videos only. For a talk, RasanAI makes the video that plays in it; the deck is source material.

Footage

Point it at a folder of clips.

RasanAI examines every clip (length, orientation, frame rate, sound, a contact sheet, shot changes, silences and a word-level transcript), then Claude drafts the cut, cutting on word boundaries.

A reel adds two calls: Footage, where you untick clips to leave out, and Cut, the reel's animatic, where you edit the list: in and out points, order, cards between clips, overlays, captions from what's said, a music bed that ducks under speech. Claude designs and animates every card and overlay.

The Footage step: each clip with its contact sheet, length, format and sound
Footage. Every clip, with what's in it and what's said.
The Cut step: clips with in and out points, cards between them, overlays and captions
Cut. The edit as a list you can change, with a draft to watch.

The checks

Checked before you see it.

A film ships only after five gates pass: the story rubric, the anti-slop gate, the motion contract, the 3D gate and the sound check. Then critics who never saw it being made judge it fresh. The motion check walks every tween of every scene in a real browser and compares it with the contract.

  • Durations on the language's scale, eases from its set, written explicitly, never the GSAP default.
  • Banned moves caught in every form, including the generic fade-up-slide.
  • Holds long enough to read; GSAP only, seekable, deterministic.
  • 3D scenes render the same pixels for the same time, are never blank and fit a render. Taste rules (eased keys, blur on fast moves, coming to rest) are warnings a stated intent can silence.
  • Sound at −14 LUFS, no audible loop, effects within budget, no dead air.
  • Critics score the frames, the motion, the facts and the film, ambition included, with an exact fix for each problem.
  • Failures go back to the scene's animator, at most twice; anything left is yours to fix or waive at the Final. A check that couldn't run is never reported as a pass.
node obey.mjs --project videos/tally-launchreal checker output
obey: violations — 2 tweens (0 exempt) in 1 file(s); 2 error(s)
  [ERROR] ease-outside-set compositions/frames/01-shoebox.html
      h1.headline "Tax season. Again." @0.20s 800ms ease=power4.out
      ease power4.out is not one of motion.md's eases
      fix: use ease: "expo.out"
  [ERROR] banned:fade-up-slide compositions/frames/01-shoebox.html
      h1.headline "Tax season. Again." @0.20s 800ms ease=power4.out
      fix: replace with one of motion.md's entrances

# after the repair pass
obey: clean — 8 tweens (0 exempt) in 1 file(s); 0 error(s)

A native Mac studio.

Download RasanAI Studio 0.2.0 beta 1 (build 11), a fully redesigned SwiftUI community beta for macOS 14 and newer on Apple Silicon. One-page New film, brands as DESIGN.md folders, a finished-film player with Export, and a searchable project library. Keep using the working skill for production films while the native workflow is validated.

Your projects, on your Mac

A local Documents/RasanAI library with a separate folder for every project. Search, rename, archive or duplicate drafts; drop source files into managed copies without changing originals. New Film can save a draft without using a provider.

Mac settings, not a web modal

Open Settings with ⌘,. Choose project storage and appearance, configure local Claude Code or OpenAI Codex executables, and check CLI sign-in status. Provider login stays with its own CLI.

Your director, in the studio

Launch or resume your configured Claude Code or OpenAI Codex director. The complete existing workflow runs inside WebKit for footage, cuts, animated specimens and detailed gates; the SwiftUI review layout remains available. Real-agent film generation is still being validated.

This beta is ad-hoc signed, not Apple-notarized. First installation is subject to Gatekeeper approval; managed Macs may prohibit it. Sparkle verifies updates using a separate EdDSA signature. Node and the engine are bundled; agent CLIs, FFmpeg and HyperFrames workflows/browser tools are not. Local update, storage, questions, playback and export tests passed; real-agent generation and complete route/revision coverage remain unverified.

Download the Apple Silicon beta

Drag the app into Applications before launching. Signed Sparkle updates are checked automatically every 5 hours; project files stay outside the app.

Release notes, checksum and installation limitations · Sparkle update feed · Source and build instructions

Install

Needs Claude Code, Node.js 20 or newer (RasanAI fetches a private copy if you have none), the HyperFrames skills (npx hyperframes skills update), and FFmpeg for music and footage.

Claude Code plugin

From inside Claude Code.

> /plugin marketplace add Sibhimanyu/rasanai
> /plugin install rasanai@rasanai

skills CLI

From your terminal.

$ npx skills add Sibhimanyu/rasanai --skill rasanai

One-line installer

Clones and links the skill.

$ curl -fsSL https://raw.githubusercontent.com/Sibhimanyu/rasanai/master/install.sh | bash

Then try

> /rasanai make a 45s launch film for https://tally.app
> /rasanai a 60s explainer on how DNS works, vertical, no voiceover. Just make it.
> /rasanai cut ~/Footage/lisbon into a 30s reel with a title card and captions
> /rasanai export the Swiss grid style as a DESIGN.md

RasanAI updates itself when the skill loads. Check the install with node ~/.claude/skills/rasanai/scripts/selftest.mjs (127 checks, no network needed).

Questions

What do I actually decide?

Five things: the brief (one sentence), which of three scripts to tell, which of three looks to make it in, notes on the animatic, and the final. Everything else is craft, and Claude decides it. If a question would need expertise to answer, RasanAI doesn't ask it.

Can I change what Claude decided?

Yes. Every call is in the Decisions drawer with its reason and the obvious option it passed over. Tell Claude (⌘K) or leave a note on a moment in the animatic or the final, and it changes only what the note points at.

Who actually animates the video?

Claude, or ChatGPT through Codex. The three specimens in the console are for choosing by eye. Claude designs the key frames, the scenes and the reel cards from the chosen film, HyperFrames renders them, and the gates confirm the motion, copy and sound before you see the result.

Do I need to know motion-design terms?

No. You choose by watching and listening. Claude works in the terms, because they make the result precise: "simplified UI, grotesk, precise motion, UI-morph transitions" builds something very different from "make it modern".

Why do the three films look so different from each other?

Because they are different films. Each pairs a different story device with a design system built for it, and the three pitches differ on at least five of seven story axes. The three systems must also differ in palette, display face, layout and motion language, or the gate rejects them. Your recent devices rotate out, so ten films never settle into one house style.

Can I use a look outside RasanAI?

Yes. The system you pick is saved in the project as a complete DESIGN.md (colors by role, type, radii, components, motion and camera), which any agent or design tool can build from.

Can it use my brand?

Yes. Put your DESIGN.md (or design.md) in the project. RasanAI reads it, gives every color a role, and draws all three films in your colors and type.

Can I skip everything?

Yes. Say "just make it" and Claude decides every call up to the Final, which always runs so you can review before the render. Only the source (what the video is about) is required.

Does anything leave my machine?

Your selected agent sends prompts and shared project context to its provider. The console runs locally on 127.0.0.1 with a per-session token; music analysis uses local Node and FFmpeg. Site capture, voice, music and fonts can use external services through HyperFrames, Google Fonts or Fontshare. Check your agent and tool permissions before sharing private material.

What's the license?

MIT. The vendored GSAP stays under its own GSAP Standard License.