Jev 1.14 works best paired with a generative model. When Jev decides only where it is confident and hands the rest to GPT-6.1 Sol, accuracy stays at the level of Sol alone and the cost drops by half.
Jev is not a chat model. It writes no text and only answers closed questions: yes/no with a probability (Noul), a pick from a list (Choice), a level on a scale (Score), and since version 1.14 also a box on an image (Box).
On October 14, TypeSafe released version 1.14 as a preview, at the same price as 1.13.
TypeSafe announces small improvements across the board, with the largest expected gain in languages other than English, plus features switched on with a separate "Danger Zone" header. A day later we tested them on tasks that marketers do every day.
| Feature behind the "Danger Zone" header | Jev 1.13 | Jev 1.14 |
|---|---|---|
| Images | yes | yes |
| Box: a box on an image | no | yes |
| Context up to 262k tokens | yes | yes |
Results: where Jev 1.14 is enough and where GPT is better
Across six text tasks in Polish, Jev 1.14 was right in 92% of cases on average, GPT-6 Luna and GPT-6.1 Sol in 96%. The gap is uneven: in reviews, lead category and fact checks Jev is close to GPT, while in the three-class search term rating it loses 15-19 points.

| Task (Polish) | Jev 1.13 | Jev 1.14 | GPT-6 Luna | GPT-6.1 Sol | Takeaway |
|---|---|---|---|---|---|
| Reviews: sentiment | 90% | 96% | 99% | 100% | 1.14 handles sarcasm better |
| Reviews: topic, needs a reply, purchase signal | 96-98% | 96-98% | 96-99% | 99-100% | near tie |
| Leads: category | 95% | 95% | 97% | 97% | near tie |
| Leads: how hot (20 leads from customers) | 90% | 90% | 90% | 100% | Sol better |
| Marketing copy vs product sheet | 97% | 97% | 100% | 100% | Jev is fine as a filter |
| Search intent | 100% | 96% | 100% | 99% | 1.14 weaker than 1.13 |
| Ads: all risks caught | 70% | 76% | 93% | 77% | Jev 1.14 = Sol, Luna best |
| Ads: clean ads without a false alarm | 88% | 96% | 96% | 88% | 1.14 raises fewer false alarms |
| Ads: risky ads detected | 100% | 100% | 100% | 100% | tie |
| Search terms: exclude or keep | 92% | 93% | 96% | 99% | GPT better |
| Search terms: 3 classes (with "ambiguous") | 69% | 71% | 86% | 90% | Jev's biggest weakness |
| Average | 91% | 92% | 96% | 96% | |
| Cost per 1,000 cases | $0.026 | $0.026 | $0.074 | $1.16 | |
| Response time (median) | 0.22 s | 0.22 s | 1.57 s | 2.17 s |
Accuracy is the share of cases where the model gave the same answer as the label; the average is the mean of the 13 measures in the table.
For yes/no questions we count "yes" when the probability is above 0.5. A case is one search term, review, lead, ad or sentence, with 1-6 questions. Cost is the API list price with one call per case.
Gemini 3.8 Flash completed the full set only for search terms (3 classes: 92%, exclude or keep: 99%). In the other tasks our prepaid Google API credit ran out, so we do not compare it there.
In English the picture is similar: Jev 1.14 averaged 92%, GPT-6 Luna 93% and GPT-6.1 Sol 95%.
Jev 1.14 vs 1.13: what changed in practice
Jev 1.14 is better than 1.13 by 0-2 points on average: most in Polish, no change in Spanish. The biggest gains are in tasks with nuance: review sentiment in Polish went from 90% to 96%, and false alarms on clean Polish ads fell from 12% to 4% (from 3 to 1 out of 25 ads).
| Change 1.13 → 1.14 | PL | EN | DE | ES | UK |
|---|---|---|---|---|---|
| Average across all tasks | 91% → 92% | 91% → 92% | 90% → 91% | 91% → 91% | 90% → 91% |
| Reviews: sentiment | 90% → 96% | 95% → 95% | 94% → 96% | 94% → 96% | 94% → 96% |
| Ads: all risks caught | 70% → 76% | 69% → 76% | 66% → 71% | 69% → 70% | 63% → 70% |
| Search terms: wrong exclusions | 9% → 6% | 3% → 3% | 9% → 3% | 6% → 3% | 9% → 6% |
| Search intent | 100% → 96% | 98% → 96% | 96% → 98% | 99% → 98% | 99% → 98% |
| Leads: how hot | 90% → 90% | 90% → 85% | 90% → 90% | 85% → 85% | 85% → 80% |
A wrong exclusion is a search term that matches the shop's offer, but the model said to exclude it. The share is out of 35 matching terms.
Jev 1.14 did worse than 1.13 mainly in search intent and in rating how hot leads are in English and Ukrainian. Smaller drops are in false alarms on German ads and fact checks in Spanish. Version 1.14 is also slightly less stable.
| Where Jev 1.14 did worse than 1.13 | Jev 1.13 | Jev 1.14 | Drop |
|---|---|---|---|
| Search intent (PL) | 100% | 96% | larger |
| Search intent (EN) | 98% | 96% | larger |
| Leads: how hot (EN), 1 of 20 leads | 90% | 85% | larger |
| Leads: how hot (UK), 1 of 20 leads | 85% | 80% | larger |
| Ads (DE): clean without a false alarm | 88% | 84% | smaller |
| Fact check (ES) | 95% | 93% | smaller |
| Answers changed when the same request was repeated | 7 of 1,200 | 11 of 1,200 | less stable |
If your confidence thresholds are tuned for 1.13, do not switch to the `jev-preview` alias blindly. TypeSafe recommends pinning a version (`jev-1.13.0`, `jev-1.14.0`), because an alias changes the model without any change to your code.
Languages: Jev 1.14 in Polish and Ukrainian without a clear loss
Jev 1.14 scored 92% in Polish and English and 91% in German, Spanish and Ukrainian. The spread across five languages is under 2 points, so for these tasks language is not a problem.
TypeSafe's documentation says English is Jev's main training language and other languages are handled "not equally well", so you should test them on your own data.
We see no gap in our tasks, but throughout the test the question instructions were in English and the content (search terms, reviews, messages) in the given language. We did not compare a variant with instructions in Polish.
Jev 1.14's weak spot: the middle of the scale and marketplaces
Jev 1.14 makes the most mistakes in the three-class search term rating, where it scores 71% against 90% for GPT-6.1 Sol, and on search terms with the name of a marketplace or competitor.
When rating search terms for a bike shop, Jev 1.14 marked broad questions like "which bike under PLN 2,000" or "gravel or trekking bike" (translated from Polish) as a match, although these are informational searches that may or may not lead to a purchase.
The second type of error: search terms with a marketplace or competitor name. Jev 1.14 rated "allegro rower górski" (allegro mountain bike; Allegro is a Polish marketplace) and "decathlon kask rowerowy" (decathlon bike helmet) as matching the offer (probability of "not a match" 0.15 and 0.34).
GPT-6.1 Sol and Gemini 3.8 Flash caught all 40 non-matching terms.
Some PPC specialists would disagree with labeling these terms as non-matching (marketplace searches can be profitable), but a model should at least flag them for review.
In the binary "exclude or keep" task Jev 1.14 scores 93%. At a 0.8 threshold it makes 1 wrong exclusion out of 35 matching terms, but catches only 32 of 40 non-matching ones, while GPT-6.1 Sol and Gemini 3.8 Flash catch all 40 with no wrong exclusions.
Jev works as a first-pass filter, not as the only judge of search terms.
Jev + GPT cascade: the same accuracy at half the price
A cascade where Jev 1.14 decides alone when confident and GPT takes over uncertain cases gave the best result in the test. With GPT-6.1 Sol the cascade scored 95.9% at $0.55 per 1,000 cases; Sol alone also scored 95.9%, but at $1.16.
| Setup (Polish, 450 cases) | Accuracy | Cases sent to GPT | Cost per 1,000 cases |
|---|---|---|---|
| Jev 1.14 alone | 92% | 0% | $0.026 |
| Jev 1.14 → GPT-6 Luna | 95.9% | 40% | $0.06 |
| Jev 1.14 → GPT-6.1 Sol | 95.9% | 40% | $0.55 |
| GPT-6.1 Sol alone | 95.9% | 100% | $1.16 |
Confidence threshold in the cascade: yes/no below 0.2 or above 0.8, a pick from a list with confidence of at least 0.9. If any question in a case misses the threshold, the whole case goes to GPT.
With the cheaper GPT-6 Luna the cascade also scores 95.9%, and the cost drops from $0.074 to $0.06, about 20%. In English the cascade with GPT-6.1 Sol scored 94.6% with 38% of cases sent to Sol.
The cascade works because Jev 1.14's confidence predicts accuracy. When Jev 1.14 was at least 0.99 confident in a list question, it was right 99% of the time, which happened in 1,348 of 2,300 answers across all 5 languages. Below 0.7 confidence it was right 64% of the time.
| Jev confidence (Choice, 5 languages) | Jev 1.13: accuracy | Jev 1.14: accuracy |
|---|---|---|
| below 0.7 | 54% | 64% |
| 0.7-0.9 | 70% | 76% |
| 0.9-0.99 | 87% | 87% |
| 0.99 and above | 98% | 99% |
We describe how generative models alone rated search terms on a real Google Ads account in our test of 8 AI models.
Images: Jev for checking creatives yes, for locating logos not yet
On 48 hard ad creatives, Jev 1.13 and Jev 1.14 correctly recognized whether there is a CTA button, a price, which product and which headline, just like Gemini 3.8 Flash.
Jev 1.14 handles Box (locating an element on the image) well for the CTA button and the price, but it hits the logo in 37% of hard creatives and 69% of simple ones.
| Creative check (48 hard, "photo-like" background) | Jev 1.13 | Jev 1.14 | Gemini 3.8 Flash |
|---|---|---|---|
| CTA button / price / product / headline present | 100% | 100% | 100% |
| Which brand (reference logo image, with a decoy logo) | 94% | 100% | 94% |
| Which corner the logo is in | 88% | 88% | 98% |
| Box: CTA button (mean IoU) | no feature | 0.81 | 0.97 |
| Box: price (mean IoU) | no feature | 0.75 | 0.95 |
| Box: logo (mean IoU / hits) | no feature | 0.42 / 37% | 0.90 / 100% |
| Cost of 48 creatives / time | $0.01 / 0.3 s | $0.01 / 0.3 s | $0.19 / 3.2 s |
IoU is the area of overlap between the model's box and the true box divided by the area of their union; 1 = perfect, a hit counts from 0.5. We generated the creatives in code (fictional brands, flat graphics), so we know the exact position of every element.
On a set of 48 simple creatives (plain background) results were similar: all three models recognized the headline in 92% of cases, and Jev rated headline readability at low contrast correctly in 94%, Gemini in 100%.
Practical use: a first check of many creatives before launch (is there a CTA, is the logo the right brand, is the price visible) for pennies and in a split second. For cropping or checking logo clear space, Box in 1.14 is not yet precise enough.
TypeSafe labels images and Box as not yet ready for production: the response format and results may change between versions.
Long context in Jev: 250k tokens of reviews in 4 seconds
Jev 1.13 and Jev 1.14 answer questions about 251k tokens of customer reviews in 4.2 s, Gemini 3.8 Flash in 5.2 s. Jev 1.13 found every complaint with no false alarms at every size, while Jev 1.14 missed 2 of 18 at 251k tokens.
In a haystack of 250 to 8,400 customer reviews (in Polish) we hid 6 complaints worded differently from the question and added decoys on similar topics.
| Size (reviews / tokens) | Jev 1.13 | Jev 1.14 | Gemini 3.8 Flash |
|---|---|---|---|
| 250 / 8k | 100% (0.3 s) | 100% (0.3 s) | 100% (2.5 s) |
| 2,000 / 60k | 100% (0.6 s) | 100% (0.7 s) | 100% (3.6 s) |
| 4,000 / 119k | 100% (1.5 s) | 100% (1.4 s) | 100% (3.5 s) |
| 8,400 / 251k | 100% (4.2 s) | 94%, 16 of 18 complaints (4.2 s) | 100% (5.2 s) |
We checked each size on 3 random haystacks with 12 yes/no questions each: 6 about complaints that are in the reviews and 6 about similar ones that are not.
One request with 251k tokens costs about $0.01 in Jev and about $0.18 in Gemini 3.8 Flash.
Use case: questions about a whole review base, call transcripts or a support ticket export ("does anyone report being charged twice?"). TypeSafe itself warns that long context is slower and less accurate than staying within the default limit (64k tokens per request), and our result for 1.14 at 251k confirms it.
How we tested Jev 1.14
We tested Jev 1.13 and Jev 1.14 on 450 cases in Polish across six text tasks, on the same sets in English, German, Spanish and Ukrainian, on 2 × 48 ad creatives and on long context up to 251k tokens.
Tasks and data
Of the 450 Polish cases, we marked 101 as hard (sarcasm, tricky search terms, half-truths). All companies and brands are fictional, so the results could be published without client data.
| Task | Cases | What the model rates |
|---|---|---|
| Search terms (bike shop) | 100 | match / not a match / ambiguous; exclude or keep |
| Search intent (various industries) | 80 | informational, transactional, commercial, navigational, local |
| Reviews and comments (cosmetics) | 80 | sentiment, topic, needs a reply, purchase signal |
| Contact form leads (booking system) | 60 | sender category, how hot 0-2 |
| Ad copy | 70 | 6 risks: punctuation, superlative, competitor brand, health, price, finance |
| Marketing copy vs product sheet | 60 | confirms / contradicts / sheet does not say |
We translated the sets into English, German, Spanish and Ukrainian. On top of that, 2 × 48 ad creatives (simple and hard) and the long context test.
Models and settings
Jev 1.13.0 and Jev 1.14.0 (preview) through the TypeSafe API, both at $0.042 per million input tokens. For comparison: GPT-6 Luna and GPT-6.1 Sol (OpenAI) and Gemini 3.8 Flash (Google), with low reasoning effort and JSON output. Jev answered in 5 languages, GPT models in Polish and English.
We asked Jev every Polish question twice to measure stability, and a third time with the option order shuffled. Order barely mattered: 1.14 changed 5 of 460 picks.
Who prepared the test
The tasks, labels and code were prepared by Claude (Anthropic), a model that was not part of the test. Translations were done by GPT-6.1 Sol, one of the tested models, which may have helped it slightly in the English version.
Cases where a label could not be set unambiguously were removed from the sets; even so, some labels remain debatable, such as marketplace search terms.
What to use Jev for in marketing
Jev 1.14 already pays off for sorting reviews, qualifying leads, filtering cases before a more expensive model and as a first check of ad copy. Do not rely on it yet as the only judge of Google Ads negatives or for locating logos on creatives.
| Use case | Verdict | Why |
|---|---|---|
| Sorting reviews and comments (sentiment, topic, needs a reply) | yes | 96-98%, 0.22 s, pennies for thousands of comments |
| Qualifying contact form leads | yes, with a spam check | 95% category; vendor pitches 10 of 10, spam 6 of 8 |
| Filter before a more expensive model (cascade) | yes | GPT accuracy at half the cost |
| Checking ad copy before launch | as a first check | caught every risky ad, but caught the full set of risks in 76% of ads |
| Only judge of Google Ads negatives | no | 71% in 3 classes, lets marketplaces through |
| Box: locating the logo on a creative | not yet | 37% hits |
Jev does not count and does not write. Leave totals, period comparisons and spend thresholds to code, and copy to a generative model. We explain why AI gets numbers from ad accounts wrong in our post on wrong AI numbers.
Free gift: a Google Ads script that scores search terms with Jev
We made a free Google Ads script that pulls search terms from the last 30 days (up to the 500 most expensive with at least 1 click), asks Jev 1.13 about each one and writes suggested negatives to a Google Sheet.
The script changes nothing in your account: you get a sheet with "Exclude", "Review" and "Keep" recommendations, and you make the call.
Download the script jev-negatives-google-ads.js.
The script asks Jev two questions about each term: is the person looking for something you do not sell, and does the term contain the name of another shop, marketplace or competitor brand. We added the second question after the test, because marketplace and competitor searches were Jev's weak spot.
| What is in the sheet | How it is set |
|---|---|
| Exclude | Jev gives a probability of at least 0.8 that the term does not match the offer |
| Review | 0.3-0.8, or the term contains another brand or shop |
| Keep | the rest; always terms with conversions and with your brand |
| For negative list | the term in square brackets, ready to paste as exact match |
| Cost, clicks, conversions | summed across the campaigns where the term appeared |
We tested the script on a mock account with the 100 English search terms of the bike shop from the test. In one request to Jev, 32 of 40 non-matching terms went to "Exclude", 6 to "Review" and 2 to "Keep", and no matching term got an "Exclude" recommendation.
How to run it, in 5 steps:
- 1Create an API key in the TypeSafe console (see the TypeSafe quick start).
- 2In Google Ads, open Tools, then Bulk actions, then Scripts, and add a new script.
- 3Paste the whole file and fill in the SETTINGS section: your Jev key, your offer description (what you sell and what you do not) and your brand names.
- 4Click "Authorize", then "Preview". The sheet link is in the script logs.
- 5If you like the result, schedule it, for example once a week.
Anyone with access to scripts in the account can see the API key, so do not share the script with the key filled in. Jev only receives your offer description and the search terms, with no costs or account data. The script covers campaigns with a search terms report (Search and Shopping), not Performance Max.
What this test does not tell you
The Jev 1.14 test does not tell you how the model performs on real client data, on product photos, against GPT in languages other than Polish and English, or in its stable release.
| Test limitation | What could change the result |
|---|---|
| The data is fictional and one author (a model) set the labels | some labels are debatable, such as marketplace search terms |
| The creatives are flat generated graphics, not photos | Box may do differently on product photos |
| GPT models only in Polish and English, Gemini 3.8 Flash only on search terms, images and long context | no comparison with Jev in the other languages and tasks |
| One API call per case | Jev lets you ask many questions in one call, which lowers the cost even further |
| Jev 1.14 is a preview from October 14, 2026 | results may change before the stable release |
What we take into Marketing Workspace
In Marketing Workspace, our AI assistant for Google Ads, Meta Ads and GA4 accounts, Jev (TypeSafe) recognizes the type of question and routes it as the first filter, while a stronger model prepares the actual answer and numbers always come from code. Jev receives only the question text, through TypeSafe's paid API, with no training on the data and under a data processing agreement, like our other AI providers.
We run tests like this because in Marketing Workspace we pick a model separately for each job instead of using one for everything.
If you want to see how it works on your account, Marketing Workspace has a free first month.

