UNPKG

ai-alt-text

Version:

Generate alt text for images using Replicate and BLIP

36 lines (35 loc) 1.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = generateAltText; const replicate_1 = __importDefault(require("replicate")); const errors_1 = require("./errors"); const utils_1 = require("./utils"); async function generateAltText(imageUrl, options = {}) { if (!(0, utils_1.isValidUrl)(imageUrl)) { throw new errors_1.InvalidImageUrlError(imageUrl); } const { prompt = "Describe this image concisely for use as alt text", apiToken = process.env.REPLICATE_API_TOKEN, model = "salesforce/blip:2e1dddc8621f72155f24cf2e0adbde548458d3cab9f00c0139eea840d0ac4746", } = options; if (!apiToken) { throw new errors_1.MissingApiTokenError(); } try { const replicate = new replicate_1.default({ auth: apiToken, }); const output = await replicate.run(model, { input: { image: imageUrl, question: prompt, }, }); let altText = (0, utils_1.cleanAltText)(output); return altText; } catch (error) { console.error("Error generating alt text: ", error); return "An image"; } }