RepoNovita AINovita AIpublished Sep 27, 2023seen 5d

novitalabs/python-sdk

Python

Open original ↗

Captured source

source ↗
published Sep 27, 2023seen 5dcaptured 15hhttp 200method plain

novitalabs/python-sdk

Description: Python SDK for Novita AI API (Txt2Img, Img2Img, Txt2Video, Img2Video, Doodle, Remove Background, Replace Object, Reimagine, Merge Faces, ControlNet, VAE, LoRA)

Language: Python

License: MIT

Stars: 27

Forks: 8

Open issues: 0

Created: 2023-09-27T03:27:34Z

Pushed: 2024-11-08T08:50:53Z

Default branch: main

Fork: no

Archived: yes

README:

Novita AI Python SDK

This SDK is based on the official API documentation.

Join our discord server for help:

![](https://discord.com/invite/Mqx7nWYzDF)

Installation

pip install novita-client

Examples

  • fine tune example
  • [cleanup](./examples/cleanup.py)
  • [controlnet](./examples/controlnet.py)
  • [img2img](./examples/img2img.py)
  • [img2video](./examples/img2video.py)
  • [inpainting](./examples/inpainting.py)
  • [instantid](./examples/instantid.py)
  • [merge-face](./examples/merge-face.py)
  • [model-search](./examples/model-search.py)
  • [reimagine](./examples/reimagine.py)
  • [remove-background](./examples/remove-background.py)
  • [remove-text](./examples/remove-text.py)
  • [replace-background](./examples/replace-background.py)
  • [txt2img-with-hiresfix](./examples/txt2img-with-hiresfix.py)
  • [txt2img-with-lora](./examples/txt2img-with-lora.py)
  • [txt2img-with-refiner](./examples/txt2img-with-refiner.py)
  • [txt2video](./examples/txt2video.py)

Code Examples

cleanup

import os

from novita_client import NovitaClient
from novita_client.utils import base64_to_image

client = NovitaClient(os.getenv('NOVITA_API_KEY'), os.getenv('NOVITA_API_URI', None))
res = client.cleanup(
image="https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
mask="https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png"
)

base64_to_image(res.image_file).save("./cleanup.png")

controlnet

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import os

from novita_client import NovitaClient, Img2ImgV3Request, Img2ImgV3ControlNetUnit, ControlnetUnit, Samplers, Img2ImgV3Embedding
from novita_client.utils import base64_to_image

client = NovitaClient(os.getenv('NOVITA_API_KEY'), os.getenv('NOVITA_API_URI', None))
res = client.img2img_v3(
input_image="https://img.freepik.com/premium-photo/close-up-dogs-face-with-big-smile-generative-ai_900101-62851.jpg",
model_name="dreamshaper_8_93211.safetensors",
prompt="a cute dog",
sampler_name=Samplers.DPMPP_M_KARRAS,
width=512,
height=512,
steps=30,
controlnet_units=[
Img2ImgV3ControlNetUnit(
image_base64="https://img.freepik.com/premium-photo/close-up-dogs-face-with-big-smile-generative-ai_900101-62851.jpg",
model_name="control_v11f1p_sd15_depth",
strength=1.0
)
],
embeddings=[Img2ImgV3Embedding(model_name=_) for _ in [
"BadDream_53202",
]],
seed=-1,
)

base64_to_image(res.images_encoded[0]).save("./img2img-controlnet.png")

img2img

import pdb
import os

from novita_client import NovitaClient, Img2ImgV3ControlNetUnit, ControlNetPreprocessor, Img2ImgV3Embedding
from novita_client.utils import base64_to_image, input_image_to_pil

client = NovitaClient(os.getenv('NOVITA_API_KEY'), os.getenv('NOVITA_API_URI', None))
res = client.img2img_v3(
model_name="MeinaHentai_V5.safetensors",
steps=30,
height=512,
width=512,
input_image="https://img.freepik.com/premium-photo/close-up-dogs-face-with-big-smile-generative-ai_900101-62851.jpg",
prompt="1 cute dog",
strength=0.5,
guidance_scale=7,
embeddings=[Img2ImgV3Embedding(model_name=_) for _ in [
"bad-image-v2-39000",
"verybadimagenegative_v1.3_21434",
"BadDream_53202",
"badhandv4_16755",
"easynegative_8955.safetensors"]],
seed=-1,
sampler_name="DPM++ 2M Karras",
clip_skip=2,
# controlnet_units=[Img2ImgV3ControlNetUnit(
# model_name="control_v11f1p_sd15_depth",
# preprocessor="depth",
# image_base64="./20240309-003206.jpeg",
# strength=1.0
# )]
)

base64_to_image(res.images_encoded[0]).save("./img2img.png")

img2video

import os

from novita_client import NovitaClient
from novita_client.utils import base64_to_image

client = NovitaClient(os.getenv('NOVITA_API_KEY'), os.getenv('NOVITA_API_URNOVITA_API_URII', None))
res = client.img2video(
model_name="SVD-XT",
steps=30,
frames_num=25,
image="https://replicate.delivery/pbxt/JvLi9smWKKDfQpylBYosqQRfPKZPntuAziesp0VuPjidq61n/rocket.png",
enable_frame_interpolation=True
)

with open("test.mp4", "wb") as f:
f.write(res.video_bytes[0])

inpainting

import os
import base64
from novita_client import NovitaClient
from novita_client.utils import base64_to_image

client = NovitaClient(os.getenv('NOVITA_API_KEY'), os.getenv('NOVITA_API_URI', None))
res = client.inpainting(
model_name = "realisticVisionV40_v40VAE-inpainting_81543.safetensors",
image="https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
mask="https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
seed=1,
guidance_scale=15,
steps = 20,
image_num = 4,
prompt = "black rabbit",
negative_prompt = "white rabbit",
sampler_name = "Euler a",
inpainting_full_res = 1,
inpainting_full_res_padding = 32,
inpainting_mask_invert = 0,
initial_noise_multiplier = 1,
mask_blur = 1,
clip_skip = 1,
strength = 0.85,
)
with open("result/result_image/inpaintingsdk.jpeg", "wb") as image_file:
image_file.write(base64.b64decode(res.images_encoded[0]))```

### instantid

import os from novita_client import NovitaClient, InstantIDControlnetUnit import base64

if __name__ == '__main__': client = NovitaClient(os.getenv('NOVITA_API_KEY'), os.getenv('NOVITA_API_URI', None))

res = client.instant_id( model_name="sdxlUnstableDiffusers_v8HEAVENSWRATH_133813.safetensors", face_images=[ "https://raw.githubusercontent.com/InstantID/InstantID/main/examples/yann-lecun_resize.jpg", ], prompt="Flat illustration, a Chinese a man, ancient style, wearing a red cloth, smile face, white skin, clean background, fireworks blooming, red lanterns", negative_prompt="(lowres, low quality, worst quality:1.2), (text:1.2), watermark, (frame:1.2), deformed, ugly, deformed eyes, blur, out of focus, blurry, deformed cat, deformed, photo, anthropomorphic cat,…

Excerpt shown — open the source for the full document.