NodaroAccount
Nodaro Docs
DocumentationNode ReferenceModelsTemplatesAI Agents (MCP)DevelopersSelf-hostingResearchCompare
Tools reference

Models, credits and presets

List Nodaro models with their capabilities and credit prices, read your balance and spending, and find, save and apply node presets from an AI assistant.

The model, credit and preset tools help an assistant choose and pay for a generation well. list_models returns every model with its capabilities and prices, check_balance and credit_transactions show your credits on Nodaro Cloud, and the preset tools find, save and apply the ready-made configurations of a node.

list_models

Returns the models available on this Nodaro instance, grouped by kind and maker, with a capability sheet for each model. Call it before a generation tool when the user has not chosen a model.

Permission: none, always visible. Credits: free.

ParameterTypeNotes
kindstringimage, video or audio.
modestringOne operation, such as t2i (text to image), i2i, edit, upscale, remove-bg, i2v (image to video), t2v, v2v, extend, motion-transfer, lip-sync, video-upscale, tts, music, sfx, stt, voice-design, voice-changer, voice-changer-pro, isolation, dubbing, forced-alignment, video-analysis or video-audit.
familystringOne maker, such as Google, OpenAI or Bytedance.
featuredOnlybooleanOnly the best model of each tier, as picked by the Nodaro team.
priceIdsstring[]Quotes prices instead of listing models. From 1 to 50 price ids. Nodaro Cloud only. See Look up prices.

Returns: for each model, its maker as { id, name }, the company that made it, and its aspect ratios, resolutions, qualities, durations and features, and on editions with credits, the price of each variant. A model that the instance offers under its own label has no maker. A recommendations list names the best models for common jobs, such as text in images or the cheapest realistic image. Models with model-specific prompting advice, such as Seedance 2.0, also carry promptTips, short rules to apply before a video generation. The maker's logo (logoUrl) is not in this answer: it is for apps that draw a model picker, and GET /v1/models returns it.

A model whose sizes depend on its aspect ratio or its background also carries its size rules, as GET /v1/models does:

  • resolutionsByAspectRatio lists the ratios at which the model renders fewer sizes than resolutions, each with the sizes it renders there. For example, GPT Image 2.5 renders 27:16, 16:27, 9:8 and 8:9 at 1K only. A ratio that is not listed renders every size.
  • transparentResolution is the one size at which a transparent background renders.
  • backgroundOnlyAtTransparentResolution means the model takes a background setting only at that size.

Choose a size that the chosen ratio renders. Any other size runs, and is charged, at the largest size the ratio renders below the one you asked for.

Every model also has a page in the model catalog, with the same prices and more detail.

Look up prices

Pass priceIds to quote prices instead of listing models. The tool answers { "prices": { "<id>": … } }, the same figures as POST /v1/credits/model-costs.

  • An LLM call on any model is quoted by its price key <feature>:<model id>, for example llm-chat:claude-sonnet-5.5 or reduce:pick-best-llm:claude-opus-5.5. Add :direct when the call runs on the model maker's own service, as in Advanced mode. Add :effort-<level> for the effort sent, on models where the effort sets the price.
  • An LLM key answers { "credits": N, "estimate": true }. The figure is a typical call of that feature on that model. The call is charged for the tokens it actually used, so show the figure as ≈N. See How LLM calls are charged.
  • A model with no price yet answers { "error": "llm_model_unpriced" }, and a run on that model is refused.
  • Any other id answers its charged price, { "credits": N }, or { "error": "not_priced" }.
  • An edition without credits refuses the lookup with no_credit_system.

check_balance

Returns your credit balance, split into subscription credits and top-up credits, with their total. It also returns your daily spending cap, your monthly allocation, your tier and the end of the billing period.

Permission: credits:read. Credits: free. Nodaro Cloud only.

This tool has no parameters.

Returns: the balance and plan details.

  • Which credits go first. Subscription credits are spent first. They reset to the plan's monthly allocation every month, on a yearly plan too, and unused ones do not roll over. Top-up credits stay valid for 12 months after purchase.
  • Pay as you go. An effectiveTier of payg means you have no subscription but bought credits. You get every model, no watermark and no daily cap.
  • Shared billing accounts. On a deployment where one billing account pays for everyone, a connected client cannot read that account's balance. The tool answers payer_balance_jwt_only.

credit_transactions

Lists both of your credit ledgers: your purchases and your usage.

Permission: credits:read. Credits: free. Nodaro Cloud only.

ParameterTypeNotes
limitintegerFrom 1 to 100.
cursorstringThe cursor of the previous page of purchases.
usage_cursorstringThe cursor of the previous page of usage.

Returns: two lists.

  • data: your recent purchases, such as subscriptions, top-ups and refunds. Each row has type, amount_usd, credits_granted, tier, created_at and receipt_url, the link to the receipt when there is one. next_cursor pages them.
  • usage: your recent spending, one row for each run your credits paid for. These are the same rows that the REST API lists with GET /v1/credits/transactions, with the same fields. A page holds at most 50 rows, and usage.next_cursor pages them through usage_cursor.

