Recept voor alle Haarvisie-bots. Bewezen op 5 juli 2026: beeld én video gegenereerd met exact 0 credits afschrijving (saldo 197,53 vóór en ná). Werkt via Jamals ingelogde Chrome (Ultra-abonnement) op de Mac Mini, aangestuurd door de Browser Bridge.
~/.claude/scripts/browser_server.py (WebSocket-hub op poort 9223). CLI: python3 browser_server.py <commando> '<json>'.~/haarvisie-browser-ext v1.2.0 (unpacked). Belangrijke commando's: insert_text (chrome.debugger Input.insertText = trusted, ENIGE betrouwbare tekstinvoer voor de Lexical-promptvelden), click_by_selector, click (met text of x/y), get_attr, screenshot, reload_self (herlaadt de extensie vers van schijf — nooit meer handmatig).navigate https://higgsfield.ai/create/image (geen venster? open -a "Google Chrome" <url>).insert_text {"selector":"[id='hf:tour-image-prompt']","value":"<jouw prompt>"} — vervangt oude inhoud, exact 1x.click_by_selector {"selector":"[role=switch]"} → submit-knop toont "free gens left".click_by_selector {"selector":"[id='hf:image-form-submit']"}.show_generations (type image) → results.rawUrl → curl.navigate https://higgsfield.ai/ai/video (promo-popups sluiten met Escape).fill werkt) → "general" → GENERAL-kaart aanklikken (coördinaat-klik; tekst-klik pakt de kaartlabels niet).click_by_selector {"selector":"[role=switch]","index":1} (index 0 = Multi-shot!) → verifieer: get_attr button[type=submit] textContent = "GenerateUnlimited".insert_text {"selector":"[contenteditable=true]","value":"<jouw prompt>"}.click_by_selector {"selector":"button[type=submit]"}. Kling rendert in 3-10 min.show_generations (type video) → rawUrl → curl → geluid strippen (ffmpeg -c:v copy -an, gouden regel: geen geluid).insert_text gebruiken.value, niet text (anders "Value is unserializable").--load-extension is uitgeschakeld op gewoon Chrome. Eén keer handmatig Reload op chrome://extensions was nodig; daarna beschermt reload_self./tmp/hv-screenshot-*.png; coördinaat-kliks = CSS-pixels = screenshotpixels ÷ 2.click {"text":"..."}) vereist exacte leaf-tekst; kaartlabels in preset-browsers matchen vaak niet → coördinaat-klik na positiebepaling op de screenshot.set (stdin → Keychain, -U); check bij import-scripts dat het set-pad écht bestaat vóór je een bronbestand wist.~/haarvisie-browser-ext (v1.2.0) + browser_server.py.reload_self genoeg.