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 here/docs/tutorials#start-here
  • All tutorials/docs/tutorials
  • Create your first mascot/docs/tutorials/first-mascot
  • Make your mascot move/docs/tutorials/first-animation
  • Make your mascot talk/docs/tutorials/make-it-talk
  • Put your mascot on your website/docs/tutorials/mascot-on-your-website
  • 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
  • Quickstart: your first animation/docs/quickstart
  • API keys and workspaces/docs/authentication
  • 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, scenes and stickers/docs/generate/design-assets
  • Cursor follower/docs/generate/cursor-follower
  • Batch generation/docs/generate/batch
  • 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
  • Smooth mascot playback/docs/integrations/playback
  • Hosting and file formats/docs/generate/cdn
  • File sizes/docs/generate/file-sizes
  • Image and video exports/docs/manage/media-exports
  • Terminal quickstart/docs/terminal
  • Desktop commands/docs/terminal/commands
  • CLI browser login/docs/authentication/cli
  • Swift SDK/docs/sdk/swift
  • TypeScript and Electron SDK/docs/sdk/typescript
  • Jobs and polling/docs/manage/jobs
  • Webhooks/docs/manage/webhooks
  • Manage mascots and assets/docs/manage/collections
  • Connect an AI agent/docs/ai-agents
  • Masko in ChatGPT/docs/ai-tools/chatgpt
  • Masko for Cursor/docs/ai-tools/cursor
  • Masko for Muse/docs/ai-tools/muse
  • Masko skill for coding agents/docs/ai-tools/skills
  • All endpoints/docs/reference
  • Requests and responses/docs/reference/conventions
  • Errors and recovery/docs/reference/errors
  • 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

Measured on 40 Masko animations of 5 seconds. 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, each one only 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 and 15 MB in HEVC. Load long talks only when the visitor presses play.

Make your files lighter

  • 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. GET /v1/mascots/:id returns each hosted file's file_size in bytes, see check CDN status.