import { NextRequest, NextResponse } from "next/server"; import ZAI from "z-ai-web-dev-sdk"; export async function POST(request: NextRequest) { try { const body = await request.json(); const { prompt, type, platform } = body; if (!prompt) { return NextResponse.json( { success: false, error: "Prompt requerido" }, { status: 400 } ); } const zai = await ZAI.create(); // Guías por plataforma const platformGuides: Record = { instagram: "Formato cuadrado o vertical, colores vibrantes, lifestyle", tiktok: "Video corto, dinamico, trending sounds", youtube: "Thumbnail llamativo, titulo optimizado, larga duracion", onlyfans: "Contenido exclusivo, conexion personal", general: "Contenido universal, apto para todas las plataformas", }; // Guías por tipo const typeGuides: Record = { image: "Prompt para generacion de imagen detallado", video: "Prompt para video con movimiento y escenas", reel: "Prompt para reel corto y dinamico", carousel: "Prompt para serie de imagenes coherentes", }; const guide = platformGuides[platform || "general"] || platformGuides.general; const typeGuide = typeGuides[type || "image"] || typeGuides.image; // ✅ PROMPT BIEN FORMADO const completion = await zai.chat.completions.create({ messages: [ { role: "system", content: "Eres un ingeniero de prompts experto. Optimiza el prompt del usuario para generar mejor contenido. Responde SOLO con el prompt optimizado, sin explicaciones.", }, { role: "user", content: `Optimiza este prompt para ${platform || "general"}: Guia: ${guide} Tipo: ${typeGuide} Prompt original: ${prompt}`, }, ], }); const optimizedPrompt = completion.choices?.[0]?.message?.content || prompt; return NextResponse.json({ success: true, originalPrompt: prompt, optimizedPrompt, type: type || "image", platform: platform || "general", }); } catch (error) { console.error("Prompt engineer error:", error); return NextResponse.json( { success: false, error: "Error" }, { status: 500 } ); } }