A local AI image studio for Mac and Windows.
Chat with your own image model: create, edit with a brush, upscale to 4K, export transparent PNG / WebP / SVG.
No cloud, no account, no Python setup, nothing leaves your computer.
Every picture on this page was generated on a laptop with ImageLoom. No API keys, no subscription.
- It feels like a chat, not a node graph. Separate chats, each remembering its own model and "effort"; the result of one message is the starting photo of the next ("make it night").
- One app for the whole job. Create → edit by instruction or with a brush mask → upscale ×2 / ×4 / 2K / 4K / 8K → export PNG, WebP, JPEG, SVG with a real transparent background.
- New model on release day. Paste a Hugging Face link, pick a file, it downloads what the model needs and shows up in the picker. No YAML, no scripts.
- Light and private. A native window (not a browser tab), ~160 MB without models, one local server that starts with the app and stops, together with any running job, when you quit.
- Honest about speed. Estimates come from timings measured on your machine and are labelled "estimate" until a model has been timed.
- Built for people and for agents. A tiny CLI (
imageloom "a red fox in snow" --upscale 4k) and ready-made skills for Claude Code, Cursor and Hermes.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Cabin 1024×576 in 166 s, the others 512-768 px in 1.5-5 minutes on a base M4 (16 GB). The fox logo is a real transparent PNG. Prompts are in the app's history.
Edit by describing the change (Qwen-Image, 512 px, 163 s):
| Platform | Get it | Notes |
|---|---|---|
| macOS (Apple Silicon, macOS 13+) | ImageLoom-1.1.0-macOS-arm64.dmg |
Drag to Applications. The app is not notarized: right-click → Open the first time (or System Settings → Privacy & Security → Open Anyway). |
| macOS via Homebrew | brew install --cask elapen/tap/imageloom |
Same app, installed by cask. |
| Windows 10/11 x64, experimental | ImageLoom-1.1.0-Windows-x64-Setup.exe or the portable .zip |
Built from macOS and not yet run on real Windows: please report what you see. SmartScreen will warn (unsigned). Needs a Vulkan GPU. |
| From source (any OS with Python 3.9+) | pip install -r core/requirements.txt && python3 core/server.py |
Open http://127.0.0.1:7870. Linux is untested. |
First run. A wizard lists exactly what it will download (engine, the default model, upscalers) and how big it is before it starts, and shows progress and speed. The default Qwen-Image 2.1 Turbo Q8 is about 18 GB; Z-Image Turbo Q4 is a 4 GB alternative you can add from the model picker. After the downloads the app works fully offline.
Hardware. Apple Silicon with 16 GB RAM is the sweet spot (Qwen-Image peaks at ~9 GB while creating, ~10.5 GB while editing). More RAM and a faster chip simply make it faster. Windows needs a GPU with Vulkan support.
- Create from a prompt (English, Russian and other languages the model understands), with aspect ratio presets, 1–8 images per run, seeds, and style/quick chips.
- Edit a photo by describing the change, or paint a mask and describe what should happen inside it. Add extra reference photos for "put the person from image 2 into image 1".
- Upscale with Real-ESRGAN models (quality / fast / illustration), or chain it automatically after every render: draft at 512 px, 4K a minute later.
- Export: PNG, WebP (lossy or lossless), JPEG, and SVG (vector tracing with logo / illustration / detailed / black-and-white presets). Ask for a transparent background and get real alpha.
- Organize: chats, gallery, favourites, version tree for each image, before/after slider, "reveal in Finder / Explorer", move to Trash.
- Notify: a desktop notification when a long render finishes. Quitting the app while a job runs asks first.
- Languages: the UI is available in English and Russian (auto-detected, switchable).
- Shortcuts:
⌘Kcommand palette,⌘Nnew chat,/focus the prompt,?help.
| Model | Create | Edit | Transparent | Status |
|---|---|---|---|---|
| Qwen-Image 2.1 Turbo (default, Q8) | yes | yes | yes | verified on Apple M4 16 GB |
| Z-Image Turbo (Q4_K) | yes | no | no | verified on Apple M4 16 GB |
| FLUX.1 · SDXL · SD 1.5 | yes | no | no | recipes from the sd.cpp docs, experimental (not run by the author) |
Details, warnings and how to add a family: docs/MODELS.md.
| 512² | 768² | 1024² | |
|---|---|---|---|
| Qwen-Image 2.1 Turbo Q8, create | 110 s | 239 s | 395 s |
| Z-Image Turbo Q4_K, create | 84 s | 151 s | ~250 s (est.) |
| Qwen-Image edit | 152 s | 20 min (swaps) | not worth it |
| Upscale 1024² → 4096², Real-ESRGAN quality | 245 s |
This is a laptop, not an RTX card: diffusion on 16 GB of unified memory is slow but steady. The best workflow is a small draft first, then upscale the keeper (benchmarks).
imageloom "vintage travel poster of the Swiss Alps, lettering 'SWISS ALPS'" -s 768x1024
imageloom edit photo.jpg "replace the sky with a dramatic sunset" -o edited.png
imageloom "a red fox head logo, flat vector style" --transparent -o fox.png
imageloom export fox.png --format svg --preset logo
imageloom upscale picture.png --to 4k
imageloom models add https://huggingface.co/leejet/Z-Image-Turbo-GGUF --dry-runThe CLI needs only Python 3.9+. It talks to the server of a running app, or starts one. Copy skills/imageloom into ~/.claude/skills/ or
~/.cursor/skills/ (a Hermes variant is in skills/hermes) and your coding agent can create and edit images for your projects on its own.
ImageLoom is also a Model Context Protocol server, so Claude Desktop, Claude Code, Cursor, VS Code, Zed, Cline and any other MCP client can generate, edit, upscale and export images and manage models locally (stdio, pure Python 3.9+ standard library, no new dependency, no telemetry):
claude mcp add imageloom -- python3 /ABS/PATH/TO/imageloom/core/imageloom mcp # Claude Code; other clients: docs/MCP.mdTwelve tools: generate_image, edit_image, upscale_image, export_image, get_job, wait_for_job, cancel_job, list_jobs, list_models, add_model, set_default_model, recent_images.
Images take minutes, so generation is asynchronous: the tool returns a job id and the client polls wait_for_job (at most 50 s per call). Pictures come back as file paths plus a downscaled preview;
add_model plans first (dry run) and asks before downloading gigabytes. Setup for each client, the tool reference and safety notes: docs/MCP.md.
- Prompts, images and history never leave your computer. The only network traffic is what you trigger: downloads from Hugging Face and the engine release from GitHub. There is no telemetry.
- The server listens on
127.0.0.1only and rejects cross-site requests. A Hugging Face token (for gated repos) is optional and stored locally. - There is no content filter in this stack. The default model's text encoder is a Qwen3-VL variant with its refusal behaviour removed, and diffusion models have no filter of their own. You are responsible for what you create and share: do not make illegal content, sexual content involving minors, or realistic images of real people without their consent. Model licenses apply to the results (the default Qwen weights are research / non-commercial); see THIRD_PARTY_NOTICES.md.
Why is it slow? Diffusion on 16 GB of shared memory is slow but steady (see the table above). Use Fast effort or Z-Image for drafts and upscale the keeper.
Can I use my own sd-cli? Yes: IMAGELOOM_SD_CLI=/path/to/sd-cli.
Where are my files? Images in ~/Pictures/ImageLoom, models and settings in ~/Library/Application Support/ImageLoom (Windows: %LOCALAPPDATA%\ImageLoom). See docs/ARCHITECTURE.md.
Why not ComfyUI / Draw Things / Fooocus? They are great and more powerful in places. ImageLoom aims at a smaller, chat-first workflow with one-click upscale/export and an agent-friendly CLI.
Use whatever fits your hands.
Is it signed? Not yet; see the download notes. Checksums are in each release.
Bug reports, model recipes, translations, Windows and Linux testing are all welcome: CONTRIBUTING.md. Ideas and questions go to Discussions. If ImageLoom is useful to you, a ⭐ helps others find it.
Built on stable-diffusion.cpp by leejet, the Qwen-Image and Z-Image teams, AtomicChat's GGUF conversions, Real-ESRGAN, vtracer, and python-build-standalone. Full list: THIRD_PARTY_NOTICES.md. Code: MIT.












