Back to Supabase

Generating OG Images

apps/docs/content/guides/functions/examples/og-image.mdx

1.26.041.2 KB
Original Source
<div class="video-container"> <iframe src="https://www.youtube-nocookie.com/embed/jZgyOJGWayQ" frameBorder="1" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe> </div>

Generate Open Graph images with Deno and Supabase Edge Functions. View on GitHub.

Code

Create a handler.tsx file to construct the OG image in React:

tsx
import React from 'https://esm.sh/[email protected]'
import { ImageResponse } from 'https://deno.land/x/[email protected]/mod.ts'

export default function handler(req: Request) {
  return new ImageResponse(
    <div
      style={{
        width: '100%',
        height: '100%',
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'center',
        fontSize: 128,
        background: 'lavender',
      }}
    >
      Hello OG Image!
    </div>
  )
}

Create an index.ts file to execute the handler on incoming requests:

ts
import handler from './handler.tsx'

console.log('Hello from og-image Function!')

Deno.serve(handler)