Rate limits
Generation is rate limited per user (the user who owns the access token), not per workspace.
| Limit | Value |
|---|---|
| Generations (all modalities) | 60 per minute per user |
| Video generations | an additional 30 per minute per user |
Video generations count against both limits. List, get, and estimate endpoints are not rate limited, and workflow runs are not currently subject to these generation limits.
Hitting a limit
Section titled “Hitting a limit”When you exceed a limit, the execute request returns 429 RATE_LIMITED with a Retry-After header (in seconds):
HTTP/1.1 429 Too Many RequestsRetry-After: 30Content-Type: application/problem+json
{ "type": "https://api.layer.ai/errors/RATE_LIMITED", "title": "Rate limited", "status": 429, "detail": "…" }Wait for the Retry-After interval before retrying.
Recommendations
Section titled “Recommendations”- Spread bulk generation over time rather than bursting.
- Honor
Retry-After; add jitter if you run many workers. - Poll runs on the returned
poll_interval_seconds(see Async jobs & polling) rather than tight-looping — polling reads aren’t the bottleneck, but a stampede of workers can be.