Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Blokjutsu icon

Blokjutsu

A local, permissively licensed, open-source Mac app for generating and editing images from text prompts with the open-weight MOSS-Image model.

  • Local. The model runs locally on your Mac. Prompts and images never leave your machine.
  • Permissive open source (Apache 2.0). The app, MOSS-Image's code, and MOSS-Image's model weights are all under the Apache License 2.0. Use them for anything, commercial or not, and change and share them, with no restrictions on what you make.
  • Download once. The image model (about 30 GB) and the optional captioning model (2 GB) are downloaded once, when you ask. After that, everyday use doesn't go online at all.

Simple on purpose: a small set of controls designed to work together and to be quick to learn.

Using Blokjutsu? Start with the User's Guide: installing, a tour of the window, writing prompts, and every control explained.

The Blokjutsu window: controls on the left; on the right, an image of three bowls of ice cream on a diner counter with handwritten cards reading CHOCOLATE, CHERRY, and PLAIN

What Blokjutsu does

  • Text to image, image to image, variations, inpainting, outpainting, cropping, and upscaling
  • Describe image and Enhance prompt, written by MOSS-Image's own text encoder
  • Live previews, a scrolling history, and each image's settings saved beside it

Open source all the way down

With Blokjutsu, the model, the code that runs it, and the app around it are all yours to run, keep, and adapt.

Every part of Blokjutsu is released under the Apache License 2.0, a permissive open-source license:

  • Blokjutsu's source code, in this repository
  • MOSS-Image's code, the pipeline that turns a prompt into an image
  • MOSS-Image's model weights, including the Qwen3.5-9B text encoder and FLUX.2 image decoder they contain

Apache 2.0 lets anyone use, study, change, and share all of it, for any purpose, commercial or not, at no cost, and with no sign-up. The conditions are light: keep the license and copyright notices, and say what you changed. It also grants the patent rights needed to use the code. The libraries Blokjutsu builds on are open source too (see What it uses).

Requirements

  • A Mac with Apple silicon (M1 or later) and macOS 12.3 or later
  • 32 GB of memory or more; 48 GB or more is comfortable, and smaller Macs work slowly, if at all
  • About 40 GB of free disk space, mostly for the model

Install

Mac users: open Terminal and paste

curl -LsSf https://formdo.github.io/blokjutsu/install.sh | sh

This installs Python and Blokjutsu into ~/Library/Application Support/Blokjutsu.noindex/ and puts Blokjutsu in your Applications folder. Nothing else on your Mac is changed. See the User's Guide for details and uninstalling.

Python developers: Blokjutsu needs Python 3.10 or later. We strongly suggest installing it in its own virtual environment. The exact library versions it was tested with are in constraints.txt, which pip can use with -c constraints.txt.

python3 -m venv .venv
source .venv/bin/activate
pip install blokjutsu
blokjutsu

Built on MOSS-Image

Blokjutsu is an independent desktop front end for MOSS-Image, the text-to-image model and pipeline by the OpenMOSS Team and MOSI.AI. Blokjutsu is not affiliated with or endorsed by them. All of the image-making is theirs.

If you use images or results from Blokjutsu in research, please cite MOSS-Image:

