lowpoly retires Oct 30, 2026. Please switch models before these dates to avoid request errors.

Rate limits

Check how many requests and tasks your plan allows, and what to do when you reach a limit.


Limits by plan

To keep the API fast and available for everyone, Meshy limits each account in two ways:

  • Requests per second: how many API requests you can send each second.
  • Queue tasks: how many of your tasks can be PENDING or IN_PROGRESS at the same time.

The limits depend on your plan:

PlanRequests per secondQueue tasksPriority
Pro2010Default
Premium2030Higher than Pro
Ultra20100Highest
Studio2020Higher than Pro
Enterprise100100 by default, can be customizedHighest

Priority isn't a limit. When the queue is busy, Meshy starts the tasks with a higher priority first.

What counts toward each limit

Every API request counts toward requests per second.

The queue tasks limit counts tasks, not requests. Every endpoint that creates a task checks this limit before it creates one, for example Text to 3D, Image to 3D, Multi-Image to 3D, Retexture, Remesh, Rigging, Animation, Text to Image, the 3D printing endpoints, and Creative Lab. Requests that don't create a task don't count toward it, for example Balance, Usage, and requests that retrieve, list, or stream tasks.

Both limits apply per account, so all your API keys and the Playground share them. Tasks you start in the Meshy web app also count toward your queue tasks.


When you reach a limit

When you go over a limit, the API returns 429 Too Many Requests. The message tells you which limit you reached:

  • Too many requests per second: the message is Rate limit exceeded. Wait the number of seconds in the Retry-After header, then retry.
  • Too many queue tasks: the message starts with NoMorePendingTasks. On an unlimited plan with no credits left, it starts with NoMoreConcurrentTasks. This 429 has no Retry-After header. Wait for one of your tasks to finish, then create the next one.

Rate limit headers

API responses include these headers to help you pace your requests:

HeaderDescription
X-RateLimit-LimitRequests allowed per second on your plan.
X-RateLimit-RemainingRequests left in the current second.
X-RateLimit-ResetSeconds until your budget is full again.
Retry-AfterSeconds to wait before your next request. Sent with a 429 for too many requests per second, and when you retrieve a task that is still PENDING or IN_PROGRESS.

When Retry-After is present, wait that many seconds before you send the next request.