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

# Continuity scoring in Omnichar Cloud

> Every cloud take with a character is scored for identity match. What the number means, what Face, Subject and Wardrobe measure, and where it is blind.

Every image and video you generate with a character attached comes back with a **continuity
score** out of 100. It measures how closely the take matches the character you cast in it.

The score measures identity, not quality. A sharp picture of the wrong face scores low, and a dull
picture of the right face scores high.

Scoring costs nothing. It runs as its own job after the render settles, whichever renderer produced
the take, and the wait includes starting a GPU. The card shows **Queued** and then **Running**
while it waits, and stops waiting if no score has arrived after four minutes.

## The bands

| Score | Band | What it means |
| - | - | - |
| Above 70 | **Strong** | The character held, so use the take. |
| 50-70 | **Fair** | Recognisable but drifting, so try another take. |
| Below 50 | **Weak** | A different person. [Finetune the character](https://docs.omnichar.org/cloud/finetuning.md). |

> [!WARNING]
>
> The bands are provisional. The thresholds were set on local output and have not been calibrated
> against hosted renderers, which is why the card says so on every take. Compare two takes of the
> same character against each other rather than reading one number on its own.

## What the number is made of

Two signals go into the score:

* **Face** measures the face itself, using SFace.
* **Subject** measures the whole person, including build and pose, using DINOv2.

**Wardrobe** is measured and reported beside the score, never inside it. Clothes change between
shots on purpose, so letting an outfit change pull the identity score down would make the number
useless.

A take that measured only one of the two says so, because a partial measurement is not the same
claim as a full one:

| Label | What happened |
| - | - |
| **Face only** | The take's framing sits too far from the references', so the subject term was dropped. A wide shot reads as face-only rather than as a bad match. |
| **No face found, Subject only** | No face to compare, so the subject encoder answered alone. That measures framing, not identity. |
| **Not measured** | Neither a face nor a person was found, so there is no score. |

The card also says whether it scored against the character's **original** references or its
**current** ones, which differ once you have rebuilt it.

## Video

A clip is sampled frame by frame, and the headline is the median across the frames where a face
was found. Beside it you get the lowest frame and the second it happened, because a median hides a
single visible break. Click a sample to jump the player to it.

Frames where no face was found are counted and reported separately, never scored as zero. A turned
head is not a wrong face.

## More than one character

Cast several characters in one run and each is scored separately, with the frames where that
character went missing and the frames where two characters swapped reported alongside. One average
across the whole cast would hide a swap.

## What is not scored

Audio and trained LoRA files have no likeness to measure, so they are not scored. Neither are
runs with no character attached: there is nothing for the take to have matched, so no card
appears.

## Next steps

> [card] [Finetuning](https://docs.omnichar.org/cloud/finetuning.md)
>
> Fix the references behind a low score.

> [card] [Pricing](https://docs.omnichar.org/cloud/pricing.md)
>
> What a generation costs. Scoring is free.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.