Tauri 2 desktop app for AI image, video, and audio generation. Local ComfyUI workflows plus cloud providers, with a built-in gallery, canvas, and prompt enhancement.
- Desktop shell: Tauri 2
- Backend: Rust (
src-tauri/) - all generation, storage, and provider logic - Frontend: React + Vite + Tailwind (
web/) - Data: SQLite, stored in the app's per-user data directory
- ComfyUI - local GPU generation via a running ComfyUI instance
- OpenRouter - cloud image generation + prompt enhancement
- Replicate - cloud image / video / audio
- FAL - cloud image / video / audio
- Kie - cloud generation
API keys are configured in-app under Settings → API Keys and stored in the native OS credential vault (Windows Credential Manager or macOS Keychain).
- Node.js 24+
- Rust toolchain + Tauri prerequisites for your platform
- (Optional) ComfyUI running locally if you want local generation
# Install root and web dependencies (Rust crates fetch on first cargo build)
npm run install:all
# Run the desktop app in dev mode
npm run tauri:dev
# Produce a release bundle for the current platform
npm run tauri:buildnpm run test # web (vitest)
npm run test:coverage # web coverage with enforced thresholds
npm run test:rust # src-tauri (cargo test)
npm run test:all # both
npm run check:versions # package/Cargo/Tauri version alignmentimgimg stores settings, generation metadata, workflows, canvas state, Iterate threads, and Audio Desk metadata in the app's per-user SQLite database. Provider API keys are stored separately in the native OS credential vault; Tauri commands return only presence flags and masked hints.
Generated assets use immutable UUID filenames and atomic .part writes. SQLite migrations are versioned and create a consistent database backup before upgrading an existing schema. Treat the app data directory, exported archives, backups, and logs as private user data.
Generated media stays local unless you send a generation request to a configured cloud provider. Cloud provider requests are governed by that provider's own terms and data handling.
src-tauri/ Rust backend (Tauri commands, SQLite, provider clients)
web/ React + Vite frontend
workflows/ Bundled generic workflow templates (see below)
scripts/ Dev helper scripts
Generic workflow templates bundled with the app (copied into the Tauri bundle as resources):
replicate-image.json,replicate-video.json,replicate-audio.jsonfal-image.json,fal-video.json,fal-audio.jsonopenrouter-image.json
User-authored and ComfyUI workflows are managed at runtime from the app's data directory. See workflows/README.md for template format, injection tokens, and metadata.
The npm packages are marked private to prevent accidental npm publication. Desktop artifacts are built only from v* tags or an explicit manual workflow run. Windows releases are unsigned x64 portable executables and may trigger SmartScreen or antivirus warnings; verify them against the published SHA-256 manifest. macOS releases are signed and notarized Apple Silicon DMGs. Release CI also verifies tests, coverage, dependency audits, version alignment, checksums, and SBOM generation. The workflow never creates or moves Git tags.
The app does not self-replace or execute downloaded updates. Download newer builds manually from GitHub Releases.
macOS release secrets:
APPLE_CERTIFICATE,APPLE_CERTIFICATE_PASSWORD,APPLE_SIGNING_IDENTITY,APPLE_ID,APPLE_PASSWORD,APPLE_TEAM_ID
imgimg is released under the MIT License.