> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataspike.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Results & Scoring

> How to read the score and verdict, and how a job moves through queued, completed, and failed.

## Score & verdict

* **`score`** — a `float` from `0` to `1`: the probability that the media is a deepfake (`0` = authentic, `1` = deepfake). Returned only when `status: completed`.
* **`verdict`** — the decision derived from the score: `deepfake_likely` or `deepfake_unlikely`.

<Warning>
  The threshold that converts `score` into `verdict` is fixed on the Dataspike side and **cannot be tuned by the client**.
</Warning>

Forensic flags from the [metadata layer](/deepfake-detection/references/metadata-forensics) are an additional risk signal, not a standalone verdict — a flag raises overall risk but does not by itself mean the media is malicious.

***

## Job lifecycle

Images resolve **synchronously** — the result is in the response. Video and audio are **asynchronous**: submitting returns a `job_id`, and you fetch the result from `GET /job/{job_id}`.

| Status      | Meaning                 | Available fields        |
| ----------- | ----------------------- | ----------------------- |
| `queued`    | Accepted and processing | —                       |
| `completed` | Done                    | `score`, `verdict`      |
| `failed`    | Processing error        | `error_code`, `message` |

<Steps>
  <Step title="queued">
    The job is accepted and in the processing queue. Keep polling `/job/{id}`.
  </Step>

  <Step title="completed">
    `score` and `verdict` are now populated.
  </Step>

  <Step title="failed">
    `error_code` explains why — see [error codes](/api-reference#error-codes).
  </Step>
</Steps>