In a usage row:

  • credits_charged is what the run cost. It is null while its credits are still held, and 0 once refunded. Add up this field for your spend.
  • credits_reserved, also credits_used, is the hold taken when the run started. A run that settled below its hold, for example because of a measured length or a re-render ceiling, still shows the whole hold here.
  • action, provider, status (reserved, committed or refunded), metadata, payer and workspaceId are as in the REST API. See Credits.

list_node_presets

Lists presets for a node type: the built-in ones, such as Character Board or Cinematic Portrait, and the ones you saved. A preset is a named configuration of a node, with its model, prompt and settings. Read the full configuration of one preset with get_node_preset.

Permission: presets:read. Credits: free.

ParameterTypeNotes
nodeTypestringThe node type, for example generate-image. Required to include the built-in presets.
sourcestringall (default) for built-in and saved presets, factory for built-in only, custom for yours only. Without nodeType, the tool returns your own presets and a hint.

Returns: the name, id, description and group of each preset. An entry also carries these fields when they apply:

  • needsImage: true and minReferences: the preset works from that many connected photos, for example Reference Sheet, Portrait Transformations or a template that uses {image:N}. Run it with that many reference images.
  • favorite: true: the preset is one of your favorites.
  • previewUrl: an example picture. The in-app assistant does not receive it.

get_node_preset

Returns the full configuration of one preset: its model, prompt, aspect ratio, resolution, quality, negative prompt, and the text it adds before and after the prompt. Use it to apply a preset exactly, either by copying the fields into a generation tool or by passing its id as presetId.

Permission: presets:read. Credits: free.

ParameterTypeNotes
nodeTypestringRequired. The node type, for example generate-image.
presetIdstringRequired. A built-in preset id such as generate-image/location-board, or the id of your own preset.

Returns: the preset's configuration, with minReferences, needsImage, favorite and previewUrl (null when the preset has no picture). It returns an error when the id matches no preset.

save_node_preset

Saves one of your node presets. To create a preset, pass nodeType, name and data, a node configuration such as the one get_node_preset returns. To update a preset, pass presetId and only what changes.

Permission: assets:write. Credits: free.

ParameterTypeNotes
presetIdstringOne of your presets, to update it. Leave it out to create a preset.
nodeTypestringRequired to create, for example generate-image.
namestringRequired to create, up to 120 characters. The name must be unique for the node type, or the call answers name_taken.
descriptionstringOptional, up to 500 characters.
dataobjectThe node configuration, at most 64 KB. Required to create.
previewUrlstring or nullAn example picture: an image already stored on Nodaro, such as an upload or a finished result. null removes it.
expectedUpdatedAtstringThe preset's updatedAt as you read it. The update is refused with conflict when the preset changed since.

Returns: the saved preset's id, name, needsImage, minReferences, previewUrl and updatedAt. The same action is available as POST /v1/node-presets and PATCH /v1/node-presets/:id.

delete_node_preset

Deletes one of your presets. Built-in presets cannot be deleted. A preset that is not yours answers not_found.

Permission: assets:write. Credits: free.

ParameterTypeNotes
presetIdstringRequired. One of your presets.
expectedUpdatedAtstringThe preset's updatedAt as you read it. The delete is refused when the preset changed since.

favorite_node_preset

Adds a preset to your favorites, or removes it with favorite: false. The preset can be a built-in one, such as generate-image/character-board, or one of your own. Favorites come first in the editor's preset list. Running the tool twice has the same effect as running it once.

Permission: assets:write. Credits: free.

ParameterTypeNotes
nodeTypestringRequired. The node type, for example generate-image.
presetIdstringRequired. A preset id from list_node_presets.
favoritebooleanDefault true. false removes the preset from your favorites.

No tool manages preset folders, the order of presets or bulk import. Those organize the editor's lists, and the REST API, the SDK and the CLI offer them.

Apply a preset to a generation

generate_image, generate_video, generate_music, generate_speech and text_to_audio accept presetId. Nodaro applies the preset's configuration on the server, and every field you pass yourself overrides it. When the preset contains a prompt, you can leave prompt out. The preset's text before and after the prompt wraps your own prompt. On generate_image, a preset is applied exactly as the editor applies it, and a placeholder with no default needs a value in variables. See Apply a preset.

On generate_speech, a preset tunes the delivery, such as speed, stability and style, and text is still required. Read more about presets in Presets.

Frequently asked questions

How does an assistant choose the right model?

It calls list_models, filtered by kind and mode, for example image and t2i. The answer lists every model's aspect ratios, resolutions, durations, features and prices, plus recommendations such as the best model for text in images.

Can an assistant see how many credits I have?

Yes, on Nodaro Cloud, when you granted the credits permission. check_balance returns your subscription and top-up credits, your tier and your daily cap.

Does credit_transactions show what each generation cost?

Yes. Besides your purchases, it returns usage, one row for each run your credits paid for. Add up credits_charged in those rows for your spend, because credits_reserved is the hold, which can be higher.

How do I use a node preset through MCP?

Find its id with list_node_presets, then pass presetId to generate_image, generate_video, generate_music, generate_speech or text_to_audio. Fields you pass yourself override the preset.

Can an assistant save a node preset for me?

Yes. save_node_preset creates or updates one of your presets from a node configuration, delete_node_preset removes one, and favorite_node_preset adds a preset to your favorites. All three need the assets:write permission.

Last updated on

On this page