Nodaro Docs
DocumentationNode ReferenceModelsAI Agents (MCP)DevelopersSelf-hostingResearch
CLI

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.

Parameters are the values you pass to a run on the command line. nodaro nodes run takes them as --param key=value and nodaro apps run as --input key=value. Both flags repeat, both follow the same rules, and a JSON file with --params-file covers anything that does not fit on a flag.

Write key=value pairs

Repeat the flag once per value. Quote a value that contains spaces, so the shell passes it as one argument.

nodaro nodes run generate-video \
  --param prompt="a paper boat drifting down a rainy street" \
  --param provider=seedance-2-fast \
  --param duration=8

The CLI gives each value a type before it sends the request:

You typeThe request body gets
true or falseA boolean
nullnull
A whole number, such as 8A number
A decimal number, such as 0.5A number
A value that starts with [ or { and is valid JSONA JSON array or object
Anything elseA string

Only the first = separates the key from the value. The rest of the text is kept, so --param query=a=b=c sends the string a=b=c.

An inline JSON array looks like this. Wrap the pair in single quotes, so the shell keeps the double quotes:

nodaro nodes run generate-image --param prompt="the same mug on a marble counter" --param 'referenceImageUrls=["https://example.com/mug-front.png","https://example.com/mug-side.png"]'

To find the keys a node accepts, run nodaro nodes get <type>. For an app, run nodaro apps get <slug>.

Send a JSON file

For nested objects, long arrays or any value that does not fit the flag form, write the whole body to a JSON file and pass it with --params-file. The file must contain one JSON object.

cat > body.json <<'EOF'
{
  "prompt": "a lighthouse on a cliff at dawn, cinematic",
  "provider": "flux",
  "aspectRatio": "16:9"
}
EOF

nodaro nodes run generate-image --params-file body.json --param aspectRatio=9:16

Flags override the file. In this example, the run uses the 9:16 aspect ratio from the flag, and the rest of the body from the file.

Set app inputs and raw node fields

nodaro apps run takes the app's input names as keys:

nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" --watch

--override reaches node fields that the app does not expose, for this run only. Write it as <nodeId>.<field>=<value>:

nodaro apps run hair-styler-dd3erw --input prompt="curly red hair" \
  --override n1.promptPrefix="Studio portrait of" --override n1.promptSuffix=", 85mm, soft light"

This example wraps the user's prompt with hidden text before and after it. See Prompt pre and post text. An override can never change where a node sends or fetches data, such as the address of a Webhook Output node; the run is refused with locked_field.

Run input and source nodes

Input and source nodes run the same way. Web Scrape, web-scrape, takes its source as actor: google-search, content-crawler, rss or tiktok.

# Google Search results
nodaro nodes run web-scrape --param actor=google-search --param query="running shoes" --param maxResults=5

# The text of one web page, as Markdown
nodaro nodes run web-scrape --param actor=content-crawler --param url=https://example.com --param mode=page

On a self-hosted install, Web Scrape needs APIFY_API_TOKEN on the server, or a connection to Nodaro Cloud that runs and bills the scrape.

Frequently asked questions

Last updated on

On this page