prodia-ai-api
Version:
Está biblioteca é para gerar imagens usando api do [Prodia](https://app.prodia.com/).
84 lines (79 loc) • 3.97 kB
JavaScript
import axios from "axios";
/**
* @param {{ prompt: string, negative_prompt: string, model:
* "3Guofeng3_v34.safetensors [50f420de]" |
* "absolutereality_v181.safetensors [3d9d4d2b]" |
* "absolutereality_V16.safetensors [37db0fc3]" |
* "amIReal_V41.safetensors [0a8a2e61]" |
* "analog-diffusion-1.0.ckpt [9ca13f02]" |
* "anythingv3_0-pruned.ckpt [2700c435]" |
* "anything-v4.5-pruned.ckpt [65745d25]" |
* "anythingV5_PrtRE.safetensors [893e49b9]" |
* "AOM3A3_orangemixs.safetensors [9600da17]" |
* "blazing_drive_v10g.safetensors [ca1c1eab]" |
* "cetusMix_Version35.safetensors [de2f2560]" |
* "childrensStories_v13D.safetensors [9dfaabcb]" |
* "childrensStories_v1SemiReal.safetensors [a1c56dbb]" |
* "childrensStories_v1ToonAnime.safetensors [2ec7b88b]" |
* "Counterfeit_v30.safetensors [9e2a8f19]" |
* "cuteyukimixAdorable_midchapter3.safetensors [04bdffe6]" |
* "cyberrealistic_v33.safetensors [82b0d085]" |
* "dalcefo_v4.safetensors [425952fe]" |
* "deliberate_v2.safetensors [10ec4b29]" |
* "deliberate_v3.safetensors [afd9d2d4]" |
* "dreamlike-anime-1.0.safetensors [4520e090]" |
* "dreamlike-diffusion-1.0.safetensors [5c9fd6e0]" |
* "dreamlike-photoreal-2.0.safetensors [fdcf65e7]" |
* "dreamshaper_6BakedVae.safetensors [114c8abb]" |
* "dreamshaper_7.safetensors [5cf5ae06]" |
* "dreamshaper_8.safetensors [9d40847d]" |
* "edgeOfRealism_eorV20.safetensors [3ed5de15]" |
* "EimisAnimeDiffusion_V1.ckpt [4f828a15]" |
* "elldreths-vivid-mix.safetensors [342d9d26]" |
* "epicrealism_naturalSinRC1VAE.safetensors [90a4c676]" |
* "ICantBelieveItsNotPhotography_seco.safetensors [4e7a3dfd]" |
* "juggernaut_aftermath.safetensors [5e20c455]" |
* "lofi_v4.safetensors [ccc204d6]" |
* "lyriel_v16.safetensors [68fceea2]" |
* "majicmixRealistic_v4.safetensors [29d0de58]" |
* "mechamix_v10.safetensors [ee685731]" |
* "meinamix_meinaV9.safetensors [2ec66ab0]" |
* "meinamix_meinaV11.safetensors [b56ce717]" |
* "neverendingDream_v122.safetensors [f964ceeb]" |
* "openjourney_V4.ckpt [ca2f377f]" |
* "pastelMixStylizedAnime_pruned_fp16.safetensors [793a26e8]" |
* "portraitplus_V1.0.safetensors [1400e684]" |
* "protogenx34.safetensors [5896f8d5]" |
* "Realistic_Vision_V1.4-pruned-fp16.safetensors [8d21810b]" |
* "Realistic_Vision_V2.0.safetensors [79587710]" |
* "Realistic_Vision_V4.0.safetensors [29a7afaa]" |
* "Realistic_Vision_V5.0.safetensors [614d1063]" |
* "redshift_diffusion-V10.safetensors [1400e684]" |
* "revAnimated_v122.safetensors [3f4fefd9]" |
* "rundiffusionFX25D_v10.safetensors [cd12b0ee]" |
* "rundiffusionFX_v10.safetensors [cd4e694d]" |
* "sdv1_4.ckpt [7460a6fa]" |
* "shoninsBeautiful_v10.safetensors [25d8c546]" |
* "theallys-mix-ii-churned.safetensors [5d9225a4]" |
* "timeless-1.0.ckpt [7c4971d4]" |
* "toonyou_beta6.safetensors [980f6b15]"
* }}
* @returns
*/
export async function generateImage({ prompt, model, negative_prompt }) {
const req = await axios.get(`https://api.prodia.com/generate?new=true&prompt=${prompt}&model=${model}&negative_prompt=${negative_prompt? negative_prompt : ""}&steps=20&cfg=7&seed=2021347789&sampler=DPM%2B%2B+2M+Karras&aspect_ratio=square&key=f0e14df7-88d2-4f80-a2f2-55171db4e862`)
return new Promise((resolve, reject) => {
const interval = setInterval(async () => {
try {
const req2 = await axios.get(`https://api.prodia.com/job/${req.data.job}`)
if (req2.data.status === "succeeded") {
clearInterval(interval)
resolve({ status: 200, url: `https://images.prodia.xyz/${req.data.job}.png`})
}
} catch (error) {
clearInterval(interval)
reject(error)
}
}, 5000)
})
}