AI Audit

Re-watch a finished analysis against the actual footage, apply only the corrections the video itself confirms, and disclose every change — and every declined change — in a report.

Overview

Availability. Native on Nodaro Cloud. On a self-hosted install the node appears with a NODARO mark and runs through your nodaro.ai connection — OAuth Connect or a pasted API key — billed to the connected nodaro.ai account. Without a connection the node card shows a Connect nodaro.ai CTA and a run refuses with 503 nodaro_connection_required.

The AI Audit node (video-audit) is a fix-and-disclose quality pass for a Video Analysis result. It re-watches the clip and cross-checks every claim in the analysis against what is actually in the footage. Corrections are applied only when the video itself confirms them, under conservative guards — the audit is never allowed to silently rewrite the analysis. Every outcome of that re-watch is disclosed in a report: what was fixed, what was proposed but declined, and what was merely flagged for a human to look at.

Inputs & Outputs

Inputs:

Handle Required Description
Video Yes A wired upstream video. The audit re-watches this footage, so it cannot run without one. Unlike Video Analysis, there is no YouTube URL alternative on this node — wire an actual video producer or an Upload Video / Video URL input ahead of it.
Analysis No The JSON result from a Video Analysis node — or another AI Audit node’s corrected output — passed through verbatim. Wiring this tells the audit to re-verify that specific analysis against the footage. Leave it unwired and the node runs its own fast analysis first, then audits that.

Outputs:

Handle Description
json The corrected analysis, in the exact same shape as Video Analysis’s output (meta + slots + scenes[]). Wire it anywhere a Video Analysis result is accepted.
text The same corrected analysis as a plain string — wire directly into a prompt/text input (for example Generate Video Pro’s prompt) the same way you would Video Analysis’s text output.

The disclosure report (below) is not a graph output — it rides alongside the job’s result, rendered on the node itself, and available as output_data.report through the API and MCP (get_job after a video_audit call).

Wired but not yet run. If an analysis is wired into the Analysis handle but that upstream node hasn’t produced a result yet, the run is refused rather than silently falling back to auto-running its own analysis at the higher price. Run the upstream analysis first, or disconnect the handle to let AI Audit analyze the clip itself.

Configuration

AI Audit has no configuration fields — no quality tier, no options to pick. The single fact that changes its behavior and its price is structural, not a setting: whether an analysis is wired into the Analysis handle. The node (and its config panel) state this plainly on canvas rather than exposing a knob for it.

Output

The Disclosure Report

Every re-watch verdict lands in the report as exactly one of three kinds — the audit’s fix-and-disclose contract means nothing in the corrected analysis changes without one of these being recorded:

Kind Meaning
Corrected The footage contradicted the analysis and the audit fixed it. Applied under conservative guards, so this only fires when the video itself confirms the change.
Refused The audit considered a change but its guards declined to apply it — not enough evidence in the footage to safely act on it. The analysis is left as-is; the concern is disclosed here so you can judge it yourself.
Watch Something worth a human look, with no proposed change at all — for example, a state that might have silently dropped between scenes. Purely informational.

Each finding names the scene number it concerns (matching the corrected analysis’s own scene numbering), optionally the specific field it’s about, and a plain-language reason. The report also carries a one-line summary — the audit’s overall verdict, shown first — and a flag for whether the run had to analyze the clip itself before auditing it (matching the credit family the run actually billed — see Credit Cost).

A clean audit — nothing to correct, refuse, or watch — is a valid, common result: it means the wired analysis held up against the footage.

Credit Cost

AI Audit is dynamically priced by duration bucket, on the same bucket ladder as Video Analysis — the bucket is the smallest of 60s / 180s / 360s / 600s that fits the video’s probed duration — but split into two families selected by whether an analysis was wired in, not by a quality tier. The table below is published as VIDEO_AUDIT_BUCKET_CREDITS in packages/shared/src/video-analysis-pricing.ts (the credit prices users are charged) — generated and drift-guarded internally, never hand-written.

Family ≤60s ≤180s ≤360s ≤600s
Analysis wired (video-audit) 215 290 663 1073
No analysis wired (video-audit:auto) 396 475 1178 1921

Worked example. A 72-second clip falls in the ≤180s bucket. Wire a finished analysis into the Analysis handle and the audit — a re-check only — costs 290 credits. Leave that handle unwired and the node must run its own fast analysis before it can audit anything, so the same 72-second clip costs 475 credits instead.

Wiring an analysis whenever you already have one is always the cheaper path — the video-audit:auto family’s extra cost is the fast analysis pass it runs on your behalf before auditing, on top of the audit itself.

Limits

Best Practices

Common Use Cases

See Also