Quick Takeaways
What you'll learn in this article
- 1
Sub-100ms cached responses anywhere in the world
- 2
No cold start delays โ Workers are always warm
- 3
99.99% uptime backed by Cloudflare's infrastructure
Keep reading for detailed implementation, code examples, and real-world results
Share a link on Twitter right now. What do people see?
If your website is like most, they see a small text snippet โ maybe a title and a URL. No image. No branding. Nothing to stop someone from scrolling past.
Now share a link from a site like Vercel, Linear, or Stripe. Their links show rich, branded preview images โ the title of the page, a description, the company logo, all wrapped in a professionally designed card.
That difference isn't cosmetic. Links with preview images get 2-5x more clicks than links without them.
The Problem Nobody Talks About
These preview images are called Open Graph (OG) images. They're powered by a simple <meta> tag in your HTML:
<meta property="og:image" content="https://yoursite.com/some-image.png" />
When Twitter, LinkedIn, Slack, Discord, or iMessage encounters your link, they look for this tag and display the image.
The problem? Most developers handle OG images in one of three ways:
- They don't. No OG image tag at all. Their links show nothing โ just text.
- One generic image. The company logo for every single page. Better than nothing, but every link looks identical.
- Manual creation. Open Figma, design an image for each blog post, export it, upload it, reference it in the meta tag. Repeat for every page.
Option 3 produces the best results but doesn't scale. If you have 50 blog posts, that's 50 trips to Figma. Add a new post every week and it becomes a permanent tax on your workflow.
What If It Were Automatic?
That's exactly what SnapForge does.
Instead of pointing your OG meta tag at a static image file, you point it at a URL that generates the image dynamically:
<meta
property="og:image"
content="https://api.snapforgehq.com/v1/og
?template=blog-post
&title=Why+Most+Websites+Are+Invisible
&author=Michael+Eakins
&key=your_api_key"
/>
When someone shares your link, the social platform requests that URL. SnapForge generates a beautiful, branded 1200x630 PNG on the fly โ with your page title, author name, and chosen design template.
The image is generated once and cached globally. Every subsequent request serves the cached version in under 100ms.
What It Looks Like
SnapForge comes with 5 built-in templates, each designed for different use cases:
Blog Post โ Perfect for articles and content. Gradient background with title, subtitle, and author.
Social Card โ Dark theme with branded footer. Great for SaaS landing pages and product announcements.
Minimal โ Clean text on a solid background. When you want the words to speak for themselves.
Product Hunt โ Launch-day card with upvote count and category. Built for product launches.
GitHub Card โ Repository-style card with project name, description, stars, and programming language.
Every template is fully customizable through URL parameters โ colors, text, branding, all of it.
Who Is This For?
Bloggers and content creators who publish regularly and want every post to have a unique, branded social image without opening a design tool.
SaaS companies that want professional social previews for their landing pages, changelogs, docs, and feature pages โ without adding "create OG image" to the launch checklist.
Developer tool makers who want GitHub-style repo cards and Product Hunt launch images generated automatically.
Marketing teams who need personalized images at scale for campaigns, newsletters, and social posts.
Anyone with a website who wants their links to stand out when shared.
How It Works
1. Create a free account
Sign in with GitHub at snapforgehq.com. No credit card required. Generate an API key in your dashboard.
2. Add one meta tag
Pick a template, set your parameters, and paste the URL into your site's <head>:
<meta property="og:image" content="https://api.snapforgehq.com/v1/og?template=blog-post&title=Your+Page+Title&key=your_key" />
For dynamic sites (Next.js, Astro, etc.), use the page title variable:
// Next.js example
export function generateMetadata({ params }) {
return {
openGraph: {
images: [
`https://api.snapforgehq.com/v1/og?template=blog-post&title=${encodeURIComponent(pageTitle)}&key=YOUR_KEY`,
],
},
}
}
3. Share your links
That's it. Every link you share on any social platform will now display a branded, professional preview image. The image updates automatically when you change the title or parameters.
For Developers: The API
If you need programmatic access, SnapForge has a full REST API and TypeScript SDK:
npm install snapforge
import SnapForge from 'snapforge'
const sf = new SnapForge({ apiKey: 'your_key' })
// Get a URL for meta tags
const url = sf.getOgUrl({
template: 'blog-post',
params: { title: 'Hello World', author: 'Jane Doe' },
})
// Or generate and save to disk
const image = await sf.generateOg({
template: 'social',
params: { title: 'Product Launch', brand: 'Acme Inc' },
})
The API also supports screenshot capture โ feed it a URL or raw HTML and get back a pixel-perfect PNG. Useful for documentation, testing, and automated reporting.
Pricing
SnapForge is free to start. The free tier includes 100 image generations per month โ enough for most personal blogs and small sites.
| Plan | Price | Generations | | -------- | ------ | ------------- | | Free | $0 | 100/month | | Starter | $12/mo | 5,000/month | | Pro | $29/mo | 25,000/month | | Business | $79/mo | 100,000/month |
Cache hits are free and unlimited. Once an image is generated, it's served from cache โ only unique, first-time generations count against your quota.
Under the Hood
SnapForge runs entirely on Cloudflare's edge network โ 300+ locations worldwide. Images are generated at the edge closest to the requesting client, and cached on R2 for global distribution.
The rendering pipeline uses Satori (the same engine behind Vercel's @vercel/og) for SVG generation and resvg-wasm for PNG conversion. The entire process runs in a Cloudflare Worker with no external dependencies.
This architecture means:
- Sub-100ms cached responses anywhere in the world
- No cold start delays โ Workers are always warm
- 99.99% uptime backed by Cloudflare's infrastructure
- No servers to manage โ fully serverless
Get Started
Your website deserves better than invisible social links.
Try SnapForge free at snapforgehq.com. Set it up in 60 seconds, and never manually create an OG image again.
Use code LAUNCH50 for 50% off your first 3 months on any paid plan.

