Skip to content
maskostudioDocs

All pages

  • Overview/docs/use-cases
  • Mobile app/docs/use-cases#mobile
  • Website/docs/use-cases#website
  • Desktop/docs/use-cases#desktop
  • AI agents/docs/use-cases#agents
  • Videos/docs/use-cases#videos
  • Brand/docs/use-cases#brand
  • Start building/docs/ai-agents
  • Set up once/docs/ai-agents#set-up-once
  • Ask in plain words/docs/ai-agents#ask-in-plain-words
  • What your agent does/docs/ai-agents#what-your-agent-does
  • MCP server/docs/mcp
  • Masko for Cursor/docs/ai-tools/cursor
  • Masko in ChatGPT/docs/ai-tools/chatgpt
  • Start here/docs/tutorials#start-here
  • All tutorials/docs/tutorials
  • Create your first mascot/docs/tutorials/first-mascot
  • Create an animated character/docs/tutorials/first-animation
  • Make a character talk/docs/tutorials/make-it-talk
  • Put your mascot on your website/docs/tutorials/mascot-on-your-website
  • Guide onboarding with a talking mascot/docs/tutorials/web-onboarding-mascot
  • Add a mascot that celebrates progress and welcomes users back/docs/tutorials/web-progress-companion
  • Add a talking support mascot in the bottom right/docs/tutorials/web-support-mascot
  • Show a mascot while your AI thinks/docs/tutorials/ai-loading-mascot
  • Give your AI agent a face/docs/tutorials/ai-agent-face
  • Animate the mascot you already have/docs/tutorials/animate-your-mascot
  • How to make Telegram stickers/docs/tutorials/telegram-stickers
  • How to make Discord stickers/docs/tutorials/discord-stickers
  • Quickstart: your first animation/docs/quickstart
  • Terminal quickstart/docs/terminal
  • API keys and workspaces/docs/authentication
  • CLI browser login/docs/authentication/cli
  • How mascots work/docs/how-mascots-work
  • Credits and costs/docs/credits
  • From text/docs/create/from-text
  • From an image/docs/create/from-image
  • From a website/docs/create/from-website
  • From a brand book/docs/create/from-brand-book
  • Reference images/docs/manage/references
  • What you can generate/docs/generation
  • Pose-to-animation walkthrough/docs/generate/workflow
  • Images and poses/docs/generate/images
  • Animations/docs/generate/animations
  • Talking animations/docs/generate/talking
  • Logos, backgrounds and stickers/docs/generate/design-assets
  • Cursor follower/docs/generate/cursor-follower
  • Batch generation/docs/generate/batch
  • Image and video exports/docs/manage/media-exports
  • Canvases and releases/docs/canvas
  • Build a canvas/docs/canvas/build
  • Canvas templates/docs/canvas/templates
  • Generate canvas assets/docs/canvas/generate-all
  • Export a canvas/docs/canvas/export
  • Overview and demo/docs/player
  • Play one animation/docs/player/one-animation
  • Play a canvas/docs/player/canvas
  • Hosting and file formats/docs/generate/cdn
  • File sizes/docs/generate/file-sizes
  • Float a mascot on your Mac/docs/integrations/desktop
  • Jobs and polling/docs/manage/jobs
  • Webhooks/docs/manage/webhooks
  • Manage mascots and assets/docs/manage/collections
  • All endpoints/docs/reference
  • Requests and responses/docs/reference/conventions
  • Errors and recovery/docs/reference/errors
  • Command line reference/docs/terminal/commands
  • TypeScript SDK/docs/sdk/typescript
  • Changelog/docs/reference/changelog
  • Migrate to mascots and canvases/docs/manage/studio-migration
Get an API key
Documentation

Animation file sizes

Every animation comes in several formats, and each place plays one of them. Pick where your mascot lives, how many animations it has, their length and their size, and see what a visitor loads or how much your app grows.

Where does your mascot live?
Size 360 px
px
Chrome, Firefox, Edge4.8 MB
Safari8.8 MB
Ko weighs a box on a kitchen scaleWeighing it.
FormatPer animationTotal for 10 animations
WebMChrome, Firefox, Edge0.48 MB4.8 MBusually 3.1 MB to 6.7 MB
HEVC .movSafari, iPhone, iPad, Mac0.88 MB8.8 MBusually 6.5 MB to 9.7 MB

Each visitor downloads one format, the one their browser plays, when the mascot first appears. The CDN and the browser cache it after that.

Which file each place uses

WhereFile5 s at 360 px5 s at 720 px
Website in Chrome, Firefox, EdgeWebM with transparency0.48 MB0.94 MB
Website in Safari, iPhone, iPad and Mac appsHEVC .mov with transparency0.88 MB2.2 MB
Android appStacked MP40.43 MB2.4 MB
iPhone, iPad, Mac and Android apps with the Masko playerStacked AV10.14 MB0.24 MB

Measured on 40 Masko animations of 5 seconds, and the stacked AV1 file on the 75 animations made on October 27, 2026, the day every animation started getting one: it is made at a lighter setting that keeps the look at mascot size, in a format that compresses better. Sizes include the sound. Size grows in line with the length, and busy motion is heavier. The opaque MP4 is about 2 MB for 5 seconds at full size; use it only where you do not need transparency.

Bundle or load from the CDN

  • On a website, files load when the mascot appears. Each visitor downloads one format, the one their browser plays, and the browser caches it.
  • In an app, you choose. Bundle the files and your app grows by the total above, but the mascot works offline from the first launch. Or load them from Masko's CDN on first use: the app stays small, and each animation downloads once, then plays from the cache.
  • In both apps, the Masko player plays the same stacked AV1 file. Without it, each app carries its own format: HEVC on iPhone and iPad, the stacked MP4 on Android.

Talking animations

A talking animation weighs about the same per second as any other, with its sound included. A 30-second talk at 720 px is about 6 MB in WebM, 15 MB in HEVC and 1.4 MB in stacked AV1 with the Masko player. Load long talks only when the visitor presses play.

Make your files lighter

  • Use the Masko player in apps. It asks for the stacked AV1 file (formats=av1): about a tenth of HEVC or the stacked MP4 at 720 px, and a third to a sixth at 360 px. See play a canvas.
  • Use a size variant. At 360 px a clip is about half its full-size WebM and 40 percent of its full-size HEVC. For a mascot shown at 240 px or smaller, turn on size variants once; they are free.
  • Load one format. Pick WebM or HEVC from the browser, as in hosting and file formats.
  • Load talks on demand. Give long talking clips preload="none" and a poster image, and start them on a tap.
  • Check real sizes. Every asset has file_size in bytes, and a finished job gives file_sizes next to its links, see get job detail. GET /v1/mascots/:id gives each hosted file's size too, see check CDN status.