Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const axios = require("axios");
- const X_API_KEY = "xxxx";
- function delay(ms) {
- return new Promise((resolve) => setTimeout(resolve, ms));
- }
- async function makeRequestWithRetry(url, maxRetries = 5) {
- try {
- const {data} = await axios.get(url, {headers: {'X-API-KEY': X_API_KEY}})
- if (!data.data.image) {
- throw new Error('Received undefined data');
- }
- console.log(data)
- return data.data.image;
- } catch (error) {
- if (maxRetries > 0) {
- await delay(2000);
- console.log(`Request failed. Retrying... (Attempts left: ${maxRetries})`);
- return makeRequestWithRetry(url, maxRetries - 1);
- }
- throw error;
- }
- }
- async function upScaller(prompt){
- const formData = axios.toFormData({"image_file": prompt})
- let {data} = await axios({
- method: 'POST',
- url: 'https://techhk.aoscdn.com/api/tasks/visual/scale',
- data: formData,
- headers: {
- 'X-API-KEY': X_API_KEY,
- 'Content-Type': 'multipart/form-data;',
- },
- });
- let task_id = data.data.task_id;
- const url_r = `https://techhk.aoscdn.com/api/tasks/visual/scale/${task_id}`
- let url_image = await makeRequestWithRetry(url_r)
- return url_image
- }
- module.exports = { upScaller };
- //dibawah ini hanya code test
- //(async ()=> {
- //const fs = require('fs');
- //pathToFile = "./flower.png"
- //console.log(await upScaller(fs.createReadStream(pathToFile)))
- //})()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement