Blame Raw
· · · 29 lines (769 B)
0 contributors
1import express from 'express';
2import { getPipeline, getRawImage } from '../transformers.js';
3
4export const router = express.Router();
5
6const TASK = 'image-to-text';
7
8router.post('/', async (req, res) => {
9 try {
10 const { image } = req.body;
11
12 const rawImage = await getRawImage(image);
13
14 if (!rawImage) {
15 console.warn('Failed to parse captioned image');
16 return res.sendStatus(400);
17 }
18
19 const pipe = await getPipeline(TASK);
20 const result = await pipe(rawImage);
21 const text = result[0].generated_text;
22 console.info('Image caption:', text);
23
24 return res.json({ caption: text });
25 } catch (error) {
26 console.error(error);
27 return res.sendStatus(500);
28 }
29});