Use novel AI on a program !
npm i @ibaraki-douji/novelai --save
| Done | Method | Endpoint |
|---|---|---|
| ✅ | POST |
/user/login |
| ✅ | GET |
/user/information |
| ✅ | GET |
/user/data |
| ✅ | GET |
/user/priority |
| ✅ | GET |
/user/giftkeys |
| ✅ | GET |
/user/subscription |
| ✅ | GET |
/user/keystore |
| ✅ | PUT |
/user/keystore |
| ✅ | GET |
/user/clientsettings |
| ✅ | PUT |
/user/clientsettings |
| Done | Method | Endpoint |
|---|---|---|
| ✅ | GET |
/user/objects/stories |
| ✅ | GET |
/user/objects/stories/{id} |
| ✅ | PUT |
/user/objects/stories |
| ✅ | DELETE |
/user/objects/stories/{id} |
| ✅ | PATCH |
/user/objects/stories/{id} |
| ✅ | GET |
/user/objects/storycontent |
| ✅ | GET |
/user/objects/storycontent/{id} |
| ✅ | PUT |
/user/objects/storycontent |
| ✅ | DELETE |
/user/objects/storycontent/{id} |
| ✅ | PATCH |
/user/objects/storycontent/{id} |
| ✅ | GET |
/user/objects/presets |
| ✅ | GET |
/user/objects/presets/{id} |
| ✅ | PUT |
/user/objects/presets |
| ✅ | DELETE |
/user/objects/presets/{id} |
| ✅ | PATCH |
/user/objects/presets/{id} |
| ✅ | GET |
/user/objects/aimodules |
| ✅ | GET |
/user/objects/aimodules/{id} |
| ❌ | PUT |
/user/objects/aimodules |
| ✅ | DELETE |
/user/objects/aimodules/{id} |
| ❌ | PATCH |
/user/objects/aimodules/{id} |
| ✅ | GET |
/user/objects/shelf |
| ✅ | GET |
/user/objects/shelf/{id} |
| ✅ | PUT |
/user/objects/shelf |
| ✅ | DELETE |
/user/objects/shelf/{id} |
| ✅ | PATCH |
/user/objects/shelf/{id} |
| Done | Method | Endpoint |
|---|---|---|
| ✅ | POST |
/ai/generate |
| ✅ | POST |
/ai/generate-prompt (useless for now) |
| ✅ | POST |
/ai/generate-stream |
| ✅ | POST |
/ai/generate-image action: generate |
| ✅ | POST |
/ai/generate-image action: img2img |
| ✅ | POST |
/ai/generate-image action: infill |
| ✅ | POST |
/ai/annotate-image |
| ✅ | POST |
/ai/upscale |
| ❌ | POST |
/ai/classify (reserved to admins) |
| ✅ | GET |
/ai/generate-image/suggest-tags |
| ✅ | GET |
/ai/generate-voice |
| Done | Method | Endpoint |
|---|---|---|
| ✅ | GET |
/ai/module/all |
| ✅ | GET |
/ai/module/{id} |
| ✅ | POST |
/ai/module/train |
| ✅ | DELETE |
/ai/module/{id} |
| Done | Function |
|---|---|
| ✅ | create login key |
| ✅ | create decrypt key |
| ✅ | decrypt keystore |
| ✅ | encrypt keystore |
| ✅ | decrypt story |
| ✅ | encrypt story |
| ✅ | decrypt story content |
| ✅ | encrypt story content |
| ✅ | decrypt ai module |
| ❌ | encrypt ai module |
| ✅ | tokenizer encode |
| ✅ | tokenizer decode |
NovelAI API documentation : https://api.novelai.net/docs/
NovelAI SDK documentation : (coming soon)
const NovelAI = require('@ibaraki-douji/novelai').default;
const nai = new NovelAI();
nai.user.login('email', 'password').then(async () => {
const stories = await nai.stories.get();
console.log(stories);
});nai.user.login(email, password)nai.user.getSubscription()nai.user.getInformation()nai.user.getData()nai.user.getPriority()nai.user.getGiftKeys()nai.user.getUserInfos()nai.user.getSettings()nai.user.editSettings(settings)nai.stories.get()nai.stories.get(id)nai.stories.create(options)nai.stories.edit(id, options)nai.stories.delete(id)nai.stories.getContent()nai.stories.getContent(id)nai.stories.editContent(id, options)nai.stories.deleteContent(id)nai.stories.generatePrompt(options)nai.stories.generate(options)nai.stories.generateStream(options)nai.shelves.get()nai.shelves.get(id)nai.shelves.create(options)nai.shelves.update(id, options)nai.shelves.delete(id)nai.presets.get()nai.presets.get(id)nai.presets.create(options)nai.presets.update(id, options)nai.presets.delete(id)nai.modules.get()nai.modules.get(id)nai.modules.delete(options)nai.modules.train(options)nai.modules.getTrained()nai.modules.getTrained(id)nai.modules.deleteTrained(id)nai.images.generate(options)nai.images.enhance(options)nai.images.getMask(options)nai.images.generateVariations(options)nai.images.generateInFill(options)nai.images.getSuggestedTags(options)nai.images.upscale(options)nai.tts.generate(options)