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

How mascots work

How projects, mascots, items and assets fit together in the Masko API.

The hierarchy

Projects own mascots and canvases. A mascot holds items (poses or actions), and items hold assets (files); canvases use mascot assets without belonging to a mascot.

Project
  └── Mascot (identity, variants and assets)
        ├── Item: "Wave"
        │     ├── Asset: image (pose.png)
        │     ├── Asset: transparent_image (pose_nobg.png)
        │     ├── Asset: video (wave.mp4)
        │     ├── Asset: webm (wave.webm)
        │     └── Asset: hevc (wave.mov)
        ├── Item: "Idle"
        │     └── ...
        └── Item: "Thumbs Up"
              └── ...

Mascots and variants

/v1/mascots holds identity, references and generation settings. Each mascot has an Original context and optional named variants; shared approved context is read-only, so duplicate it for your own variant. New poses use the current context, and existing media never changes.

Items

An item is one pose or action, such as "Wave", with a name, a prompt and a type (image, animation or logo). Its prompt is combined with the mascot's character prompt.

Assets

An asset is one generated file:

TypeFormatDescription
image.pngGenerated image with background
transparent_image.pngBackground removed
video.mp4Animation (H.264)
webm.webmAnimation with alpha, for the web
hevc.movAnimation with alpha, for Apple
stacked_video.mp4Color and alpha stacked, for custom compositing
stacked_video_av1.mp4The same layout in AV1, lighter, for the Masko player in apps
audio.mp3Voice of a talking animation
transcript.jsonTimed words, lines and movements of a talking animation

Generation graph

Each file links to the file it was made from:

image (.png)
  └── transparent_image (.png)    [role: source]
        └── video (.mp4)          [role: source, end_frame]
              ├── webm (.webm)    [role: source]
              └── hevc (.mov)     [role: source]

A link's role is source (derived from that asset) or end_frame (the final pose guiding an animation).

Reference images and style cards

Up to 6 reference images guide every generation. On the first generation, Masko extracts from them a style card (colors, proportions, line style, shading) that joins every prompt; changing references clears it until the next generation.

A configured caution_list adds consistency instructions to prompts but does not validate results.

Size variants

Set settings.animation_sizes at creation, or publish_params.animation_sizes later, to get each animation at up to two smaller sizes such as [480, 240], for free. Every animation already has its 720 px files, so 720 and larger sizes are ignored.

Canvases, releases and publication

A canvas belongs to a project and is edited with /v1/canvases. Checkpoints keep unfinished work and releases freeze complete graphs with their media, without generating media, publishing a library or activating a mascot on a Mac (canvases and releases).

Marketplace libraries are published separately from canvas releases (publish to the Marketplace).