Rooni commited on
Commit
d59cba8
·
verified ·
1 Parent(s): ec48534

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +11 -14
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
- const storage = multer.diskStorage({
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 img = req.file ? req.file.path : undefined; // Проверка на существование файла перед доступом к его пути
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 (img) {
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": `http://${req.headers.host}/uploads/${img}`,
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
  ],