import { GoogleGenAI } from "@google/genai"; const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY || '' }); export async function generateSEOArticle(topic: string) { try { const response = await ai.models.generateContent({ model: "gemini-3-flash-preview", contents: `Crie um artigo de blog profissional e altamente otimizado para SEO sobre o seguinte tópico: ${topic}. O artigo deve estar em Português do Brasil. Retorne APENAS um JSON no seguinte formato: { "title": "Título otimizado com palavra-chave", "excerpt": "Um resumo atraente do artigo", "content": "Conteúdo completo em Markdown, com H2, H3, bullets e parágrafos curtos", "category": "SEO para Iniciantes", "metaTitle": "Meta title SEO", "metaDescription": "Meta description persuasiva", "tags": ["tag1", "tag2"], "readTime": "X min" } Certifique-se de que o conteúdo seja profundo, profissional e focado em autoridade.`, config: { responseMimeType: "application/json" } }); return JSON.parse(response.text || '{}'); } catch (error) { console.error("Erro ao gerar artigo:", error); throw error; } } export async function summarizeSearchResults(query: string, results: any[]) { try { const titles = results.map(r => r.title).join(', '); const response = await ai.models.generateContent({ model: "gemini-3-flash-preview", contents: `O usuário pesquisou por "${query}" em um blog de autoridade em SEO. Encontramos os seguintes artigos relacionados: ${titles}. Crie um resumo muito curto (máximo 200 caracteres) explicando por que esses tópicos são importantes para a estratégia de SEO do usuário. Seja direto, profissional e encorajador. Use Português do Brasil.`, }); return response.text; } catch (error) { console.error("Erro ao resumir busca:", error); return null; } }