diff --git a/server.js b/server.js index 6e41cb32f..8ed6bfbe5 100644 --- a/server.js +++ b/server.js @@ -3624,7 +3624,7 @@ require('./src/endpoints/translate').registerEndpoints(app, jsonParser); require('./src/endpoints/classify').registerEndpoints(app, jsonParser); // Image captioning -require('./src/endpoints/caption').registerEndpoints(app, jsonParser); +app.use('/api/extra/caption', require('./src/endpoints/caption').router); // Web search extension require('./src/endpoints/serpapi').registerEndpoints(app, jsonParser); diff --git a/src/endpoints/caption.js b/src/endpoints/caption.js index 81a8d029d..ac6e2b896 100644 --- a/src/endpoints/caption.js +++ b/src/endpoints/caption.js @@ -1,35 +1,32 @@ +const express = require('express'); +const { jsonParser } = require('../express-common'); + const TASK = 'image-to-text'; -/** - * @param {import("express").Express} app - * @param {any} jsonParser - */ -function registerEndpoints(app, jsonParser) { - app.post('/api/extra/caption', jsonParser, async (req, res) => { - try { - const { image } = req.body; +const router = express.Router(); - const module = await import('../transformers.mjs'); - const rawImage = await module.default.getRawImage(image); +router.post('/', jsonParser, async (req, res) => { + try { + const { image } = req.body; - if (!rawImage) { - console.log('Failed to parse captioned image'); - return res.sendStatus(400); - } + const module = await import('../transformers.mjs'); + const rawImage = await module.default.getRawImage(image); - const pipe = await module.default.getPipeline(TASK); - const result = await pipe(rawImage); - const text = result[0].generated_text; - console.log('Image caption:', text); - - return res.json({ caption: text }); - } catch (error) { - console.error(error); - return res.sendStatus(500); + if (!rawImage) { + console.log('Failed to parse captioned image'); + return res.sendStatus(400); } - }); -} -module.exports = { - registerEndpoints, -}; + const pipe = await module.default.getPipeline(TASK); + const result = await pipe(rawImage); + const text = result[0].generated_text; + console.log('Image caption:', text); + + return res.json({ caption: text }); + } catch (error) { + console.error(error); + return res.sendStatus(500); + } +}); + +module.exports = { router };