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 to create an animated character

An animated character is one character drawn the same way every time, plus short videos of it moving. Masko makes both: you describe the character or upload a picture of it, then Masko draws a new pose and animates it into a five-second loop with a transparent background.

15 min · 12 credits · Studio or API

Make the character

Open Create a mascot, describe the character in one sentence, such as "A friendly orange fox with a blue scarf", and press Generate · 1 credit. Already have a character, a logo or a drawing? Use the Upload yours tab instead. Create your first mascot covers every option and the API call. If you made one there, skip to the next step.

Animate it in Studio

  1. Open your mascot in Studio, go to the Animations tab, press Create Animation and choose New image + animation.
  2. Fill in Name ("Waving hello"), Starting image ("standing, smiling, one paw raised") and Movement ("waves hello, then lowers the paw back to the start"). Or type the name and press Fill prompts.
  3. Keep Loop on, and under Quality keep Standard and a Duration of 5s.
  4. Press Generate · 11 credits. When it is ready, open it in the Animations tab for Available Formats, Export and Get Links.

Animate it with the API

You need a write key from API keys in MASKO_API_KEY and your MASCOT_ID. Run these calls on your server or in a terminal, never in browser code.

1. Ask for the animation

One request draws the pose from image_prompt and animates it with animation_prompt, and loop: true makes a clip that repeats without a seam. Always set animation_model to standard: leaving it out keeps an older, pricier rate of 5 credits a second.

curl -X POST https://api.masko.ai/v1/mascots/MASCOT_ID/generate \
  -H "Authorization: Bearer $MASKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "animation",
    "animation_model": "standard",
    "name": "Waving hello",
    "image_prompt": "standing, smiling, one paw raised",
    "animation_prompt": "waves hello, then lowers the paw back to the start",
    "duration": 5,
    "loop": true
  }'

It answers 202 Accepted at once, before the work is done. Save job_id and item_id.

animation_modelFive seconds with a new pose
standard11 credits: 1 for the pose, 2 per second
premium31 credits, higher quality
left outOlder rate of 5 credits per second

2. Wait for the job

A job goes pending, processing, then completed or failed. With wait=true, the server holds the request until the job finishes or the timeout passes; then ask again.

# Holds the request open until the job finishes, up to 120 seconds.
# If the timeout comes first, you get the current status: ask again.
curl "https://api.masko.ai/v1/jobs/JOB_ID?wait=true&timeout=120" \
  -H "Authorization: Bearer $MASKO_API_KEY" \
  -H "Masko-API-Version: 2026-09-26"

In production, use a webhook: your server gets a signed POST when each job finishes. Check its Masko-Signature header on every call.

What you get

One item, "Waving hello", holds these files:

AssetFileUse
imagePNGThe pose, with its background
transparent_imagePNGThe pose, background removed
webmWebM, VP9 with alphaTransparent in Chrome, Firefox, Edge
hevcMOV, HEVC (H.265) with alphaTransparent in Safari, iOS, macOS
videoMP4, H.264Plays everywhere, solid background
stacked_videoMP4, color and alpha stackedTransparent on Android, in the Masko player

A page lists both transparent files and each browser plays the one it can; Put it on your website has the markup.

Other formats are free: POST /v1/assets/:id/exports, or Export in Studio, makes GIF, Lottie, dotLottie, ProRes 4444 with alpha, PNG sequences and resized versions. See image and video exports.

Using an AI agent?

Paste this into an agent connected to the Masko MCP server (setup for Claude Code, Codex, Cursor and more), or into one with the Masko skill and an API key.

Animate my Masko mascot by following
https://masko.ai/docs/tutorials/first-animation
Use my mascot "MASCOT_NAME". Ask me which one if I have several.
Make a five-second Standard looping animation called "Waving hello":
a new pose, then a wave that ends where it started.
Use the Masko MCP tools if they are connected. Otherwise use the REST API at
https://api.masko.ai/v1 with MASKO_API_KEY from my environment. Never print the key.
Tell me the cost first and wait for my OK. It should be 11 credits.
Wait for the job without starting it again, then give me the WebM and HEVC URLs.

Next