film-screen-capture
Screen Capture (stage 4b)
Why
A video model asked to show "the Neta homepage on his laptop" will invent a plausible homepage. For a product film that is a failure: the viewer must recognise the real product, and any investor or user who knows it will spot a fake instantly. The page is therefore a prop with a non-negotiable texture — the real screenshot — and it is captured or supplied, not described.
Source of screenshots — user-supplied first
This skill is about making the film, not about browser automation. The default is that the user hands over screenshots (logged-in pages, private boards, dialogs) and we treat them as a screen asset library:
- Copy every supplied image to
films/<slug>/assets/screens/<short-name>.png(convert webp → png withpython3 -c 'from PIL import Image; Image.open(a).save(b)'orffmpeg -i a.webp b.png). - Write
assets/screens/INDEX.md: one line per screen — name, what UI state it shows, the exact visible headline text, what story beat it can serve. The script author reads this index; a screen not in it does not exist for the film. - Add each to
asset-map.jsonaskind: "screen". - Text on the screens may be changed for the story; the layout is what must survive. Say so in the prompt ("same layout and visual language as the reference; headline reads: …").
Only when a needed public page is missing, capture it yourself:
Verified in this Space: agent-browser opens a public URL headless, waits for network idle, and saves a clean 1920×1080 PNG (test: https://neta.art → title "Neta Studio — AI World Builder & Game Generator").