diff --git a/landing/public/og.webp b/landing/public/og.webp new file mode 100644 index 00000000..48269802 Binary files /dev/null and b/landing/public/og.webp differ diff --git a/landing/src/app/layout.tsx b/landing/src/app/layout.tsx index 164b7f71..689d4f69 100644 --- a/landing/src/app/layout.tsx +++ b/landing/src/app/layout.tsx @@ -2,6 +2,7 @@ import type { Metadata } from 'next'; import './globals.css'; export const metadata: Metadata = { + metadataBase: new URL('https://voicebox.sh'), title: 'Voicebox - Open Source Voice Cloning Desktop App', description: 'Near-perfect voice cloning with multiple TTS engines. Desktop app for Mac, Windows, and Linux. Multi-sample support, smart caching, local or remote inference.', @@ -26,6 +27,13 @@ export const metadata: Metadata = { description: 'Open source voice cloning. Local-first. Free forever.', type: 'website', url: 'https://voicebox.sh', + images: [{ url: '/og.webp', width: 1200, height: 630 }], + }, + twitter: { + card: 'summary_large_image', + title: 'Voicebox', + description: 'Open source voice cloning. Local-first. Free forever.', + images: ['/og.webp'], }, }; diff --git a/landing/src/app/og/page.tsx b/landing/src/app/og/page.tsx new file mode 100644 index 00000000..06dd7278 --- /dev/null +++ b/landing/src/app/og/page.tsx @@ -0,0 +1,86 @@ +'use client'; + +export default function OgPreview() { + return ( +
+ {/* The card — standard OG image dimensions */} +
+ {/* Logo + text — left-justified, horizontal */} +
+ {/* Glow behind logo */} +
+ +
+

+ Voicebox +

+

+ Open source voice cloning. +
+ Local-first. Free forever. +

+
+
+ + {/* App screenshot — right, overflowing */} + + + {/* Border overlay */} +
+
+ + {/* Helper text */} +
+ 1200 × 630 — Right-click the card or screenshot at 1:1 zoom +
+
+ ); +}