layers: body · leg_back_l · leg_back_r · tail · leg_r · leg_l · ear_r · ear_l · head · eyes · mouth · bandana
Can't rebuild it faithfully? You'll see the side-by-side and decide. We never swap in a lookalike.
Character engine for products
Upload the mascot you have, or start from an idea. Lumorig rebuilds it as a rigged vector character that moves instantly and ships as one line of code.
Free to start · 18 motions included · No card
<lumorig-player src=…>Two ways in
Most tools redraw your character from a reference. We rebuild yours: our drawing agent traces it into clean, layered vector parts and rigs it, so the art you paid for is the art that moves.
layers: body · leg_back_l · leg_back_r · tail · leg_r · leg_l · ear_r · ear_l · head · eyes · mouth · bandana
Can't rebuild it faithfully? You'll see the side-by-side and decide. We never swap in a lookalike.
Every example above is a real upload and its rebuild.
Instant motion
Presets are fitted to your character's rig, so they play instantly and cost nothing. Need something specific? Ask for it in plain words.
Or ask for it
do a tiny victory hop, then look embarrassed about it
Added victory-hop · 1.6 s · loops
custom motions use credits · cost shown before you confirm
Consistency
Video generators redraw your mascot in every frame, and ears, eyes and colours wander. A rig can't wander: every pose moves the same parts.
Variants
Dress it for winter, hand it a mug, keep the original. Every look is the same rig, so every move carries over, and props switch on and off for free.
In your product
The moments that make people quit are the moments a character helps most.
Welcome to Ledgerly
Three steps and your books are live.
A face on step one.
What you'd ship: <lumorig-player animation="wave" trigger="auto">
Canvases
Canvases turn motions into behaviour. Wire states to your app's events and the mascot listens, thinks, talks, celebrates, or sulks, blending smoothly between them.
Pico
idleHi, I'm Pico. Ask me anything.
State graph · chatbot
blend 0.2–0.3sconst pico = document.querySelector("lumorig-player");
input.addEventListener("input", () => pico.setInput("listening", true));
chat.on("request", () => pico.setInput("thinking", true));
chat.on("token", () => pico.setInput("talking", true));
chat.on("done", () => pico.setInput("talking", false));Ship anywhere
Export the same character as true-vector Lottie, animated SVG, video with alpha, or stickers, or skip files entirely and embed it live.
621 KB → 6.6 KB. Same loop, 98.9% smaller, and still sharp at 4×.
Lottie
iOS, Android, web, Framer
6.6 KB gz
Animated SVG
An <img>, no JavaScript
7.6 KB gz
<lumorig-player>
Live, interactive, one line
~8 KB player
React
Props mirror attributes
MP4
Social, ads, product videos
52 KB
WebM (alpha)
Transparent video on the web
134 KB
GIF
Email, Slack, docs
621 KB
WebP
Animated, smaller than GIF
457 KB
APNG
Lossless with alpha
Sprite sheet
Unity, Godot, PixiJS
PNG / SVG stills
Any pose, any size
8.7 KB svg
Stickers & logo
Die-cut and badge crops
<script type="module" src="https://lumorig.com/player.js"></script>
<lumorig-player
src="https://lumorig.com/api/v1/mascots/pico/bundle"
animation="idle"
trigger="hover"
follow-cursor>
</lumorig-player>Sizes measured on a 2-second wave, 512px, 30fps.
Built for agents
Everything in the studio is also an API call, an MCP tool and a CLI command, so Claude Code, Cursor or your own agent can make, animate and embed mascots without leaving the editor.
https://lumorig.com/api/mcpclaude mcp add --transport http lumorig \
https://lumorig.com/api/mcp
# no key: sign in once when it askscreate_mascotNew character from an idea, or rebuild an imagelist_mascotsEverything in the workspaceget_mascotParts, palette, motions and a preview imageedit_mascotChange it in plain words, or branch a look variantrecolor_mascotSwap palette tokens instantlyanimate_mascotA preset (free), a described motion or a reference videosuggest_animationsSignature-motion ideas for your productexport_mascotLottie, SVG, MP4, WebM, GIF, stickers…get_embed_codeA ready <lumorig-player> or Lottie snippetcreate_canvasChatbot, AI-agent or onboarding behaviourcreate_sceneThe mascot in an illustrated vector sceneanalyze_websiteThree mascot concepts from a brand's sitewait_for_jobBlock until a long job finisheslist_jobsRecent jobs, status and costHosted over HTTP or local over stdio — the same twelve tools either way.
Pricing
Presets and the player never cost credits, and downloads are included on Maker and Studio. You pay when Lumorig creates something new (a character, a rebuild, a custom motion or an edit) and, on Free, 50 credits to unlock a character's downloads beyond its one free animation (watermarked previews).
$0forever
Your first character is on us.
$12/mo
For one product with a character in it.
$36/mo
For teams shipping characters across products.
FAQ
Free to start: 100 credits, once, with no card, and your first character is on us. That covers a vector rebuild or your first 2 clips. Preset motions and the live player stay free, and one animation of each character downloads free with a small watermark. Maker ($12 a month) adds clean files in every format and commercial use.
Upload it and pick "Animate my exact art": your lines and colours stay untouched, and it moves in short video clips on a transparent background. Pick "Rebuild as vector" for a rigged character (Lottie, SVG, live expressions): it's redrawn from your art and can differ a little, and you see the two side by side.
Usually about five minutes for clips or a rebuild, and we email you when it's ready. Once a character is rigged, its preset motions play instantly.
Real vector paths and a real rig. The Lottie has no embedded bitmaps; open it in any Lottie editor and every part is a named layer.
Yes. Every part is a named layer, so you can recolour it in code, or ask for changes in chat and re-export. Embeds pick up the new version.
On a rigged character, all 18 preset motions, always: they're fitted to your rig without any AI work. Animating uploaded art is 60 credits a clip, and it rests by breathing for free. Custom motions and edits use credits too, and the price shows before you confirm.
Web (HTML or React), iOS and Android through Lottie, video anywhere, and sprite sheets for game engines.
You own your characters and your exports, and we don't train on your uploads. Free-plan characters are for personal use; paid plans include commercial use.
Add the hosted MCP URL, or run npx @lumorig/mcp locally. The lumorig CLI works too. That's it.
Keep them. Those are tools for animating; Lumorig hands you a finished, rigged character that already knows 18 moves, and it exports Lottie those tools can open.
Drop in the one you have, or start from a sentence. It will be waving in under a minute.