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
  • 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
  • Play a mascot in your app/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
  • Command line reference/docs/terminal/commands
  • CLI browser login/docs/authentication/cli
  • Float a mascot on your Mac/docs/integrations/desktop
  • TypeScript SDK/docs/sdk/typescript
  • 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
  • Changelog/docs/reference/changelog
  • Migrate to mascots and canvases/docs/manage/studio-migration
Get an API key
Documentation

Logos, scenes and stickers

Turn your mascot into a logo or app icon, an SVG, a scene or a sticker. Logos, SVGs and scenes return jobs to poll; a sticker can complete right away.

Rudy, the mascotGraphic app iconCut-paper markSoft-depth icon
Rudy, a puppy mascotRudy as a graphic app iconRudy as a cut-paper markRudy as a soft-depth icon

Three logos from one mascot; more styles on the mascot logo page.

A logo costs 5 credits. The references supply the identity, logo_description the composition (such as a face portrait with asymmetrical ears) and logo_style_instruction the treatment (such as flat colors or bold outlines), so you can change one without the other.

For a filled icon, name the background color and ask it to fill the canvas; the master keeps it. The transparent version, used for resized PNGs and the favicon, can lose colored backing shapes, so use the master for a filled badge. Output is raster; for vector paths, generate an SVG.

curl https://api.masko.ai/v1/mascots/MASCOT_ID/generate \
  -H "Authorization: Bearer $MASKO_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "logo",
    "name": "App icon",
    "logo_description": "A face-only icon of the character",
    "logo_style_name": "Flat",
    "logo_style_instruction": "Solid colors, simple silhouette, no gradients"
  }'

Logo presets and ideas

  • GET /v1/logo-styles: Studio's nine logo treatments with previews and full instructions (not the mascot styles at /v1/styles).
  • GET /v1/mascots/{id}/logos/suggestions: five free logo directions and three style suggestions, with optional variant_id and refresh=true. A direction's custom style has name and instruction, plus preset_id for an exact built-in match.

Send a preset as logo_style_id:

{
  "type": "logo",
  "name": "Playful portrait",
  "logo_description": "An oversized face portrait with a natural tilt",
  "logo_style_id": "graphic-app-icon"
}

The preset resolves to its full instructions; logo_style_name and logo_style_instruction override them. For several logos, use /generate-batch with one request each.

For safe retries, create the item first and send its item_id with a UUID request_id. The same ID and body return the existing job without a new charge; a new ID is a new paid attempt.

Logo imageSVG
Rudy's graphic app icon as an imageThe same icon as an SVG

POST /v1/assets/{id}/svg with a UUID request_id turns a completed logo master, image, transparent image or sticker into an SVG on the same item, for 30 credits.

curl -X POST 'https://api.masko.ai/v1/assets/ASSET_ID/svg' \
  -H "Authorization: Bearer $MASKO_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"request_id":"bba386b8-c756-4f7c-89a2-132862188bf4"}'
  • The 202 response has data.job_id, data.asset_ids.svg, data.estimated_cost and data.poll_url; the job can take several minutes.
  • Reuse the request_id after an interruption or a brief 409. A new ID is another paid generation; failures are refunded.
  • Read it with GET /v1/assets/{svg_asset_id} (file_url or cdn_url). In cdn-export, hosted logo items show it as logos.svg and image items as svg.

The source PNG stays unchanged. Paths are editable and scale cleanly, but fine details can differ from the source.

Scene

A scene costs 3 credits. Describe the place and the action separately:

curl https://api.masko.ai/v1/mascots/MASCOT_ID/generate \
  -H "Authorization: Bearer $MASKO_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "scene",
    "name": "Reading corner",
    "scene": "A cozy library in warm afternoon light",
    "action": "Reading a book in an armchair",
    "aspect_ratio": "4:3",
    "position": "center"
  }'
  • aspect_ratio: 4:3, 1:1, 21:9, 4:5, 3:4 or 9:16.
  • source_asset_id builds the scene from a specific character image. To edit a scene, send source_image_asset_id and edit_instructions instead.
  • variant_id targets a named variant, for logos too. Otherwise a scene's reference image supplies its saved context, and a conflicting variant returns 409 before charging unless it lists that image as a reference.

Sticker

Ko with a trophyKo asleep
Ko holding a trophy, as a sticker with a white borderKo curled up asleep, as a sticker with a white border

POST /v1/assets/:id/sticker turns a completed mascot image into a transparent PNG sticker with a white border, for 1 credit, with no background-removal step. A completed result returns 201; check data.status.

From a completed animation with background removal, it makes an animated sticker in all four chat platform versions for 0 credits; poll GET /v1/assets/{sticker_id}/sticker. See animated sticker creation and the endpoint reference for source requirements.

Collect the result

Save data.job_id, follow job progress, and use the returned URLs (hosting and file formats) rather than building paths.