Skip to content
System One

ChetasLua/jevmeter

Puts a live Jev meter on any video: every sentence is scored, every dodge flagged, and the result rendered as a 16:9 edit. The repo reports 99% preset accuracy on a held-out set and about $0.05 for a full debate.

JEVMETER: a live BS meter for any video
Image from github.com

ChetasLua/jevmeter on GitHub

Stars
81
Forks
5
Language
Python
License
MIT
Last push
17 Sep 2026

Read from GitHub on . Counts change daily.

Reported by the author

Full debate cost
$0.0497$0.0497 totalgithub.com
Jev calls
1,1911,191 Jev callsgithub.com

jevmeter puts a live BS meter on any video: it scores every sentence a speaker says and flags evasive answers, then renders the result as an edited 16:9 video with the scores overlaid, ready to post. Getting started takes three steps: run the installer, paste a TypeSafe API key, then drag a video into the terminal and pick a preset. The edited video appears next to the original as a .jevmeter.mp4 file.

Each preset asks Jev the same five yes/no questions about every sentence: for the debate preset, whether it’s a factual claim, evasive, contradicts something the speaker said earlier, an emotional appeal, or a dodge of the question asked. Jev returns a calibrated probability for each rather than writing an assessment. Other presets swap the five questions for earnings-call or podcast-specific ones.

The project’s own worked example runs a full Trump-Harris debate through the tool: 832 sentences scored for one speaker and 359 for the other, 1,191 total Jev calls, 5,955 yes/no answers, 1,182,843 input tokens, for $0.0497 total, at roughly 0.4 seconds median per call. The README is explicit that the meters show Jev’s probabilities, not a fact-check, and that both speakers get exactly the same five questions with highlight clips chosen by one fixed rule.

How it uses Jev

    r = requests.post(API, headers={"Authorization": f"Bearer {key}"}, timeout=30,
                      json={"model": "jev-latest", "state": "hello", "questions": {"q": {"type": "noul", "instructions": "Is `state` a greeting?"}}})
except Exception as e:
    return False, f"could not reach api.typesafe.ai ({e.__class__.__name__}); check your internet connection"
if r.status_code in (401, 403):
    return False, "TypeSafe rejected this key; create a new one at https://console.typesafe.ai/keys"
if r.status_code >= 400:
    return False, f"TypeSafe API error {r.status_code}: {r.text[:160]}"
return True, f"key works ({r.json().get('model', 'jev')})"

View in jevmeter/config.py

Open on GitHub

More like this

Keep browsing