Developer Portal

Build on NOLGIA.

One REST API for image, video and audio generation, with guides, official SDKs in four languages, a CLI and skills for coding agents. Base URL https://api.nolgia.ai, authenticated with a Personal Access Token.

A NOLGIA workspace connecting code to creative tools

API reference

Live, generated from the OpenAPI contract.

Every endpoint, schema, and example stays in lockstep with the spec that powers the platform. Explore it, then authenticate with a Personal Access Token.

API documentation

The full OpenAPI reference: generation, assets, jobs, billing, and account endpoints, with request and response schemas.

docs.nolgia.ai
Lock

Authentication

Requests carry a Personal Access Token (PAT) as a bearer token. Mint one by POSTing to /pat with a name. The plaintext token (prefixed nol_) is returned once, so store it securely.

shell
curl -X POST https://api.nolgia.ai/pat -d '{"name":"my-cli"}'

Then send it as Authorization: Bearer nol_… on every request. A PAT spends top-up credits only, never monthly plan credits, and models that require Pro or above still need that plan.

Terminal window

CLI

Install the nolgia CLI.

One Rust binary for image, video and audio from your terminal. Every path below installs the same release.

Homebrew

shell
brew tap nolgiainc/nolgia && brew install nolgia

macOS and Linux. The nolgia formula in nolgiainc/homebrew-nolgia tracks the latest release.

npm

shell
npm install -g @nolgia/cli

Requires Node 18 or newer. Downloads the prebuilt binary for your platform during postinstall.

Shell installer

shell
curl -fsSL https://raw.githubusercontent.com/nolgiainc/nolgia-cli/main/install.sh | bash

This command runs a script fetched from the repository's main branch and then downloads a release binary. If your environment requires review or provenance checks, save and inspect install.sh first and pin the binary with --tag.

Cargo

shell
cargo install nolgia-cli

Builds from source with a stable Rust toolchain.

Release binaries

Prebuilt binaries for every platform on the GitHub release:

  • nolgia-x86_64-apple-darwinmacOS (universal)
  • nolgia-x86_64-unknown-linux-gnuLinux x86_64
  • nolgia-aarch64-unknown-linux-gnuLinux arm64
  • nolgia-x86_64-pc-windows-msvc.exeWindows x86_64
  • nolgia-aarch64-pc-windows-msvc.exeWindows arm64
Latest release on GitHub
Full CLI reference
Agent core with orbiting tasks

Skills and plugins

Teach your coding agent NOLGIA.

Three skills, published at nolgiainc/nolgia-skills, teach Claude Code, Cursor and Codex the platform, video prompting and UGC ads. Pick the install path your agent uses.

Any agent

shell
npx skills add nolgiainc/nolgia-skills

Requires Node.js. The skills CLI detects Claude Code, Cursor, Codex and other supported agents.

GitHub CLI

shell
gh skill install nolgiainc/nolgia-skills --all

GitHub CLI 2.90 or newer (the command is in preview). Add --scope user to install for every project.

Claude Code

Claude Code
/plugin marketplace add nolgiainc/nolgia-skills
/plugin install nolgia@nolgia

Type these commands inside Claude Code. Registers /nolgia:nolgia-platform, /nolgia:nolgia-video-prompting and /nolgia:nolgia-ugc-ads.

Cursor

The skills repo ships a Cursor plugin manifest. The hosted MCP server plus a /nolgia command come from nolgiainc/cursor-plugin.

nolgiainc/cursor-plugin on GitHub

Codex

shell
gh skill install nolgiainc/nolgia-skills --all --agent codex --scope user

Codex also reads the repo's Codex plugin manifest when installed as a plugin.

From the nolgia CLI

shell
nolgia skills install

The CLI bundles the same three skills. Targets: --target claude-user, --target claude-project, --target hermes, or --target dir --dir <path>.

Paste this into your agent

one line
Read https://raw.githubusercontent.com/nolgiainc/nolgia-cli/main/INSTALL_FOR_AGENTS.md and follow it end to end to install and set up the Nolgia CLI for me.

Your coding agent installs the CLI without sudo, waits while you authenticate, installs the skills, and runs one verify generation.

Read the runbook
Install guide and source on GitHub
Library of tiles

Official SDKs

Four clients, one platform.

Install the client for your stack and start generating in minutes. Each SDK targets the same API surface.

Python

PyPI · nolgia

Typed client generated from the OpenAPI contract. Import AuthenticatedClient and call the nolgia.api.* modules.

shell
pip install nolgia
View on PyPI

JavaScript / TypeScript

npm · @nolgia/sdk

Fully typed openapi-fetch client for Node and the browser. One install brings everything it needs. Ships ESM with first-class TypeScript definitions.

shell
npm install @nolgia/sdk
View on npm

Rust

crates.io · nolgia-client

Typed client generated from the OpenAPI contract. One install: it carries its own async runtime and downloads the assets you generate.

shell
cargo add nolgia-client
View on crates.io

Rust CLI

crates.io · nolgia-cli

The nolgia command: a single Rust binary that generates image, video, and audio from your terminal. Built on the nolgia-client crate.

shell
cargo install nolgia-cli
View on crates.io

Quickstart

Authenticate, then call.

Create a client with your PAT, submit an image generation and long-poll the job for the asset: the same three calls each SDK README opens with. The Python client exposes typed nolgia.api.* modules; the CLI drives the platform from your shell.

A first creative task taking shape in NOLGIA
quickstart.py
from nolgia import AuthenticatedClient
from nolgia.api.generate import generate_image
from nolgia.api.jobs import wait_for_job
from nolgia.models import GenerateImageRequest, ImageModel, Job

# Create a token at https://nolgia.ai/settings/api-tokens and pass it as a bearer.
client = AuthenticatedClient(base_url="https://api.nolgia.ai/v1", token="nol_...")

# POST /generate/image answers 202 with a job.
job = generate_image.sync(
    client=client,
    body=GenerateImageRequest(model=ImageModel.GPT_IMAGE_2, prompt="a red fox in the snow"),
)
if not isinstance(job, Job):
    raise SystemExit(f"refused: {job}")

# Long-poll GET /jobs/{id}/wait for the finished asset.
done = wait_for_job.sync(job.id, client=client, timeout_seconds=120)
if isinstance(done, Job) and done.status == "succeeded":
    print(done.asset.signed_url)
Lock

Get a token, start building.

Create an account, mint a Personal Access Token, and point any SDK at NOLGIA. The first credits are on us.