Skip to content

How It Works ​

Understanding what happens behind a single recommendation helps you get more out of Sky Style. This page explains the end-to-end flow, the weather sources, and the AI models.

The end-to-end flow ​

When you generate a recommendation, Sky Style runs this sequence:

  1. Resolve your location — from GPS (if you've consented) or a manual city/coordinate search. City searches are geocoded via OpenStreetMap's Nominatim service (up to 5 matches, cached for 1 hour).
  2. Fetch weather data — from one or more sources (see below). Results are cached to avoid redundant calls.
  3. Aggregate sources — when multiple sources return data, Sky Style averages the numeric fields and keeps each source's reading to pass to the AI for richer context.
  4. Build the AI prompt — combining the weather snapshot, your closet items, your gender context, your unit preference, and (optionally) your location if you've consented to share it.
  5. Call the AI — using the selected model (see AI models).
  6. Return the recommendation — outfit text, reasoning, the weather used, and the model that generated it.
  7. Track usage — your daily usage counters increment.

Weather sources ​

Sky Style uses several weather data sources. Which ones are used depends on your location and which API keys the deployment has configured.

Built-in sources ​

SourceWhen it's usedKey required?
Bureau of Meteorology (BOM)Australia only — when your coordinates fall inside Australia's bounding box.No (free)
OpenWeatherMapPrimary source outside Australia (and supplementary inside Australia).Yes (OPENWEATHER_API_KEY)
Open-MeteoAlways attempted (free, no key).No
WeatherAPI.comOptional supplementary source.Yes (WEATHERAPI_KEY)
Visual CrossingOptional supplementary source.Yes (VISUALCROSSING_API_KEY)
Pirate WeatherOptional supplementary source.Yes (PIRATEWEATHER_API_KEY)

Multi-source aggregation ​

When more than one source returns data, Sky Style:

  • Averages the numeric fields (temperature, humidity, wind speed, etc.) for the displayed weather.
  • Keeps each individual source's reading and passes all of them to the AI as context, so the recommendation accounts for agreement and disagreement between sources.
  • Marks the source as Multi when multiple sources contributed.

A source that fails to return data is silently dropped — the recommendation still works as long as at least one source succeeds.

Accuracy score ​

For BOM data, Sky Style computes the distance to the nearest reporting weather station and assigns an accuracy score:

Distance to nearest stationAccuracy
Less than 10 kmHigh
10–50 kmMedium
More than 50 kmLow

This helps you judge how local the reading is.

Caching ​

Weather data is cached in-memory to avoid redundant API calls. Each source has its own cache duration:

SourceCache TTL
OpenWeatherMap15 minutes
BOM30 minutes
Open-Meteo30 minutes
Custom (Pro)10 minutes
Multi (aggregated)15 minutes

Hourly forecast ​

Some sources (Open-Meteo, WeatherAPI.com, Visual Crossing, Pirate Weather) also return an hourly forecast — a sequence of upcoming hours with time, temperature, description, rain chance, and wind speed. This powers the Weather Planning panel on the dashboard.

Source picker

Pro users can choose which source to use for a given recommendation via the source picker (4/day on Free, unlimited on Pro). This is separate from custom sources — see Custom weather sources.

AI models ​

Sky Style supports three AI providers, with model priority depending on your plan.

Providers ​

ProviderModels
OpenAIGPT-4o, GPT-4o Mini
Google GeminiGemini 2.5 Flash, Gemini 2.5 Flash Lite, Gemma 4 31B, Gemma 4 26B
Mistral AIMistral Large, Mistral Small, Ministral 8B

Gemma models are served through the Gemini provider — no separate key is required for them.

Model priority ​

When multiple server-side keys are configured, Sky Style tries models in this order:

  • Pro users: OpenAI → Gemini → Gemma → Mistral Large → Mistral Small → Ministral
  • Free users: Gemini → Mistral Small → Gemma → Ministral

Free users do not get OpenAI models (to control cost). The first available model in your tier's priority list is used. If a provider's key isn't configured server-side, its models are skipped.

Bring Your Own Key (BYOK) ​

Pro and Dev users can override the server-side provider by entering their own key for OpenAI, Gemini, Mistral or Anthropic in Style or Shop. Anthropic uses Claude Haiku 4.5 and is BYOK-only; it does not change the hosted tier model list.

  • When a BYOK key is set, requests for that provider use your key instead of Sky Style's.
  • BYOK keys are stored in this browser and transmitted through Sky Style for the selected provider request, never saved in the database. Switching provider clears the previous key. Follow-ups keep the provider; an incompatible hosted model choice does not send your key to a different provider or fall back to a hosted key.
  • A custom prompt can replace the default Sky Style prompt (must include JSON output instructions).

See Dashboard → BYOK.

Usage limits ​

The table below describes legacy enforcement while V6 rollout is off, not the approved V6 policy. The approved daily/monthly caps and credit rules are staged and not active. Current daily counters reset at midnight UTC:

FeatureFreeDemoProDev
AI uses20/day200/dayUnlimitedUnlimited
Follow-ups40/day400/day400/dayUnlimited
Closet uses4/day40/dayUnlimitedUnlimited
Source picks4/day40/dayUnlimitedUnlimited
Model switches2/day20/dayUnlimitedUnlimited

Model switches are separate

Model switches (changing which AI model is used) are a separate daily counter from AI uses. On the Free plan you can switch models 2 times per day, independent of your 20 AI uses. Pro and Dev have unlimited switches.

The Demo tier is only created automatically in a preview/development environment. Its fixed 200/400 limits are preserved, not recalculated from the approved V6 Free caps.

Sky Style Docs — always in sync with skystyle.app/api/v1