import { NextRequest, NextResponse } from 'next/server' import { auth } from '@/auth' import { getAISettings } from '@/app/actions/ai-settings' import { describeImages } from '@/lib/ai/services/image-description.service' export async function POST(req: NextRequest) { try { const session = await auth() if (!session?.user?.id) { return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }) } const userSettings = await getAISettings(session.user.id) if (userSettings.paragraphRefactor === false) { return NextResponse.json({ error: 'Feature disabled' }, { status: 403 }) } const { imageUrls, mode, language } = await req.json() if (!Array.isArray(imageUrls) || imageUrls.length === 0) { return NextResponse.json({ error: 'imageUrls must be a non-empty array' }, { status: 400 }) } const result = await describeImages( imageUrls, mode === 'title' ? 'title' : 'description', language || 'fr' ) // For title mode, return suggestions in same format as /api/ai/title-suggestions if (mode === 'title' && result.suggestions) { return NextResponse.json({ suggestions: result.suggestions }) } return NextResponse.json(result) } catch (error: any) { console.error('[describe-image] Error:', error) return NextResponse.json( { error: error.message || 'Failed to describe image' }, { status: 500 } ) } }