Extract Sections turns a page's raw HTML into editable content blocks — the bridge between pasting or importing a page and being able to edit it visually, block by block. Two real problems came up while testing it on a large, real-world page import: it could feel slow, and re-running it had no safety net.
The safety net: a confirm before Re-extract
Re-extract regenerates every block on a page from its raw HTML — instantly, with no undo. If you'd already hand-edited a block since the last extraction, re-running it would silently throw that edit away. Now it asks first: "Re-extract sections? This replaces all N current sections… any edits made here since the last extraction will be lost." Cancel is a real no-op — nothing is touched until you confirm.
Why it felt slow
Structured extraction — reading a page and sorting its content into hero, features, testimonials, and so on — doesn't need the same heavyweight reasoning as generating a whole new page from scratch. It was using it anyway, plus waiting for the model's full internal "thinking" pass to finish before showing anything.
Three changes, one page fix
- Lighter model, no extended thinking — this is a classification task, not an open-ended one, so it now runs on a faster model with reasoning mode turned off for this call specifically.
- Cleaner input — scripts, stylesheets, and HTML comments never contain visible content, so they're stripped out before extraction, leaving more of the size budget for text that actually matters.
- Prompt caching — the instructions given to the model are the same every time; they're now cached so repeat calls skip re-processing them.
Big pages: real chunking, not silent truncation
Before, anything past roughly 60,000 characters of HTML was simply cut off — a big imported page (like a full marketing funnel) could lose content past that point with no warning and no chunking. Now, only pages that actually exceed that limit get split — at real content boundaries, not mid-element — extracted in parallel, and merged back together in order. A normal-sized page never pays for any of this; it still runs in a single call exactly as before.
Why it matters
Extraction is more reliable to re-run without losing work, faster for the common case, and now actually covers the full page instead of silently dropping whatever didn't fit.