mirror of
https://github.com/PinkSheep27/SBU-Hackathon.git
synced 2026-10-11 00:40:25 -04:00
72 lines
2.5 KiB
TypeScript
72 lines
2.5 KiB
TypeScript
// import { GoogleGenerativeAI } from "@google/generative-ai";
|
|
// import type { NextApiRequest, NextApiResponse } from 'next';
|
|
|
|
// // Initialize the Gemini Client with your API Key
|
|
// // IMPORTANT: The GEMINI_API_KEY should be an environment variable.
|
|
// const apiKey = process.env.GEMINI_API_KEY;
|
|
|
|
// if(!apiKey){
|
|
// throw new Error("api key not found");
|
|
// }
|
|
// const ai = new GoogleGenerativeAI(apiKey);
|
|
|
|
|
|
|
|
// // Define the handler function for the API route
|
|
// export default async function handler(
|
|
// req: NextApiRequest,
|
|
// res: NextApiResponse
|
|
// ) {
|
|
// // Only allow POST requests
|
|
// if (req.method !== 'POST') {
|
|
// return res.status(405).json({ error: 'Method Not Allowed' });
|
|
// }
|
|
|
|
// // Destructure the data sent from the frontend
|
|
// let { prompt, settings } = req.body;
|
|
|
|
// // Basic validation
|
|
// if (!prompt || typeof prompt !== 'string') {
|
|
// return res.status(400).json({ error: 'Prompt is required' });
|
|
// }
|
|
|
|
// // Modify the prompt to instruct the AI to generate only the game, concept, and track
|
|
// prompt = `You're going to fill out a card base off the document.
|
|
// you will Generate the project short title.
|
|
// you will list out the track you used ${prompt}`;
|
|
|
|
// try {
|
|
// // 1. Call the Gemini API using the correct method signature
|
|
|
|
// const model = settings?.model || 'gemini-2.5-flash-lite';
|
|
// const generativeModel = ai.getGenerativeModel({ model });
|
|
|
|
// // 1. Define the generation configuration object
|
|
// const generationConfig = {
|
|
// temperature: settings?.temperature || 0.9,
|
|
// // The SDK property name for system instructions is 'systemInstruction'
|
|
// systemInstruction: settings?.sysTemInstructions,
|
|
// };
|
|
|
|
// // 2. Call generateContent with the single GenerateContentRequest object.
|
|
// const result = await generativeModel.generateContent({
|
|
// // contents must be an array of Content objects
|
|
// contents: [{
|
|
// role: "user",
|
|
// parts: [{ text: prompt }]
|
|
// }],
|
|
|
|
// // The fixed property name that resolves the TypeScript error
|
|
// generationConfig: generationConfig,
|
|
// });
|
|
|
|
// // 2. Extract the response text
|
|
// // The result object now contains a property 'text' at the top level for simple text generation
|
|
// const geminiResponseText = result.response.text(); res.status(200).json({ response: geminiResponseText });
|
|
|
|
// } catch (error) {
|
|
// console.error("Gemini API Error:", error);
|
|
// res.status(500).json({ error: 'Failed to generate idea from AI.' });
|
|
// }
|
|
// }
|