New: Coeus, our open Video Jev model. It watches and listens to a video and answers questions about it, with a probability you can trust. Meet Coeus.

The log

3 min read

What is a Jev model?

A Jev model answers typed questions with a calibrated probability for every possible answer, so code can act on the numbers. Here is the format, the four question types, and when to use one instead of a chatbot.

  • research
  • jev
  • coeus
  • explainer

Entry · what-is-a-jev-model

A chatbot answers in sentences. A Jev model answers in numbers.

Ask a chatbot "Is this video AI-generated?" and you get a paragraph, maybe a hedge, and no way to know how sure it is. Ask a Jev model the same thing and you get {"true": 0.03, "false": 0.97}. Your code can act on that straight away.

The format

Jev is a format for decisions. A Jev record has two parts:

  • State: the context. A title, a description, a transcript, a video, whatever the model needs to look at.
  • Questions: a set of typed questions. Each one names its allowed answers.

The model returns a probability for every allowed answer of every question, in one pass.

{"state": {"title": "morning routine, day 14"},
 "questions": {
  "has_speech": {"type": "noul", "instructions": "Does someone speak in this clip?",
                 "criteria": {"true": "yes", "false": "no"}},
  "quality": {"type": "score", "instructions": "How clean and sharp does this video look?",
              "criteria": ["bad", "average", "good", "perfect"]}}}

The question types

TypeAnswersExample
noulyes or no"Is this clip AI-generated?"
choiceone of a named set"Which sound is this: laughing, cheering or speech?"
scoreone of an ordered set of levels"Quality: bad, average, good or perfect?"
momentone of the seconds of a video"When is the funniest moment?"

The first three come from the format as Cloudflare's Clef uses it for text and images. moment is the type we added in Coeus, our Video Jev model. Each second of the video is one answer option, so "when" gets a probability for every second, not a timestamp written out as text.

Why the probabilities have to be calibrated

A probability is only useful if it is honest. If a model says 84% across a thousand answers, about 840 of them should be right. That property is called calibration.

With calibrated numbers you can write rules like these, and trust them:

  • Auto-approve when P(good) is above 0.9.
  • Send anything between 0.4 and 0.6 to a person.
  • Rank 50 drafts by P(people keep watching) and keep the top five.

Most models are not calibrated out of the box. When we asked Qwen3-Omni our quality and real-or-AI questions without training, its calibration error was 0.29 to 0.56. After training Coeus with a loss that rewards honest probabilities, it fell to 0.02 to 0.05. That gap is the difference between a number you can threshold and a number you have to second-guess.

When to use a Jev model instead of a chatbot

Use a Jev model when:

  • The answer feeds code, not a person reading it.
  • You ask the same questions about many items.
  • You need to know how sure the model is.
  • You want many answers from one pass, not one call per question.

Use a chatbot when the answer is open-ended: a summary, an explanation, a rewrite.

How we use the idea

Theia makes short films and has to make decisions at every step: is this take usable, where does the joke land, will people keep watching. Those are typed questions with a small set of answers, which is exactly what a Jev model is for. That is why we built Coeus, a Jev model that can watch and listen.

Try one: Coeus is open. The weights, the quick start and the full results are on Hugging Face, and the code is on GitHub.

More on Coeus:

Next entry

Coeus, our open Video Jev model that watches and listens

Coeus is an open Video Jev model that reads video and sound together. Ask a clip typed questions and get a calibrated probability for every answer, including which second something happens.

Read it