File size: 2,035 Bytes
d04e364
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import axios from "axios";
export const config = {

    "name": "upscaler",
    "url": "/api/upscaler",
    "description": "Get response from Upscaler AI Model. Upscaler AI can restore the image to its original state.",
    "query": "url",
    "response": "text",
    "testURL": "./api/upscaler?url=https%3A%2F%2Fscontent.fdac27-2.fna.fbcdn.net%2Fv%2Ft39.30808-1%2F386334419_843740254146283_32129838220110611_n.jpg%3Fstp%3Dc0.29.100.100a_dst-jpg_p100x100%26_nc_cat%3D105%26ccb%3D1-7%26_nc_sid%3D5f2048%26_nc_eui2%3DAeGirXPT1E56jzWOq3tJatv5HsWuBCzqiQIexa4ELOqJAuncqimdF8tQfaP-IQsyWKB1k2KRJgwsjLnqlMdyG0gS%26_nc_ohc%3Dic3HON0M4RoAb5e2J7a%26_nc_ad%3Dz-m%26_nc_cid%3D0%26_nc_ht%3Dscontent.fdac27-2.fna%26oh%3D00_AfDQQEelZWQ1AL6mhd32t45Lk5ioYN43ZjAj__UW5d_wuQ%26oe%3D661D418E"

}



export default async function handler(req, res) {
  const url = req.query.url;
  

const axios = require("axios");

const postData = async () => {
  try {
    const response = await axios.post(
      "https://replicate-reverse-engineered.vercel.app/post",
      {dataToPost:{
        input: {
          jpeg: 40,
          image: url,
          noise: 15,
          task_type: "Real-World Image Super-Resolution-Large",
        },
        stream: false,
      }, replicateURL: "https://replicate.com/api/models/jingyunliang/swinir/versions/660d922d33153019e8c263a3bba265de882e7f4f70396546b6c9c8f9d47a021a/predictions"}
    );

    console.log(response.data);
    let nurl = 'https://replicate.com/api/predictions/' + response.data.id;
    nurl = 'https://replicate-reverse-engineered.vercel.app/get?url='+nurl

    let isProcessing = true;
    while (isProcessing) {
      const { data } = await axios.get(nurl);
      //console.log(data);
      if (data.status === "succeeded") {
        console.log(data._extras.output_files[0]);
        isProcessing = false;
        return data._extras.output_files[0];
      }
    }
  } catch (error) {
    console.error("Error:", error);
  }
};
postData().then((data) => {
  res.status(200).json({url: data});
});
  
}