# Understand MCP work units

Estimate AI work, inspect reservations and avoid duplicate mutations.

## Work, not messages [#work-not-messages]

Free includes **15,000 units per UTC day** and Pro **75,000** across the account, all connected clients and both execution modes. There is no fixed conversion from units to slides: a complex slide can cost more than several simple ones.

Manual editor work, manual exports and owner synchronization do not consume these units. Daily units reset at **00:00 UTC**, with no rollover or automatic overage purchase.

## What contributes to usage? [#what-contributes-to-usage]

Formula version 1 combines changed scalar values with rounded-up units for:

| Work | Unit basis |
| --- | --- |
| Changed content | Each 256 characters |
| Returned JSON | Each 16 KiB |
| Media | Each 64 KiB |
| Processed or rendered pixels | Each 250,000 pixels |

A batch sums its effective changes; it is not billed as one operation merely because it is one tool call. Unchanged content is not charged as a rewrite, and no-op edits cost zero. These are creative-work measures, not model tokens or CPU time.

## Inspect and estimate [#inspect-and-estimate]

Agents should call `get_usage` to inspect the plan, confirmed/reserved/available units and reset time. `estimate_commands` previews a remote batch without applying it or reserving balance.

Small status receipts, budget queries, navigation and sharing controls consume no creative units, but still have technical rate limits. Reading a large result again can incur another read charge.

## Reservations and retries [#reservations-and-retries]

Reads and renders can reserve a bounded amount before settling actual work. Uncertain outcomes may retain a reservation instead of assuming the work failed. Identical accepted mutation retries do not charge twice.

After a timeout, inspect `get_request_status` before retrying; use `includeResult:false` for a small status receipt. Keep the same request identity and inputs when retrying the same mutation.

When daily work is exhausted, wait for reset or continue manually. Storage limits, rate limits, export bounds and editor backpressure are separate constraints.
