Usage and Pricing
Cells usage is metered in Small-hours. One Small-hour equals one hour of continuous runtime on a small-size session. Other sizes consume more or fewer Small-hours per wall-clock hour based on the multipliers below.
Plans
| Plan | Price / month | Small-hours / month | Concurrent sessions | Warm Python slots | Storage included |
|---|---|---|---|---|---|
| Free | $0 | 10 (hard stop) | 2 | 0 | 2 GB |
| Starter | $29 | 250 | 5 | 1 | 10 GB |
| Growth | $99 | 1,000 | 20 | 10 | 50 GB |
| Scale | $299 | 4,000 | 100 | 20 | 100 GB |
micro size only; all other languages and sizes cold-start (about 12 seconds at p50).micro and small sizes, has no warm pool, and enforces a hard stop at 10 Small-hours per month (session creation returns 402 SMALL_HOURS_EXHAUSTED once that limit is reached).How Small-hours are calculated
Each session consumes Small-hours from creation to end (or timeout). The consumption rate depends on the sizeId:
| sizeId | Multiplier | Small-hours per wall-clock hour |
|---|---|---|
micro | 0.53x | 0.53 |
small | 1.0x (reference) | 1.0 |
standard | 2.0x | 2.0 |
large | 4.0x | 4.0 |
max | 8.0x | 8.0 |
Example: A standard session that runs for 15 minutes consumes (15/60) * 2.0 = 0.5 Small-hours.
Always-on sessions
Always-on sessions are billed at a flat monthly rate per session slot, independent of Small-hours. They do not consume your monthly Small-hours allowance. Always-on pricing is listed on the pricing page. Always-on requires a Growth or Scale plan.
Quota enforcement
The API reserves an estimate of the maximum possible Small-hours for a session when you create it (based on the maximum timeout and size multiplier). This reserved amount is held against your balance until the session ends, at which point the actual usage is charged and the over-reserved amount is returned.
This means: if your plan has 100 Small-hours remaining and you create a 30-minute micro session, the API reserves 0.5 * 0.53 = 0.265 Small-hours upfront. If the session ends after 10 minutes, the actual usage is (10/60) * 0.53 = 0.088 Small-hours.
Quota warning header
When your usage is between 80 and 99 percent of your monthly allowance, session creation responses include an X-Cells-Quota-Warning header with the integer percent used (e.g. X-Cells-Quota-Warning: 92). Use this to surface an upgrade nudge before users hit the hard wall.
Overage and 402
Once the monthly allowance is fully exhausted, session creation returns 402 Payment Required with error code SMALL_HOURS_EXHAUSTED. No new sessions can be created until the allowance resets at the next billing cycle or you upgrade your plan.