File size: 1,357 Bytes
abed4cc
289e552
 
5669f71
abed4cc
289e552
5d38af1
289e552
 
587da90
289e552
 
a3fc701
289e552
 
 
2b60bab
289e552
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2b60bab
587da90
 
abed4cc
289e552
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const express = require('express');
const fetch = require('node-fetch');
const bodyParser = require('body-parser');

const app = express();
const port = 3000;

// Используем body-parser для обработки JSON данных
app.use(bodyParser.json());

app.post('/generate-image', async (req, res) => {
    const { prompt } = req.body;

    if (!prompt) {
        return res.status(400).send('Missing "prompt" in request body');
    }

    try {
        const response = await fetch('https://api-inference.huggingface.co/models/your-model-name', {
            method: 'POST',
            headers: {
                'Authorization': `Bearer ${process.env.KEY}`,
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                inputs: prompt
            })
        });

        if (!response.ok) {
            throw new Error(`Error from Hugging Face API: ${response.statusText}`);
        }

        const imageBuffer = await response.buffer();
        const base64Image = imageBuffer.toString('base64');

        res.json({ image: base64Image });
    } catch (error) {
        console.error('Error generating image:', error);
        res.status(500).send('Error generating image');
    }
});

app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});