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

Create a mascot from text

Describe your mascot and pick a style; the API draws its reference image.

Two Approaches

Preview options first (recommended, 1 credit per preview), or create the mascot in one call (1 credit for its reference image).

If direct creation fails, its credit is refunded, with background retries when needed. Retry with the same Idempotency-Key and request: completed errors replay too, so a retry never charges again.

Step 1: Browse Styles

Each style has an id to pass as preset_id.

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

Step 2: Generate Previews

Generate several images from your description and pick one before creating the mascot.

curl -X POST https://api.masko.ai/v1/generate/preview \
  -H "Authorization: Bearer masko_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A friendly orange fox wearing a space helmet",
    "preset_id": "STYLE_ID",
    "count": 4
  }'

Step 3: Create Mascot

Use the preview URL you like as a reference image.

curl -X POST https://api.masko.ai/v1/mascots \
  -H "Authorization: Bearer masko_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Astro Fox",
    "project_id": "PROJECT_ID",
    "prompt": "A friendly orange fox wearing a space helmet",
    "reference_image_urls": [
      "URL_FROM_PREVIEW_RESPONSE"
    ]
  }'

Shortcut: Direct Creation

Skip previews: the API generates a reference image from your prompt for 1 credit. style optionally applies a preset.

curl -X POST https://api.masko.ai/v1/mascots \
  -H "Authorization: Bearer masko_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Astro Fox",
    "project_id": "PROJECT_ID",
    "prompt": "A friendly orange fox wearing a space helmet",
    "style": "3d"
  }'

Design touches

design_touches adds the Studio creator's design ideas after your prompt, only where they fit: a touch never adds ears, limbs or a mouth the character lacks, and your prompt wins where they differ. Touches need prompt and no references, and cost nothing extra.

GroupTouch IDs
Shapeproportions (big head, small body), simple, asymmetry (a little lopsided), grounded, few-colors
Faceno-mouth, looks-at-you, blush, and at most one of eyes-big or eyes-dots
Charactersignature, weird (one weird thing), twist, grown-up-flaw, magic-part, and at most one mood: mood-cozy, mood-mischievous, mood-melancholy, mood-bold, mood-mysterious, mood-chaotic or mood-serene
curl -X POST https://api.masko.ai/v1/mascots \
  -H "Authorization: Bearer masko_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Ember",
    "project_id": "PROJECT_ID",
    "prompt": "a dragon",
    "design_touches": ["proportions", "eyes-big", "mood-cozy"]
  }'

Next Steps