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(); | |