Commands
Every core Nodaro CLI command with its options, for projects, workflows, apps, nodes, models, presets, palettes, jobs, gallery, webhooks, billing and Recast.
The core Nodaro CLI commands manage projects and workflows, run published apps and single nodes, and inspect executions and jobs. This page lists each of them with its options. Commands for assets, media and workspaces have pages of their own, listed in the first table.
Every example assumes you have installed the CLI and signed in.
Command groups
| Group | What it does | Where it is documented |
|---|---|---|
auth | Sign in, show and remove profiles | CLI |
projects | Create, read, update and delete projects | This page |
sessions | Generation sessions inside projects | This page |
workflows | Manage, export, import, run and share workflows | This page |
apps | Browse and run published apps | This page |
nodes | List node types and run a single node | This page |
models | Browse the model catalog and price identifiers | This page |
billing | Plans and prices, your subscription, your credit usage and history | This page |
pickers | Read picker catalogs and fill pickers from a description | This page |
presets | Your node presets, favorites and folders, and the built-in catalog | This page |
palettes, moodboards | Your color palettes and moodboards for Generate Image | This page |
catalog | Maintain a deployment's catalog packs, offline | This page |
executions, jobs | Inspect, filter, rate and cancel runs | This page |
gallery | The public gallery and your favorites | This page |
webhooks | Endpoints Nodaro calls when a job ends | This page |
video-pro | Stop and continue Generate Video Pro runs | This page |
prompt | Turn a rough idea into an optimized prompt | This page |
shots | Create and read shot share records | This page |
recast | Plan and render a Recast run, or import a script | This page |
trends | Run a ready-made Nodaro Motion recipe with your own pictures | This page |
cast-swap | Finish a Nodaro Motion Prism draft at Full Quality | This page |
characters, locations, objects | Manage assets and generate their pictures and motion | Asset commands |
voice, media, audio, edit | Revoice, caption, compose and edit media | Media and voice commands |
org, workspace | Organizations, invitations, workspaces and usage reports | Workspaces and organizations |
Options every command accepts
--profile <name>runs the command with a saved profile instead of the default one.--jsonprints machine-readable output, on every command that reads data. See Output and exit codes.--workspace <id>is a global option. It sets the workspace for this command only. See Workspaces and organizations.-vor--versionprints the CLI version.
In the synopses below, <value> is a value you supply, [...] is optional and a|b means one of the listed values.
Projects
nodaro projects list [--json]
nodaro projects get <id> [--json]
nodaro projects create --name <name> [--description <desc>] [--json]
nodaro projects update <id> [--name <name>] [--description <desc>] [--json]
nodaro projects delete <id> [--json]Sessions
A generation session groups single generations inside a project. Its items are links to your jobs, not copies. See client.sessions.
nodaro sessions list [--project <id>] [--tool <tool>] [--archived] [--limit <n>] [--cursor <c>] [--json]
nodaro sessions get <id> [--json]
nodaro sessions items <id> [--limit <n>] [--cursor <c>] [--json]
nodaro sessions create --tool <tool> [--project <id>] [--title <title>] [--json]
nodaro sessions update <id> [--title <title> | --untitled] [--archive | --unarchive] [--cover <jobId> | --auto-cover] [--json]
nodaro sessions import <id> --jobs <id,id,...> [--json]
nodaro sessions remove <id> <jobId> [--json]
nodaro sessions delete <id> [--json]importlinks jobs into the session. It is all or nothing: one job that is not yours fails the whole call.removeremoves the link only. The job stays, and so do other sessions that hold it.deletedeletes the session. Its jobs are kept.update --coverpicks one of the session's items to lead its previews.--auto-covergoes back to the newest items.
Workflows
nodaro workflows list --project <projectId> [--json]
nodaro workflows get <id> [--json]
nodaro workflows create --project <projectId> --name <name> [--file bundle.json] [--json]
nodaro workflows update <id> [--name <name>] [--file nodes-edges.json] [--json]
nodaro workflows delete <id> [--json]
nodaro workflows export <id> [--with-assets] [--output bundle.json]
nodaro workflows import <file> --project <projectId> [--json]
nodaro workflows run <id> [--watch] [--node n1 n2 ...] [--json]
nodaro workflows run <id> --continue-from <executionId> --from-failed [--node n1 n2 ...] [--idempotency-key <key>] [--watch]
nodaro workflows run <id> --continue-from <executionId> --node n1 n2 ... [--override n1.quality=final ...] [--watch]
nodaro workflows run <id> --next <json|file|-> [--idempotency-key <key>] [--watch]
nodaro workflows render-final <id> --from <executionId> [--render <nodeId>] [--estimate] [--watch] [--json]| Option | What it does |
|---|---|
create --file | Creates the workflow from an exported workflow bundle. |
update --file | Writes the nodes, edges and settings in a JSON file to the workflow. |
export --with-assets | Adds the character, object and location data the workflow uses to the bundle. |
export --output | Writes the bundle to a file instead of printing it. |
run --node | Runs only the listed node ids, separated by spaces. |
run --watch | Follows the execution until it finishes. |
run --continue-from --from-failed | Continues a failed run from where it stopped. Without --node, it considers the nodes the first run was started on, plus every node left failed. With --node, every node named counts: one that no run of the chain ever ran runs and is charged. A source, a trigger or a skipped node never runs. See Continue a failed run. |
run --continue-from --node | Runs only the named nodes, continuing a completed run. Every other node hands on that run's results. |
run --override | A per-node setting for this run only, written nodeId.field=value. Repeat it for more settings. |
run --idempotency-key | Sent as the Idempotency-Key header (8 characters or more). The same key twice starts one run. |
run --next | Sends the next of a continuation_preview_pending answer exactly as given. A refused --from-failed prints the command that finishes the held run. |
render-final | Renders a run that stopped at a Preview at Final, then runs every node after it, continuing that run. --render defaults to the workflow's only render. --estimate quotes the nodes and credits and runs nothing. |
The bundle format is the same one the editor exports. See Import and export workflows.
Share and move workflows
These commands work on instances with organizations and workspaces.
nodaro workflows share <id> [--visibility workspace|private] [--json]
nodaro workflows move <id> --project <projectId> [--json]
nodaro workflows shared-with-me [--json]
nodaro workflows mcp-conversations [--month YYYY-MM] [--source claude,claude-code,chatgpt] [--json]
nodaro workflows collaborators list <id> [--json]
nodaro workflows collaborators add <id> (--user <userId> | --email <email>) --role viewer|editor [--json]
nodaro workflows collaborators update <id> <userId> --role viewer|editor [--json]
nodaro workflows collaborators remove <id> <userId> [--json]sharesets who in the workspace can see the workflow. The default visibility isworkspace.collaborators add --emailmatches the address of any Nodaro account, whatever its organization. An address with no account answers404.mcp-conversationslists your MCP conversations of one month, each a workflow an assistant built. The default month is the latest month that has any.--sourcekeeps only some assistants. See MCP conversations become workflows.movefiles the workflow in another project. A move to another workspace removes the workflow's collaborators, and the result names who lost access.
Apps
An app is a workflow wrapped in a curated form of inputs and outputs. See Apps.
nodaro apps list [--search <query>] [--limit <n>] [--cursor <token>] [--category <slug>]
nodaro apps get <slug> # input schema and outputs
nodaro apps run <slug> --input prompt="..." [--watch]
nodaro apps run <slug> --params-file inputs.json [--watch]
nodaro apps run <slug> --input prompt="..." --override <nodeId>.<field>=<value>
nodaro apps runs <slug> [--limit <n>] [--cursor <token>] [--json] # your past runs
nodaro apps run-get <slug> <runId>
nodaro apps run-retry <slug> <runId> [--dry-run] [--app-version <n>] [--watch] [--json]apps listreturns up to 50 apps per page. Pass the--cursorfrom one page to get the next.apps getshows the app's input names. Use them as the keys of--input.--inputsets one app input. Repeat it for each input, or put all of them in a JSON file with--params-file.apps run-retryretries a failed run from where it stopped. Only the steps it did not complete run, and only those are charged. Every step it completed hands on its result. It runs the version the run ran, with the inputs the run applied, and takes no inputs of its own. See Retry a failed run.--dry-runlists the steps the Retry would run and what it would charge, and starts nothing.--app-versionis the app version you expect the Retry to run. The default is the app's latest. When the app changed since the run, the Retry is refused withapp_run_version_changed. The CLI then prints both ways on: start over withnodaro apps run, or continue on the run's own version with--app-version <that version>. A run that was stopped rather than failing is started over.--overridesets a raw node field for this run only, as<nodeId>.<field>=<value>. It reaches fields the app does not expose, such aspromptPrefix. See Prompt pre and post text.
An override can never change where an outbound node sends or fetches, such as a Webhook Output address. The run is refused with locked_field instead.
Nodes
nodaro nodes list [--category <category>] [--json]
nodaro nodes get <type> # full input schema
nodaro nodes run <type> --param prompt="..." --param provider=flux [--watch]
nodaro nodes run <type> --params-file body.json [--watch] [--poll-interval 1000]
nodaro nodes run generate-image --param prompt="..." [--count 1-4] [--models <id,id,...>] [--watch]--categoryis one ofinput,parameter,ai-image,ai-video,ai-audio,ai-text,processing,composition,output,control,entity,triggerorutility.nodes getprints the input schema of one node type: the fields--paramaccepts.nodes runposts to the node's own route,POST /v1/<type>for most node types. Some node types, such asllm-chatand the Suno nodes, have a route of their own, and the CLI uses it for you. A node type that cannot run on its own, such asmodify-imageorpaint-mask, fails before the API is called, and the message names what to run instead. See Run nodes.--watchpolls the job until it finishes, when the response has a job id.--poll-intervalsets the polling interval in milliseconds. The default is 2000.
The syntax of --param and --params-file is on Parameters and input files.
For example, Video Depth turns a clip into a depth video, near bright and far dark:
nodaro nodes run video-depth --param videoUrl=https://cdn.example.com/clip.mp4 --param colormap=turbo --watchSeveral images in one call
On generate-image only, --count <n> makes 1 to 4 images, each its own job. --models a,b runs the same request on 2 to 4 image models instead of provider. With both, --count applies per model, up to 8 images. The batch is checked against your balance and charged as a whole or not at all.
nodaro nodes run generate-image --param prompt="a lighthouse at dusk" --count 4 --watch
nodaro nodes run generate-image --param prompt="a lighthouse at dusk" --models gpt-image-2,flux-2-max --count 2 --watchThe CLI prints every job id, grouped by model, and the batch id. --watch follows every job until each one settles. It exits with 0 when all completed, 2 when any failed or was cancelled, and 3 when the rest completed and some wait for review. --json --watch prints every final status. The flags win over count and models in --param or --params-file.
Models
nodaro models list [--kind image|video|audio] [--mode <mode>] [--family <vendor>] [--featured] [--json]
nodaro models cost <id…> [--json]--modefilters by operation, such ast2i,i2v,t2vortts.--familyfilters by model maker, such asGoogleorBytedance.--featuredshows featured models only.
The table shows each model's id, kind, family, maker, modes and credit tiers. The maker is the company that made the model, or - for a model that the instance offers under its own label. The table also marks featured models, and the model families for which Nodaro has sourced prompt guidance. --json returns the full capability sheets, credit pricing and prompt tips. It also returns each model's maker as { id, name }, absent on an own-label model, and the maker's logoUrl, which is null when the instance publishes no mark. Browse the same catalog in Models.
models cost prints what each identifier is charged, from POST /v1/credits/model-costs. An identifier is a model id, a credit id, or a metered LLM price key, <feature>:<model>[:direct | :effort-<level>]. A metered LLM call is charged for the tokens it uses, so its figure is an estimate and prints as ≈N. An identifier with no price prints - and the reason. See LLM calls.
Billing
These commands read plans and prices, your subscription, and your credit usage and history. Buying and changing a plan stay in the Nodaro app.
nodaro billing plans [--base-url <url>] [--json]
nodaro billing subscription [--json]
nodaro billing account [--json]
nodaro billing surface [--base-url <url>] [--json]
nodaro billing summary [--since <when>] [--until <when>] [--bucket day|week|month] [--json]
nodaro billing history [--kind <k>] [--model <id>] [--since <iso>] [--until <iso>] [--search <words>] [--limit <n>] [--cursor <c>] [--csv] [--json]| Command | What it shows |
|---|---|
billing plans | The plans and credit packs on sale, with their prices. Nodaro Cloud only. No sign-in is needed. |
billing subscription | Your subscription, and the tier your account's entitlements follow. Nodaro Cloud only. |
billing account | Your plan and balance, as the deployment's billing provider reports them, in its unit. |
billing surface | How the deployment bills: whether it meters usage, and the unit costs are shown in. No sign-in is needed. |
billing summary | Your credit usage over a period, the last 30 days by default: totals, by model, by category, over time, by session and by workflow. Nodaro Cloud only. |
billing history | Every movement of your balance, newest first, with the balance after each. --csv prints the whole filtered history as CSV. Nodaro Cloud only. |
plans and surface send no credential. They ask the instance in --base-url, else the profile's instance, else https://app.nodaro.ai. plans and subscription answer 404 on a self-hosted instance, which has no billing. See client.billing for the fields, and Usage summary and Every movement of your balance for what summary and history read.
Pickers
Pickers are the Creative Controls nodes, such as Mood and Framing. These commands read their catalogs of valid values. See Picker catalogs.
nodaro pickers list [--json]
nodaro pickers get <nodeType> [--full] [--category <c>] [--field <f>] [--json]
nodaro pickers analyze "<text>" [--target <types>] [--instructions <text>] [--model <id>] [--effort <level>] [--json]| Command or option | What it does |
|---|---|
pickers list | Lists every picker node type, its number of options, and how many options have a picture. |
pickers get | Returns one catalog. Each option carries id, label, category, term, icon and, when it has a picture, imageUrl. |
--full | Adds each option's description and the prompt fragment it adds. |
--category | Filters a single-dimension picker to one category. |
--field | Returns one dimension of a multi-dimension picker, such as shotSize of Framing. |
pickers analyze | AI Fill: chooses picker values from a free-text description. It is an LLM call, billed in credits. |
--target | A comma-separated list of picker node types to fill. The default is every picker that can be analyzed. |
term is the short professional phrase that Compact hint mode adds to a prompt. It is empty for a no-op option such as auto or none. Person and Styling also return sections: their topics, each with a round picture.
Presets
A preset is a node's saved settings. These commands manage your presets, your favorites and your folders, and read the built-in catalog. See Presets.
nodaro presets list [--node-type <type>] [--factory [--base-url <url>]] [--json]
nodaro presets create --node-type <type> --name <name> (--data <json> | --data-file <path|->) [--description <text>] [--group <id>] [--tag <t>]... [--preview-url <url>] [--json]
nodaro presets update <id> [--name <name>] [--description <text>] [--data <json> | --data-file <path|->] [--group <id> | --no-group] [--tag <t>]... [--preview-url <url> | --no-preview-url] [--expected-updated-at <iso>] [--json]
nodaro presets delete <id> [--expected-updated-at <iso>] [--json]
nodaro presets export [--node-type <type>] [--output <file>]
nodaro presets import <file|-> [--json]
nodaro presets favorites --node-type <type> [--json]
nodaro presets favorite <presetId> --node-type <type> [--json]
nodaro presets unfavorite <presetId> --node-type <type> [--json]
nodaro presets groups list [--node-type <type>] [--json]
nodaro presets groups create --node-type <type> --name <name> [--kind folder|section] [--sort-order <n>] [--json]
nodaro presets groups update <id> [--name <name>] [--sort-order <n>] [--json]
nodaro presets groups delete <id> [--json]| Command or option | What it does |
|---|---|
list --factory | Lists the built-in catalog for --node-type. No sign-in is needed. --base-url asks another instance. The photos column is how many reference photos a preset works from, and preview says whether it has an example picture. |
list | Without --factory, lists your own presets. It needs a profile. |
create --preview-url | An image already stored on this platform: an upload or a finished result. |
update --expected-updated-at, delete --expected-updated-at | Refuse the change when the preset changed since that time. |
export | Writes your presets as a JSON file that import accepts. |
import | Reads that file, or a JSON list of presets, from a path or from standard input. |
favorite, unfavorite | Add or remove a favorite: a built-in id or one of your preset ids. |
groups | Lists, creates, renames and deletes your folders and sections. A bare groups lists them too. Deleting a folder moves its presets out of it. |
Reordering is a drag in the editor. Scripts use the SDK's presets.reorder().
Palettes and moodboards
Save your own colors and style references, then use one on generate-image. A palette goes in direction.colorLook as palette:<id>, and a moodboard goes in direction.style as moodboard:<id>. See palettes and moodboards in the SDK reference.
nodaro palettes list [--limit <n>] [--cursor <c>] [--json]
nodaro palettes get <id> [--json]
nodaro palettes create --name <name> --colors <#hex,#hex,...> [--description <text>] [--json]
nodaro palettes update <id> [--name <name>] [--colors <#hex,...>] [--description <text> | --clear-description] [--json]
nodaro palettes delete <id> [--json]
nodaro moodboards list [--limit <n>] [--cursor <c>] [--json]
nodaro moodboards get <id> [--json]
nodaro moodboards create --name <name> --image <url[|caption]>... [--description <text>] [--json]
nodaro moodboards update <id> [--name <name>] [--description <text> | --clear-description] [--image <url[|caption]>...] [--json]
nodaro moodboards delete <id> [--json]- A palette has 2 to 12 colors.
- A moodboard has 1 to 12 images. Repeat
--imagefor each one, with an optional caption after|. Onupdate,--imagereplaces all the images. - Deleting a moodboard leaves the linked images untouched.
nodaro palettes create --name Harbour --colors "#0F4C5C,#E3B23C,#F28C7A"
nodaro nodes run generate-image --param prompt="a lighthouse at dusk" --param 'direction={"colorLook":"palette:<paletteId>"}' --watchCatalog packs
A deployment can curate the picker catalogs with vendored catalog packs. These commands maintain such packs. They work offline on files and need no sign-in.
nodaro catalog snapshot --in <file>
nodaro catalog diff-upstream --baseline <f> --upstream <f> --pack <f> [--write <f>]
nodaro catalog validate --pack <file> [--exempt es,fr,...]snapshotprints a full-detail/v1/catalogsprojection of a file, with its translation files, as JSON.diff-upstreamis a three-way merge. It carries upstream edits into the entries you left unchanged, with their strings in the 11 translated locales. It reports conflicts, where you and upstream both changed an entry, and keeps your version. It lists new upstream entries and upstream removals, and never adds anything by itself. It exits with code 2 when there are conflicts.validatechecks that a pack snapshot has translations in all 11 translated locales, or declares exemptions with--exempt. It exits with code 1 when a locale that is not exempt is missing a translation.
Executions and jobs
An execution is one run of a workflow or an app. A job is the work of one node, such as one image generation. nodaro nodes run returns a job.
nodaro executions get <id> [--watch] [--json]
nodaro executions cancel <id> [--mode cancelled|stopping]
nodaro jobs list [--status <s,s>] [--type <t,t>] [--origin <app>] [--source <s,s>] [--favorited | --no-favorited] [--rating good|bad|rated|unrated] [--limit <n>] [--cursor <c>] [--json]
nodaro jobs get <id> [--json]
nodaro jobs rate <id> good|bad|clear [--json]
nodaro jobs rename <id> <title> [--json]
nodaro jobs rename <id> --clear [--json]
nodaro jobs cancel <id> [--json]executions get --watchpolls until the execution is completed, failed or cancelled.executions cancel --mode cancelled, the default, stops the run at once.--mode stoppinglets the current level of nodes finish first.jobs listlists your jobs, newest first.--status,--typeand--sourcetake a comma-separated list.--source mcplists what your MCP clients, such as Claude or ChatGPT, made.--no-favoritedkeeps the jobs you did not favorite. Every filter combines with the others.jobs ratesets your rating of one of your jobs.clearremoves it.jobs renamenames one of your jobs, in one line of up to 120 characters. The name reads back astitle.--clearremoves it.
Gallery
nodaro gallery browse [--type image|video|audio] [--user <id> | --favorites] [--limit <n>] [--cursor <c>] [--json]
nodaro gallery favorite <jobId> [--json]
nodaro gallery favorites [--json]browse --usershows one person's work. Your own id includes your private items.browse --favoritesshows only your own items that you favorited.favoritetoggles: it favorites the job, or removes the favorite when the job already is one.favoritesprints your favorited job ids, newest first.
Webhooks
A webhook endpoint is an https address that Nodaro calls, with a signed POST, every time one of your jobs ends with job.completed or job.failed. See Webhooks for the events, the body and how to check the signature.
nodaro webhooks list [--json]
nodaro webhooks get <id> [--json]
nodaro webhooks create --url <https-url> [--events job.completed,job.failed] [--description <text>] [--json]
nodaro webhooks update <id> [--url <https-url>] [--events <list>] [--description <text> | --clear-description] [--enable | --disable] [--json]
nodaro webhooks delete <id> [--json]
nodaro webhooks rotate-secret <id> [--grace <seconds>] [--json]
nodaro webhooks deliveries <id> [--status pending|delivered|failed] [--limit <n>] [--cursor <c>] [--json]
nodaro webhooks test <id> [--wait] [--poll-interval <ms>] [--json]| Command | What it does |
|---|---|
create | Registers an endpoint and prints its signing secret (whsec_…) once. Store it. With --json, the output is { data, secret }. |
update --enable | Switches the endpoint on. It also clears an automatic switch-off, which happens after 50 deliveries in a row fail for good. |
delete | Deletes the endpoint and its delivery log. |
rotate-secret | Prints a new secret once. The old secret keeps signing for --grace seconds. The default is one day, and 0 stops the old secret at once. |
deliveries | Lists the delivery log, newest first. |
test | Sends a ping, tried once, even when the endpoint is switched off. --wait follows that delivery and shows how your server answered. |
Generate Video Pro run control
Generate Video Pro makes a long video one segment at a time, so you can stop a run and continue it later. It runs on Nodaro Cloud; a self-hosted install runs it through its connection to Nodaro Cloud.
nodaro video-pro stop <jobId> [--json]
nodaro video-pro continue <jobId> [--from-segment N] [--watch] [--poll-interval <ms>] [--json]stopends the run gracefully. The completed segments are kept and delivered, and the rest of the reservation is refunded. The segment in progress is still billed.continuestarts a new job that regenerates from segmentN. The default is the first segment that was not delivered. You pay only for the regenerated segments plus the flat Pro fee.
Prompt wizard
The prompt wizard turns a rough idea into an optimized prompt for a node type, such as generate-image.
nodaro prompt wizard [--node-type <type>] [--prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--advanced] [--temperature <n>] [--max-tokens <n>]
nodaro prompt analyze --node-type <type> [--prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--advanced] [--temperature <n>] [--max-tokens <n>] [--json]
nodaro prompt generate --node-type <type> --selection category=value [--selection ...] [--original-prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--advanced] [--temperature <n>] [--max-tokens <n>] [--json]
nodaro prompt enhance --node-type <type> [--prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--advanced] [--temperature <n>] [--max-tokens <n>] [--json]| Command | What it does |
|---|---|
prompt wizard | Asks guided questions in the terminal. Without --node-type, it first asks which node the prompt is for. It needs an interactive terminal. |
prompt analyze | Returns the wizard's guided questions, for a script. |
prompt generate | Builds the final prompt from your answers. Repeat --selection category=value once per answer. |
prompt enhance | Rewrites a prompt in one step, without questions. |
--reasoning-effortisnone,low,medium,high,xhighormax. Support depends on the model; an unsupported or omitted value uses the model's default. The call is charged for the tokens it uses, at the model's rate, so a higher effort costs more only through the tokens it writes. On a Claude model, any effort runs on Anthropic's own API, at that lane's rate.--advancedworks with Gemini and Claude models. It runs the request on the model maker's own API. It enables--temperature,--max-tokensand the full reasoning range, and the call is charged at that lane's rate.
Shots
A shot is a saved builder state: picker selections, prompts, chosen models and asset references. Shots power share links and one-click remixing.
nodaro shots get <id> [--json]
nodaro shots create [--file shot.json] [--visibility private|public] [--json]
nodaro shots update <id> [--file fields.json] [--visibility private|public] [--json]
nodaro shots delete <id>A new shot is private unless you set --visibility public. Anyone who holds the id of a public shot can read it.
Recast
Recast regenerates an analyzed video with your own cast. You can also import a script you wrote and render it as a recast. The recast commands work on Nodaro Cloud only.
nodaro recast skill
nodaro recast validate --file script.json [--json]
nodaro recast import --file script.json --rights-attested [--json]
nodaro recast estimate --analysis-job <id> [--fidelity faithful] [--resolution <r>] [--segment-sec <n>] [--json]
nodaro recast create --workflow <id> --analysis-job <id> [--rights-attested] [--fidelity faithful] [--resolution <r>] [--segment-sec <n>] [--json]
nodaro recast start <recastId> [--segment-sec <n>] [--json]
nodaro recast status <recastId> [--json]| Command | What it does | Cost |
|---|---|---|
recast skill | Prints the authoring guide for writing a script, as Markdown. | Free |
recast validate | Checks a script. It exits with code 1 while the script is invalid. | Free |
recast import | Imports a validated script as a completed analysis. --rights-attested states that the script is your own work. An authored recast renders Faithful, exactly as written. | Free |
recast estimate | Quotes a run in credits. | Free |
recast create | Buys the plan and returns the run id. Run estimate first. | Credits |
recast start | Renders a planned run. Running it twice does no harm. | Covered by the plan |
recast status | Shows the status and any interactive step that waits for you. | Free |
--segment-sec in CLI 1.24.0. The Recast routes take a pack name for the segment setting: scenes-max (the fewest seams), scenes (shorter parts) or max (the longest parts the model allows). CLI 1.24.0 sends --segment-sec as a number, so it cannot send a pack name, and a number such as 10 is refused with 400 validation_error. Leave the option out, and the server uses its default, scenes-max. To choose another pack, call the Recast API.
See Recast for how a recast works, and the Recast API for the endpoints behind these commands.
Trends
A trend is a ready-made Nodaro Motion recipe: a short clip with slots for the people, pets, products and place that you fill with your own pictures. The trend commands work on Nodaro Cloud only.
nodaro trends list [--search <text>] [--tag <tag>] [--favorites] [--locale <l>] [--limit <n>] [--cursor <c>] [--json]
nodaro trends get <slug> [--locale <l>] [--json]
nodaro trends estimate <slug> --slot <key>=<url>[,<url>] [--slot ...] [--choice <key>.<chip>=new|original] [--example <n>] [--details "…"] [--preview] [--resolution 480p|720p|1080p] [--draft] [--json]
nodaro trends run <slug> [the estimate options] [--session <id>] [--idempotency-key <key>] [--json]
nodaro trends runs [--trend <slug>] [--limit <n>] [--cursor <c>] [--json]
nodaro trends favorite <slug>
nodaro trends unfavorite <slug>| Command | What it does | Cost |
|---|---|---|
trends list | Lists the published trends. --limit runs from 1 to 60. | Free |
trends get | Shows a trend's slots (key, kind, required), examples, preview, engine and resolutions. | Free |
trends estimate | Quotes a run: about how many credits it costs, and how many are held while it runs. | Free |
trends run | Starts a run and prints the job id. Follow it with nodaro jobs get <id>. Run estimate first. | Credits |
trends runs | Lists your trend runs, newest first. The credits column is what each run was charged once settled, every step it ran included: its reference preparation, mask and video. It is empty until the run's own hold settles. | Free |
trends favorite, trends unfavorite | Adds a trend to your favorites, or removes it. | Free |
--slotrepeats, one per slot, with 1 to 3 pictures each. Pictures are split where a new http or https URL starts, so a URL that holds commas stays whole. A slot key is 1 to 32 characters of a to z, 0 to 9 and_.--choicekeeps a trait of the clip (original) or makes it new from your pictures (new): a person'sbody,outfitorhair, a pet'sbodyorcoat, a product'sshapeorfinish.--resolutionis one of the resolutions the trend offers, astrends getshows them. The default is the trend's first: 480p, or 720p on a Nodaro Motion Pulse trend.- A run is plain unless you pass
--draft.--draftmakes a 480p draft that Full Quality can finish at 1080p, on a Nodaro Motion Prism trend only.--no-draftis still accepted. --sessionis accepted, but not applied yet: trend runs are not filed into sessions yet.
See the Trends API for the endpoints behind these commands.
Nodaro Motion Full Quality
A Nodaro Motion Prism draft can be finished at 1080p, as the same take, within 7 days after it completed. A draft is a Nodaro Motion or trend run made with draft: true, or with --draft on the trends commands. A plain run and every Nodaro Motion Pulse run have no Full Quality: run them again at 1080p instead. The commands keep the name cast-swap, and they work on Nodaro Cloud only.
nodaro cast-swap full-quality estimate <jobId> [--json]
nodaro cast-swap full-quality run <jobId> [--session <id>] [--json]| Command | What it does | Cost |
|---|---|---|
cast-swap full-quality estimate | Quotes the Full Quality version: about how many credits it costs, each part of the quote by label, and until when the run can be finished. The 1080p render is 0 when an earlier try's render is reused. | Free |
cast-swap full-quality run | Starts it and prints the new job id. Follow it with nodaro jobs get <id>. Run estimate first. | Credits |
There is one Full Quality per draft. When it already exists, run prints that job and charges nothing. full_quality_pending means an earlier try's 1080p render is being reviewed, or has not started yet. It is not final: run the command again later. See Full Quality.
Frequently asked questions
How do I list every node type the Nodaro CLI can run?
Run nodaro nodes list. Add --category ai-image, or another category, to filter the list, and run nodaro nodes get generate-image to see the full input schema of one node type.
How do I run only some nodes of a workflow from the CLI?
Add --node to nodaro workflows run, followed by the node ids separated by spaces. Only those nodes run.
How do I stop a running workflow from the terminal?
Run nodaro executions cancel with the execution id. The default mode, cancelled, stops the run at once. With --mode stopping, the current level of nodes finishes first.
How do I generate several images with one CLI command?
Run nodaro nodes run generate-image with --count (1 to 4 images) or --models with 2 to 4 image model ids. Add --watch to follow every job until each one settles.
Which Nodaro CLI commands need Nodaro Cloud?
The recast, trends and cast-swap commands run on Nodaro Cloud only. So do characters train, training and delete-lora, and billing plans, subscription, summary and history. Generate Video Pro run control also works on a self-hosted install, through its connection to Nodaro Cloud.
How do I get a call on my server when a job finishes?
Run nodaro webhooks create --url with your https address. The CLI prints the endpoint's signing secret once. Run nodaro webhooks test with the endpoint id and --wait to see how your server answered.
Related
CLI
Parameters and input files
Output and exit codes
Asset commands
Workflows
Last updated on
CLI
Install the Nodaro CLI with npm or as a standalone binary, sign in once per instance, and run workflows, apps and single nodes from a terminal or a CI job.
Parameters and input files
How the Nodaro CLI turns repeated --param and --input key=value pairs into a request body, how values get their type, and when to send a JSON file instead.