Novelai Python Binding With Pydantic
Project description
novelai-python
The goal of this repository is to use Pydantic to build legitimate requests to access the Novelai API service.
Roadmap 🚧
- /ai/generate-image
- /user/subscription
- /user/login
- /user/information
- /ai/generate-image/suggest-tags
- /ai/annotate-image
- /ai/classify
- /ai/upscale
- /ai/generate-prompt
- /ai/generate
- /ai/generate-voice
Usage 🖥️
More examples can be found in the playground directory.
import asyncio
import os
from dotenv import load_dotenv
from pydantic import SecretStr
from novelai_python import GenerateImageInfer, ImageGenerateResp, JwtCredential, LoginCredential, ApiCredential
load_dotenv()
enhance = "year 2023,dynamic angle, best quality, amazing quality, very aesthetic, absurdres"
async def main():
globe_s = JwtCredential(
jwt_token=SecretStr(os.getenv("NOVELAI_JWT")) # ey****
)
globe_s1 = ApiCredential(
api_token=SecretStr(os.getenv("NOVELAI_JWT")) # pst-***
)
globe_s2 = LoginCredential(
username=os.getenv("NOVELAI_USERNAME"),
password=SecretStr(os.getenv("NOVELAI_PASSWORD"))
)
gen = await GenerateImageInfer.build(
prompt=f"1girl,{enhance}")
cost = gen.calculate_cost(is_opus=True)
print(f"charge: {cost} if you are vip3")
resp = gen.request(session=globe_s)
resp: ImageGenerateResp
print(resp.meta)
file = resp.files[0]
with open(file[0], "wb") as f:
f.write(file[1])
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Random Prompt
from novelai_python.utils.random_prompt import RandomPromptGenerator
s = RandomPromptGenerator(nsfw_enabled=False).random_prompt()
print(s)
Run A Server
pip install novelai_python
python3 -m novelai_python.server -h '0.0.0.0' -p 7888
Acknowledgements 🙏
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
novelai_python-0.2.6.tar.gz
(47.2 kB
view hashes)
Built Distribution
Close
Hashes for novelai_python-0.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e57515378c0394668b5514df34c857288666239fd1632f57040bc1eb4f79a2ee |
|
MD5 | e15fb2f7a8a3cbc6862354d392905392 |
|
BLAKE2b-256 | a1e6d564db3cb68b084ad6b1b2291847462ab393fad0f187f39026ab37cf70a6 |