import { NextResponse } from "next/server"; import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient() export async function POST( request: Request, ) { const { inputs } = await request.json() const response = await fetch('https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0', { method: 'POST', body: JSON.stringify({ inputs, stream: true, }), headers: { Authorization: `Bearer ${process.env.NEXT_PUBLIC_APP_HF_TOKEN}`, 'Content-Type': 'application/json', }, }) const blob = await response.blob() const headers = new Headers(); headers.set("Content-Type", "image/*"); const arrayBuffer = await blob.arrayBuffer() const bytes = Buffer.from(arrayBuffer) const new_blob = await prisma.image.create({ data: { prompt: inputs, blob: bytes, }, }) return Response.json({ blob: new_blob, status: 200, statusText: "OK", headers }); }