Skip to content

Get started

Introduction

Lumorig turns an idea or an existing mascot into a rigged vector character you can animate, export and embed from code.

A Lumorig mascot is not a picture. It is a rigged vector character: named parts in a hierarchy, each with a pivot and joint limits, plus alternate drawings for eyes and mouths. Because the rig is real, fifteen motions work on every character the moment it exists, the same character looks identical in every frame, and it ships as kilobytes of JSON or SVG instead of megabytes of video.

What you can build#

  • Characters from an idea. Describe one in a sentence; Claude draws it, renders it, looks at the render and fixes what it sees. Generate from an idea.
  • Your existing mascot, rigged. Upload a PNG, JPG, WebP or SVG and get it back as a rig, with a fidelity score against your original. Rebuild an upload.
  • Motion. Fifteen presets fitted to any rig for free, custom motions described in words, or a motion copied from a reference video. Animate.
  • Files. True-vector Lottie, animated SVG, WebM with alpha, MP4, GIF, sprite sheets, stickers and logos. Export formats.
  • Live embeds. One <lumorig-player> element, about 8 KB gzipped, with hover, click and follow-cursor built in. Embed.
  • Behaviour. Canvases are state machines that map your app's events (typing, thinking, done, failed) to motions. Interactive canvases.

Four surfaces, one engine#

The studio, the REST API, the TypeScript SDK, the MCP server and the lumorig CLI all call the same service layer, so anything you can do in one you can do in the others. The SDK wraps the REST API; the MCP server and the CLI are built on the SDK.

SurfaceUse it forStart here
REST APIAny language; the source of truth. JSON over HTTPS at /api/v1.REST API reference
TypeScript SDKNode 18+, Bun, Deno and browsers. Typed, zero dependencies.@lumorig/sdk
MCP serverClaude Code, Cursor and other agents. Hosted over HTTP or local over stdio.Use from AI agents
CLIScripts, CI, saving files into a repo, and the terminal companion.lumorig CLI

How a request flows#

Anything that calls a model (generating, rebuilding, custom motion, edits, scenes) is a job. The request returns at once with the job, you wait for it by long-polling, streaming its events over SSE, or registering a webhook, and the result lands on the mascot. Deterministic work (presets, recolors, canvases) answers synchronously. Exports are jobs too, but they never cost credits.

curl -X POST https://lumorig.com/api/v1/mascots \
  -H "Authorization: Bearer $LUMORIG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "prompt": "a sleepy moth who guards the docs", "style": "outlined" }'
# 202 → { "mascot": { "id": "msc_…", "status": "generating" }, "job": { "id": "job_…", "status": "queued" } }

Where to next#