Founder of Roition, independent Google Ads API developer
Founder of Roition, with almost 3 years of Google Ads experience. Designs and builds process automation for Polish companies: system integrations, handling enquiries and quotes, AI assistants working on company data.
Frequently asked questions
What is Jev?
An AI model by TypeSafe that does not generate text and only answers closed questions: yes/no with a probability, a pick from a list, a level on a scale, and since 1.14 a box on an image. It costs $0.042 per million input tokens; output is free.
What is new in Jev 1.14?
Box (a box on an image, not in 1.13) and better Polish review sentiment (96% vs 90%). It came out on October 14 as a preview, at the 1.13 price. Images and 262k-token context work in both versions with the "Danger Zone" header.
Is Jev 1.14 better than 1.13?
By 0-2 points in our tasks (in Polish 92% vs 91%), most in Polish review sentiment (96% vs 90%). It did worse in search intent (in Polish 96% vs 100%) and is slightly less stable.
Does Jev work in languages other than English?
Yes. In our test it scored 92% in English and Polish and 91% in German, Spanish and Ukrainian, with question instructions in English.
Can Jev replace GPT or Gemini?
Almost, for yes/no decisions and simple classification. Not for ratings with a middle option: search terms in 3 classes 71% vs 90% for GPT-6.1 Sol. On average 92% vs 96%. It works best as a first filter that hands uncertain cases to a stronger model.
How much does Jev cost in practice?
In our test $0.026 per 1,000 cases with one call per case, against $0.074 for GPT-6 Luna and $1.16 for GPT-6.1 Sol.
How fast is Jev?
In our test the median response time of Jev 1.13 and 1.14 was 0.22 s, against 1.57 s for GPT-6 Luna and 2.17 s for GPT-6.1 Sol. A request with 251k tokens of reviews took 4.2 s.
How do you build a Jev and GPT cascade?
Jev 1.14 answers alone when a yes/no probability is below 0.2 or above 0.8 and a list pick has confidence of 0.9 or more. Otherwise GPT takes over the whole case. In our test 40% of cases went to GPT and accuracy was 95.9%.
Is Jev good for Google Ads negative keywords?
As a first-pass filter yes, as the only judge no. In "exclude or keep" Jev 1.14 scores 93%, in 3 classes 71%, and it rated Polish marketplace searches like "allegro rower górski" (allegro mountain bike) as a match.
Does Jev recognize elements on ad creatives?
Yes: on 48 hard creatives Jev 1.13 and 1.14 recognized the CTA button, price, product and headline in 100% of cases. Box in 1.14 locates the button and price well, and hits the logo in 37% of hard creatives. TypeSafe labels images and Box as not ready for production.
How much text can Jev read in one request?
64k tokens by default, and up to 262k tokens in 1.13 and 1.14 with the "Danger Zone" header. At 251k tokens Jev 1.13 found every complaint, Jev 1.14 missed 2 of 18.
Is there a ready tool for scoring search terms with Jev?
Yes, our free Google Ads script (see "Free gift" above) scores search terms from the last 30 days and writes recommendations to a Google Sheet. It changes nothing in your account. You only need your own TypeSafe API key.
Is Jev 1.14 ready for production?
It is a preview from October 14, 2026, so results may change before the stable release. TypeSafe recommends pinning the version (`jev-1.14.0`) instead of the `jev-preview` alias, and labels images and Box as not yet ready for production.