I'm not sure of what "production ready" is supposed to mean here, but the demo image is not optimized, `optipng` command decreases its size by 53.21%.
Generally I find production-ready images have more synergy and tend to be web-scale. Often they're built from the ground up for AI & are blazing fast, at scale, and empower your team whilst unlocking new possibilities. As my sibling comment suggests, being cloud-native is a crucial factor too.
No cruft. No legacy formats.
Just buttery smooth production readiness.
But buttery bloated if the images don't run OptiPNG before exporting.
Think of the GitHub thumbnails where the PR number changes constantly and has to be reflected on the image preview
<!doctype html>
<html lang="en">
<body>
<pre class="mermaid">
graph LR
A --- B
B-->C[fa:fa-ban forbidden]
B-->D(fa:fa-spinner);
</pre>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
</script>
</body>
</html>
Then html2png.dev will serve you: https://html2png.dev/api/blob/oTVGhhCc6rDZYQFDIE3EGkcKs-KO6J9-_DHs-jO2OJc-d23fb4f2.png
[^1]: https://mermaid.js.org/config/usage.html#simple-full-example chromium --headless --disable-gpu --screenshot=output.png --window-size=1920,1080 --hide-scrollbars index.html
Also works great for HTML to PDF: chromium --headless --disable-gpu --no-pdf-header-footer --run-all-compositor-stages-before-draw --print-to-pdf=output.pdf index.htmlHere is the structured analysis converted into a clean Markdown bulleted list.
# html2png.dev Infrastructure Analysis
* *Network & Location* * *Provider:* Cloudflare (AS13335) * *IP Address:* `104.28.157.29` * *Location:* Narita, Chiba, Japan * *Infrastructure Type:* Cloudflare Edge Network
* *Browser Environment* * *Browser:* Chrome 126.0.0.0 (Headless) * *Engine:* Blink / WebKit * *Platform:* Linux x86_64 * *Automation Framework:* Puppeteer or Playwright (indicated by `navigator.webdriver: true`) * *User Agent:* Standard Linux Chrome 126 UA string
* *Graphics & Rendering* * *Renderer:* ANGLE (Google, Vulkan 1.3.0 SwiftShader Device) * *GPU Type:* SwiftShader (Software Rendering) * Note: Uses CPU for graphics processing instead of a dedicated GPU. * *Vendor:* Google Inc. * *Color Depth:* 16 bit
* *Server Hardware Specs* * *CPU:* 4 Cores * *Memory:* Containerized (hidden) * *Display:* * Virtual Screen: 1024x768 @ 2x DPR * Outer Window: 500x88 (typical headless indicator)
* *Automation Detection Signals* * *WebDriver Flag:* `true` (Confirmed automation) * *Chrome Object:* Present (`window.chrome` is an object) * *Runtime/App:* `chrome.runtime` is undefined; `chrome.app` is present. * *Plugins:* 5 detected
* *Full Tech Stack* * *CDN/Proxy:* Cloudflare * *Frontend:* Nuxt.js 3 (Vue.js) * *Backend:* Node.js API * *Hosting Hypothesis:* Likely Cloudflare Workers + Durable Objects OR Vercel/Railway behind Cloudflare. * *Storage:* Ephemeral blob storage.
* *Operational Workflow* 1. *Request:* Hits Cloudflare Edge (Japan). 2. *API Processing:* Node.js server accepts HTML and parameters. 3. *Launch:* Puppeteer initializes Headless Chrome. 4. *Render:* SwiftShader captures WebGL/CSS (CPU-based). 5. *Storage:* Image saved to temporary blob storage. 6. *Response:* JSON returned with the public URL.
* *Key Insights* * *Cost Efficiency:* Utilization of SwiftShader eliminates the need for expensive GPU instances. * *Performance:* High-speed global delivery ensured by Cloudflare fronting. * *Accessibility:* No authentication required (Open API); ephemeral storage suggests a focus on privacy/low storage costs. * *Version:* Uses a recent, stable version of Chrome (126) rather than bleeding-edge.
* *API Configuration* * *Method:* `POST` * *URL:* `https://html2png.dev/api/convert?width=1200&height=630&forma...` * *Content-Type:* `text/html`
it's literally waht i've been saying all along when I came across mcp "why can't i just give agent a prompt and it will run the rest api calls for me"
there's still some MCPs which makes sense but we have it for literally everything when just a prompt will do the job!
now on the topic of html2png i do wonder is this like the self-hostable version on github https://github.com/maranemil/HTML2Png where they use canvas? or is this something else ?
Not that it matters, but curious what percentage of this service was “vibe-coded”?
I thought webp would be better for this and checked again just to be sure, and yes, it would be better for this. WebP is quite well supported, albeit not as well supported as png, and it can have significantly smaller file sizes for the same lossless image as png.