import { NextRequest, NextResponse } from 'next/server'; import puppeteer from 'puppeteer'; export const dynamic = 'force-dynamic'; export async function GET(req: NextRequest) { const title = req.nextUrl.searchParams.get('title') ?? 'Default title'; const desc = req.nextUrl.searchParams.get('desc') ?? 'Default description'; const imageUrl = `${req.nextUrl.origin}/images/ogBg.png`; const logoUrl = `${req.nextUrl.origin}/images/logo-dtr-white.png`; const html = `

${title}

${desc}

`; // Запуск браузера const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'], }); const page = await browser.newPage(); await page.setContent(html, { waitUntil: 'networkidle0' }); await page.setViewport({ width: 600, height: 315 }); const screenshot = await page.screenshot({ type: 'png' }); await browser.close(); return new NextResponse(screenshot, { headers: { 'Content-Type': 'image/png', 'Cache-Control': 'max-age=60', }, }); }