Limits

The Direct API's request-rate limits, the headers that report them, and its size and count limits.

Request rate

BucketLimitCounted per
Generation reads30 per minute per generation, 1,200 per minute in totalAPI key
Free tool calls (lists, catalog, plan_media, and each media URL a call imports)1,000 per hourAPI key
Webhook management (/webhooks and its paths)60 per minuteAPI key
/usage, /me60 per minuteAPI key
Requests whose API key does not work (401)60 per 10 minutes; past it, requests from that address answer 429 (with Retry-After) until the window drains, except with a key that authenticated in the last 10 minutesclient IP address (an IPv6 address by its /64)
Paid tool callsno request-rate limit
  • Paid calls are bounded by money, not by rate: your key's credit limits and your organization's balance.
  • Under heavy load a generation waits in queued for model capacity rather than being refused. Starting more work than a model can run at once makes later generations take longer, never fail.
  • A paid call whose outcome turned out free, such as video_remove_audio on a silent video, counts against the free-call bucket.

Rate-limit responses

Every rate-limited endpoint returns these headers:

X-RateLimit-Limit: 1200
X-RateLimit-Remaining: 1187
X-RateLimit-Reset: 1792919760

A refused request answers 429 with Retry-After: <seconds> and this body:

{
  "description": "This API key read generations more than 1200 times a minute. Poll less often, or pass ?wait= to be answered when a status changes.",
  "code": "rate_limited",
  "data": { "retry_after_seconds": 14 }
}

Wait Retry-After seconds before you retry. A 429 never charges.

Size and count limits

LimitValue
Request body1 MB
variations per image start1 to 4
Ids per batch read10
wait45 s
metadata20 keys; key up to 40 characters, value up to 500
Idempotency-Keyup to 200 characters, remembered 24 h
Active API keys per organization10
Webhook endpoints per organization10
Asset link lifetimeno expiry
Per-model inputs (prompt length, reference images, durations, file sizes)as listed in Models and each tool's input_schema

If you have any trouble or have any questions, feel free to reach out. We're happy to help. Write to us at support@morphic.com.

On this page