Spaces:
Runtime error
Runtime error
| // simple nodejs script to test sdnext api | |
| const fs = require('fs'); // eslint-disable-line no-undef | |
| const process = require('process'); // eslint-disable-line no-undef | |
| const sd_url = process.env.SDAPI_URL || 'http://127.0.0.1:7860'; | |
| const sd_username = process.env.SDAPI_USR; | |
| const sd_password = process.env.SDAPI_PWD; | |
| const sd_options = { | |
| // first pass | |
| prompt: 'city at night', | |
| negative_prompt: 'foggy, blurry', | |
| sampler_name: 'UniPC', | |
| seed: -1, | |
| steps: 20, | |
| batch_size: 1, | |
| n_iter: 1, | |
| cfg_scale: 6, | |
| width: 512, | |
| height: 512, | |
| // enable second pass | |
| enable_hr: true, | |
| // second pass: upscale | |
| hr_upscaler: 'SCUNet GAN', | |
| hr_scale: 2.0, | |
| // second pass: hires | |
| hr_force: true, | |
| hr_second_pass_steps: 20, | |
| hr_sampler_name: 'UniPC', | |
| denoising_strength: 0.5, | |
| // second pass: refiner | |
| refiner_steps: 5, | |
| refiner_start: 0.8, | |
| refiner_prompt: '', | |
| refiner_negative: '', | |
| // api return options | |
| save_images: false, | |
| send_images: true, | |
| }; | |
| async function main() { | |
| const method = 'POST'; | |
| const headers = new Headers(); | |
| const body = JSON.stringify(sd_options); | |
| headers.set('Content-Type', 'application/json'); | |
| if (sd_username && sd_password) headers.set({ Authorization: `Basic ${btoa('sd_username:sd_password')}` }); | |
| const res = await fetch(`${sd_url}/sdapi/v1/txt2img`, { method, headers, body }); | |
| if (res.status !== 200) { | |
| console.log('Error', res.status); | |
| } else { | |
| const json = await res.json(); | |
| console.log('result:', json.info); | |
| for (const i in json.images) { // eslint-disable-line guard-for-in | |
| const f = `/tmp/test-{${i}.jpg`; | |
| fs.writeFileSync(f, atob(json.images[i]), 'binary'); | |
| console.log('image saved:', f); | |
| } | |
| } | |
| } | |
| main(); | |