Helper-esm / lib /diffusion.js
Khrisna's picture
Update lib/diffusion.js
fa70cf8 verified
raw
history blame
1.75 kB
import axios from "axios";
async function stablediff(prompt) {
try {
const BASE_URL = "https://stabilityai-stable-diffusion-3-medium.hf.space/";
const session_hash = Math.random().toString(36).substring(2).slice(1);
const resp = await axios({
method: "POST",
url: BASE_URL + "queue/join?__theme=light",
data: {
data: [
prompt,
"",
0,
true,
1024,
1024,
5,
28
],
event_data: null,
fn_index: 1,
session_hash,
trigger_id: 4
}
});
if(resp.data.event_id) {
const response = await axios({
method: "GET",
url: BASE_URL + "queue/data?session_hash=" + session_hash
});
const splited = response.data.split("\n");
const processStartsLine = splited.find(line => line.includes('process_completed'));
const processStartsData = JSON.parse(processStartsLine.replace('data: ', ''));
const processStartsLine2 = splited.find(line => line.includes('progress'));
const processStartsData2 = JSON.parse(processStartsLine.replace('data: ', ''));
if(processStartsData?.success) {
return processStartsData.output.data;
} else if(processStartsData?.success) {
return processStartsData2.output.data;
}
}
} catch(e) {
console.log("error:" + e.message);
return e.message;
}
}
export { stablediff }