Spaces:
Sleeping
Sleeping
Update server.js
Browse files
server.js
CHANGED
@@ -2,12 +2,18 @@ const express = require('express');
|
|
2 |
const rateLimit = require('express-rate-limit');
|
3 |
const axios = require('axios');
|
4 |
const multer = require('multer'); // Импорт multer
|
|
|
5 |
|
6 |
const app = express();
|
7 |
app.use(express.json({ limit: '10mb' })); // Увеличение лимита для base64 изображений
|
8 |
|
9 |
const openai_key = process.env.OPENAI_KEY;
|
10 |
const base_url = process.env.BASE_URL;
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
const limiter = rateLimit({
|
13 |
windowMs: 40 * 1000, // 40 секунд
|
@@ -29,18 +35,9 @@ app.post('/gener', async (req, res) => {
|
|
29 |
return res.json({ content: '+ошибка+❗ Проект закрыт и больше не функционирует из-за отсутствия финансирования!-ошибка-' });
|
30 |
});
|
31 |
|
32 |
-
|
33 |
-
destination: './uploads',
|
34 |
-
filename: (req, file, cb) => {
|
35 |
-
cb(null, Date.now() + '-' + file.originalname);
|
36 |
-
},
|
37 |
-
});
|
38 |
-
|
39 |
-
const upload = multer({ storage });
|
40 |
-
|
41 |
-
app.post('/gen', upload.single('image'), async (req, res) => {
|
42 |
const prompt = req.body.prompt;
|
43 |
-
const
|
44 |
const apiKey = req.body.api || openai_key;
|
45 |
let payload;
|
46 |
|
@@ -53,8 +50,8 @@ app.post('/gen', upload.single('image'), async (req, res) => {
|
|
53 |
}
|
54 |
|
55 |
// Создание тела запроса в зависимости от наличия изображения
|
56 |
-
if (
|
57 |
-
// Если изображение
|
58 |
payload = {
|
59 |
"model": "gpt-4-vision-preview",
|
60 |
"messages": [
|
@@ -76,7 +73,7 @@ app.post('/gen', upload.single('image'), async (req, res) => {
|
|
76 |
{
|
77 |
"type": "image_url",
|
78 |
"image_url": {
|
79 |
-
"url":
|
80 |
},
|
81 |
},
|
82 |
],
|
|
|
2 |
const rateLimit = require('express-rate-limit');
|
3 |
const axios = require('axios');
|
4 |
const multer = require('multer'); // Импорт multer
|
5 |
+
const ImageKit = require('imagekitio'); // Импорт ImageKit
|
6 |
|
7 |
const app = express();
|
8 |
app.use(express.json({ limit: '10mb' })); // Увеличение лимита для base64 изображений
|
9 |
|
10 |
const openai_key = process.env.OPENAI_KEY;
|
11 |
const base_url = process.env.BASE_URL;
|
12 |
+
const imagekit = new ImageKit({
|
13 |
+
publicKey: process.env.IMAGEKIT_PUBLIC_KEY,
|
14 |
+
privateKey: process.env.IMAGEKIT_PRIVATE_KEY,
|
15 |
+
urlEndpoint: process.env.IMAGEKIT_URL_ENDPOINT,
|
16 |
+
});
|
17 |
|
18 |
const limiter = rateLimit({
|
19 |
windowMs: 40 * 1000, // 40 секунд
|
|
|
35 |
return res.json({ content: '+ошибка+❗ Проект закрыт и больше не функционирует из-за отсутствия финансирования!-ошибка-' });
|
36 |
});
|
37 |
|
38 |
+
app.post('/gen', async (req, res) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
const prompt = req.body.prompt;
|
40 |
+
const imageUrl = req.body.imageUrl;
|
41 |
const apiKey = req.body.api || openai_key;
|
42 |
let payload;
|
43 |
|
|
|
50 |
}
|
51 |
|
52 |
// Создание тела запроса в зависимости от наличия изображения
|
53 |
+
if (imageUrl) {
|
54 |
+
// Если изображение предоставляется по URL
|
55 |
payload = {
|
56 |
"model": "gpt-4-vision-preview",
|
57 |
"messages": [
|
|
|
73 |
{
|
74 |
"type": "image_url",
|
75 |
"image_url": {
|
76 |
+
"url": imageUrl,
|
77 |
},
|
78 |
},
|
79 |
],
|