Skip to content

A simple and up to date wrapper for prodia api with all features included.

Notifications You must be signed in to change notification settings

unburn/prodia.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


A simple and up to date wrapper for prodia api with all features included.

GithubSupport

NPM Version NPM Downloads NPM License GitHub Repo stars


Installation

npm install prodia.js

Usage

For detailed docs about parameters and api key, go to https://prodia.com

Text to Image

import { Prodia } from "prodia.js"

// ----- OR -----

const { Prodia } = require("prodia.js");
const { generateImage, wait } = Prodia("x-x-x-x-x");

const input = async (prompt) => {
    const result = await generateImage({
        prompt: prompt,
        model: "juggernaut_aftermath.safetensors [5e20c455]"
    })

    return await wait(result);
}

input("a photograph of an astronaut riding a horse in the sky").then(console.log)

Tip: play with parameters like negative_prompt, style_preset, steps etc. to get awesome output.

Know more about generation parameters here

Image Example

Transform Image

const { Prodia } = require("prodia.js");
const { transform, wait } = Prodia("x-x-x-x-x");

const input = async (prompt) => {
    const result = await transform({
        imageUrl: "https://images.prodia.xyz/4d81be60-6cf2-417e-a800-eab097295f23.png",
        prompt: prompt,
        model: "juggernaut_aftermath.safetensors [5e20c455]"
    })

    return await wait(result);
}

input("").then(console.log)

Know more about transform parameters here

Transform Example

SDXL Generation

const { Prodia } = require("prodia.js");
const { generateImageSDXL, wait } = Prodia("x-x-x-x-x");

const input = async (prompt) => {
    const result = await generateImageSDXL({
        prompt: prompt,
        model: "sd_xl_base_1.0.safetensors [be9edd61]",
        style_preset: "photographic"
    })

    return await wait(result);
}

input("a giant monster hybrid of dragon and spider, in dark dense foggy forest").then(console.log)

Tip: Use getSDXLModels() to get the list or all SDXL models, same for other.

Know more about sdxl parameters here

SDXL Example

Face Swap

const { Prodia } = require("prodia.js");
const { faceSwap, wait } = Prodia("x-x-x-x-x");

const input = async ({ sourceUrl, targetUrl }) => {
    const result = await faceSwap({
        sourceUrl,
        targetUrl,
    });

    return await wait(result);
}

input({
    sourceUrl: "https://images.prodia.xyz/fe8bd9b3-c3e6-4c7c-bef2-4038fac54dec.png",
    targetUrl: "https://images.prodia.xyz/2a3ea80c-fd56-49a2-be83-180a3fdc5abe.png"
}).then(console.log)

Tip: Here you may get confused about sourceUrl & targetUrl, targetUrl is main face image and sourceUrl is the face image your want to put on targetUrl.

Know more about faceswap parameters here

Face Swap Example

Face Restore

const { Prodia } = require("prodia.js");
const { faceRestore, wait } = Prodia("x-x-x-x-x");

const input = async (imageUrl) => {
    const result = await faceRestore({
        imageUrl
    });

    return await wait(result);
}

input("https://images.prodia.xyz/2913f270-3511-4bec-96f3-4ad0b84c1230.png").then(console.log)

Know more about face restore parameters here

Face Restore Example


There are more features, like Inpainting, ControlNet & Upscale etc.

Support

Our discord community & prodia official server