~/docs cat reading-the-result.md
Reading the result
Every other field
| Field | Meaning |
|---|---|
summary | One sentence a person can read, matching the verdict. Safe to show as is. |
credits_used | What this run actually cost. Prefer it over any estimate. |
zero_charge_reason | Only when nothing was charged: "sandbox" for a sandbox key, "duplicate" for the same file, byte for byte, from the same account within 30 days. |
threshold_used | Video. The line the per-frame scores were judged against on this run. Draw it on the chart. |
frames[].cause | Video. Why a frame has no score, for example timeout or no_face. Only beside a null score. |
segments | Audio. One value per window of the recording; null on an abstained window, with reason_codes saying why. |
source.truncated | Link. True only when just the front of the media was fetched and scored; a long video is sampled across its length instead. |
id | The detection id. Keep it for retrieval, tracing and support. |
status | Always completed. The answer arrives in the same request. |
created_at | When the run finished. RFC 3339 with a Z. |
media | What was checked: type, filename, mime_type and bytes. |
model | The model that answered: Eva V1.6. |
Turning scores into decisions
Branch on verdict. It is the decision the platform made for you, and it stays correct as the models change. If your flow needs its own cut-off, for example a stricter bar for high-value accounts, use score and set the line yourself; sort a review queue on it, highest first. For video, the per-frame scores are evidence about moments in the clip; the verdict is about the whole clip. Show the timeline to a reviewer, but decide on the verdict.