This SDK is based on the official novita.ai API reference
Join our discord server for help:
-
Sign up on novita.ai and get an API key. Please follow the instructions at https://novita.ai/get-started
-
Install the npm package in your project.
npm i novita-sdk
We've made significant changes in version 3.0.0. We removed some APIs and will not serve them in the future. The APIs deprecated are:
- adetailer
- img2mask
- anymate-anyone
- create-tile
- doodle
- lcm-img2img
- lcm-txt2img
- make-photo
- mix-pose
- relight
- remove-watermark
- replace-sky
- replace-object
- upscale
- img2prompt
- img2video-motion
- outpainting
- reimagine
- restore-face
import { NovitaSDK } from "novita-sdk";
const novitaClient = new NovitaSDK("your api key");
const params = {
request: {
model_name: "majicmixRealistic_v7_134792.safetensors",
prompt: "1girl,sweater,white background",
negative_prompt: "(worst quality:2),(low quality:2),(normal quality:2),lowres,watermark,",
width: 512,
height: 768,
sampler_name: "Euler a",
guidance_scale: 7,
steps: 20,
image_num: 1,
seed: -1,
},
};
novitaClient
.txt2Img(params)
.then((res) => {
if (res && res.task_id) {
const timer = setInterval(() => {
novitaClient
.progress({
task_id: res.task_id,
})
.then((progressRes) => {
if (progressRes.task.status === TaskStatus.SUCCEED) {
console.log("finished!", progressRes.images);
clearInterval(timer);
onFinish(progressRes.images);
}
if (progressRes.task.status === TaskStatus.FAILED) {
console.warn("failed!", progressRes.task.reason);
clearInterval(timer);
}
if (progressRes.task.status === TaskStatus.QUEUED) {
console.log("queueing");
}
})
.catch((err) => {
console.error("progress error:", err);
});
}, 1000);
}
})
.catch((err) => {
console.error(err);
});
- txt2Img
- img2Img
- cleanup
- outpainting
- removeBackground
- replaceBackground
- mergeFace
- removeText
- restoreFace
- reimagine
- img2video
For detailed information on the parameters and return types of each method, please refer to the types.ts file.
You can try all demos at https://novita.ai/model-api/playground