UNPKG

@ai-stack/payloadcms

Version:

<p align="center"> <img alt="Payload AI Plugin" src="assets/payload-ai-intro.gif" width="100%" /> </p>

32 lines (31 loc) 1.14 kB
import { GoogleGenAI } from '@google/genai'; import { resolveProviderConfig } from '../../providers/resolveProviderConfig.js'; export const generateImage = async (prompt, { aspectRatio = '1:1', model = 'imagen-4.0-fast-generate-001', outputMimeType = 'image/png', providerConfig = resolveProviderConfig().google } = {})=>{ const ai = new GoogleGenAI({ apiKey: providerConfig.apiKey, httpOptions: { baseUrl: providerConfig.baseURL, headers: providerConfig.headers } }); const response = await ai.models.generateImages({ config: { aspectRatio, numberOfImages: 1, outputMimeType }, model, prompt }); const generatedImage = response.generatedImages?.[0]; if (!generatedImage?.image?.imageBytes) { throw new Error('No image generated'); } const base64ImageBytes = generatedImage.image.imageBytes; const buffer = Buffer.from(base64ImageBytes, 'base64'); return { alt: generatedImage.enhancedPrompt || prompt, buffer }; }; //# sourceMappingURL=generateImage.js.map