Whizi rate limits: the numbers, the errors, and what to do

The short answer

Whizi limits chat to 10 messages per minute and 60 messages per hour per user, and every request of any kind also passes a shared ceiling of 30 requests per minute per user. Those burst limits are flat across free, Starter, Pro, and Powerhouse. Upgrading does not raise them.

A refused request costs nothing. Rate limit refusals are unwound, so a 429 never spends a message off your plan allowance.

LimitValueScope
Chat messages per minute10Per user
Chat messages per hour60Per user
All routes combined30 requests per minutePer user
All routes combined60 requests per minutePer IP address

The per IP ceiling is deliberately looser than the per user one because IP addresses are shared.

The fix for all four is the same: wait. The windows are short, so in practice this means a minute.

Every rate limit error string, verbatim

Rate limit refusals return HTTP 429 with the code rate_limit_reached. Image uploads carry their own codes, upload_rate_limited and upload_daily_limit_reached.

MessageHTTP and codeWhat tripped itWhat to do
Too many requests. Please wait and try again.429 rate_limit_reachedThe per minute window for the route, the all routes ceiling, or the per IP window refused the requestWait a minute and send again
Hourly message limit reached. Please try again later.429 rate_limit_reachedThe hourly chat ceiling of 60 messages was the window that refusedWait for the hour window to roll over
Upload rate limit reached. Please wait a moment before uploading another image.429 upload_rate_limitedMore than 10 image uploads attempted in one UTC minuteWait for the next UTC minute
Daily upload limit reached. Please try again tomorrow.429 upload_daily_limit_reached60 image uploads already made in one UTC dayWait for the next UTC day
That is a few in a row. Give it a minute, then send this again.Feedback request returned 429The feedback route allows 6 submissions per minuteWait a minute, the text is not lost
Too many reports right now. Please try again shortly.Share report endpoint returned 429The shared conversation report route allows 10 per minute, keyed by the share tokenWait and report again

Too many requests. Please wait and try again. is the default message for every window except the hourly chat one, so it can mean the route limit, the account wide ceiling, or your network. Hourly message limit reached. Please try again later. is used only when the 60 per hour chat ceiling is the window that refused, which makes it the more precise diagnosis of the two.

The per route limits, in full

Each route carries its own per minute window on top of the account wide ceiling of 30 requests per minute. These are per user unless noted.

ActionLimit
Sending a message on a given model10 per minute
Creating a conversation10 per minute
Searching conversations20 per minute
Importing conversations20 per minute
Creating or editing a project20 per minute
Uploading a project file10 per minute
Uploading an image10 per minute, and 60 per day
Starting a voice session6 per minute
Ending a voice session6 per minute
Submitting feedback6 per minute
Reporting an AI output6 per minute
Reporting a shared conversation10 per minute, keyed by the share token
Syncing a subscription6 per minute
Exporting your account data5 per minute

The account data export is the tightest of them at 5 per minute, because an export reads everything the account owns.

One route retries for you rather than surfacing the error. When a chat import hits a 429, the client waits 20 seconds and retries, up to 4 attempts per batch, so a large ChatGPT or Claude import is expected to pause and continue on its own. See chat import errors.

429s that are not about how fast you are sending

Three other refusals share the 429 status code and are routinely mistaken for burst limits. The code in the error body is what tells them apart.

MessageHTTP and codeWhat it actually means
Your monthly message limit has been reached.429 message_limit_reachedYour plan allowance for the period is spent, not a burst limit
The model is temporarily rate-limited. Please retry shortly.429 provider_rate_limitedThe upstream model provider answered with a 429. Nothing on your account caused it
Generation is paused on this account after repeated requests that Whizi cannot fulfil. It reopens automatically. Contact support from Settings if you think this is wrong.429 content_policy_lockedA lockout earned by repeatedly tripping the content screener on generation prompts

The plan allowance case is easy to identify without reading a network trace: the website opens its upgrade modal instead of showing a toast, badged Monthly Limit Reached. Waiting does not clear it inside the period. Either the billing period rolls over or you upgrade. The allowances are Starter 400 messages per monthly period, Pro 800, and Powerhouse 5,000. On the web client, which is metered in credits rather than messages, the same tiers are 400, 2,000, and 8,000 credits. Full detail in plans and limits and how credits work.

