https://github.com/novitalabs/javascript-sdk
JavaScript SDK for Novita AI API (Txt2Img, Img2Img, Txt2Video, Img2Video, Doodle, Remove Background, Replace Object, Reimagine, Merge Faces, ControlNet, VAE, LoRA)
https://github.com/novitalabs/javascript-sdk
controlnet img2img img2video lora stable-diffusion swapface txt2img txt2video
Last synced: 7 months ago
JSON representation
JavaScript SDK for Novita AI API (Txt2Img, Img2Img, Txt2Video, Img2Video, Doodle, Remove Background, Replace Object, Reimagine, Merge Faces, ControlNet, VAE, LoRA)
- Host: GitHub
- URL: https://github.com/novitalabs/javascript-sdk
- Owner: novitalabs
- Created: 2023-09-27T15:32:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-05T07:59:55.000Z (8 months ago)
- Last Synced: 2024-11-05T08:34:00.078Z (8 months ago)
- Topics: controlnet, img2img, img2video, lora, stable-diffusion, swapface, txt2img, txt2video
- Language: TypeScript
- Homepage: https://novita.ai
- Size: 2.13 MB
- Stars: 11
- Watchers: 5
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Novita.ai Javascript SDK
This SDK is based on the official [novita.ai API reference](https://docs.novita.ai/)
**Join our discord server for help:**
[](https://discord.gg/YyPRAzwp7P)
## Quick start
1. Sign up on [novita.ai](https://novita.ai) and get an API key. Please follow the instructions at [https://novita.ai/get-started](https://novita.ai/get-started/)
2. Install the [npm package](https://www.npmjs.com/package/novita-sdk) in your project.
```bash
npm i novita-sdk
```## Version 3.1.0 Update Notes
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## Usage
```javascript
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](https://github.com/novitalabs/javascript-sdk/blob/main/examples/txt2Img.js)
- [img2Img](https://github.com/novitalabs/javascript-sdk/blob/main/examples/img2Img.js)
- [cleanup](https://github.com/novitalabs/javascript-sdk/blob/main/examples/cleanup.js)
- [outpainting](https://github.com/novitalabs/javascript-sdk/blob/main/examples/outpainting.js)
- [removeBackground](https://github.com/novitalabs/javascript-sdk/blob/main/examples/removebg.js)
- [replaceBackground](https://github.com/novitalabs/javascript-sdk/blob/main/examples/replacebg.js)
- [mergeFace](https://github.com/novitalabs/javascript-sdk/blob/main/examples/merge_face.js)
- [removeText](https://github.com/novitalabs/javascript-sdk/blob/main/examples/removetxt.js)
- [restoreFace](https://github.com/novitalabs/javascript-sdk/blob/main/examples/restore_face.js)
- [reimagine](https://github.com/novitalabs/javascript-sdk/blob/main/examples/reimagine.js)
- [img2video](https://github.com/novitalabs/javascript-sdk/blob/main/examples/controlnet.js)## Type Definitions
For detailed information on the parameters and return types of each method, please refer to the [types.ts](https://github.com/novitalabs/javascript-sdk/blob/main/src/types.ts) file.
## Playground
You can try all demos at [https://novita.ai/model-api/playground](https://novita.ai/model-api/playground)