---
title: "Compare a video's master with its reference (quoted; advisory)."
method: POST
path: "/trailers/{jobId}/reference-check"
tags: ["Trailer"]
---

# Compare a video's master with its reference (quoted; advisory).

`POST /trailers/{jobId}/reference-check`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/trailers/{jobId}/reference-check`
- Auth: HTTP bearer

Comparing with the reference measures the video's latest master (its preview, or its finish) — cuts, brightness, motion, pace, loudness and format — against the chosen reference and gives an advisory score out of 100. It never blocks approval, finishing or export. It uses 2 units of the shared monthly reference allowance, so it is asked first: without confirmed it quotes, with confirmed: true it starts. `{}` answers the quote and starts nothing; `{ confirmed: true }` queues the comparison of the latest master — read it back with GET /trailers/{jobId}/reference. One comparison per master. 409 `reference_not_chosen` with no reference, 409 `reference_check_no_master` with no master yet, 403 `references_unavailable` when switched off. Requires `Idempotency-Key`. Scope: `story:write`.

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `confirmed` boolean

## Response `200`

The quote, or the queued comparison.

- union
  - object: The quote: nothing was started.
    - `jobId` string, required
    - `quoted` true, required
    - `units` integer, required: Units of the shared monthly reference allowance the comparison uses (no credits).
    - `master` 'preview' | 'final', required
    - `note` string, required
    - `nextStep` string, required
  - object: The comparison, queued (or the one already made for this master).
    - `jobId` string, required
    - `quoted` false, required
    - `check` ReferenceCheck, required: An ADVISORY comparison of a video's master with its reference: it never blocks approval, finishing or export. `held` means refs did not answer clearly and the units are held for review.
      - `status` 'queued' | 'checking' | 'done' | 'held' | 'failed', required
      - `refsId` string, required
      - `url` string, uri, required: The reference's refs page (optional to show). Show the credit "References by refs" wherever the comparison is shown.
      - `master` 'preview' | 'final', required
      - `score` integer, nullable, required
      - `checks` object[], required
        - `key` 'cuts' | 'brightness' | 'motion' | 'pace' | 'loudness' | 'format', required
        - `label` string, required
        - `status` 'pass' | 'warn' | 'fail', required
        - `score` number, required
        - `weight` integer, required
        - `summary` string, required
      - `message` string, required
      - `requestedAt` string, required
      - `checkedAt` string, nullable, required
    - `note` string, required

## Other responses

- `400`: Request payload failed validation. The error message names the offending field.
- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: The named project or source does not exist or is owned by another account.
- `409`: The project has not reached the development stage this call needs (`project_precondition_failed`), and nothing was created, queued or charged. `details` is ProjectPreconditionDetails: `stage` names the stage to finish, `missingFields` what it still lacks, `canPlan` / `canStartEpisode` what the project can do now. Finish the named stage — do not retry; the identical call refuses the same way until it is done.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/4534f5d25540?raw)
