SDAI is an open-source, cross-platform AI image generation client for Android and iOS. It gives you one clean mobile workflow for self-hosted Stable Diffusion servers, hosted image APIs, crowdsourced generation, and platform-specific local generation where supported.
No ads. No telemetry. No lock-in to a single provider.
- Choose the backend that fits the moment: your own AUTOMATIC1111 or SwarmUI server, AI Horde, Hugging Face, OpenAI, Stability AI, or local diffusion where the platform supports it.
- Generate with familiar Stable Diffusion controls: prompts, negative prompts where supported, seed, steps, CFG scale, image size, model selectors, LoRA, embeddings, and more.
- Use one shared mobile experience across Android and iOS for remote generation workflows.
- Work locally on Android when privacy or connectivity matters with Microsoft ONNX Runtime or Google AI MediaPipe builds.
- Keep your creations in a local gallery with image details, zoom, sharing, native platform save flows, and zip export.
- Stay in control: the project is open source and the app does not include ads or telemetry.
Android builds are distributed in three flavors:
playstore: Google Play build.full: full GitHub/release build.foss: F-Droid friendly build.
iOS uses the shared mobile experience and intentionally focuses on remote generation providers for the first iOS milestone.
| Provider / backend | What it connects to | iOS | Android playstore |
Android full |
Android foss |
Notes |
|---|---|---|---|---|---|---|
| AUTOMATIC1111 WebUI | Your own Stable-Diffusion-WebUI API server | π’ Yes | π’ Yes | π’ Yes | π’ Yes | Own server, demo mode, txt2img, img2img, inpaint, models, LoRA, embeddings, hypernetworks. |
| SwarmUI | Your own SwarmUI server | π’ Yes | π’ Yes | π’ Yes | π’ Yes | Own server with SwarmUI model, LoRA, and embeddings discovery. |
| AI Horde | Crowdsourced Stable Horde workers | π’ Yes | π’ Yes | π’ Yes | π’ Yes | Works with the default anonymous key or your own Horde API key. |
| Hugging Face Inference API | Hosted Hugging Face image models | π’ Yes | π’ Yes | π’ Yes | π’ Yes | Requires a Hugging Face API key and selected model. |
| OpenAI Images API | OpenAI image generation with GPT Image models | π’ Yes | π’ Yes | π’ Yes | π’ Yes | Requires an OpenAI API key. |
| Stability AI | Stability AI / DreamStudio image API | π’ Yes | π’ Yes | π’ Yes | π’ Yes | Requires a Stability AI API key and engine selection. |
| Local Diffusion: Microsoft ONNX Runtime | On-device ONNX model inference | π΄ No | π’ Yes | π’ Yes | π’ Yes | Android-only txt2img. Custom local model paths are available outside the Play build. |
| Local Diffusion: Google AI MediaPipe | On-device MediaPipe image generator | π΄ No | π’ Yes | π’ Yes | π΄ No | Android-only txt2img. Excluded from the FOSS flavor. |
| AI-specific feature | Supported providers | iOS | Android | Notes |
|---|---|---|---|---|
| Text to image | AUTOMATIC1111, SwarmUI, AI Horde, Hugging Face, OpenAI, Stability AI, Local ONNX, Local MediaPipe | π‘ Remote providers | π’ Yes | Core generation path exists for every provider exposed by the current platform/build. |
| Image to image | AUTOMATIC1111, SwarmUI, AI Horde, Hugging Face, Stability AI | π’ Yes | π’ Yes | OpenAI and local diffusion providers are txt2img-only in the app. |
| Inpaint mask controls | AUTOMATIC1111 | π’ Yes | π’ Yes | Mask image, mask blur, mask mode, masked content, inpaint area, and only-masked padding are mapped to the A1111 img2img API. |
| Negative prompt | AUTOMATIC1111, SwarmUI, Hugging Face, Stability AI, Local ONNX | π‘ Remote providers | π’ Yes | Horde, OpenAI, and MediaPipe flows do not expose/send a negative prompt. Local ONNX is Android-only. |
| Batch generation | AUTOMATIC1111, SwarmUI, AI Horde, Hugging Face, OpenAI, Stability AI | π’ Yes | π’ Yes | Local providers are treated as single-image generation flows. |
| Model or engine selection | AUTOMATIC1111, SwarmUI, Hugging Face, OpenAI, Stability AI, Local ONNX, Local MediaPipe | π‘ Remote providers | π’ Yes | Depending on provider, this selects an SD checkpoint, SwarmUI model, HF model, OpenAI model, Stability engine, or local model. |
| LoRA picker | AUTOMATIC1111, SwarmUI | π’ Yes | π’ Yes | Remote LoRA lists are fetched from the active compatible server. |
| Textual inversion / embeddings picker | AUTOMATIC1111, SwarmUI | π’ Yes | π’ Yes | Remote embeddings are fetched from the active compatible server. |
| Hypernetwork picker | AUTOMATIC1111 | π’ Yes | π’ Yes | Hypernetwork discovery is implemented for A1111. |
| Sampler selection | AUTOMATIC1111, Stability AI | π’ Yes | π’ Yes | A1111 samplers are fetched from the server; Stability AI uses the app's Stability sampler list. |
| Restore faces | AUTOMATIC1111 | π’ Yes | π’ Yes | Exposed only for A1111 generation. |
| OpenAI model, size, and quality | OpenAI | π’ Yes | π’ Yes | Uses current GPT Image model options exposed by the Images API. |
| Stability style preset and clip guidance | Stability AI | π’ Yes | π’ Yes | Passed to Stability AI requests when selected. |
| NSFW flag | AI Horde | π’ Yes | π’ Yes | Exposed for Horde requests. |
| Offline generation | Local ONNX, Local MediaPipe | π΄ No | π’ Yes | Runs on Android after the selected local model is available. |
| Generation interrupt | AUTOMATIC1111, AI Horde, Local ONNX | π‘ Remote providers | π’ Yes | Local ONNX interrupt is Android-only. Other providers rely on request completion when no platform-level interrupt is exposed. |
- Txt2Img for all available providers.
- Img2Img for providers that support image input.
- Inpaint for A1111-powered Img2Img.
- Prompt tagging, optional advanced controls, seed handling, steps, CFG scale, size controls, and provider-specific model options.
- Local in-app gallery for generated images.
- Detail screen with zoom, generation metadata, and sharing.
- Optional auto-save of results.
- Native platform save/share flows, including Android MediaStore and iOS Photos/share sheet where available.
- Export one image or the full gallery as a zip archive.
- Provider setup from first launch or settings.
- Server URL and credentials for own-server providers.
- API keys for hosted providers.
- Local model selection and download flow on Android local diffusion builds.
- Server availability monitoring for compatible own-server modes.
- Cache and gallery management.
Use this if you already run Stable-Diffusion-WebUI locally, on a server, or in a notebook environment.
- Follow the setup instructions in the WebUI repository.
- Start WebUI with API access enabled, for example with
--api --listen. - Copy the reachable server URL.
- Open SDAI setup, choose AUTOMATIC1111, enter the URL, and connect.
Demo mode is available from the setup screen if you want to explore the app without connecting to a real generator.
Use this if your generation environment is powered by SwarmUI. Start SwarmUI in server mode, copy the reachable URL, then choose SwarmUI during SDAI setup.
AI Horde is a crowdsourced distributed cluster of image generation workers. SDAI can use the default anonymous key (0000000000) or your own key from stablehorde.net/register.
Hugging Face Inference API lets SDAI call hosted public or private image models. Create an API key in Hugging Face account settings, then select the Hugging Face provider in SDAI.
OpenAI image generation in SDAI uses GPT Image models through the Images API. Create an API key in OpenAI API key settings, then select OpenAI in SDAI.
Stability AI support uses the Stability image API. Create an API key on the Stability AI keys page, then select Stability AI and choose an engine in SDAI.
Use this on Android for on-device txt2img generation. Download or provide a compatible ONNX local diffusion model, select it in setup, and generate without sending prompts to a remote service.
Use this on Android for on-device txt2img generation through Google AI MediaPipe. This provider is available only in playstore and full Android flavors.
Android flavor availability is driven by the Gradle flavor configuration and runtime provider filtering. Most network providers are available everywhere; Google AI MediaPipe is intentionally unavailable in foss. The Play build also avoids custom local model path selection for local diffusion models.
The iOS app is not split into Android-style flavors. It uses the shared mobile UI and remote-provider stack, while Local Diffusion and MediaPipe stay Android-only for the first iOS milestone.
For a historical overview of flavor policy, see the project wiki page: Build flavor difference.
The old Android-only 0.x.x release line is no longer maintained. It remains available for archival and reference purposes in the
archive/version-0.x.x branch.
SDAI uses the language provided by the OS when a translation is available.
| Language | Since version | Status |
|---|---|---|
| English | 0.1.0 | Translated |
| Ukrainian | 0.1.0 | Translated |
| Turkish | 0.4.1 | Translated |
| Russian | 0.5.5 | Translated |
| Chinese (Simplified) | 0.6.2 | Translated |
Translation contributions are welcome.
SDAI is open source and provided with no warranty. You are welcome to use it for free.
If you find the project useful and want to support the work, please check the current donation status at sdai.moroz.cc/donate.html.
If you mention SDAI in research, articles, benchmarks, tutorials, app collections, or public project documentation, please cite it as:
Stable Diffusion AI (SDAI), an open-source cross-platform AI image generation client by Dmitriy Moroz / Moroz Inc. https://github.com/ShiftHackZ/Stable-Diffusion-Android
BibTeX:
@software{sdai,
title = {Stable Diffusion AI (SDAI)},
author = {Moroz, Dmitriy},
year = {2023},
url = {https://github.com/ShiftHackZ/Stable-Diffusion-Android},
note = {Open-source cross-platform AI image generation client}
}


