UNPKG

ai-utils.js

Version:

Build AI applications, chatbots, and agents with JavaScript and TypeScript.

64 lines (63 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateImage = void 0; const executeCall_js_1 = require("../executeCall.cjs"); /** * Generates a base64-encoded image using a prompt. * The prompt format depends on the model. * For example, OpenAI image models expect a string prompt, * and Stability AI models expect an array of text prompts with optional weights. * * @example * const { image } = await generateImage( * new StabilityImageGenerationModel(...), * [ * { text: "the wicked witch of the west" }, * { text: "style of early 19th century painting", weight: 0.5 }, * ] * ); */ async function generateImage(model, prompt, options) { const result = await (0, executeCall_js_1.executeCall)({ model, options, generateResponse: (options) => model.generateImageResponse(prompt, options), extractOutputValue: model.extractBase64Image, getStartEvent: (metadata, settings) => ({ type: "image-generation-started", metadata, settings, prompt, }), getAbortEvent: (metadata, settings) => ({ type: "image-generation-finished", status: "abort", metadata, settings, prompt, }), getFailureEvent: (metadata, settings, error) => ({ type: "image-generation-finished", status: "failure", metadata, settings, prompt, error, }), getSuccessEvent: (metadata, settings, response, output) => ({ type: "image-generation-finished", status: "success", metadata, settings, prompt, response, generatedImage: output, }), }); return { image: result.output, response: result.response, metadata: result.metadata, }; } exports.generateImage = generateImage;