Complete reference guide for the browser-based 2D animation studio.
Animation Stage is a professional browser-based 2D canvas animation application. It provides a full-featured workspace for creating, editing, and exporting animations with support for shapes, text, images, vector imports, character rigging, motion paths, AI-powered generation, and multi-scene projects.
Animation Stage runs in any modern web browser. Open the app from your web server or installed PWA.
R for rectangle, then click-drag on the canvas.Space to play/pause, or click Preview in the toolbar.? at any time to open the keyboard shortcuts modal.The workspace is divided into four major areas:
| Zone | Location | Purpose |
|---|---|---|
| Top Toolbar | Top | File actions, undo/redo, preview, export, templates, settings, mode toggle |
| Left Panel | Left | Three tabs — Tools, Objects, Layers (Basic) or AI prompt (AI Mode) |
| Right Panel | Right | Properties, Animate, Tags, and Code tabs |
| Timeline | Bottom | Animation timeline with tracks, playback controls, audio |
[ to toggle the left panel] to toggle the right panel| Tool | Key | Description |
|---|---|---|
| Select | V | Click to select. Shift+click multi-select. Drag for selection box. |
| Move | M | Drag to reposition. Arrow keys nudge 1 px, Shift+Arrow = 10 px. |
| Tool | Key | Description |
|---|---|---|
| Rectangle | R | Click-drag. Hold Shift for perfect square. |
| Circle | C | Click-drag. Hold Shift for perfect circle. |
| Triangle | T | Click-drag to draw a triangle. |
| Diamond | — | Click-drag to draw a diamond. |
| Star | S | Adjust inner radius and point count in Properties. |
| Polygon | P | Adjust number of sides in Properties. |
| Heart | — | Click-drag to draw a heart shape. |
| Tool | Key | Description |
|---|---|---|
| Line | L | Straight line. |
| Arrow / Double Arrow / Curved Arrow | — | Directional line variants. |
| Scribble | — | Freehand pen drawing. |
| Freeform Shape | — | Closed freehand shape. |
| Draw Path | D | Click-to-place Bezier path points. |
| Tool | Key | Description |
|---|---|---|
| Text | X | Click stage to place text. Type directly. |
| Image | I | File picker or drag-and-drop images. |
| Hand (Pan) | H | Pan the view. Also: Space+drag, middle-mouse, or Alt+drag. |
| Zoom | Z | Click to zoom in. Alt+click to zoom out. Scroll wheel zooms. |
| Color Picker | K | Sample fill color from any object. |
| Edit Points | E | Point-editing mode for freeform, polygon, path objects. |
| Slice | J | Split an object into two parts at the click position. |
Ctrl+C / Ctrl+V to duplicateCtrl+D to duplicate in place80+ built-in SVG icons in 9 categories, accessed from the Tools tab in the left panel.
| Category | Examples |
|---|---|
| People | Male, Female, Child, Person standing/walking |
| Gestures | Wave, Point, Thumbs up, Handshake |
| Animals | Dog, Cat, Bird, Fish, Horse, Butterfly |
| Transport | Car, Bus, Bicycle, Airplane, Boat, Train |
| Business | Briefcase, Chart, Dollar, Laptop |
| Objects | Phone, Camera, Key, Lamp, Book, Clock |
| Nature | Tree, Flower, Sun, Moon, Cloud, Mountain |
| Symbols | Star, Heart, Check, Cross, Arrow, Music note |
| Custom | Your saved icons (right-click → Save as Icon) |
Press X and click the stage to place a text object. Type directly, press Escape to deselect.
| Property | Options / Range |
|---|---|
| Font Family | Inter, Arial, Helvetica, Georgia, Times New Roman, Courier New, Verdana, Trebuchet MS, Impact, JetBrains Mono |
| Font Size | 8–200 px |
| Weight | Light 300 · Regular 400 · Medium 500 · Semi Bold 600 · Bold 700 |
| Style | Bold (Ctrl+B), Italic (Ctrl+I), Underline (Ctrl+U), Strikethrough |
| Alignment | Left, Center, Right |
| Line Height | 0.5–5 (multiplier) |
| Letter Spacing | –5 to 20 px |
| Animation | Description |
|---|---|
| Typewriter | Characters appear one at a time (1–100 chars/sec) |
| Letter Spin | Each letter spins in independently |
| Word Fade | Words fade in one by one |
| Line Reveal | Text revealed line by line |
Press I or drag-and-drop image files onto the stage. Animated GIFs are automatically decoded frame-by-frame.
| Tool | Description |
|---|---|
| Remove Background | Auto-remove background. Adjust Tolerance (1–100). |
| Replace Image | Swap the image file in-place. |
| Crop Image | Set Left/Top/Right/Bottom crop percentages. Right-click → Auto-Crop to trim transparent edges first. |
| Image Eraser | Paint to erase. Brush Size 2–200, Hardness 0–100%. |
| Image Deform | Mesh-based warping for squash, stretch, and localized deformation. |
| Body Stencil | Fit a human body map, cut parts, auto-assemble with joints. |
| Smart Cut | Trace body parts from one image; auto-cut and assemble into a jointed character. |
| Auto Trace | Convert raster to editable vector. Outline/Silhouette or Color Regions mode. |
| Filter | Range |
|---|---|
| Brightness | –100 to 100 |
| Contrast | –100 to 100 |
| Saturation | –100 to 100 |
| Hue Rotate | 0–360° |
| Blur | 0–20 |
| Grayscale / Sepia / Invert | 0–100% |
| Tint | Color + Amount 0–100% |
| Format | Support |
|---|---|
| SVG | Full parser — paths, rectangles, circles, ellipses, lines, polylines, polygons. Handles viewBox, transforms, nested groups. |
| EPS / AI | Extracts embedded SVG or parses PostScript commands. |
| Vector parse attempted; falls back to raster image. | |
| Animated GIF | Decoded frame-by-frame. Disposal methods, interlacing, and per-frame transparency supported. |
The Objects tab in the left panel lists all objects on the stage.
Delete| Action | Description |
|---|---|
| Add Layer | Creates a new layer above the current one |
| Delete Layer | Removes the selected layer and its objects |
| Rename | Double-click a layer name |
| Visibility / Lock | Eye and lock icons per layer |
| Active Layer | Click to set — new objects are added here |
| Reorder | Drag layers up/down |
| Property | Range | Description |
|---|---|---|
| X / Y | Unlimited | Position in pixels from top-left of canvas |
| Width / Height | Unlimited | Dimensions in pixels |
| Aspect Lock | Toggle | Proportional resize (most object types) |
| Z Rotation | –360° to 360° | Flat 2D rotation |
| Depth | Unlimited | Extrusion / faux 3D thickness |
| X Tilt / Y Tilt | –45° to 45° | Faux 2.5D perspective tilt |
| Opacity | 0–100% | Object transparency |
| Flip H / Flip V | Toggle | Mirror the object |
| Property | Options |
|---|---|
| Fill Type | Solid, Linear Gradient, Radial Gradient, Pattern |
| Pattern | None, Stripes, Dots, Crosshatch, Checkerboard (with color & scale) |
| Stroke Width | 0–50 px |
| Stroke Style | Solid, Dashed, Dotted, Dash-Dot |
| Line Cap / Join | Butt/Round/Square · Miter/Round/Bevel |
| Border Radius | 0–200 px (rectangles only) |
| Effect | Properties |
|---|---|
| Shadow | Color, Blur 0–100, Offset X/Y –50 to 50 |
| Glow | Color, Size 1–80 |
| Reflection | Opacity, Gap |
| Bevel | Size 1–20, Highlight color, Shadow color |
70+ built-in animations in three tabs: Basic, Properties, and Advanced.
| Animation | Description |
|---|---|
| Fade In | Fade in with subtle movement |
| Zoom In | Scale from 0 to full size |
| Fly In Left/Right/Top/Bottom | Fly in from an edge |
| Bounce In | Bounce into view |
| Spin In | Spin while growing |
| Flip In | Flip into view |
| Wipe In | Curtain-like reveal |
| Strips In | Strip-based reveal |
| Wheel / Wedge In | Rotating or wedge-shaped reveal |
| Tilt In Left / Right | Perspective-style entry |
| Animation | Description |
|---|---|
| Pulse | Continuous scale up/down |
| Shake | Rapid left-right shake |
| Wobble | Tilt side to side |
| Bounce | Bouncing effect |
| Flash | Rapid opacity flash |
| Rubber Band | Stretch and snap |
| Tada / Jello / Heartbeat / Swing | Character animations |
| Property | Range / Options |
|---|---|
| Duration | 0.1–60 seconds |
| Delay | 0–30 seconds |
| Easing | Linear, Ease, Ease In/Out, Bounce, Elastic, Back, Steps, Spring, Custom Bezier |
| Repeat | 0–∞ (infinite) |
| Direction | Normal, Reverse, Alternate |
Most movement animations (Linear, Bounce, Slide, Zigzag, etc.) move along one of 8 compass directions — Up, Down, Left, Right, plus the 4 diagonals at 45° (Up-Right, Down-Right, Down-Left, Up-Left). For straight or diagonal motion to an exact point on the stage at any angle, use the dedicated Move To Point animation:
The Timeline at the bottom shows one track per object. Coloured bars are animations.
Space to play/pauseI / O keys for range looping| Control | Description |
|---|---|
| Play / Pause | Space or play button |
| Stop / Reset | Stop button returns playhead to 0 |
| Speed | 0.25×, 0.5×, 1×, 1.5×, 2× |
| FPS | Configurable in Stage Settings |
| Loop | Toggle loop mode |
| Timeline Zoom | + / - / 0 to reset |
The Stage Camera animates the viewport itself across the timeline — pan and zoom the visible region of the stage like a virtual camera. Great for Ken Burns effects, dolly-ins on a character, or follow shots across a SmartArt diagram.
Ctrl+/) → type "stage camera"A cyan dashed rectangle appears on the stage. The area outside it is dimmed — that's what the camera will frame at the current playhead time. The Stage Camera floating panel opens with the keyframe list, time HUD, and controls.
| Action | How |
|---|---|
| Pan | Drag inside the rectangle |
| Zoom from corner | Drag any corner handle (aspect locked) |
| Zoom from centre | Drag the cyan circle with four arrows in the middle |
| Wheel zoom | Mouse-wheel inside the frame zooms around the cursor |
| Reset to full stage | Click Fill in the panel |
Yellow diamond markers appear along the timeline ruler at every camera keyframe.
Esc = Cancel, Enter = ApplyCtrl+Z / Ctrl+Shift+Z)Click the easing name on any animation bar to open the Easing Editor. Presets include Linear, Ease, Ease In, Ease Out, Ease In-Out, Bounce, Elastic, Back, Steps, and Spring. The Custom Bezier option gives you two draggable handles to fine-tune the curve.
Each animation now stores its own custom curve. Choose Custom in the easing dropdown, then drag the two handles in the Easing Editor to draw any timing curve you want. The curve is serialized into the animation as a cubic-bezier(x1, y1, x2, y2) string and travels with the project.
The Keyframe Editor provides frame-by-frame control for any animatable property. Open it from the right panel when an animation bar is selected. Add, move, and delete keyframes on the sub-timeline. Each keyframe stores the property value at that moment; the engine interpolates between them using the selected easing.
The Dope Sheet is a full-screen grid view of every animation in the scene, one row per (object, animation, property). Open it with the table icon in the timeline toolbar.
Edits flow through the standard Undo / Redo stack and live-refresh on any external timeline change.
Onion Skin shows semi-transparent ghost frames from before and after the current playhead time, so you can see the path of motion at a glance and hand-tune in-betweens. Toggle it with the clone icon in the timeline toolbar (or press O).
Right-click (or Shift+click) the toolbar button to open the settings popover:
The editor seeks the animation engine to each ghost time (using the same applyAnimationsAtTime path the timeline scrubber uses), renders the resulting pose to a hidden canvas, tints it, and composites it as a low-opacity overlay. The live pose is restored before the next frame, so your edits are never affected.
Move any object along the outline of another shape.
In the Advanced sub-tab of Animate, the Custom Animation builder lets you combine individual property channels (X, Y, Width, Height, Rotation, Opacity, Color) into a single animation. Set start and end values per channel, then apply as a named animation.
Morph an object between two states — shapes, positions, sizes, and colors. Select the object, choose Chain Animation, set the keyframe states, and the app interpolates a smooth transition.
Auto-staggers entry animations across multiple selected objects. Select all objects, pick an entry animation, set the stagger delay, and Stage Sequence applies it in stacked order — creating an auto-choreographed entrance without manual offset work.
Animated Parts lets you assemble multi-part characters from individual image or shape objects. Each part is a separate object; joints connect them with parent-child hierarchies. Animating the parent rotates the child along with it — perfect for walk cycles, wave gestures, and facial expressions.
Image Deform creates a mesh grid over a single image, then lets you drag mesh nodes to warp it — squash, stretch, or localized deformation without cutting the image apart.
The workflow for single-image deformation: select image → Properties → Image Deform → drag mesh handles. Use Reset to clear all deformations.
Joints add hinge-like bend points to shapes, enabling bending animations like flags, waving arms, or tentacles.
| Joint Property | Range | Description |
|---|---|---|
| Position | 0–1 | Where on the chain this joint sits (0 = start, 1 = end) |
| Angle | ±180° | Bend angle at this hinge |
| Tilt X | ±45° | Faux-3D forward/backward lean at this joint |
| Tilt Y | ±45° | Faux-3D left/right twist at this joint |
| Cross-Offset | 0–1 | Shifts hinge pivot perpendicular to chain axis (0.5 = centered) |
| Contour Size | >0 | Per-joint disc radius multiplier for covering V-shaped gaps |
| Contour Color | CSS color | Override color for the contour disc (auto = sampled from object) |
Flex Rig Mode is in Properties → Flex → Flex Rig Mode. It is an editor-only pose layer for selected Pose Armature or Universal Character parts.
Pins create parent-child relationships: the child follows the parent's position (and optionally angle) in real time.
| Option | Description |
|---|---|
| Parent Object | The object the child follows |
| Parent Joint | Specific joint on parent — child follows that joint's world position and angle |
| Pin Anchor | Anchor point on the parent surface (ignored when Parent Joint is set) |
| Pin Offset | Distance offset between the pin target and the child pivot |
| Rotation Mode | Independent = keep own rotation · Align with Parent = match parent angle · Joint = add local joint angle on top |
To unpin: right-click → Unpin, or set Parent Object to None.
IK lets you drag the end of a joint chain and all intermediate joints adjust automatically for a natural pose.
Shift + drag a body part (e.g., a hand)A step-by-step wizard for rigging pre-cut body parts into a jointed character. Access via Properties → Joints → Build & Cut → Guided Assembly.
Generates a fully rigged parametric character from scratch — no images needed. Access via Properties → Joints → Build & Cut → Universal Character.
| Feature | Options |
|---|---|
| Body Proportions | Height, build, head size, limb length |
| Body Types | Human-like proportion presets, including stronger muscular arms and forearms |
| Front-Side / Back-Side Views | New front-side and back-side character views without changing existing pose catalogs |
| Facial Features | Eyes, eye color, mouth, eyebrows with expression support |
| Hair | Representative styles including short, afro, curly, braids, locs/locks, and long styles |
| Hats / Headgear | Separate from hair; covers scalp/top/sides while keeping the forehead clear below the eyebrows |
| Clothing | Top, bottom, footwear, outfit presets, shoulder/neck coverage, and representative long garments |
| Pinned Clothing | Optional transparent torso, arm, and leg garment parts pinned to matching body parts |
| Linked Views | Coordinated front, side, and back-facing variants |
| Colors | Skin tone, clothing, hair, and eye customization |
| Pre-rigged | Joints already placed at correct positions |
| Movement-ready | 50+ joint movements available immediately |
Use Front-Side or Back-Side when the character should face partly toward the side while keeping the front/back animation catalog. Use Clothing Mode → Pinned Parts when clothing should be generated as separate garment layers that follow the torso, upper arms, forearms, upper legs, and lower legs during poses and movements.
"create a universal character" or "generate character" to open the builder.Uses curve-based guides to slice a single full-body character image into separate body parts. Access via Properties → Joints → Build & Cut → Body Slicer.
Transfers artwork from a character image onto armature parts while preserving the joint and motion system.
| Button | What It Does |
|---|---|
| Place Overlay | Places a semi-transparent image over the armature for visual alignment |
| Sample Selected | Bakes the sampled textures into the armature parts (the actual skin-transfer step) |
| Fit Shapes | Resize or edit points on armature parts to match the source art |
| Clear Skin | Removes the sampled skin, restoring the plain armature |
| Save Template | Saves the current skinned look for reuse on similar armatures |
| Apply | Applies a saved skin template to the current armature |
AI Mode supports the full character pipeline via natural language (Ctrl+M).
| Command | Action |
|---|---|
"create a walking character" | Builds a shape character + applies walk movement |
"create a dancing person" | Builds a character + applies dance movement |
"generate a universal character" | Opens Universal Character builder |
"open flex rig mode" | Toggles Flex Rig Mode for selected Pose Armature or Universal Character parts |
"open body stencil" | Opens Body Stencil cutting tool |
"open body slicer" | Opens Body Slicer tool |
"open smart cut" | Opens Smart Cut tracing tool |
"open guided assembly" | Opens Guided Assembly wizard |
"show movements" | Opens 50+ joint movement picker |
"show poses" | Opens the pose library |
"mirror pose" | Mirrors left↔right joint angles |
"open flex rig mode" | Opens Angle, Z Tilt X, and Z Tilt Y pose handles |
"ragdoll" | Ragdoll gravity drop |
"reset pose" | Resets all joints to default |
"toggle skeleton" | Toggles skeleton overlay visualization |
"tune joints" | Opens joint tune mode |
The Reset All 0° button in the left-panel Joints section resets all joints for selected rigged objects back to zero without deleting the joints. Use this when a cutout character has been posed and you want to return it to its neutral state.
The Clear Timeline button removes every animation from the timeline after a confirmation alert. Use when you want to wipe all animation bars and start a scene fresh without deleting the objects themselves.
| Preset | Size |
|---|---|
| Landscape | 1920 × 1080 (default) |
| Portrait | 1080 × 1920 |
| Square | 1080 × 1080 |
| Custom | 100–7680 × 100–4320 px |
| Type | Options |
|---|---|
| Solid | Any color via color picker |
| Transparent | Checkerboard pattern — transparent in all export formats |
| Linear Gradient | Two colors + angle |
| Radial Gradient | Two colors |
| Pattern | Stripes, Dots, Crosshatch, Checkerboard — with color and scale (0.5–4) |
| Image | Upload image — Fit modes: Cover, Contain, Stretch, Tile |
The current scene's stage settings are used by preview and export, including background color, gradient, pattern, image, and background opacity.
| Feature | Details |
|---|---|
| Grid Toggle | Press G to show/hide |
| Grid Size | 5–200 px |
| Snap Strength | 1–20 |
| Snap Targets | Grid points, object edges, stage center |
| Action | Method |
|---|---|
| Zoom In | Scroll wheel up · Ctrl+= · Zoom tool + click |
| Zoom Out | Scroll wheel down · Ctrl+- · Zoom tool + Alt+click |
| Reset Zoom | Ctrl+0 or click the zoom % label |
| Pan | Hand tool drag · Space+drag · middle-mouse drag · Alt+drag |
Zoom range: 5%–1000%
Create multi-scene presentations with transitions between slides.
PageDown / PageUpA symbol is a reusable component made from one or more stage objects. Edit the master once and every instance on the stage updates automatically. Open the library with the shapes icon in the timeline toolbar.
Click Templates in the top toolbar to open the template browser. Click a template to preview, then Apply to load it. All objects and animations are fully editable after applying.
| Template | Description |
|---|---|
| Logo Reveal | Animated logo entrance |
| Slide Deck | Presentation-style slide animation |
| Attention Pulse | Pulsing attention-grabber |
| Cinematic Entry | Dramatic cinematic entrance |
| Typewriter Intro | Typewriter-style text reveal |
| Bounce In | Bouncy element entrance |
| Spin & Grow | Spin while scaling up |
| Wave Sequence | Wave-like sequential animation |
| Fade Cascade | Cascading fade-in effect |
| Elastic Pop | Elastic bouncing pop-in |
| Pendulum Swing | Infinite pendulum swinging |
| Exit Dissolve | Dissolving exit animation |
Set the stage background to Transparent in Stage Settings; the export dialog automatically enables transparent output.
| Format | Transparency Behavior |
|---|---|
| GIF | 1-bit GIF transparency — pixels with alpha < 128 become fully transparent |
| MP4 / WebM | Canvas rendered without background fill (depends on player support) |
| HTML5 | Background omitted from generated HTML when transparent output is enabled; otherwise the generated file uses the current scene's live stage settings, including gradients, patterns, images, and background opacity |
The HTML5 preview/export shell shows a checkerboard behind transparent or semi-transparent stage backgrounds so opacity stays visible without baking that checkerboard into the export.
Toggle Export All Scenes in the export dialog to export every scene together. Use Preview All Scenes to preview the full sequence before exporting. Each scene keeps its own stage settings, and those scene-specific settings are used during preview/export.
| Action | Shortcut |
|---|---|
| Save | Ctrl+S |
| Save As | Ctrl+Shift+S |
| Open / Load | Ctrl+O |
| New Project | Toolbar → New (confirms if unsaved changes) |
Export your animation as a Lottie JSON file ready for lottie-web, lottie-react-native, or After Effects bodymovin import. Open the Export dialog and pick the Lottie tile.
Each visible stage object is rendered to a base64-embedded PNG asset and added as a Lottie image layer with animated transform keyframes (position, rotation, scale, opacity). This trades file size for fidelity — every object type (rounded rect, brace, joint armature, traced path, gradient fill, drop shadow, glow, text, image, depth-extruded shape) survives pixel-perfect with no per-type reimplementation.
fr uses the FPS dropdown in the export dialog.w / h.ind:1 = top layer).p, r, s, o keyframes.ease-in, ease-out, ease-in-out, linear) or custom cubic-bezier(…) from the Easing Editor — are converted to Lottie bezier handles.op so the last animated value persists.lottie-react-native / lottie.Click the gear icon ⚙ in the top-right toolbar.
| Setting | Options | Description |
|---|---|---|
| Theme | Dark / Light | UI color theme |
| Auto-Save | On / Off | Automatically save at intervals |
| AI Provider | Built-in, DeepSeek, OpenAI, Custom | AI engine for AI Mode and Teach Me |
| API Key | Text input | Your API key (DeepSeek, OpenAI, or custom) |
| API Endpoint | URL input | Custom OpenAI-compatible API endpoint |
| Hardware Acceleration | On / Off | Toggle GPU-accelerated rendering |
| Max Objects | 50–5000 | Performance limiter for stage objects |
Animation Stage supports 5 workspace layouts. Click the Layout button in the top toolbar or press Ctrl+L to cycle through them. Use App Search (Ctrl+/) and type "Flex" to jump directly to the layout controls.
| Layout | Description |
|---|---|
| Default | Left Panel + Stage + Right Panel, Timeline at bottom — the standard full-featured layout |
| Stage | Timeline | Stage on the left, Timeline on the right — side-by-side editing |
| Focus Stage | Full-screen stage only — all panels hidden for maximum canvas space |
| Stage + Timeline | Stage above, Timeline below — both side panels hidden |
| Compact Left | Panels stacked on the left, Stage + Timeline on the right |
In the Layout dropdown you can individually toggle the Left Panel, Right Panel, Stage, and Timeline.
Stage + Timeline is the cleanest no-panels workspace when you want just the canvas and timeline visible.
Ctrl+L to cycle layouts. Press [ / ] to quickly toggle individual side panels.Animation Stage maintains a full snapshot-based undo history.
| Action | Shortcut | Alternative |
|---|---|---|
| Undo | Ctrl+Z | Undo button in top toolbar |
| Redo | Ctrl+Y or Ctrl+Shift+Z | Redo button in top toolbar |
A 50 ms debounce is applied for compound operations — dragging an object records only one undo entry, not hundreds of intermediate positions.
Select two or more shapes, then right-click → Boolean:
| Operation | Result |
|---|---|
| Union | Merge into one combined shape |
| Subtract | Cut the top shape out of the bottom shape |
| Intersect | Keep only the overlapping area |
| Combine | Compound path — holes preserved |
| Fragment | Split all overlapping regions into separate shapes |
Ctrl+GCtrl+Shift+GPress E to enter point-editing mode for freeform shapes, polygons, and paths. Drag points, click a segment to add a point, press Delete to remove. Advanced shapes (rounded rectangles, polygons, braces, arrows, callouts) can be converted to editable point sets.
Tags label and filter objects. Open the Tags tab in the right panel to add tags to the selected object. Body Tags (e.g., head, torso, arm) integrate with the rigging system for semantic body mapping.
Click the audio icon in the Timeline controls to open the Audio Timeline. Add audio tracks by uploading audio files. Each track appears as a waveform bar — drag to set start time, adjust volume per track. Audio is included in MP4, WebM, and HTML5 exports.
The SmartArt module (SmartArt button in the top toolbar, or standalone at smartart.html) creates structured animated diagrams with AI-powered generation.
| Diagram Type | Description |
|---|---|
| Flowchart | Process flows with decision nodes and connectors |
| Org Chart | Hierarchical organization diagrams |
| Process | Step-by-step process diagrams |
| Timeline | Chronological event sequences |
| Pyramid | Layered pyramid diagrams |
| Venn | Overlapping set diagrams |
| Cycle | Circular process diagrams |
| Matrix | Grid-based category diagrams |
Describe what you want in natural language — the SmartArt AI generates the layout, structure, and content automatically. Animated transitions, custom colors, fonts, and styles are all configurable.
A filesystem-backed library (stored under assets/library/) for reusable stage objects, uploaded images/GIFs, and JSON asset packages.
Open Assets → Upload → choose images, GIFs, or JSON asset packages. Files are indexed immediately.
"list assets", "search assets for torso", "import torso on stage".Copies a human-readable summary plus a hidden ANIMSTAGE_PROPS JSON payload. Includes: position, size, rotation, Stage Angle, joint angle, X/Y tilt, fill, stroke, opacity, shadow, glow, pin relationships, body part data, and animation data.
Detects the hidden payload in clipboard, decodes it, and creates an exact clone at the click position — preserving all properties including animations, rigging, pin data, and body part assignments.
Exports a tab-separated table of every object on stage with 49 columns including Z Order, Depth, Stage Angle, Joint Angle, Tilt X/Y, pin data, animations, body tags, and transformed corner coordinates (TL, TR, BR, BL). Paste directly into any spreadsheet.
Displays pixel distances between objects or between an object and stage edges.
A Spotlight-style search for quickly accessing any tool, animation, button, section, property, or tab. Press Ctrl+/ (or Cmd+/ on Mac) to open.
| Category | Examples |
|---|---|
| Tool | Shape tools, select, hand, zoom, color picker |
| Animation | Any animation button in the Animate panel |
| Action | Boolean ops, alignment, sub-control buttons |
| Toolbar | Top toolbar buttons (export, preview, settings) |
| Section | Panel section headings (Joints, Rigging, Flex) |
| Tab | Panel tabs, sub-tabs, animation sub-tabs |
| Property | Any labeled property field |
| Button | Any button with an ID |
Escape to closeToggle AI Mode with Ctrl+M or the toolbar button. The left panel becomes an AI prompt field. Click Generate or press Ctrl+Enter.
| AI Capability | Examples |
|---|---|
| Object Creation | "add a blue circle" · "create 3 rectangles in a row" |
| Animation | "make the circle bounce up and down forever" |
| Style Changes | "make the rectangle red" · "add a drop shadow" |
| Position Commands | "at position 100, 200" · "in the center" · "top-right corner" |
| Multi-Step | Chain with "then", "next", "after that" |
| Pronoun Resolution | "it", "them" refer to recently mentioned objects |
| Icon Recognition | 40+ icon names (male, car, dog, tree, etc.) |
| Templates | List, place, and assemble saved templates by name |
| Character Workflows | Body Stencil, Body Slicer, Smart Cut, Guided Assembly, Universal Character, pinned clothing, Flex Rig Mode |
| Workflow Help | The AI help guide also covers stage settings, preview/export behavior, layouts, assets, and copy/export tools |
| Action | Description |
|---|---|
| Generate | Generate animation code from the prompt |
| Apply | Execute the generated code on the stage |
| Preview | Preview the result in a new window using the current stage settings |
| Copy Code | Copy generated JavaScript to clipboard |
| Save as Template | Save the animation as a reusable template |
| Edit Code | Manually modify the generated code before applying |
| Reapply | Re-execute the same generation |
| Provider | Notes |
|---|---|
| Built-in | Pattern-matching NLP. Works offline, no API key. More limited understanding. |
| DeepSeek | Requires API key. Configured in Settings. |
| OpenAI | GPT API. Requires API key. |
| Custom | Any OpenAI-compatible endpoint. Requires URL + API key. |
A built-in AI help assistant. Click the Teach Me button (graduation cap icon) in the top toolbar.
| Feature | Description |
|---|---|
| Chat Interface | Send questions, get formatted HTML answers |
| Knowledge Base | Expanded topic entries covering app features, stage settings, preview/export behavior, layout behavior, right-click workflows, Universal Character Front-Side/Back-Side views, pinned clothing/headwear, Flex Rig Mode, and character workflows |
| LLM Support | When an LLM provider is configured, uses AI for rich contextual answers |
| Built-in Fallback | Keyword-matching when no API is configured — works offline |
| Quick Suggestions | Clickable chips: "How to animate?", "Add icons", "Export video", "Shortcuts" |
The same shared knowledge also powers the home-page assistant, so product questions on the portal stay aligned with in-studio help.
Example questions: "How do I animate an object?" · "How do I export as video?" · "How do I use rigging?" · "How do I use Flex Rig Mode?" · "How do I use pinned clothing?" · "How do I clear all animations from one object?"
The Code tab in the right panel lets you view, edit, and run animation code directly.
| Feature | Description |
|---|---|
| Language | JavaScript or Python |
| Copy | Copy code to clipboard |
| Run | Execute the code in the current context |
| Export | Download code as a file |
Animation Stage is a Progressive Web App. Click Install App in the toolbar when available to install it as a standalone desktop application. It launches from your dock/taskbar like a native app and supports offline use via service worker caching.
manifest.json) defines the app name, icons, and display mode. The service worker (sw.js) handles asset caching for offline capability.Floating panels automatically dock into the right panel when opened.
All JointSystem panels (Assembly, Movements, Poses, Smart Cut, Body Stencil, Body Slicer, Guided Rig, Armature, Tune, Expressions), Rigging panels (Deform, Influence, Edit Points, Warp), and the Teach Me help panel.
| File | Purpose |
|---|---|
index.html | Main HTML file with all UI markup |
css/styles.css | Complete stylesheet |
js/utils.js | Utility functions (math, color, toast, easing) |
js/stage.js | Canvas stage engine (zoom, pan, grid, rulers, render) |
js/rigging.js | Image rigging/deformation system |
js/animation-parts.js | Pre-built character/body-part animations |
js/objects.js | Object model, properties, layers, groups, boolean ops |
js/objects-flex-rig.js | Flex Rig Mode handles for posing existing Pose Armature joints |
js/animations.js | Animation engine, all animation types, playback |
js/timeline.js | Timeline UI, bar editing, recording, playback controls |
js/tags.js | Position/object/zone tag system |
js/ai-mode.js | AI Mode NLP engine, LLM integration |
js/export.js | Export to HTML5/Video/GIF/JS/Python/Project |
js/easing-editor.js | Visual cubic-bezier easing curve editor |
js/template-library.js | 12 built-in animation templates |
js/audio-timeline.js | Audio track, waveform, playback sync |
js/keyframe-editor.js | Visual keyframe point editor |
js/path-animation.js | Path-follow animation system |
js/teach-me.js | Teach Me chat assistant |
js/app.js | Main App class (initialization, events, shortcuts) |
js/app-search.js | App Search (Spotlight-style UI finder) |
js/joint-system.js | Joint Assembly, movements, tune, Smart Cut |
js/smartart.js | SmartArt module |
js/smartart-ai.js | SmartArt AI integration |
manifest.json | PWA manifest (name, icons, display mode) |
sw.js | Service worker for offline caching |