@misc{mossimage2026,
  title        = {MOSS-Image},
  author       = {{OpenMOSS Team}},
  year         = {2026},
  howpublished = {\url{https://github.com/OpenMOSS/MOSS-Image}}
}
@misc{mossimage2026report,
  title         = {MOSS-Image Technical Report},
  author        = {{MOSI.AI}},
  year          = {2026},
  eprint        = {2610.23374},
  archivePrefix = {arXiv},
  url           = {https://arxiv.org/abs/2610.23374}
}

What it uses

The models are downloaded from Hugging Face, a site that hosts open AI models, and only when you ask. MOSS-Image's model is published there as MOSS-Image-SFT; its text encoder and image decoder come from Qwen and FLUX.2 and are included in that download.

model by license role
MOSS-Image-SFT OpenMOSS Team Apache-2.0 MOSS-Image's model, used by default
MOSS-Image-Base OpenMOSS Team Apache-2.0 the untuned model, for people training their own versions (optional)
Qwen3.5-9B Qwen Team, Alibaba Cloud Apache-2.0 reads prompts (part of MOSS-Image); with its output layer, downloaded separately, writes descriptions
FLUX.2 VAE Black Forest Labs Apache-2.0 turns the model's output into pixels (part of MOSS-Image)

Python libraries, installed alongside:

library license role
PyTorch, torchvision BSD-3-Clause numerical engine on the Apple GPU
Diffusers Apache-2.0 runs the MOSS-Image pipeline
Transformers, Accelerate Apache-2.0 text encoder, describing
huggingface_hub, safetensors Apache-2.0 model files and downloads
httpx BSD-3-Clause the confirmed downloads
PySide6 / Qt LGPL-3.0 the window and controls
Pillow MIT-CMU image files
NumPy BSD-3-Clause arrays
PyObjC MIT macOS system icons and app name

Local by design

Blokjutsu runs the model on your Mac's own processor and memory. It uses the internet only once to initially download the models, and then, only after a confirmation dialog. After the models are downloaded once, Blokjutsu works completely offline. It does not go online to generate, edit, or store images. It does not go online to check for updates to itself.

Images are saved as plain PNG files that hold only the image. If you want, a setting in Advanced options also writes each image's prompt and settings into the PNG.

What Blokjutsu keeps on your Mac

what where Delete all history
your images, each with its settings and any image you started from the Output folder you choose (by default ~/Library/Application Support/Blokjutsu.noindex/images/) deleted, in every Output folder used
the log, for troubleshooting ~/Library/Application Support/Blokjutsu.noindex/logs/ emptied
working copies from Select area to change …/Blokjutsu.noindex/work/ deleted
a small file the live preview needs, built from your images …/Blokjutsu.noindex/preview/ deleted
your settings, including the last prompt …/Blokjutsu.noindex/settings.json prompt reset, preferences kept
the captioning model …/Blokjutsu.noindex/caption/ kept
the image model …/Blokjutsu.noindex/models/ kept
the app and the Python it runs on ~/Applications/Blokjutsu.app, …/Blokjutsu.noindex/tools/, and …/Blokjutsu.noindex/runtime/ kept

The whole …/Blokjutsu.noindex folder is kept out of Time Machine backups and Spotlight. To back up your images, choose an Output folder elsewhere, such as ~/Pictures/Blokjutsu.

Delete all history (in the File menu) removes everything made from your prompts and images and keeps your preferences and the models. The User's Guide has the details, including what macOS itself remembers.

Contributing

CONTRIBUTING.md explains how to set up a development environment, run the tests, and build the Mac app. Architecture and technical notes are in the developer pages.

Roadmap

What comes next is in ROADMAP.md.

Bug reports and feature requests

Please report bugs and request features as GitHub issues. For help using Blokjutsu, see the User's Guide and its Troubleshooting page.

Etymology

Blokjutsu (BLOK-joot-soo, /ˈblɒk.dʒuː.tsuː/), noun. The art of the block.

From Danish blok, "block," and Japanese jutsu (術, じゅつ), "art" or "technique." The name comes from how MOSS-Image works: it treats an image as blocks of pixels, each 16 × 16 square one unit for the model, and transforms them step by step from noise into the finished image.

Design inspiration

The block designs in the icon and the app draw on

  • the Kohs block design test, introduced by Samuel C. Kohs in 1920: colored cubes, some faces split diagonally, arranged to match a pattern
  • Froebel's gifts, the wooden building blocks of Friedrich Fröbel's first kindergartens
  • the primary colors and simple geometry of the Bauhaus

Authors

Blokjutsu was written by Bob Carpenter together with Claude, Anthropic's AI model.

License

Copyright 2026 Bob Carpenter. Apache License 2.0; see LICENSE and NOTICE. blokjutsu/moss_image.py is MOSS-Image's pipeline code, copied unchanged, and blokjutsu/moss_forward.py is adapted from it (both Apache-2.0). "MOSS-Image" is the OpenMOSS Team's name and is used here only to say what this app runs.

Metadata

Release files for blokjutsu 1.0.0rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blokjutsu 1.0.0rc1
File Size Uploaded Provenance Actions
blokjutsu-1.0.0rc1.tar.gz 146.7 kB With provenance Details for blokjutsu-1.0.0rc1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for blokjutsu 1.0.0rc1
File Interpreter ABI Platform Actions
blokjutsu-1.0.0rc1-py3-none-any.whl Python 3 none any Details for blokjutsu-1.0.0rc1-py3-none-any.whl

Total release size: 295.6 kB

Release files / blokjutsu-1.0.0rc1.tar.gz

Download URL blokjutsu-1.0.0rc1.tar.gz
Size 146.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5cae9f050ec4d770c846dba810df4b1d9acdf2d6ac5e220618d3cbfbbafed846
BLAKE2b-256 checksum
How to use checksums
3f0fbe2c9d34a8113356d1f63abd507bf7f874525d52c0cb84abc8a9ff270eaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / blokjutsu-1.0.0rc1-py3-none-any.whl

Download URL blokjutsu-1.0.0rc1-py3-none-any.whl
Size 148.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d0d976d56215f384450f9270debe5453623b89cbd53120963130d461c3b764e
BLAKE2b-256 checksum
How to use checksums
a43528c613e6392c1bd763d099655e49277d5eee8196b7c75e275e924a897f88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for blokjutsu 1.0.0rc1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for blokjutsu-1.0.0rc1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page