Skip to main content
Home

Built and signed on GitHub Actions

Works with
This package works with Node.js, DenoIt is unknown whether this package works with Cloudflare Workers, Bun, Browsers
It is unknown whether this package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
It is unknown whether this package works with Bun
It is unknown whether this package works with Browsers
JSR Score76%
Downloads2/wk
Published3 months ago (1.8.1)

NovelAI Image generation api client

novelai-api JSR

NovelAI Image Generation API Client for Deno and Node.js

Status

Supports NovelAI Image Generation API v3 to v4.5

Example

Image Generation Example

import { generateImage, NovelAISession } from "jsr:@7xrk/novelai-api";

const session = await NovelAISession.login("email", "password");
// or `new NovelAISession({ accessToken: 'token' })`

// Text to Image
const result = await generateImage(session, {
  limitToFreeInOpus: true,
  model: NovelAIDiffusionModels.NAIDiffusionV4_5Curated,
  size: NovelAIImageSizePreset.NORMAL_LANDSCAPE,
  prompt: "A beautiful sunset over the ocean",
  undesiredContent: "very displeasing",
  ucPreset: NovelAIImageUCPresetType.Heavy,
  smea: { dyn: true }, // SMEA ignored if unsupported by the model
  nSamples: 1,
});

// Image to Image
const result = await generateImage(session, {
  limitToFreeInOpus: true,
  model: NovelAIDiffusionModels.NAIDiffusionV4_5Curated,
  size: NovelAIImageSizePreset.NORMAL_LANDSCAPE,
  prompt: "A beautiful sunset over the ocean",
  undesiredContent: "very displeasing",
  ucPreset: NovelAIImageUCPresetType.Heavy,
  smea: { dyn: true }, // SMEA ignored if unsupported by the model
  nSamples: 1,
  img2img: {
    image: Deno.readFileSync("input.jpg"),
    strength: 0.5,
  },
});

result.files.forEach((file, i) => {
  const buffer = await file.arrayBuffer();
  Deno.writeFileSync(`output-${i}.png`, new Uint8Array(buffer));
});

Upscale Image Example

import { upscaleImage, NovelAISession } from "jsr:@7xrk/novelai-api";

const session = await NovelAISession.login("email", "password");
// or `new NovelAISession({ accessToken: 'token' })`

const result = await upscaleImage(session, {
  image: Deno.readFileSync("input.jpg"),
  scaleBy: 2,
});

Deno.writeFileSync(
  "output.png",
  new Uint8Array(await result.image.arrayBuffer()),
);
Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@7xrk/novelai-api

Import symbol

import * as novelai_api from "@7xrk/novelai-api";
or

Import directly with a jsr specifier

import * as novelai_api from "jsr:@7xrk/novelai-api";

Add Package

pnpm i jsr:@7xrk/novelai-api
or (using pnpm 10.8 or older)
pnpm dlx jsr add @7xrk/novelai-api

Import symbol

import * as novelai_api from "@7xrk/novelai-api";

Add Package

yarn add jsr:@7xrk/novelai-api
or (using Yarn 4.8 or older)
yarn dlx jsr add @7xrk/novelai-api

Import symbol

import * as novelai_api from "@7xrk/novelai-api";

Add Package

vlt install jsr:@7xrk/novelai-api

Import symbol

import * as novelai_api from "@7xrk/novelai-api";

Add Package

npx jsr add @7xrk/novelai-api

Import symbol

import * as novelai_api from "@7xrk/novelai-api";

Add Package

bunx jsr add @7xrk/novelai-api

Import symbol

import * as novelai_api from "@7xrk/novelai-api";