From 90b4b0c6a80f89f3a19054236e16b4adabf51b71 Mon Sep 17 00:00:00 2001 From: bignutty <3515180-bignutty@users.noreply.gitlab.com> Date: Mon, 3 Mar 2025 15:24:24 +0100 Subject: [PATCH] use imagen3 --- commands/message/genai/imagen.js | 12 ++++++------ labscore/api/endpoints.js | 1 + labscore/api/index.js | 6 ++++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/commands/message/genai/imagen.js b/commands/message/genai/imagen.js index fa3f643..29080fa 100644 --- a/commands/message/genai/imagen.js +++ b/commands/message/genai/imagen.js @@ -1,5 +1,5 @@ +const {googleGenaiImagen} = require("#api"); const { PERMISSION_GROUPS } = require("#constants"); -const { GenerativeImagesModelsImagen } = require("#obelisk"); const { createEmbed } = require("#utils/embed"); const { acknowledge } = require("#utils/interactions"); @@ -39,20 +39,20 @@ module.exports = { url: STATIC_ASSETS.image_loading_splash(Math.floor(Math.random()*10)) } })) - }; + } await editOrReply(context, {embeds: loadingEmbeds}); - let res = await GenerativeImagesModelsImagen(context, args.text); + let res = await googleGenaiImagen(context, args.text); // Construct Embeds let files = []; - let embeds = res.response.body.images.map((i)=>{ - let imgName = `lcigen.${(Date.now() + Math.random()).toString(36)}.jpeg`; + let embeds = res.response.body.predictions.map((i)=>{ + let imgName = `lcigen.${(Date.now() + Math.random()).toString(36)}.${i.mimeType.split("/")[1]}`; files.push({ filename: imgName, - value: Buffer.from(i, 'base64') + value: Buffer.from(i.bytesBase64Encoded, 'base64') }) return createEmbed("defaultNoFooter", context, { url: "https://bignutty.gitlab.io", diff --git a/labscore/api/endpoints.js b/labscore/api/endpoints.js index 969a615..bbe1029 100644 --- a/labscore/api/endpoints.js +++ b/labscore/api/endpoints.js @@ -7,6 +7,7 @@ const Hosts = Object.freeze({ const Api = Object.freeze({ HOST: Hosts.prod, + GOOGLE_GENERATIVEAI_IMAGEN: '/google/generativeai/imagen', GOOGLE_PERSPECTIVE: '/google/perspective/analyze', GOOGLE_SPEECH_RECOGNIZE: '/google/speech/recognize', GOOGLE_SPEECH_RECOGNIZE_LABELS: '/google/speech/multirecognize', diff --git a/labscore/api/index.js b/labscore/api/index.js index 73382e2..13fadff 100644 --- a/labscore/api/index.js +++ b/labscore/api/index.js @@ -42,6 +42,12 @@ async function request(path, type, headers, args, host) { throw new Error("unsupported, must either use GET or POST"); } +module.exports.googleGenaiImagen = async function(context, prompt){ + return await request(Api.GOOGLE_GENERATIVEAI_IMAGEN, "GET", {}, { + prompt: prompt + }) +} + module.exports.googlePerspective = async function(context, text){ return await request(Api.GOOGLE_PERSPECTIVE, "GET", {}, { text: text