AI Providers & Custom System Prompts
Nine providers — Claude, ChatGPT, Gemini, Grok, DeepSeek, OpenRouter, Hugging Face, Ollama, LM Studio — plus custom system prompts and per-provider temperature.
Models
AI Providers
Aether works with nine AI providers — seven cloud, two local. Switch between them at any time without leaving the chat. Every provider fetches its model list live when you open the picker, so what you see is whatever the provider has available right now.
Cloud Providers (API Key Required)
Aether supports seven cloud providers. Every provider fetches its current model list live when you open the model picker — so you always see what's available from the provider, and there's no version list for us to keep up to date.
- ●Grok (xAI) —
api.x.ai - ●ChatGPT (OpenAI) —
api.openai.com - ●Claude (Anthropic) —
api.anthropic.com - ●Gemini (Google) —
generativelanguage.googleapis.com - ●DeepSeek —
api.deepseek.com - ●OpenRouter — aggregator, exposes models from many providers under one key
- ●Hugging Face — inference API for open-weight models
Your API key is stored securely: macOS Keychain by default, obfuscated local storage on Windows.
Local Providers
| Provider | Server Address | How It Works |
|---|---|---|
| Ollama | localhost:11434 | Auto-discovers installed models. No API key needed. Runs fully offline. |
| LM Studio | localhost:1234 | Auto-discovers loaded models. No API key needed. Runs fully offline. |
Structured Output & Resilient Parsing
Where the provider's API supports it, Aether uses native structured-output schemas to constrain the response shape. Where it doesn't, the prompt itself enforces JSON output. Either way, a resilient parser auto-repairs the most common LLM formatting quirks — missing velocity, extra fields, out-of-range values, millisecond-scale timestamps, inline arithmetic, and tempo estimation from note onsets.
Customization
Custom System Prompts
Aether lets you keep a library of named custom system prompts and pick an active one per project. Your active prompt is appendedto the built-in generation engine on every request — it shapes style and conventions but never overrides Aether's core format and safety rules. Use it to lock in your preferred style, enforce harmonic conventions, or set creative rules that persist across generations.
Use Cases
- ●"Always use jazz voicings with 7ths and 9ths" — enforces harmonic preferences
- ●"Keep melodies within a one-octave range" — constrains output style
- ●"Use syncopated rhythms and avoid landing on beat 1" — shapes rhythmic feel
- ●"Write in the style of Bill Evans" — sets an artistic reference point
- ●"Never use notes below C3" — restricts the pitch range for specific instruments
Managing Your Prompt Library
Open Settings (gear icon or Cmd + ,) and go to the System Prompttab. From there you can create a new prompt, rename or delete existing ones, edit the active prompt's body inline, and switch which prompt is active. With no prompt active, Aether uses its default behavior.
Per-Provider Temperature
In the same settings area you can optionally pin a fixed creativity (temperature) value for a specific provider, overriding Aether's default. This is handy for dialing in consistent behavior from a model that runs too hot or too conservative for your taste.