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

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.
  • Concurrent tasks: how many of your tasks can be PENDING or IN_PROGRESS at the same time.

The limits depend on your plan:

PlanRequests per secondConcurrent tasksPriority
Pro2010Default
Premium2030Higher than Pro
Ultra20100Highest
Studio2060, or 20 on some earlier Studio plansHigher than Pro
Enterprise100100 by default, or a custom limitHighest

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, including requests that get, list, or stream tasks. Requests from the Meshy web app don't count.

The concurrent 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 check it.

Requests that don't create a task don't count toward it. For example, Balance, Usage, and requests that get, list, or stream tasks don't count.

Whose limits apply

The following table shows whose limits your API keys, the Playground, and the web app count toward:

Where you workPersonal accountTeam
API keysYour limitsThe team's limits, shared by every API key in the team
PlaygroundYour limitsYour own limits as the signed-in member
Web appYour concurrent tasksYour own concurrent tasks. Tasks the team owner starts also count toward the team's limits.

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 concurrent 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 get a task that is still PENDING or IN_PROGRESS.

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