Package Exports
- novita-sdk
- novita-sdk/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (novita-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Novita.ai Javascript SDK
This SDK is based on the official novita.ai API reference
Join our discord server for help:
Quick start
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
Version 2.0.0 Update Notes
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.
Usage
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);
});
API list and Sample codes
- txt2Img
- img2Img
- upscale
- cleanup
- outpainting
- removeBackground
- replaceBackground
- mixPose
- doodle
- lcmTxt2Img
- replaceSky
- replaceObject
- mergeFace
- removeText
- restoreFace
- reimagine
- createTile
- img2video
Type Definitions
For detailed information on the parameters and return types of each method, please refer to the types.ts file.
Playground
You can try all demos at https://novita.ai/model-api/playground