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
  • Masko in Lovable/docs/ai-tools/lovable
  • Masko in Devin/docs/ai-tools/devin
  • Masko in n8n/docs/ai-tools/n8n
  • Masko in Hermes Agent/docs/ai-tools/hermes
  • Masko in OpenClaw/docs/ai-tools/openclaw
  • 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
  • Props/docs/manage/props
  • 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
  • Write good requests/docs/generate/requests
  • 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
  • Ship in an app with an app key/docs/player/app-keys
  • Play on an ESP32 board/docs/player/esp32
  • 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

Props

A prop is an object your mascot reuses across images, such as a mug, a phone or a book. Masko keeps it as a clean drawing, the object alone on white in the mascot's style, and adds it to a new image when the request mentions that kind of object. A mascot or a variant holds up to 12 props.

Add a prop from a picture

Send any picture that shows the object. It can be messy: a hand holding the object, a busy scene, a photo or a frame of a video. Upload it first with POST /v1/upload and send its asset_id as image_asset_id, or send the ID of one of the mascot's images.

description says which object to take when the picture shows several, and becomes the prop's description. Without it, Masko takes the main object it finds. name is optional too.

There is no confirmation step: Masko finds the objects, takes the one you described, saves it and starts its clean drawing. It costs 1 credit, refunded if the drawing fails.

curl -X POST https://api.masko.ai/v1/mascots/MASCOT_ID/props \
  -H "Authorization: Bearer masko_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_asset_id": "UPLOADED_ASSET_ID",
    "description": "the hot-pink phone with a small fish on the back",
    "name": "Pink phone"
  }'

Poll poll_url until the job is completed, usually under a minute. Then list the props to see the drawing.

ErrorWhen
404 no_prop_foundThe picture shows no object besides the mascot.
404 no_matching_propThe description names none of the objects found. details.found lists them; describe one of those.
409 prop_existsThe object is already one of the mascot's props.
409The mascot or variant already has 12 props.
402 insufficient_creditsNot enough credits for the drawing.
42960 pictures searched for objects in one day.

Add the prop to a variant instead of the mascot with variant_id.

List props

curl https://api.masko.ai/v1/mascots/MASCOT_ID/props \
  -H "Authorization: Bearer masko_YOUR_API_KEY"

Each prop has its status and, once completed, an image_url: a signed link to the drawing that expires, so list again for a fresh one. Pass variant_id for a variant's props.

How props reach new images

You never attach a prop by hand. When you generate an image, including a canvas pose, Masko checks each prop's use_when against the request and adds up to three props the request mentions, by any name for that kind of object. "Holding her phone up, giggling" brings the pink phone; "waving hello" brings nothing.

Animations do not add props. An animation shows a prop when the pose it starts from holds it, so generate the pose with the prop first and animate from it.