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.

0 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  mj:
    github: trans/mjanime
    version: ~> 0.7.0

Then run:

shards install

shard.yml

Crystal
>= 1.19.1
License
MIT
Author
Thomas Sawyer
Target
  • mj from src/mj.cr

Dependencies

Runtime Dependencies

README

This README is the one indexed from the repository at its latest ref, not from the tag for this version.

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/bus mj, full name mjanime.

Tools

CommandWhat 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 decorateTemplate → structural master → styled variation
mj sfx <in.wav>Reference sound → procedural Web Audio recipe
mj serveWeb app (editor + Diorama parallax player) on port 21683
mj busServe 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_KEY for image generation (OPENAI_API_KEY for bus TTS). Some tools also use ImageMagick, and mj matte --isnet uses onnxruntime-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 / just recipes; specs under spec/.
  • Contributor & agent notes: CLAUDE.md. Loose ends: TODO.md.

License

MIT — Thomas Sawyer.