Anthropic API billing went to zero mid-session. Swapped narration to Qwen Token Plan (Alibaba Anthropic-compatible endpoint), then verified the full screen-recording pipeline works on four different cloud browser backends. All four produced playable MP4s with Mike's cloned voice. Local Chrome was excluded per the no-local-Playwright rule.
Mike's cloned voice narrating this exact POWD page in delivery-report tone. Walks through what was broken, what shipped, and what verifies it. Generated by NarrateAI with the new --style powd flag. Hyperbrowser backend, 168 seconds, 45 Whisper-burned caption entries.
Each video below is the same target URL (https://sarasota-experiences-template.vercel.app/), the same narration script, the same Fish Audio voice clone — different cloud browser recording the screen.
timeout: 1800000 patch (default 5 min was the bug)| Backend | MP4 | Wall time | Method | Limits | Cost shape |
|---|---|---|---|---|---|
| Hyperbrowser | 24 MB | ~12 min | native MP4 | none observed | per session |
| Steel (patched) | 6.2 MB | ~6.5 min | stitch @ 1.15 fps | 30 min max session | per session |
| VPS3 + Xvfb | 1.4 MB | ~5 min | Xvfb screencast | ref staleness, whisper missing | free |
| BrowserBase | 27 MB | ~7 min | HLS replay | page-context warnings | per session |
credit balance is too low — narration step dead.api.anthropic.com. No alternate provider supported.timeout: 300000 (5 min) closed mid-recording every time. Bug surface: page.goto: Target page, context or browser has been closed.thinking content block before the text block — narrate.js parser blew up with "undefined" is not valid JSON./opt/narrate-ai, no Chrome, no agent-browser on PATH.--browserbase flag at all.timeout: 1800000 to Steel session create body (30 min max instead of 5 min default).pip install openai-whisper for caption parity with the other backends.waitForLoadState('domcontentloaded') after navigate before evalJS to silence "page closed" warnings.--style product-demo (the new powd style was added after the runs). Next POWD run will use --style powd.