Khrisna commited on
Commit
bf7bbab
·
verified ·
1 Parent(s): 3a2ad91

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +56 -0
index.js CHANGED
@@ -13,6 +13,7 @@ const nsfwjs = require('nsfwjs')
13
  const jpegjs = require('jpeg-js')
14
  const Jimp = require('jimp')
15
  const fileType = require("file-type")
 
16
  //const Stress = require('./lib/ddos.js');
17
  //const { BingChat } = (await import("bing-chat")).default
18
  const { acytoo, chatgpt_4 } = require("./lib/chatgpt.js")
@@ -224,6 +225,40 @@ app.post('/api/upscaler2', async (req, res) => {
224
  res.json({ error: true, message: e === '[object Object]' ? 'Internal Server Error' : e })
225
  }
226
  })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  app.post('/api/toanime2', async (req, res) => {
228
  try {
229
  console.log(req.body)
@@ -516,6 +551,27 @@ async function upscaleImage(imageBuffer) {
516
  });
517
  }
518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
519
  async function processImageUpscaler(images, denoise, format, type) {
520
  return new Promise(async (resolve, reject) => {
521
  try {
 
13
  const jpegjs = require('jpeg-js')
14
  const Jimp = require('jimp')
15
  const fileType = require("file-type")
16
+ const Waifu2X = require('@ibaraki-douji/waifu2x')
17
  //const Stress = require('./lib/ddos.js');
18
  //const { BingChat } = (await import("bing-chat")).default
19
  const { acytoo, chatgpt_4 } = require("./lib/chatgpt.js")
 
225
  res.json({ error: true, message: e === '[object Object]' ? 'Internal Server Error' : e })
226
  }
227
  })
228
+ app.post('/api/upscaler2', async (req, res) => {
229
+ try {
230
+ console.log(req.body)
231
+ const { images, status } = req.body
232
+ if (!images) return res.json({ success: false, message: 'Required an images!' })
233
+ if (!status) return res.json({ success: false, message: 'Required an status text!' })
234
+
235
+ if(status !== apikey) return res.json({ success: false, message: 'Invalid status!' })
236
+ if (/^(https?|http):\/\//i.test(images)) {
237
+ const data_img = await axios.request({
238
+ method: "GET",
239
+ url: images,
240
+ responseType: "arraybuffer"
241
+ })
242
+ const response = await upscaleImageV2(data_img.data)
243
+ const type_img = await fileType.fromBuffer(response)
244
+ res.setHeader('Content-Type', type_img.mime)
245
+ res.send(response)
246
+ } else if (images && typeof images == 'string' && isBase64(images)) {
247
+ const response = await upscaleImageV2(Buffer.from(images, "base64"))
248
+ const type_img = await fileType.fromBuffer(response)
249
+ res.setHeader('Content-Type', type_img.mime)
250
+ res.send(response)
251
+ } else {
252
+ res.json({
253
+ success: false, message: 'No url or base64 detected!!'
254
+ })
255
+ }
256
+ } catch (e) {
257
+ console.log(e)
258
+ e = String(e)
259
+ res.json({ error: true, message: e === '[object Object]' ? 'Internal Server Error' : e })
260
+ }
261
+ })
262
  app.post('/api/toanime2', async (req, res) => {
263
  try {
264
  console.log(req.body)
 
551
  });
552
  }
553
 
554
+ async function upscaleImageV2(imageBuffer) {
555
+ return new Promise(async (resolve, reject) => {
556
+ try {
557
+ const upscale = await Waifu2X.upscale(imageBuffer, null, {
558
+ noise: 0,
559
+ scale: 2,
560
+ gpu: -1,
561
+ ramLimit: 500,
562
+ outputAsBuffer: true
563
+ });
564
+
565
+ upscale.finishedPromise().then(() => {
566
+ const outputBuffer = upscale.endBuffer;
567
+ resolve(outputBuffer); // ArrayBuffer
568
+ });
569
+ } catch(e) {
570
+ reject(e.message);
571
+ }
572
+ });
573
+ }
574
+
575
  async function processImageUpscaler(images, denoise, format, type) {
576
  return new Promise(async (resolve, reject) => {
577
  try {