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.
| Limit | Value | Scope |
|---|---|---|
| Chat messages per minute | 10 | Per user |
| Chat messages per hour | 60 | Per user |
| All routes combined | 30 requests per minute | Per user |
| All routes combined | 60 requests per minute | Per 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.
| Message | HTTP and code | What tripped it | What to do |
|---|---|---|---|
Too many requests. Please wait and try again. | 429 rate_limit_reached | The per minute window for the route, the all routes ceiling, or the per IP window refused the request | Wait a minute and send again |
Hourly message limit reached. Please try again later. | 429 rate_limit_reached | The hourly chat ceiling of 60 messages was the window that refused | Wait for the hour window to roll over |
Upload rate limit reached. Please wait a moment before uploading another image. | 429 upload_rate_limited | More than 10 image uploads attempted in one UTC minute | Wait for the next UTC minute |
Daily upload limit reached. Please try again tomorrow. | 429 upload_daily_limit_reached | 60 image uploads already made in one UTC day | Wait for the next UTC day |
That is a few in a row. Give it a minute, then send this again. | Feedback request returned 429 | The feedback route allows 6 submissions per minute | Wait a minute, the text is not lost |
Too many reports right now. Please try again shortly. | Share report endpoint returned 429 | The shared conversation report route allows 10 per minute, keyed by the share token | Wait 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.
| Action | Limit |
|---|---|
| Sending a message on a given model | 10 per minute |
| Creating a conversation | 10 per minute |
| Searching conversations | 20 per minute |
| Importing conversations | 20 per minute |
| Creating or editing a project | 20 per minute |
| Uploading a project file | 10 per minute |
| Uploading an image | 10 per minute, and 60 per day |
| Starting a voice session | 6 per minute |
| Ending a voice session | 6 per minute |
| Submitting feedback | 6 per minute |
| Reporting an AI output | 6 per minute |
| Reporting a shared conversation | 10 per minute, keyed by the share token |
| Syncing a subscription | 6 per minute |
| Exporting your account data | 5 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.
| Message | HTTP and code | What it actually means |
|---|---|---|
Your monthly message limit has been reached. | 429 message_limit_reached | Your plan allowance for the period is spent, not a burst limit |
The model is temporarily rate-limited. Please retry shortly. | 429 provider_rate_limited | The 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_locked | A 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.
| Message | HTTP and code | What it actually is |
|---|---|---|
Duplicate message ignored. Please wait for the current response to finish. | 409 duplicate_message | The 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_progress | The per user generation lock is already held |
Account sharing limit reached. Please use your own Whizi account. | 403 account_sharing_limit | More 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_large | A 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.
- 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
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.