I switched my blog to Hugo and I wanted to port my Ghost plugin that generated the open graph image tag dynamically for social media preview.
So I successfully ported it to Hugo the will generate the social media preview automatically with your title (for my blog) or any text that you prefer.
My current social media preview looks like this on BlueSky
What did you try and how did you generate the SVG? I wrote a dynamic image generator that generate the og:image depending on the title or other parameter provided. Which generates a PNG.
It’s the same I did for Ghost blog, but there I wrote a Ghost plugin.
If you like the same process done to your blog, I can support setting it up.
For Hugo what I did was create a partial that base64 encodes the title, and send the base64 encoded string to the image generation API which generates the image and returns a PNG image.
I created an API that generates the image automatically and returns the png image. I can also serve your images through API as well if you would like to. I have not posted that code here because I made it for a separate image generation project, but I would like to share it with anyone who would like to use it their Ghost or Hugo blogs.