Yes , there are things like pupeteer and playwright but they have a lot of features that I don't need. I just need to create a simple application (Using Bun [I don't mind if it doesn't have cross compatibility with node]) and open sourcing it later. There does appear to be this https://linkgrabs.com/ but its fairly new and I believe it also uses playwright / pupeteer so it can't be that more efficient. And I want to actually create a learning experience for such kind of problems as well.
Currently the only thing I have thought is (Using chromium and maybe bun:ffi )
If you want to take a screenshot of a website, that means you have to render the website. In order to render a website, you need a full browser. That's the only way.
You think you're only using one feature, but you're using a full browser.
Whether or not you use SaaS (who will also use puppeteer) or puppeteer to do it, you will have to render the full website.
You can use chromium with puppeteer instead of chrome, if you want.
The easiest way is going to be rendering with puppeteer.