Requirements.
Tools, versions and accounts.
What you install on your computer, which minimum versions the code is built for, which accounts you open, and how to use a terminal if you have never done it. Paid accounts are listed with who pays on the Costs page.
01Tools on your computer
| Tool | Minimum version | Needed for | Where it is set in the code |
|---|---|---|---|
| Flutter SDK (with Dart) | Flutter 3.41 or newer, Dart 3.11 | The app (all platforms) | app/pubspec.yaml: sdk: ^3.11.0, flutter: ">=3.41.0" |
| Android Studio / Android SDK | Android SDK 36 (compileSdk and targetSdk 36); the app runs on Android 7.0 and newer (minSdk 24) | Android builds | app/android/app/build.gradle.kts |
| Java Development Kit | JDK 17 for the Android build (Android Studio ships one) | Android builds | build.gradle.kts: Java and Kotlin target 17 |
| Xcode (macOS only) | Xcode 16 or newer; the app runs on iOS 15 and newer | iOS builds | app/ios/Podfile: platform :ios, '15.0' |
| CocoaPods | Current release (sudo gem install cocoapods or Homebrew) | iOS builds (Flutter runs pod install) | app/ios/Podfile |
| Node.js and npm | Node 22 | The backend (Cloud Functions runtime nodejs22) and the console | firebase/firebase.json, engines in both package.json |
| Firebase CLI | Current release: npm i -g firebase-tools | Deploying the backend, emulators | firebase/README.md |
| FlutterFire CLI | Current release: dart pub global activate flutterfire_cli | Connecting the app to your Firebase project | app/README.md |
| Java runtime for the emulators | Java 21 or newer | Only the local Firebase emulators and their tests (npm run serve, npm run test:emu) | firebase/README.md |
| Python 3 with Pillow | Any current Python 3 | Only if you redraw the launcher icon with tool/gen_icons.py | app/tool/gen_icons.py |
Check what you have:
flutter --version
flutter doctor # shows missing Android or Xcode parts
node --version
firebase --version
java -version
Terminal: macOS or Linux as shown; on Windows use WSL or Git Bash (how).
The code was built and tested with Flutter 3.41 (Dart 3.11) and Node 22. Older Flutter versions will not resolve the packages. Newer versions usually work; if a newer Flutter breaks a package, flutter pub upgrade is the first thing to try.
02Your computer
- Android builds: Windows, macOS or Linux.
- iOS builds: a Mac with Xcode. There is no way to build an iOS app without macOS.
- The backend and the console run anywhere Node 22 runs.
03Accounts you open
| Account | Needed? | Why |
|---|---|---|
| Google Firebase project on the Blaze plan | Required | Cloud Functions, Cloud Scheduler and outbound calls to AI providers need Blaze. Enable Authentication (Anonymous at least), Firestore (Native mode), Storage and Cloud Messaging. |
| At least one chat AI provider | Required | Anthropic, OpenAI, Google Gemini (AI Studio), or any OpenAI-compatible service (OpenRouter, Groq, DeepSeek, Together, Mistral, a local Ollama…). |
| An image AI provider | For images | OpenAI, Google Imagen (Gemini key), fal.ai or Stability AI. Without one, switch the Image generator off in the console. Image edit uses OpenAI or fal.ai; remove background and upscale use fal.ai. |
| A video AI provider | For AI video | fal.ai or Replicate (Video Studio). The on-device video editor needs no provider. |
| A voice provider | For natural voices and transcription | Natural voices: OpenAI, ElevenLabs or Gemini. Transcription and auto captions: OpenAI, Deepgram or Gemini (Voice). Without one, the app reads aloud with the device voice. |
| A host for the console | Required | Any Node 22 host (VPS, Render, Railway, Fly, a container, Cloud Run) with HTTPS. Optional domain. |
| Google Play Console | To publish on Android | Developer account to publish the app and sell in-app products. |
| Apple Developer Program | To publish on iOS | Membership to sign, publish and sell in-app products; also for Sign in with Apple and push (APNs key). |
| Ad networks | Only with ads | AdMob, Unity Ads or ironSource LevelPlay, as you choose. |
What each of these costs and who pays: Costs not included in the price.
04Skills
You do not need to write code to install and run Muse AI, but you will use a terminal, copy commands from these pages, and work in the Firebase, Google Cloud, Play Console and App Store Connect web consoles. Provider dashboards gives the click path for each of them. Changing the app's id, icon or code needs Flutter basics. If you would rather not do the setup yourself, hire a Flutter and Firebase developer for it: installation on your accounts is not part of item support (Support).
05Using a terminal
A terminal is a window where you type a command and press Enter. Every grey command block in these pages is meant for one. Type or paste one line at a time; lines that start with # are explanations, you do not type them.
- macOS: open Terminal (Applications → Utilities → Terminal, or press ⌘ Space and type "Terminal").
- Linux: open your distribution's terminal app (often Ctrl Alt T).
- Windows: the commands are written for macOS and Linux. Use WSL (Windows Subsystem for Linux: run
wsl --installonce in PowerShell as administrator, restart, then open "Ubuntu") or Git Bash (installed with Git for Windows). In plain PowerShell or Command Prompt some commands differ, for example setting a variable in front of a command (ADMIN_DATA=sample npm start). iOS builds need a Mac in any case. - Go to a folder:
cdfollowed by the folder, for examplecd source/admin.cd ..goes one folder up. Most blocks say which folder they start in. - Stop a running command (for example a server) with Ctrl C.