import { createRenderer } from '@ogify/core';
import template from '@ogify/templates/basic';
import type { TemplateParams } from '@ogify/templates/basic';
// Configure the renderer (outside the handler for caching)
const renderer = createRenderer<{ basic: TemplateParams }>({
templates: { basic: template },
});
export const size = {
width: 1200,
height: 630,
};
export const contentType = 'image/png';
export default async function OgImage() {
// Generate the image buffer
const buffer = await renderer.renderToImage('basic', {
title: 'My Page Title',
subtitle: 'Generated via opengraph-image.ts',
layout: 'centered',
});
// Return the buffer as a Response
return new Response(buffer, {
headers: {
'Content-Type': 'image/png',
},
});
}