import { NextResponse } from 'next/server'; export async function POST(request: Request) { const { prompt } = await request.json(); try { const response = await fetch( "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-3.5-large", { headers: { Authorization: "Bearer " + process.env.API_TOKEN, "Content-Type": "application/json", }, method: "POST", body: JSON.stringify({ inputs: prompt, parameters: { negative_prompt: "blurry, bad quality, distorted", num_inference_steps: 30, guidance_scale: 7.5, } }), } ); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const imageBlob = await response.blob(); const arrayBuffer = await imageBlob.arrayBuffer(); const buffer = Buffer.from(arrayBuffer); const base64Image = buffer.toString('base64'); const contentType = response.headers.get('content-type') || 'image/jpeg'; return NextResponse.json({ imageUrl: `data:${contentType};base64,${base64Image}`, success: true }); } catch (error) { console.error('Image generation error:', error); return NextResponse.json({ error: 'Failed to generate image', success: false, }, { status: 500 }); } }