draw-things-cli: local media generation from command-line on your Mac
draw-things-cli is our rebooted image generation CLI: fast, scriptable, and powered by Draw Things’ custom inference stack. It is also the fastest image generation tool on macOS.
CLI is getting a new lease on life in the age of agentic AI. But for us, this release is actually long overdue.
From the beginning, we have had an internal command-line tool for running image generation. It has been invaluable for quickly debugging different parts of our pipeline.
Over time, however, as the app gained more features, it became more convenient to debug them directly inside the app. As a result, the command-line tool gradually fell out of maintenance.
Our public repository, draw-things-community, maintains our core inference stack under the GPLv3 license. We regularly build and release gRPCServerCLI for both NVIDIA platforms and macOS from this public source repository.
draw-things-cli is a reboot of that command-line tool. It is vibe-coded, which makes it straightforward to implement many of the command-line niceties you would expect: shell auto-completion, direct image output in the terminal, automatic model downloads when needed, and recommended settings from the community repository when available. Powered by Draw Things’ custom inference stack, it is also the fastest image generation tool on macOS. It is fully open-source, under GPL-v3 license.
To install draw-things-cli today, you can use Homebrew or build it from source. To install it with Homebrew:
brew install drawthingsai/draw-things/draw-things-cli


I can't install it!! Tried multiple ways, none satisfactory. Why not just distribute the binary or put it inside the DrawThings app release? The usual error I get is related to a mismatch in the swiftlang version:
==> Fetching downloads for: draw-things-cli ✔︎ Formula draw-things-cli (HEAD-8310cb5) ==> Installing draw-things-cli from drawthingsai/draw-things ==> swift build --disable-sandbox --cache-path /private/tmp/draw-things-cli-20260330-94407-2ax949/swiftpm-c
Last 15 lines from 01.swift.log: 3 |
// swift-module-flags: -target arm64e-apple-macos15.2 -target-variant arm64e-apple-ios18.2-macabi -enable-objc-interop -autolink-force-load -enable-library-evolution -module-link-name swiftFoundation -swift-version 5 -enforce-exclusivity=unchecked -O -library-level api -enable-upcoming-feature InferSendableFromCaptures -enable-bare-slash-regex -user-module-version 3208 -module-name Foundation -package-name "\"FoundationPreview\"" 4 | import Combine 5 | import CoreFoundation | - error: failed to build module 'CoreFoundation'; this SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.5 clang-1600.0.30.1)', while this compiler is 'Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)'). Please select a toolchain which matches the SDK.
Tried installing different versions and the default CLT build, 6.2.4, 6.0.3 and 5.9.2, handled via swiftly, nothing. Removed swiftly from PATH and tried again, nothing.
Tried to patch the Package.swift in different ways to avoid the specific compatibility, nothing.