Tutorial · Task guide
Generation Stopped or Failed: Triage Network, Key, Context, Rate Limits, and Recover Tasks
Before you start
- Foreverse v76 or later, and the failing feature can be reopened (chat, continuation, or media form).
- Know which channel the call used — official credits or BYOK — because the bill lives in different places.
Where to find it
Me > Request logMe > AI Models & Services > Default model configProvider > Manage multi-key & rotationMe > Common > Tavern global settings > Sampling & prompt > Context limitMe > Notifications & remindersCold-start resume card > Continue
Step-by-step
Separate 'failed' from 'interrupted'
An error message or endless spinner is a failure — go to step 2. A long task you confirmed and then lost by leaving the page or having the process killed is an interruption — go to step 5. Either way, remember: a failure does not prove nothing was billed, and an interruption does not mean the money was wasted. The detail page and the resume card both state the cost status explicitly.
Read the exact error in the request log
Open Me → Request log (in the grid under the reader card), filter by modality, and tap the failed entry. The top summary card shows status, cost, and duration, with the failure reason visible. 401 means the key is invalid; 404 means the host path or model ID does not exist there; 429 means rate limit or quota; a timeout means the upstream is unreachable. Do not blame 'server down' before you have this evidence.
✓ You can name the failure class: key, host/model, quota, network, or context.
Fix configuration-class errors in the BYOK guide
401, 404, and 429 are key-and-provider configuration issues. The step-by-step fixes — versioned API host, exact model ID, billing and quota — are in /docs/guide-models/configure-byok-and-fix-errors and are not repeated here. For 'spins forever with no result', check Me → AI Models & Services → Default model config first: a missing model for that modality is the most common root cause.
Handle context overflow and rate limits on the spot
'Context exceeds the model limit': in tavern chats, lower Context limit in Tavern global settings or enable the Auto summary plugin; in Agent sessions, use Compact context in the session options menu (one small text-model call). Recurring 429 with a healthy key: wait for the quota window, reduce concurrency, or pool several keys of the same provider under Provider settings → Manage multi-key & rotation — when one key hits 401, throttling, or an empty quota, the pool switches to the next key before the reply starts.
✓ The retried request succeeds, or the pool visibly switches keys instead of failing the run.
Recover an interrupted leave-and-return task
Long tasks you confirmed with a quote — chat-to-novel conversion, migration imports — run with a resident progress notification. If the process is killed, the next app start shows a resume card ('interrupted at segment N of M'); tap Continue to return to the original form, re-confirm the quote, and carry on. Finished parts are saved and are not regenerated. If no card appears, reopen the original feature entry — it shows a Continue action. The master switch for task-completion notifications is Me → Notifications & reminders.
✓ The task resumes from its checkpoint and previously completed chapters or pages are intact.
How to know it worked
- The failed entry's error text has been read and mapped to key, host/model, quota, network, or context.
- A small retry from the same feature succeeds and appears as a new successful entry in the request log.
- The interrupted task was recovered via the resume card or the feature entry, with completed parts intact.
- Before any 'may already be charged' decision, you checked the request log or the provider console.
Cost, data, and irreversible-risk notes
- Triage is free: reading the request log and changing settings never calls a model. Every retry or regeneration is a new billed call.
- Failure does not always mean no charge: calls that definitely never reached the upstream (for example connection refused) are not charged; an 'outcome unknown' call may already be charged. The app flags these conservatively and never auto-retries them into double billing.
- Completed parts of an interrupted task — written chapters, drawn pages — are saved and already paid for. Continuing only fills the gap; do not delete and rerun.
- If media generated but saving failed, the generation itself may have been billed successfully: recover the asset or retry delivery instead of generating (and paying) again.
- BYOK failures are billed by your provider; check its console for the truth. Do not hammer retry on expensive image or video calls.
Troubleshooting
A streaming reply cut off halfway
Likely cause: The network switched or the upstream timed out mid-stream.
What to do: Check that entry's status and cost in the request log. Output already received is usually kept; regenerating is a new billed call.
429 / rate limit keeps coming back
Likely cause: Requests-per-minute, tokens-per-minute, concurrency, or balance hit the provider ceiling.
What to do: Read the exact quota in the provider console, wait for the reset, slow down bursts, or configure the key pool so exhausted keys rotate out automatically.
Spinner runs forever, no error, no result
Likely cause: The target modality has no usable model, or the upstream is unreachable.
What to do: Check Default model config for an enabled model of that modality first, then read the newest failed entry in the request log — this order is the official triage.
'N pages unfinished, may already be charged' after a batch task
Likely cause: Some pages of a serial-comic-style batch ended in an unknown state (for example a read timeout after submission).
What to do: Both exits state their consequences: retrying those pages may pay again; abandoning them stops there and returns the monthly quota. Verify in the request log or provider usage before choosing.
Task vanished after killing the app or rebooting
Likely cause: The process died, but checkpoints live on disk.
What to do: Cold start shows the resume card — tap Continue. Recovery always re-confirms the quote first; nothing silently resumes spending in the background.
Frequently asked questions
Does tapping Stop refund anything?
No. Stop only prevents later steps; completed calls are billed and their output is kept. See /docs/guide-models/understand-billing-usage for how spending is recorded.
Will a failed generation still charge me?
Three cases: definitely-not-sent failures are not charged; upstream-side failures follow the detail page's cost field and your provider bill; unknown outcomes are flagged 'may already be charged' and left for you to verify — the app never silently retries them.
How do I keep long tasks from being wasted work?
Read the call count on the quote before confirming, allow notifications, and glance at the resident progress notification before leaving. Even after a process kill, checkpoints and finished content survive, and the resume card takes you back.
Sources and verification
- Models and Usage guide · Foreverse · Verified
- Agent and Companion guide · Foreverse · Verified
- Reader guide · Foreverse · Verified
Coverage and verification
| Platform | Android generation and tasks |
|---|---|
| App version | v76+ |
| Path verified |