Generating an article.
Two to three minutes, no live word-by-word stream — and a good reason for both. Only the last two progress rows are truthful, so when all five tick green the article really is there.
You press Generate Full Article and then you wait about two to three minutes with no words appearing on screen. That's not a hang. This page explains what's happening in that time, which parts of the progress display you can trust, and what every failure message means.
Starting a generation
The big orange Generate Full Article button sits under the outline in Step 2. It needs an outline, so it won't do anything until Step 2 has finished building.
Once an article exists, the same button reads Regenerate Full Article — and it is disabled whenever nothing has changed since the last run. Same outline, same length, same settings means the same article at the same cost, so we don't let you buy it twice. Edit a heading, a summary, the length or any writer setting and the button wakes up.
Underneath the button, the sub-line tells you the word band you're about to get.
Why there's no live stream
Most AI writing tools type the article onto the screen word by word. Ours doesn't, and it's a deliberate decision rather than a missing feature.
We built the streaming version first. It didn't work — not because of the model, but because of the plumbing. The proxy that sits in front of the app buffers a stream: it holds the pieces back and delivers them in one lump at the end. The result was a progress display frozen on step one for two minutes while the article was, in fact, being written perfectly well behind it. Worse than no progress bar: a lying one.
So generation is now a single request. The whole pipeline runs on our servers and the finished article comes back in one piece. It's not as pretty. It's honest, and it works.
The five phases — and which ones are honest
While you wait, five rows tick through:
| # | Phase | What it says it's doing |
|---|---|---|
| 1 | Outline locked | Validating sections, creating the article row. |
| 2 | Writing in your voice | Reading your voice samples, drafting to your word band. |
| 3 | AI-visibility pass | Answer block, citations, statistics, quotes. |
| 4 | FAQ + schema | FAQPage JSON-LD and the author block. |
| 5 | Entity coverage + citation probability | Extracting named entities, scoring your AI-citation odds. |
Because the request doesn't stream, the browser genuinely cannot know which phase the server is on. Rows 1 to 3 advance on a clock — they are an animation, sized to how long those steps usually take. They are not reporting anything.
Rows 4 and 5 are truthful. They only turn green when the server actually answers. So the rule is simple: when all five ticks are green, your article really is there. No more waiting on a screen full of ticks.
An elapsed-seconds counter runs alongside them. That one is real.
What's really happening
In order, server-side:
- The article row is created and marked in progress, so a crash leaves you a draft rather than nothing.
- Your voice is loaded — your fingerprint and up to three writing samples from Brand → Voice.
- The article is written section by section, each H2 to its own word budget. That's how the total length stays predictable and why the last section never gets truncated.
- If it came in short, an expansion pass deepens the thinnest sections. It is not allowed to pad. The length band →
- The AI-visibility log is derived — what the writer already did (answer block, citations, statistics, quotes) is counted, and a “Last updated” date stamp is added.
- The FAQ and schema are built — unless you turned that toggle off.
- The score-verified loop runs — score, find the gaps, rewrite to close them, re-score. Up to two passes, and it bails early if it plateaus or regresses. This is the long tail, and it's why phases 4 and 5 hold. SERP Optimization →
- It's trimmed back into band if the optimiser re-inflated it.
- The SEO meta title and description are written from the finished article.
- The status flips to Ready, the Content Score is stored, and the credits are charged.
Every step has its own timeout — the writer gets the longest, the entity extraction the shortest — and if any single step runs out of time it falls back rather than failing the whole run. You get the article without that step's contribution, not an error.
How long it takes
Two to three minutes is normal. Longer articles with the full optimisation loop sit at the top of that range. The whole request is allowed up to five minutes before the server gives up.
The app tells you plainly: “long-form articles take 2–3 minutes — we're writing, then polishing for SEO and AI-visibility. Don't navigate away.”
Closing the tab doesn't cancel anything. The article is being written on our servers and saves itself when it's done — you'll find it in your article library a minute or two later. Staying on the page is just how you get to read it the moment it lands.
Every way it can fail
“Too many generations in a short window”
The rate limit: five generations per minute, per account. It exists because long-form generation is by far the most expensive thing in ScoutRival and a stuck button shouldn't be able to spend your credits five times over. Wait a moment and retry — the message tells you how long.
“This article needs N credits but you have M”
Credits are checked before any writing starts, against the top of your target band — the worst case. So the run is stopped before it can burn anything, and you're never charged for an article you didn't get. The message names both numbers and links to Billing.
You're charged afterwards on the article's actual finished length, which is usually less than the pre-flight estimate. What BlogCraft costs →
“The writer didn't respond in time”
The AI model was overloaded and the writing step hit its ceiling. Your article is left as a draft — it's in your library, it's just empty. Try again in a minute. If it happens repeatedly on one keyword, try rephrasing the keyword.
“The writer couldn't produce a readable draft”
The model answered, but with nothing usable. Same fix: retry, or rephrase the keyword. Very short or very strange keywords are the usual cause.
“Still finishing on our servers” / the browser timed out
Your browser's connection dropped, not the generation. The article carries on and saves itself. Give it a minute, then open it from your article list — the message even offers you the link. Do not re-generate. You'd pay twice for the same piece.
Nothing happens when you press Generate
Check the button isn't greyed out — it disables itself when nothing has changed since your last run. See BlogCraft troubleshooting.
When it finishes
The five ticks go green and the article appears in place, with three chips above it:
- The citation probability — your Content Score out of 100.
- The word count against your target. Orange if it came in under the band, with a plain explanation that it was expanded as far as it could go without padding — rather than a fake green tick.
- The GEO transformation count — how many AI-visibility levers actually landed.
The article's status flips to Ready, and you're now in the editor. Everything from here — re-tuning a passage, the SEO pack, publishing — costs nothing extra unless it calls the AI again.