{"id":13893799,"url":"https://github.com/bejamas/dodonut-og-image","last_synced_at":"2025-07-17T08:30:49.125Z","repository":{"id":52636049,"uuid":"503693328","full_name":"bejamas/dodonut-og-image","owner":"bejamas","description":"Open Graph Image as a Service - generate cards for Twitter, Facebook, Slack, etc","archived":false,"fork":true,"pushed_at":"2022-06-18T12:54:07.000Z","size":8431,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-12-18T06:35:01.726Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://og-image.vercel.app","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"vercel/og-image","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bejamas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2022-06-15T09:10:22.000Z","updated_at":"2022-09-09T18:40:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bejamas/dodonut-og-image","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bejamas/dodonut-og-image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bejamas%2Fdodonut-og-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bejamas%2Fdodonut-og-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bejamas%2Fdodonut-og-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bejamas%2Fdodonut-og-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bejamas","download_url":"https://codeload.github.com/bejamas/dodonut-og-image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bejamas%2Fdodonut-og-image/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265585273,"owners_count":23792712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-06T18:01:17.405Z","updated_at":"2025-07-17T08:30:48.839Z","avatar_url":"https://github.com/bejamas.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003ca href=\"https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fog-image\u0026demo-title=OG%20Image%20Generator\u0026demo-description=A%20service%20that%20generates%20dynamic%20Open%20Graph%20images\u0026demo-url=https%3A%2F%2Fog-image.vercel.app%2F\u0026demo-image=https%3A%2F%2Fog-image.vercel.app%2FOpen%2520Graph%2520Image%2520as%2520a%2520Service.png%3Ftheme%3Dlight%26md%3D1%26fontSize%3D95px%26images%3Dhttps%253A%252F%252Fassets.vercel.com%252Fimage%252Fupload%252Ffront%252Fassets%252Fdesign%252Fzeit-black-triangle.svg\"\u003e\u003cimg src=\"https://vercel.com/button\" alt=\"Deploy with Vercel\" align=\"right\" width=\"128\"/\u003e\u003c/a\u003e\n\n# [Open Graph Image as a Service](https://og-image.vercel.app)\n\n\u003ca href=\"https://twitter.com/vercel\"\u003e\n    \u003cimg align=\"right\" src=\"https://og-image.vercel.app/tweet.png\" height=\"300\" /\u003e\n\u003c/a\u003e\n\nServerless service that generates dynamic Open Graph images that you can embed in your `\u003cmeta\u003e` tags.\n\nFor each keystroke, headless chromium is used to render an HTML page and take a screenshot of the result which gets cached.\n\nSee the image embedded in the tweet for a real use case.\n\n\n## What is an Open Graph Image?\n\nHave you ever posted a hyperlink to Twitter, Facebook, or Slack and seen an image popup?\nHow did your social network know how to \"unfurl\" the URL and get an image?\nThe answer is in your `\u003chead\u003e`.\n\nThe [Open Graph protocol](http://ogp.me) says you can put a `\u003cmeta\u003e` tag in the `\u003chead\u003e` of a webpage to define this image.\n\nIt looks like the following:\n\n```html\n\u003chead\u003e\n  \u003ctitle\u003eTitle\u003c/title\u003e\n  \u003cmeta property=\"og:image\" content=\"http://example.com/logo.jpg\" /\u003e\n\u003c/head\u003e\n```\n\n## Why use this service?\n\nThe short answer is that it would take a long time to painstakingly design an image for every single blog post and every single documentation page. And we don't want the exact same image for every blog post because that wouldn't make the article stand out when it was shared to Twitter. \n\nThat's where `og-image.vercel.app` comes in. We can simply pass the title of our blog post to our generator service and it will generate the image for us on the fly!\n\nIt looks like the following:\n\n```html\n\u003chead\u003e\n  \u003ctitle\u003eHello World\u003c/title\u003e\n  \u003cmeta property=\"og:image\" content=\"https://og-image.vercel.app/Hello%20World.png\" /\u003e\n\u003c/head\u003e\n```\n\nNow try changing the text `Hello%20World` to the title of your choosing and watch the magic happen ✨\n\n## Deploy your own\n\nYou'll want to fork this repository and deploy your own image generator.\n\n1. Click the fork button at the top right of GitHub\n2. Clone the repo to your local machine with `git clone URL_OF_FORKED_REPO_HERE`\n3. Change directory with `cd og-image`\n4. Make changes by swapping out images, changing colors, etc (see [contributing](https://github.com/vercel/og-image/blob/main/CONTRIBUTING.md) for more info)\n5. Remove all configuration inside `vercel.json` besides `rewrites`\n6. Run locally with `vercel dev` and visit [localhost:3000](http://localhost:3000)  (if nothing happens, run `npm install -g vercel`)\n7. Deploy to the cloud by running `vercel` and you'll get a unique URL\n8. Connect [Vercel for GitHub](https://vercel.com/github) to automatically deploy each time you `git push` 🚀\n\n## Authors\n\n- Steven ([@styfle](https://twitter.com/styfle)) - [Vercel](https://vercel.com)\n- Evil Rabbit ([@evilrabbit](https://twitter.com/evilrabbit_)) - [Vercel](https://vercel.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbejamas%2Fdodonut-og-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbejamas%2Fdodonut-og-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbejamas%2Fdodonut-og-image/lists"}