The provider case has a matching string on the voice path: Realtime voice is temporarily rate-limited. Please retry shortly. is the same 429 provider_rate_limited code, returned when the voice token mint upstream answers 429. The media generation paths have their own: Image generation could not be started. Please try again. is 429 image_provider_rate_limited when the image provider refuses, and Image generation status is temporarily unavailable. is 429 image_status_failed when the status poll is the call that gets refused. Video and music carry the same pair with their own codes. On the image submit path the reservation is refunded before the error is returned, and a generation that fails or is aborted is refunded.

The content policy lockout is the only one on this page where the honest answer is to contact support. It reopens automatically, but no duration is published, and if you believe the screener is wrong about your prompts, support is the route.

The 409, 403 and 413 refusals that are not 429s

Four other refusals share the look of a rate limit and carry different status codes. The code in the error body is what tells them apart.

MessageHTTP and codeWhat it actually is
Duplicate message ignored. Please wait for the current response to finish.409 duplicate_messageThe same message text was already sent to this conversation recently
Generation already in progress. Please stop it or wait for it to finish.409 generation_in_progressThe per user generation lock is already held
Account sharing limit reached. Please use your own Whizi account.403 account_sharing_limitMore than 3 distinct device or session keys have been seen on one account in the last 24 hours
Request is too large.413 request_too_largeA JSON body exceeded the byte cap for that route

The first three belong to the send path and are covered in a message will not send. For the 413, send less in one request rather than fewer requests.

Workflow checklist
  • Chat is 10 messages per minute and 60 per hour, per user
  • Every route also passes a 30 requests per minute per user ceiling
  • The per IP ceiling is 60 requests per minute, looser because IPs are shared
  • Burst limits are identical on free, Starter, Pro, and Powerhouse
  • A 429 never spends a message off your allowance
  • Code rate_limit_reached means wait, message_limit_reached means plan
  • provider_rate_limited is upstream and nothing on your account caused it
  • Chat imports retry a 429 themselves after 20 seconds, up to 4 attempts
Common questions

Frequently asked questions

What does "Too many requests. Please wait and try again." mean in Whizi?

It is HTTP 429 with the code rate_limit_reached, and it means one of three windows refused the request: the per minute limit for that route, the account wide ceiling of 30 requests per minute, or the per IP ceiling of 60 per minute. Wait a minute and send again.

How many messages can I send per minute?

Ten per minute and 60 per hour, per user. Sending on a given model is separately capped at 10 per minute, and creating a conversation is also 10 per minute. Those numbers are the same on every plan, so a Powerhouse subscriber has exactly the same burst limits as a free account.

Does upgrading raise my rate limit?

No. The 10 per minute and 60 per hour chat limits are flat across free, Starter, Pro, and Powerhouse, and they sit in front of the plan quota layer rather than inside it. What upgrading raises is the period allowance: Starter 400 messages per monthly period, Pro 800, and Powerhouse 5,000, or 400, 2,000, and 8,000 credits on the web client. If the error says your monthly message limit has been reached, upgrading helps. If it says too many requests, it does not.

Why does it say "Hourly message limit reached. Please try again later." when I have credits left?

Because that string is the burst limiter, not the allowance. It fires only when the 60 messages per hour ceiling is the window that refused, and it is unrelated to how many credits or messages your plan has left for the period.

The same model keeps returning "The model is temporarily rate-limited. Please retry shortly." What can I do?

Send the message on a model from a different provider family, or use Auto, which is a router rather than a model and only picks from models your plan already reaches. The refusal comes from the upstream provider rather than from your account, and Whizi does not publish a wait time for it, so retrying the same model is the only other option. The voice path returns the same code with its own wording: "Realtime voice is temporarily rate-limited. Please retry shortly."

Do failed or rate-limited requests use up my credits?

No. Rate limit refusals are unwound, so a 429 never spends a message off your allowance, and a generation that fails or is aborted is refunded. Content policy refusals are screened before any quota is reserved and before the provider is called, so those cost nothing either.