---
title: API Rate Limits - Per-Plan Caps & Live Usage | ModelsLab
description: Every ModelsLab API rate limit in one place: per-plan request windows, video and 3D caps, per-model-pool caps, and concurrency. Sign in to see your live usage.
url: https://modelslab.com/rate-limits
canonical: https://modelslab.com/rate-limits
type: website
component: Business/RateLimits
generated_at: 2026-08-24T09:34:37.274877Z
---

API rate limits
---

ModelsLab runs a shared GPU fleet, so every account has a cap on how many generations it can start in a given period. The caps exist so one very heavy account cannot absorb the whole fleet and leave everyone else queueing. There are four of them, and they are independent — this page shows all four, and your live usage against each.

Your limits right now
---

Sign in to see how much of each limit you have used in the current window, and when it resets.

[Sign in](/login)

1. Your plan’s request window
---

The main limit. Every plan gets an hourly allowance, enforced in 30 minutes slices so a burst cannot spend the whole hour in the first few minutes. Video and 3D draw on a second, smaller allowance of their own, because a single video costs 10–100× the GPU time of an image.

| Plan | Images & audio | Video & 3D | At the same time | Requests per month |
|---|---|---|---|---|
| Starter | 150 / hour75 per 30 minutes | 15 / hour8 per 30 minutes | — | — |
| Basic$21/mo | 400 / hour200 per 30 minutes | 50 / hour25 per 30 minutes | 5 generations | 3,250 |
| Standard$47/mo | 1,250 / hour625 per 30 minutes | 125 / hour63 per 30 minutes | 10 generations | 10,000 |
| Open Source Unlimited$149/mo | 350 / hour175 per 30 minutes | 35 / hour18 per 30 minutes | 15 generations | Unlimited |
| No subscription, empty wallet | 50 / hour25 per 30 minutes | 8 / hour4 per 30 minutes | 5 generations | — |
| Other / legacy plans | 150 / hour75 per 30 minutes | 15 / hour8 per 30 minutes | — | — |

### Why does Open Source Unlimited allow fewer per hour than Standard?

Because the two plans are bounded by different things. Basic and Standard include a fixed number of requests per month, and that monthly total — not the hourly window — is what limits them; their windows are set wide enough that a whole month’s allowance can be spent in a single working day. Open Source Unlimited has no monthly total at all, so the hourly window is the only thing bounding it, and it has to be set at a level the shared fleet can sustain indefinitely. A higher number in the first column is not a bigger plan.

Requests to a dedicated Enterprise endpoint run on your own GPUs, not the shared fleet, and are not counted here.

2. Generations running at the same time
---

Separate from the window above, and the one most often mistaken for it. It caps how many of your generations may be in progress at once, not how many you may start. It is not a budget that refills on a clock — a slot frees the moment a generation finishes, so this limit clears itself. The number for each plan is in the last column of the table above.

3. Per-model caps
---

A few model pools are small enough that one account running flat out fills the queue for everybody else on them, while staying comfortably inside its plan window. Those pools carry their own cap, applied on top of your plan window, on every plan.

| Model pool | Per hour | Per 30 minutes |
|---|---|---|
| interior | 45 | 23 |
| ultra\_upscale | 60 | 30 |
| flux\_kontext\_dev | 45 | 23 |

4. What does and does not count
---

Only requests that actually start work on a GPU count. In particular, polling a generation you already started is free — a single generation is polled up to 25 times, and counting those would exhaust an allowance after a dozen real generations.

### Counted against the video & 3D allowance

- `v6/video/`
- `v6/3d/`
- `video-fusion/`
- `v8/videos`
- `v8/3ds`
- `_to_3d`
- `v5/text2video`
- `video_swap`

Matched anywhere in the request path. Everything else that generates draws on the images & audio allowance.

### Never counted

- `fetch`
- `webhook`
- `base64_to_url`
- `system_details`
- `base64_crop`
- `load_model`
- `image_editing/caption`
- `clear_cache`
- `voice_list`
- `voice-call/voices`
- `voice-call/cancel-all`
- `/status`
- `/transcript`
- `/close`
- `v7/llm/`

Matched anywhere in the request path. Fetching results, webhooks, captioning, listings and other requests that do no GPU work.

Reading your limits from the API
---

Every API response carries your current state, so a client can slow down before it is refused rather than after.

| RateLimit-Limit | Requests permitted in the current window. |
|---|---|
| RateLimit-Remaining | Requests still available. Throttle against this one. |
| RateLimit-Reset | Seconds until the window resets. |
| Retry-After | Seconds to wait. Sent once the limit is exhausted. |

The legacy `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers are still sent alongside these.

What a refusal looks like
---

The generation API reports every failure as HTTP 200 with an error body, so check `status` and `code` rather than the HTTP status:

```
{
  "status": "error",
  "code": "rate_limited",
  "message": "Rate limit exceeded: Try again in 12 minute(s), ..."
}
```

Wait for `Retry-After` and retry. Retrying immediately does not help — a refused request still counts, so a tight retry loop keeps the window full and extends the lockout.

Other limits
---

These apply to account and billing endpoints rather than to generation, and are unrelated to the caps above.

| Endpoint | Limit | Counted per |
|---|---|---|
| Agent control plane | 120 / minute | Per API token |
| Billing and wallet changes | 15 / minute | Per API token |
| Sign in and auth | 20 / minute | Per IP and email |
| Sign up | 3 / minute, 10 / hour, 20 / day | Per client IP |
| Model and voice listings | 10 / minute | Per IP |

Need more
---

A higher plan raises the window. [Compare plans](/pricing). If your workload does not fit any of them, an [Enterprise](/enterprise) deployment runs on GPUs reserved for you, with no shared-fleet cap at all.

---

*This markdown version is optimized for AI agents and LLMs.*

**Links:**
- [Website](https://modelslab.com)
- [API Documentation](https://docs.modelslab.com)
- [Blog](https://modelslab.com/blog)

---
*Generated by ModelsLab - 2026-08-24*