Regenerate a response in Whizi, and edit a message you already sent

The short answer

Whizi has no regenerate control, and nothing in the worker serves one. Re-running a turn is done by editing your own message and sending it again, which replaces the reply rather than appending a second one, and files the previous attempt as a version you can flip back to.

The Edit control sits on your own messages only, never on an assistant reply, and the resend is charged as one ordinary turn at the rate of whichever model answers it.

What you wantWhat Whizi hasWhere it lives
Re-run the same promptNo regenerate controlEdit the message and send it again
Fix a prompt you got wrongEdit and resendThe Edit control on your own messages
Compare the old answer with the new oneVersion arrows reading like 2/2Under the edited turn
A different answer without rewordingSwitch the model in the same conversationThe model picker

What an edit actually changes

A sent user message can be edited and resent, and the reply that follows replaces the old one instead of stacking underneath it.

Each edit creates a version of the turn, and the arrows under it read like 2/2. The important part is what a version contains. It is not just the edited message: it is that message and every reply that followed it, so switching versions swaps the whole tail of the conversation rather than one bubble.

That has a consequence people meet by surprise. Editing a turn discards the version history of every turn after it, because those versions belong to a conversation that no longer exists. If you edited message three twice and then go back and edit message one, the two versions of message three go with it.

Version switching is a server operation, not a client toggle: it is served by POST /api/conversations/:id/versions, and it takes the generation lock for the duration. Whizi runs one generation per account at a time, so a version switch and a reply in flight cannot happen at once.

Resending the identical text is not a second route to a new answer. The same message text sent to the same conversation recently is refused as a duplicate, so a re-roll of unchanged words is unavailable even in principle. That refusal is documented with the rest of the send failures on a message will not send.

What re-running a turn costs

There is no regenerate price, because there is no regenerate. A resend is an ordinary turn, charged at the fixed per-message rate of whichever model answers it.

A model credit cost is a fixed integer per message. Nothing about message length, conversation length, or answer length enters the calculation, so a re-run of a long thread costs exactly what the first attempt cost on that model. A turn is floored at one credit and rounded down, so nothing is ever charged less than one.

Editing a prompt before you send it costs nothing in credits, and neither does switching the model you are about to send it to. The charge lands when a model answers.

ActionCredits
Editing the text of a message before sendingNone
Sending the edited messageOne turn at the answering model rate
Stopping a reply part wayRefunded as an undelivered turn

The refund is the reason to correct early rather than late. A generation that fails or is aborted is refunded by deleting the usage row, so an answer you stop in its first two lines costs less than one you let finish and then re-run. How a stop is handled on the server is on a message will not send.

A different model is the other route to a different answer, and that turn is charged at the new model rate rather than the old one. The patterns worth using are on switching models mid-conversation.

On a paid plan this comes out of the credit allowance for the period. Free accounts have no credit allowance at all: they get a lifetime allowance of 7 messages that never resets, and a resend is a message like any other. The full scale and the per-plan allowances are in the credit reference.

When an edit or a version switch fails

When the edit itself is refused, the strings and codes for it live with the other send failures on a message will not send. The strings below belong to the version arrows and appear nowhere else.

What you seeCodeTrigger
That version is no longer available. Reload and try again.404 version_not_foundThe version you switched to has been archived away
A message position and a version number are required.400 invalid_versionThe version-switch request lacked a valid anchor sequence or version index

The website has its own wording for a failed switch: That version is no longer available. Reload the chat and try again. Both mean the same thing and both are fixed by reloading the conversation.

Editing a message is not supported on this backend. is thrown when an edit-and-resend would route to the legacy backend. The Edit control is gated so users should not reach it.

Workflow checklist
  • No regenerate control exists in Whizi, and the worker carries no route behind one
  • Edit and resend is the re-run: the reply is replaced, not repeated
  • The Edit control appears on your own messages only
  • A version is the message plus every reply after it, so switching swaps the whole tail
  • Editing an earlier turn discards the version history of every turn after it
  • Editing costs nothing; the resend is charged at the answering model rate
  • A stopped generation is refunded as an undelivered turn
  • A version switch takes the generation lock, so it cannot run while a reply is generating
Common questions

Frequently asked questions

How do I regenerate a response in Whizi?

You cannot, in the sense of a button that re-rolls the same prompt. The equivalent is to edit your own message and send it again, which replaces the reply rather than appending a second one. Resending the words unchanged is not a workaround either: the same text sent to the same conversation recently comes back as HTTP 409 duplicate_message, so a changed prompt or a different model is the only way to a second attempt.

Can I edit a message I already sent?

Yes, on messages you sent. Assistant replies carry no Edit control, so there is nothing to press on the answer itself, and the reply under an edited message is replaced rather than joined by a second one. The same edit path exists on the creative (media) route, where a stale message id fails with the same 404 a text edit gets. What a version holds, and which history an edit throws away, is covered under what an edit actually changes.

Does re-running a turn cost credits?

Editing the text costs nothing, since the charge lands only when a model answers. The resend is one ordinary turn at the fixed per-message rate of whichever model answers it, with no separate re-run price, and it is floored at one credit. If the remaining balance does not cover that turn, it is refused whole rather than part-charged.

Do I lose the original answer when I edit?

Not for that turn. The previous attempt is kept and the arrows move between the two. Lower down the thread you do: an edit drops the stored versions of every turn beneath it. Work backwards if the branches matter, meaning edit the earliest message last, and copy anything from a lower branch you want to keep before you touch a message above it.

What does "That version is no longer available. Reload and try again." mean?

HTTP 404 with code version_not_found. You moved to a message version that has been archived away, so there is nothing left to show. Reload the conversation and the arrows rebuild from what is actually stored. If the string you got says "Reload the chat" instead, that is the website toast for the same failure and it means the same thing.

Can I get a different answer without editing anything?

Yes, by sending it on a different model in the same conversation. The thread comes with you and the turn is charged at the new model rate. The gate to watch is your plan: picking a model above your tier returns HTTP 403 tier_upgrade_required with "Upgrade your plan to use this model." instead of an answer.