Spaces:
Paused
Paused
Update index.js
Browse files
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 {
|