Stable Diffusion macOS native app
github.com
github.com
M1 Mac owners should also check out the iPad version of Draw Things, which has a large number of features and is in very active development:
https://apps.apple.com/us/app/draw-things-ai-generation/id64...
Be aware that there is a bug in macOS 13.2b1 that makes Draw Things unusable on that version of macOS. Hopefully Apple will fix that soon.
It has some oddities: it uses a sqlite database to store generated images rather than the more traditional files, and the UI is idiosyncratic. You have to follow the author's twitter feed to learn how to use the advanced features.
There is one very obvious thing wrong with it, the fact that those resulting images aren't files that are easily accessible to other things.
Unless storing in SQLite actually offers a real advantage in some other way, it's a disadvantage when the output is something you'll want to use with other tools.
https://www.sqlite.org/intern-v-extern-blob.html
The verdict: storing blobs in the database is totally fine. Stable diffusion is totally compute bound, the overhead of storing a 1mb file in a sqlite db is miniscule.
Any recent iPad or iPhone has much better silicon , even if it’s not an M1.
The difference in speed with your phone might be down to RAM? 6GB vs 4GB? I forget if the latest mini is LPDDR4 or 5 but it might be 5
Otherwise the A16 and the A15 aren’t that different, though the A16 does have a newer ANE ( https://en.wikipedia.org/wiki/Apple_A16?wprov=sfti1 ).
Use CoreML: Mochi Diffusion - https://github.com/godly-devotion/mochi-diffusion Amazing AI (closed source) - https://sindresorhus.com/amazing-ai Gauss - https://github.com/justjake/Gauss
Use CoreML but via Swift (not as optimized?) Draw Things (full featured, closed source)- https://draw.nnc.ai/ AI Photo (closed source) - https://apps.apple.com/gb/app/ai-photo/id6444911377?mt=12
Use vanilla GPU: Diffusion Bee (not updated for a month) https://github.com/divamgupta/diffusionbee-stable-diffusion-...
Also CoreML on a Mac seems to require macOS 13, which is reportedly buggy. I was going to update and changed my mind after reading people's experiences online. :(
i’m using this one. pretty good so far. same use of efficient apple stable diff engine.
as well as this monster on mobile:
https://apps.apple.com/gb/app/draw-things-ai-generation/id64...
Also, would be nice to share some binaries on GitHub!
I know that headline number is slow compared to machines with beefy specs, but remember that this is 100 iterations on the lowest power M1 you can get, with 16 times the pixel count of the online 512x512 ones. And even with 40 iterations you can generate some stunning images with the right prompts.
Draw Things has a massive amount of configuration, is equally fast (it's also native) and can do a variety of output sizes.
Both are free from the Mac App Store.
Edit: It isn't obvious with Amazing AI but it may in fact be doing what Draw Things makes explicit in the options, which is generate at 512x512 and use your choice of upscaler to get to 2048x2048.
I only have a m1 mini in lieu of my developer unit and it is out of the country even. I tried to get back in but at least one app required 32gb to build, which stopped my 2023 jan plan of getting a MacBook Air 24gb. A Mac mini studio seems the minimum.
Anyone has a low end mac which feel the pain of being in the low end. Or must I get a studio mini.
This might be nice, but I really don't get projects that have no releases and not provide build instructions.
This isn’t to criticize the project; I like and want to see more native Mac software, I just feel very disappointed with Apple’s leadership in this area. A native Mac app should almost automatically be without a doubt better than the Electron version, but at least with SwiftUI that isn’t happening.
Regardless, inconsistencies between AppKit on Mac and SwiftUI on Mac are enough to make it not native, IMO.
Kudos to the author for taking advantage of CoreML, one of the areas where native software shines on Apple platforms.
It does not have to be perfect, there just has to be constant progress.
Apple could have invested in SwiftUI on Mac to the same extent they did on iOS, and things would look very different.
SwiftUI as currently implemented on Mac breaks enough platform conventions and is, relative to existing native UI, slow and buggy enough to IMO not more native than any other cross platform UI solution.
Except for the part where Apple doesn't hype and then quickly abandon developer APIs the way some other companies do. AppKit, for instance, has been continually iterated on for three decades now.
Since Apple has been very clear that SwiftUI is "where the puck is going", I doubt it will be abandoned as quickly as Google or Microsoft's "future of platform development strategy" of the month.
https://blog.timac.org/2022/1005-state-of-swift-and-swiftui-...
iOS 16.0 included 226 SwiftUI apps. Several highly promoted features (such as complications on the Lock Screen and widgets) are now only possible using SwiftUI.
Some new SwiftUI only frameworks (like Swift Charts) developed directly from internal Apple teams creating new SwiftUI apps, and factoring out useful components.
> Regardless, inconsistencies between AppKit on Mac and SwiftUI on Mac are enough to make it not native, IMO.
SwiftUI is not a wrapper around AppKit controls, although that is/was how some SwiftUI views are authored. Likewise, some recently added AppKit controls are actually wrapped SwiftUI views.
There is an ongoing effort to unify macOS and iPadOS which became much more noticeable at the UX level in macOS 11. It is unfortunately difficult to determine which inconsistencies are deficiencies in SwiftUI and which are the "legacy" behavior of AppKit.
Since SwiftUI is a system framework, we only see its evolution in spurts on an annual schedule.
Most of the apps that come out of Microsoft use something else. Eg: Vscode, Teams etc, Office etc.
It’s not the case with Apple at least from what I can see publicly. Not an Apple fanboy by any stretch.
But I’ve been burned by Microsoft when they introduced Silverlight as the platform for developing Windows Phone 7 apps. Only to deprecate it in Windows Phone 8. A lot of developers were not happy at that time.