Developers
Build on Nodaro with the REST API, the TypeScript SDK and the CLI. Use API tokens or OAuth, generate clients from OpenAPI and connect AI agents over MCP.
Nodaro is built REST-first: the Nodaro editor, the TypeScript SDK and the CLI all talk to the same HTTP API, so anything you do in Nodaro can be automated with a bearer token and a JSON request. This section documents that API, its clients, the ways to authenticate, and the ways to put Nodaro inside your own product. AI assistants reach the same workflows and models through the MCP server.
Three ways in
| Surface | Install | Use it for |
|---|---|---|
| REST API | Nothing: send HTTPS requests to https://app.nodaro.ai/v1/ | Any language, any platform |
| TypeScript SDK | npm install @nodaro/sdk | Typed code in Node, browsers, React Native and edge runtimes |
| CLI | npm install -g @nodaro/cli, or a standalone binary | Terminals, cron jobs and CI pipelines |
The SDK uses fetch and URL, so it runs in Node.js 20 or newer, in browsers, in React Native, and on Cloudflare Workers, Deno and Bun. The CLI is a thin wrapper around the SDK: anything the CLI does, the SDK does too.
The same call in each of them, running a saved workflow:
curl -s -X POST https://app.nodaro.ai/v1/workflows/8c2d7f1e-3a4b-4c5d-9e6f-7a8b9c0d1e2f/run \
-H "Authorization: Bearer $NODARO_API_KEY"
# {"executionId":"3f9e2b1a-…","status":"pending"}import { createClient, StaticTokenAuth } from '@nodaro/sdk'
const client = createClient({
baseUrl: 'https://app.nodaro.ai',
auth: new StaticTokenAuth(process.env.NODARO_API_KEY!),
})
const { executionId } = await client.workflows.run('8c2d7f1e-3a4b-4c5d-9e6f-7a8b9c0d1e2f')nodaro auth login --token "$NODARO_API_KEY"
nodaro workflows run 8c2d7f1e-3a4b-4c5d-9e6f-7a8b9c0d1e2f --watchThree things work the same way everywhere:
- Run anything. Run a saved workflow, a published app, or a single node with
POST /v1/<node-type>, without building a workflow. - Poll for results. Generations take seconds to minutes, so a run returns an id at once and you poll its job or execution. The SDK and the CLI can wait for you.
- Discover without a token.
GET /v1/nodesandGET /v1/modelslist every node and model, with their settings and credit prices.
Authenticate
| Credential | Format | Use it when |
|---|---|---|
| Personal API token | ndr_… | Your own server, script or CI job calls Nodaro for your account. Create it in Settings › API Tokens. |
| OAuth access token | ndr_app_… | Your product runs workflows on your users' own Nodaro accounts, with their consent. |
| Session JWT | A JWT | You run the self-hosted Community Edition for yourself. |
API tokens are available on Nodaro Cloud and the Business edition. A self-hosted install can also run its generations on Nodaro Cloud with a personal API token, without OAuth. Read Authentication and OAuth apps.
OpenAPI spec
The server publishes an OpenAPI 3.1 spec of the API's core at https://app.nodaro.ai/v1/openapi.json. Generate a typed client for Go, Rust, Python or any other language from it. See OpenAPI spec.
For AI agents
- MCP. Add
https://mcp.nodaro.ai/mcpas a custom connector in Claude, ChatGPT, Cursor and other MCP clients. The assistant signs in with your Nodaro account and gets tools to generate media, build and run workflows, and manage characters and other assets. See MCP. - Agent skills. Skill files teach coding assistants such as Claude Code and Cursor how to use the SDK and how to build an OAuth app. See Agent skills.
Put Nodaro in your product
- Embed an app. Run a published Nodaro app from your own web or mobile interface. See Embeds.
- Build the pickers yourself. The Creative Controls catalogs ship as data in
@nodaro/prompts, so your app can offer the same choices and write the same prompts. See Picker catalogs. - Sign users in with your identity provider. See SSO.
- Charge through your own wallet. A deployment can authorize each customer's spending through its own wallet. See External wallet.
Explore the developer docs
REST API
Run workflows and nodes, poll jobs, upload media and manage assets over HTTPS.
TypeScript SDK
@nodaro/sdk: typed methods, typed errors and polling helpers for Node, browsers and edge runtimes.
CLI
@nodaro/cli: run workflows, apps and single nodes from a terminal or a CI job.
OAuth apps
Let your users connect their own Nodaro accounts to your product, with scoped tokens.
SSO
Let a trusted identity provider sign users in to your Nodaro install.
Picker catalogs
Build the Creative Controls pickers in your own app from the published catalogs.
Embeds
Run a published app from your own interface, or embed the interactive 3D preview.
External wallet
Authorize each customer's spending through your deployment's own wallet.
Agent skills
Skill files that teach coding assistants to use the SDK and build OAuth apps.
Frequently asked questions
Does Nodaro have an API?
Yes. The Nodaro REST API at https://app.nodaro.ai/v1/ runs workflows and single nodes, reports job status, stores your media and manages your characters and other assets. It takes JSON and a bearer token, and the same API runs on self-hosted installs.
Is there an official SDK for the Nodaro API?
Yes, @nodaro/sdk for TypeScript and JavaScript. It runs on Node.js 20 or newer, and in any runtime with a global fetch and URL, including browsers, React Native, Cloudflare Workers, Deno and Bun.
How do AI agents use Nodaro?
Through the Nodaro MCP server at https://mcp.nodaro.ai/mcp. Assistants such as Claude, ChatGPT and Cursor sign in with your Nodaro account and can then generate media, build workflows and run them.
Can I use the API with the self-hosted Community Edition?
Yes. A Community Edition install serves the same endpoints, and you authenticate with your signed-in session's JWT. API tokens need the Business edition or Nodaro Cloud, and credits exist only on Nodaro Cloud.
Should I use an API token or OAuth?
Use a personal API token when your own server calls Nodaro for your own account. Use OAuth when you build a product and each of your users connects their own Nodaro account to it.
Related
REST API overview
TypeScript SDK
CLI
Nodaro MCP
OAuth apps
Last updated on