AI Error Recovery & Retries
What happens when the AI is busy or a blog gets stuck: automatic retries, the one-click retry badge, retry-just-the-images, and how generation can never hang forever.
Writing a blog post means talking to an AI service that, like any busy service, sometimes gets overloaded for a few minutes. theStacc is built so that those normal blips almost never reach you, and when they do, getting back on track is a single click. This page explains exactly what happens behind the scenes, what you'll see on screen, and the safeguards that make sure a post can never stay stuck forever.
When the AI is busy, theStacc waits for you#
The AI that writes your content occasionally returns a "high demand" or "too many requests" response. This is temporary and usually clears in seconds to minutes. theStacc treats these as something to wait out, not something to fail on.
For a post being generated in the background (your scheduled posts and any post you kick off and walk away from), theStacc automatically retries on its own with escalating waits between attempts. It keeps trying for up to about 30 minutes before it gives up. The vast majority of busy spells resolve well inside that window, so the retry is invisible to you - the post simply finishes a little later than usual.
While this is happening, the post stays in the Generating state and the status message updates so you're not left staring at silence. You'll see a live message like:
AI service busy, retrying... (attempt 2, 45s elapsed)
That's theStacc telling you it's working through a temporary slowdown. There's nothing for you to do - just leave the post to finish.
The one-click retry badge#
If the AI stays busy for the entire retry window and generation can't complete, the post moves to Generation failed and theStacc shows a clear, friendly panel instead of a scary error. For a busy-service failure, the panel reads AI service was busy with a short explanation such as "AI service is experiencing high demand. Please try again shortly," and a Try again button.
Clicking Try again simply re-runs generation for that post - no settings to re-enter, no re-typing. Because high demand often comes in waves, the button respects a short cooldown: if theStacc has a suggested wait time, the button shows a live countdown (for example Try again in 30s) and only becomes clickable once the wait has passed. This stops you from hammering a service that's still catching its breath, and means your retry lands when it's most likely to succeed.
The Try again button only appears for people with edit access to the project.
What's in an error, in plain terms#
When the AI returns a problem, theStacc records a tidy summary so the right message and the right button can be shown - on the post itself and in any pop-up notification. Each summary includes:
- An error code - a stable label for the kind of problem, so the app knows which help to offer. The transient, retry-friendly ones are
ai_overloaded(the service is at high demand) andai_rate_limited(too many requests right now). Other codes cover non-transient issues like a service configuration problem (ai_unavailableand similar), where retrying on its own won't help. - A plain-English message - a safe, friendly sentence you actually see, like "AI service is experiencing high demand. Please try again shortly" or "AI service is busy right now. Please try again in a few minutes." theStacc deliberately never shows raw internal or billing details - those stay in our logs, not on your screen.
- A retry-after hint - roughly how long to wait before trying again. This is what powers the countdown on the Try again button.
- A timestamp - when the problem occurred, so the countdown and the wording stay accurate even if you reload the page partway through the wait.
The two retry-friendly codes (ai_overloaded and ai_rate_limited) are the only ones that get a Try again button, because those are the ones where trying again actually helps. Everything else gets a clear message so you know whether to wait, retry, or reach out to support.
A stuck post can never hang forever#
Very rarely, a post might stop making progress for reasons unrelated to the AI being busy - for example, a background worker being restarted mid-job during a deploy. To make sure a post never sits in Generating indefinitely, theStacc has a built-in safety net.
Anything that has been stuck in Generating for more than 45 minutes is automatically flipped to Generation failed, and the same Try again retry option appears. This happens two ways, so you're covered no matter what:
- The moment you open or refresh a post that has been generating too long, theStacc notices and updates it on the spot.
- A background sweep runs regularly on its own and clears out any over-age jobs even if nobody is looking at them.
Either way, the outcome is the same: a post that genuinely got stuck becomes a one-click retry instead of a mystery that spins forever. (45 minutes is generous on purpose - it leaves room for the full ~30-minute busy-retry window plus normal writing and image time before a post is ever considered stuck.)
When only the images failed, retry just the images#
Generating a blog post happens in two parts: the AI writes the article text, then images are generated for the post. Sometimes the text succeeds perfectly but one or more images fail.
When that happens, theStacc does NOT make you regenerate the whole post. Re-running the full pipeline would throw away your finished article and re-run the (paid) AI writing step for no reason. Instead, the post detail page shows a panel like 2 images failed to generate with the reassurance that "Your blog text is saved and ready. Only the images need a redo," and a Retry images button.
Clicking Retry images re-runs image generation for only the placeholders that failed last time, using the original prompts. Successful retries drop straight into your article in the right spots; anything that still fails stays flagged so you can try again or edit it. Crucially, this path skips the AI writing step entirely - so retrying images costs no AI text generation and never rewrites the article you already have.
theStacc also protects you from the expensive mistake automatically: if you try to fully re-generate a post whose text already succeeded and only images failed, theStacc steers you to Retry images instead, so you don't accidentally pay to rewrite work that's already done.
The Retry images option is available both when the post is waiting for your review with a couple of missing images, and when an image-only problem pushed the post into Generation failed.
Retries while you're actively waiting#
There's a difference between a post generating in the background and an action you trigger live and watch - like regenerating a single section from the editor. For those live, in-the-moment actions, theStacc uses a much shorter retry budget (around a minute and a half rather than 30 minutes).
The reason is simple: when you've clicked a button and you're watching the screen, you don't want the app to appear frozen for half an hour during an outage. So live actions fail fast with a clear message and a retry option, keeping the interface responsive. Background work (your scheduled posts and full post generation you've stepped away from) gets the long, patient 30-minute budget instead, because patience there pays off and you're not sitting and waiting on it.
If a live section regenerate does hit a busy service and can't complete in its short window, you'll get the same friendly "AI service is busy" message and can simply try again.
What you actually need to do#
For almost every situation, the answer is the same and it's easy:
- If a post is Generating and shows a "retrying" message, leave it - theStacc is handling a temporary slowdown.
- If a post shows AI service was busy with a Try again button, click it (or wait for the countdown to finish, then click).
- If a post shows that only images failed, click Retry images - never a full regenerate.
- If a post shows a plain failure that isn't about the service being busy, the on-screen message tells you whether to retry or contact support.
Related articles#
- Blog Generation & Regenerating Content - the full generation pipeline, plus how to regenerate a whole post, a single section, or just the images.
- How the content engine works and How the AI works - the AI models and the multi-step generation pipeline behind every post.
- Content SEO Overview - what each blog status (Generating, Pending Review, Generation failed, and more) means on your dashboard.