Skip to content

Releases: TKY-27/iris-3b-metal

Iris-3B Metal v0.5.0

Choose a tag to compare

@TKY-27 TKY-27 released this 13 Oct 19:57

Iris-3B Metal v0.5.0 adds official four-step Turbo generation, a gallery workspace, and native Japanese and English UI. The macOS app and Python engine are both version 0.5.0; the HTTP API remains version 1.

  • The app follows the macOS language preference, with localized settings, progress, errors, dates, plurals and accessibility labels. Existing prompts and saved data keep their original values.
  • Hide or reveal the gallery with ⇧⌘G. The preference persists, generation progress remains visible, and ⌘F reveals and focuses search. Image details include prompt/settings reuse and same-seed regeneration.
  • Turbo uses the official distilled checkpoint and fixed four-step sampler. It does not accept adjustable steps, CFG or negative prompts. Original retains its controls and output parity in the checked fixtures.
  • Turbo retains the official BF16 recipe with exact conditioning reuse. Independent review rejected the faster mixed-precision Metal candidate because it changed the requested sign text BREAD to BRIEAD in a fixed-input fixture. Restoring BF16 repairs that regression; the candidate measurements remain available as an explicitly unshipped comparison.

On an M5 MacBook Pro with 24 GiB at 1024 × 1024 (four warm samples per row):

Path Median warm generation Peak process memory
Original, 10 steps 38.38 s 10.03 GiB
Original, 20 steps 76.04 s 10.02 GiB
Turbo, previous BF16, 4 steps 12.16 s 10.02 GiB
Turbo, released BF16, 4 steps 12.07 s 10.03 GiB
Turbo, rejected FP16 candidate, 4 steps 7.63 s 7.92 GiB

The Turbo rows hold checkpoint and sampler fixed. The rejected FP16 candidate changes arithmetic; v0.5.0 retains BF16. Original and Turbo use different weights and step counts, so their relative times are not an engine-only speedup. Other applications remained open; background load and swap are documented. A 16 GB Mac has not been tested.

Measurements, raw records and quality review · Validation · Changelog

This is a source-only release. No signed macOS app, model weights or automatic installer is included. Build the app using the README instructions. First inference downloads the selected model and shared text encoder if they are not already available.

CI passed for the release commit: Python 3.11/3.14, lint, fresh wheel installation, Swift tests and macOS Release build. Real M5 GPU and Japanese/English GUI checks were run locally.

Iris-3B Metal v0.4.0

Choose a tag to compare

@TKY-27 TKY-27 released this 11 Oct 13:39

Iris-3B Metal v0.4.0

  • Validate Metal kernel offsets before launch and report Python engine/API versions so unsupported combinations can be identified.
  • Make legacy History imports and read-only library handling safer; avoid duplicate imports and do not start work that cannot be saved.
  • Improve cancellation and result saving with cancellation checks around uploads and writes, and wait for cancelled jobs to finish.
  • Tighten app job and engine lifecycle handling.
  • The macOS app checks for compatible stable releases and shows their notes. Python engine 0.3.x with HTTP API v1 is supported.
  • This is a source-only release. Automatic app installation is not supported; no application binaries or model checkpoints are attached.

Iris-3B Metal 0.3.0

Choose a tag to compare

@TKY-27 TKY-27 released this 11 Oct 10:52

First public release of Iris-3B Metal: an independent inference engine that runs the unmodified Iris-3B weights by Speridlabs on Apple Silicon GPUs, with a native macOS app, a command line, a Python API and a local HTTP API.

Highlights

  • Fast on a base M5. A 1024 × 1024 image takes 45 s at 10 steps and 91 s at 20 steps once the model is loaded, peaking at about 10.0 GiB. On the same Mac and the same inputs that is 1.8–2.0× as fast as iris3b-mlx-optimized and 1.5–1.6× as fast as the upstream PyTorch code with its BF16 recipe. These were measured with the desktop app that drove the session using part of the GPU; on a quiet GPU 10 steps took 39 s. Details and raw logs: benchmarks.
  • Close to FP32. FP16 trunk with fused Metal kernels and FP32 residuals; over eight 100-step generations its images are about a third as far from the upstream model in FP32 as the BF16 recipe's.
  • Low memory. The Qwen3-VL text encoder is streamed one layer at a time; one model is resident; prompt encodings are cached.
  • Depth estimation and 4× restoration/upscaling with the official fine-tunes.
  • Iris for macOS 0.3: chats, projects, pinned chats and an All Images library, batches of up to four images, per-step progress and Stop, comparison windows for depth maps and upscales.

Install

pipx install "git+https://github.com/TKY-27/iris-3b-metal@v0.3.0"
iris-metal "A red fox sleeping in fresh snow, golden hour" --steps 20 -o fox.png

The first generation downloads the Iris-3B checkpoint (12.0 GB) and the Qwen3-VL-4B-Instruct weights (8.9 GB) from their publishers' Hugging Face repositories. No weights are included in this release. The macOS app is built from source with Xcode 27 (apps/macos, see the README).

Requirements and limitations

  • Apple Silicon Mac, macOS 15 or later, Python 3.11 or later. Measured on a MacBook Pro with a base M5 and 24 GB; Macs with 16 GB are untested.
  • The app is not distributed as a signed or notarized binary; there is no app download in this release. Build it from source.
  • Iris-3B was evaluated at 100 steps (the CLI and API default, about 7.6 minutes per image on the M5). 10 and 20 steps are previews that simplify fine detail such as hands.
  • Iris-3B does not edit images from instructions or inpaint.

See the changelog for everything in this release.

Iris-3B, its research and its weights are by Speridlabs (paper). This project is not an official Speridlabs release. Apache License 2.0.