mj
Version, currently 0.10.09 versions
github.com/trans/mjanime
mjanime — media-jockey AI image studio (Crystal + Runware): pixel-art restyle, transparent props, structural beds, generative-zoom scenes; callable over the Arcana bus.
Installation
# Add this to your shard.yml
dependencies:
mj:
github: trans/mjanime
version: ~> 0.10.0Then run:
shards installshard.yml
- Crystal
>= 1.19.1- License
- MIT
- Author
- Thomas Sawyer
- Target
mjfrom src/mj.cr
Dependencies
Runtime Dependencies
- kemal~> 1.5github: kemalcr/kemal
- sqlite3*github: crystal-lang/crystal-sqlite3
- stumpy_png*github: stumpycr/stumpy_png
- arcana-core~> 0.11github: trans/arcana-core
README
mj — media jockey
An AI image & audio studio in Crystal, built on Runware. mj produces the art for Silicon Circus, a boardwalk game: transparent props, AI pixel-art, background matting, seamless scenery panoramas, parallax dioramas, and procedural sound effects.
Formerly minanime. Module
MJ, binary/config/busmj, full namemjanime.
Tools
| Command | What it does |
|---|---|
mj prop <name> | Rough sketch → AI render on a solid bg → keyed transparent prop |
mj pixelize <dir> | AI pixel-art restyle (8/16-bit), optional transparency |
mj matte <image> | Background removal — procedural / IS-Net / Runware tiers |
mj strip <dir> | Row of images → one long seamless panorama |
mj base / mj decorate | Template → structural master → styled variation |
mj sfx <in.wav> | Reference sound → procedural Web Audio recipe |
mj serve | Web app (editor + Diorama parallax player) on port 21683 |
mj bus | Serve the image tools on the Arcana bus |
Full CLI reference: docs/tools/.
Documentation
The docs/ wiki covers the tools, the techniques, and the world:
- The World — Silicon Circus and the day/night/pixel pipeline.
- Techniques & lessons — the pixel recipe, prop keying, night lighting, prompt craft. The hard-won craft.
- Nano Banana — the image model mj leans on.
- Roadmap — goals, open problems, working agreements.
(docs/api/ holds the auto-generated Crystal API docs via crystal docs.)
Getting started
shards install
just build # compiles the ONNX C shim + the mj binary
mj init # scaffolds .config/mj/config.yml
set -a; . ./.env; set +a # load RUNWARE_API_KEY (the .env is bash; shell may be fish)
mj prop my-barrel # …run a tool
- Requires
RUNWARE_API_KEYfor image generation (OPENAI_API_KEYfor bus TTS). Some tools also use ImageMagick, andmj matte --isnetusesonnxruntime-cpu(see matte docs). - Libraries (props, backdrops, scenes) live under
~/.local/share/mj/.
Development
- Source:
src/mj.cr(CLI),src/engine/(tools),src/models/*_spec.cr(YAML config schemas),src/api/,src/diorama.cr,src/bus_service.cr. just build/justrecipes; specs underspec/.- Contributor & agent notes: CLAUDE.md. Loose ends:
TODO.md.
License
MIT — Thomas Sawyer.
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.10.0- Tagged
- Aug 27, 2026
- Commit
88369d364006- Crystal
>= 1.19.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/trans/mjanime
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 2, 2026
- Synced
- Sep 2, 2026
- Versions
- 9