import { NextRequest, NextResponse } from 'next/server'
export async function POST(req: NextRequest) {
const formData = await req.formData()
const image = formData.get('image') as File
if (!image) {
return NextResponse.json({ error: 'No image provided' }, { status: 400 })
}
const apiKey = process.env.REMOVE_BG_API_KEY
if (!apiKey) {
return NextResponse.json({ error: 'API key not configured' }, { status: 500 })
}
try {
const response = await fetch('https://api.remove.bg/v1.0/removebg', {
method: 'POST',
headers: {
'X-Api-Key': apiKey,
},
body: formData,
})
if (!response.ok) {
throw new Error('Background removal failed')
}
const buffer = await response.arrayBuffer()
const base64 = Buffer.from(buffer).toString('base64')
const dataUrl = `data:image/png;base64,${base64}`
return NextResponse.json({ url: dataUrl })
} catch (error) {
console.error('Error removing background:', error)
return NextResponse.json({ error: 'Failed to remove background' }, { status: 500 })
}
}