# Flight sizes
> Learn about MotherDuck Flight instance sizes, the plans they're available on, and their optimal use cases.
A [Flight](/concepts/flights) runs your Python on an instance size that sets the CPU and memory available to each run. The size name is F, for Flight, plus the instance's memory in GB: F16 has 16 GB of memory. Every run gets its own isolated runtime, so a Flight's size only affects that Flight. SQL the Flight sends over an `md:` connection runs on a [Duckling](/about-motherduck/billing/duckling-sizes/), not on the Flight's instance, so size a Flight for the work it does in Python.

Each Flight size has different [billing implications](/about-motherduck/billing/pricing/#flights-pricing). Choose the smallest size that fits the job.

## Flight sizes

| Flight size | Plans | vCPU | Memory | Use case |
|-------------|-------|------|--------|----------|
| F4 | Lite, Business | 0.5 | 4 GB | Good for light automation and frequent schedules |
| F16 | Lite (unlimited), Business | 2 | 16 GB | Good for most workloads |
| F32 | Business | 4 | 32 GB | Best for heavy workloads that need memory |

### Default size by plan

If you don't choose a size, a Flight runs on the default size for your plan. On Lite, adding a credit card moves you from **Lite (with limits)** to **Lite (unlimited)**.

| Plan | Available sizes | Default size |
|------|-----------------|--------------|
| Lite (with limits) | F4 | F4 |
| Lite (unlimited) | F4, F16 | F16 |
| Business and Enterprise | F4, F16, F32 | F16 |

For other per-plan Flight limits, such as scheduling, concurrent runs, and maximum runtime, see [Availability and plan limits](/concepts/flights#availability-and-plan-limits).

### F4
**Optimized for light automation and frequent schedules**

F4 Flights keep the cost of small, frequent jobs low, making them ideal for:
- Light automation, such as posting a daily summary to Slack or syncing a small aggregate to a SaaS tool.
- Flights that run on frequent schedules.
- Simple API calls that fetch a small payload and write it to MotherDuck.
- SQL transforms, where the heavy lifting happens in MotherDuck and the Flight only orchestrates.

[Learn how F4 Flights are billed.](/about-motherduck/billing/pricing/#flights-pricing)

### F16
**The default size, balanced for most workloads**

F16 Flights have room for the Python processing most pipelines do, suited for:
- dbt pipelines built with the `dbt-duckdb` adapter.
- Multi-step data processing that chains several transforms or sources in one run.
- Standard ingest jobs, such as `dlt` pipelines from Postgres, APIs, or object storage.

[Learn how F16 Flights are billed.](/about-motherduck/billing/pricing/#flights-pricing)

### F32
**Our largest Flight, built for heavy workloads that need memory**

F32 Flights provide the most CPU and memory for work that runs inside the Flight, perfect for:
- ML inference, such as scoring records or generating embeddings with a Python model.
- Large dbt projects with many models.

[Learn how F32 Flights are billed.](/about-motherduck/billing/pricing/#flights-pricing)

## Changing Flight sizes

Set a Flight's size with the `instance_type` parameter of [`MD_CREATE_FLIGHT`](/sql-reference/motherduck-sql-reference/flights/md-create-flight/) or [`MD_UPDATE_FLIGHT`](/sql-reference/motherduck-sql-reference/flights/md-update-flight/). If you omit it when you create a Flight, the Flight uses your plan's default size. If you omit it when you update a Flight, the current size carries forward.

```sql
CALL MD_UPDATE_FLIGHT(
    flight_id := '<flight_id>',
    instance_type := 'F32'
);
```

A size change creates a new Flight version and applies to the next run. Choosing a size your plan doesn't include returns an error that lists the sizes available to you.

## Pricing

Flights are billed for the time each run takes, at the hourly rate for the Flight's size.

Flight pricing depends on the pricing tier of your Organization's [cloud region](/about-motherduck/cloud-regions/).

| Tier | AWS Regions | F4 | F16 | F32 |
|------|-------------|----|-----|-----|
| **Tier 1** | US East (N. Virginia) `us-east-1`, US West (Oregon) `us-west-2` | $0.15 per hour | $0.60 per hour | $1.20 per hour |
| **Tier 2** | Europe (Frankfurt) `eu-central-1`, Europe (Dublin) `eu-west-1` | $0.18 per hour | $0.73 per hour | $1.46 per hour |
| **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1`, Asia Pacific (Sydney) `ap-southeast-2` | $0.19 per hour | $0.77 per hour | $1.55 per hour |

:::note
On **Lite (unlimited)**, Flight usage draws from the same monthly compute allocation as Ducklings. Usage beyond the allocation is billed at the rates above. **Lite (with limits)** includes 30 minutes of Flight compute per day at no charge.
:::


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `GET https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

URL-encode query parameter values and send a GET request:

```text
GET https://motherduck.com/docs/api/feedback/agent?page_path=%2Fabout-motherduck%2Fbilling%2Fflight-sizes%2F&page_title=Flight%20sizes&text=<url-encoded user feedback, max 2000 characters>
```

Optionally append `&source=<url-encoded interface identifier>` such as `claude.ai` or `chatgpt`.

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed query parameters, and `429` when rate-limited.
