Typed decisions for platform policy checks
An Instagram AI-label or unoriginal-Reel check is a fixed schema. Jev returns a typed value and a confidence score from text. It cannot see the video.
Whether a clip needs an Instagram AI label, or a Reel trips an unoriginal-content rule, is a closed decision. The allowed answers are a short list. What belongs in a review queue is one of those answers, plus a probability you can refuse to act on.
Jev, from TypeSafe AI, takes unstructured program state and returns typed structured values plus calibrated probabilities and confidence scores, in a single parallel pass. It does not generate text. Limited early access is from 15 September 2026. This page is one applied platform-policy decision: a typed check in a review queue. It is not an explainer of System One models, a reading of the hallucination claim, or the cost maths for routing calls.
The decision is a small schema
The rules are already written. How an AI Info label gets onto a post is in Why Instagram shows an AI Info label. When a Reel counts as unoriginal is in Instagram originality rules are not an AI ban. This page does not restate either rule. It is the call you make once those pages are the spec.
A fixed-schema decision means every allowed answer is declared before the model runs. For the label check, a workable set is label required, label not required, or record insufficient. For the originality check, a workable set is trips the rule, does not trip the rule, or record insufficient. The third value is yours to declare. It keeps a thin record from being forced into yes or no. Output cardinality goes up to 255, so this enum fits. Do not widen it toward that cap.
A text model answers the wrong question
A text model writes a paragraph. This check wants a field. Jev is not an LLM, and it gives up string generation entirely. You do not get a rationale to paste into a rejection note. You get one value from the schema you declared, plus a probability.
The value can still be the wrong one. Zero out-of-schema is what "zero hallucinations" means: Jev cannot return a value outside its declared schema. That is a structural guarantee, not an empirical one. "Mathematically cannot hallucinate" means the return stays on your list. It does not mean the choice is right. The model can absolutely still be wrong. A false "trips the rule" validates and still punishes the wrong Reel. A false "label not required" validates and still ships the clip with no label. This is the single most misread claim about the model.
TypeSafe's own benchmark shows ~68% accuracy. The reference answers come from frontier models, not verified ground truth. Independent evaluation is still thin. Do not read ~68% as the share of your Instagram decisions that will be right. It is agreement with other models on TypeSafe's benchmark.
KDnuggets states the category: "Classification is not new. Intent detection is not new. Zero-shot classification is not new." TypeSafe optimised an existing shape. It did not invent a new task. A label check and an originality check were already classification.
The model is not for reasoning, coding, or open-ended generation. A written appeal is one of those jobs. "Which declared outcome" is the question this return type can hold.
The precedent is a safety-command review
The named deployment with this shape is a safety gate. Pranit Sharma at Vercel replaced ChatGPT Luna 5.6 for safety-command review, at 5x-18x faster, with greater accuracy. TechCrunch records that replacement. That closed review is the precedent for a policy queue. "Greater accuracy" is Vercel's report on that review. It is not your label error rate, and it does not replace the ~68% benchmark.
Nikhil Mudholkar at Bryo AI used Jev for business email classification and reported better confidence scoring. The useful part, for a queue, is the score.
A confidence score is a gate
A confidence score is the probability returned with the typed value. The queue uses it to decide who acts.
Armin Ronacher, Earendil CTO, states the reading rule: "if this only comes back with 50% probability, maybe this is a coin toss, and I disregard it." A 50% return is not a soft yes. Drop the model's value and leave the item for a person.
That is what the score buys. You can refuse to auto-apply a label, and refuse to auto-hold a Reel, when the call is a coin toss. A paragraph does not give you that switch. It gives you tone.
These sources do not certify 50% as the cutoff for an Instagram label or an originality ruling. Until you score the check on your own labels, treat the probability as a ranking signal. Paired with ~68% accuracy against frontier-model references, and with independent evaluation still thin, the signal is not a measured chance the policy outcome is correct.
The model cannot see the footage
Jev cannot process images yet. A Reel is pictures. The check runs on text and fields you already store: the caption, the post metadata, and any other fact you can pass as program state. It does not see the frames. If the label question or the originality question turns on something that exists only in the footage, and that fact is not in the state you passed, there is nothing to classify. There is no image input. Attaching the video does not create one.
What a queue may conclude
| Figure | Where it comes from | What it supports |
|---|---|---|
| 5x-18x faster, with greater accuracy | Vercel safety-command review, Pranit Sharma, replacing ChatGPT Luna 5.6 | A closed review can beat the text model it replaced, on that workload |
| ~68% accuracy | TypeSafe's own benchmark; references are frontier models, not verified ground truth | Not a hit rate on your policy labels |
| 50% probability | Armin Ronacher, Earendil CTO | Disregard the call. He treats that level as a coin toss |
| Up to 255 | Output cardinality | A short policy enum fits. Do not widen the schema to fill the cap |
Declare the schema first, with an insufficient outcome for a thin record. Pass text and metadata. Do not expect a look at the video. Disregard a coin toss. Sample what you auto-apply. A value inside the schema can still be the wrong policy call. Zero out-of-schema is not zero wrong.