const express = require('express'); const bodyParser = require('body-parser'); const dotenv = require('dotenv'); // Загрузка переменных окружения из .env файла dotenv.config(); const app = express(); const port = 3000; const apiKey = process.env.KEY; app.use(bodyParser.json()); app.post('/', async (req, res) => { const { prompt } = req.body; if (!prompt) { return res.status(400).send('Missing "prompt" in request body'); } try { // Динамический импорт node-fetch const fetch = (await import('node-fetch')).default; const response = await fetch('https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-3-medium', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}`, '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}`); });