UNPKG

nuxt-chatgpt

Version:
33 lines (32 loc) 1.02 kB
import OpenAI from "openai"; import { createError, defineEventHandler, readBody } from "h3"; import { defaultDaleOptions } from "../../constants/options.mjs"; import { MODEL_GPT_DALL_E_3 } from "../../constants/models.mjs"; import { modelMap } from "../../utils/model-map.mjs"; import { useRuntimeConfig } from "#imports"; export default defineEventHandler(async (event) => { const { message, model, options } = await readBody(event); if (!useRuntimeConfig().chatgpt.apiKey) { throw createError({ statusCode: 403, message: "Missing OpenAI API Key" }); } const openai = new OpenAI({ apiKey: useRuntimeConfig().chatgpt.apiKey }); const requestOptions = { prompt: message, model: !model ? modelMap[MODEL_GPT_DALL_E_3] : modelMap[model], ...options || defaultDaleOptions }; try { const response = await openai.images.generate(requestOptions); return response.data; } catch (error) { throw createError({ statusCode: 500, message: error }); } });