Skip to content

Runs, cache and cost

Building a graph and generating its media are separate actions. A graph run follows the selected node’s dependencies and does the work needed to produce its result.

The selected node can depend on several upstream nodes. Running Video may first write text or generate its opening image. Review the plan and total estimate, not just the final node’s price.

Through MCP, use price_quote with tool: "run_node" and the intended node and mode. The quote reflects the current graph. A paid run needs a max_cost_usd ceiling at least as large as that estimate; an insufficient ceiling causes refusal before requests begin. If the graph or settings change, request a new quote.

Reuse and regenerate have different intent

Section titled “Reuse and regenerate have different intent”

Run up to this node (up_to) reuses current results and runs work that is missing or stale. Regenerate (regen) asks for a new result at the selected node and can charge again. The cache records completed work for matching inputs; it is not a promise that every repeated command is free.

An old result may still be visible after you change a reference, prompt, model or lore. The freshness indication compares the current inputs with those used for the result. Read it before assuming that a visible clip is the result of your latest changes.

A run follows nodes in a project; get_run reports its progress, saved revision and costs. A job is an asynchronous generation operation, such as making a video or music track; use get_job for a returned job identifier.

A call returning an identifier means work was accepted. It does not mean the media is ready. Use the appropriate status call, then inspect the completed material and read the project back.

stop_run prevents new requests in the run. Already submitted generation can finish and be charged. The stopping response is not the final account of the result; follow get_run and any outstanding job.

An error, stopped or interrupted run does not by itself prove that nothing was charged. not_saved means work was completed but its result did not reach the graph. Read the returned recovery information and billing state before retrying.

Only one graph run can be active for an owner, across that owner’s keys. A busy response supplies a wait or active-run path. Repeated launches do not make the work finish faster.

See run a node through MCP and recover a run for the operating sequence. Some nodes still require the browser; the node reference states the current boundary.

Last checked: 14 October 2026. Estimates and cache checks are time-specific; the actual run and billing records establish what happened.