Skip to content

Latest commit

 

History

History
120 lines (99 loc) · 3.71 KB

README.md

File metadata and controls

120 lines (99 loc) · 3.71 KB

Novita.ai Javascript SDK

This SDK is based on the official novita.ai API reference

Join our discord server for help:

Quick start

  1. Sign up on novita.ai and get an API key. Please follow the instructions at https://novita.ai/get-started

  2. Install the npm package in your project.

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

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

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