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 2.0.0:
- Removed Functional usage. Only Class-based usage is now supported.
- Removed all synchronous methods for asynchronous APIs (e.g., txt2ImgSync). You now need to handle task status polling yourself.
- Removed all V2 interface calls. All V3-related type names and method names have been renamed to their previous V2 counterparts. V2 types and methods have been removed entirely.
Please note that these changes may impact your existing code. Ensure you update your implementations accordingly when upgrading to this version.
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
- upscale
- cleanup
- outpainting
- removeBackground
- replaceBackground
- mixPose
- doodle
- lcmTxt2Img
- replaceSky
- replaceObject
- mergeFace
- removeText
- restoreFace
- reimagine
- createTile
- 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