Glide · Science

Can AI count carbs?

Glide's photo carb estimator, measured · evaluation runs of 30 September 2026

Every insulin dose starts with a carb count. Count too low and glucose spikes; count too high and the extra insulin causes a low. People with type 1 diabetes counting by hand miss by 15.4 g on average, on meals that averaged 72 g (Brazeau et al.).

In Glide you photograph the food, and AI proposes a carb count and a description. You review and edit it before anything is logged. This page shows what goes wrong with a plain AI answer, how we test, and how the models have improved.

1. Why not just ask a chatbot?

Some AI models we tested put 40 to 80 g of carbs on a plate of sausage with under 2 g. A bolus for that number would push glucose low. Any chatbot gives you a number for a food photo, and nothing tells you when the number is that far off.

We also asked the model Glide uses, Gemini 3.8 Flash, the plain question “How many grams of carbohydrates are in the food in this photo?” on our 90 test photos. It missed by 16.6 g on average, mostly because it counted some packages whole: 420 g for a 10-pack box of bars whose label says 40 g per bar. With Glide's instructions, the same model misses by 8.3 g.

2. How we test

Every candidate model answers the same photos, each with a known carb count:

What the test data looks like

Overhead photo of a plate of cherry tomatoes from the Nutrition5k dataset
Plated · Nutrition5k · cherry tomatoes
weighed: 3.5 g
Overhead photo of cheese pizza from the Nutrition5k dataset
Plated · Nutrition5k · cheese pizza
weighed: 30.8 g
Package photo of Sour Brite Crawlers gummy candy from Open Food Facts
Packaged · Open Food Facts · gummy candy
label: 26 g per serving

“I also drank a juice box with 15 g of carbs. Add it.”

Typed correction · on a weighed 15 g pizza slice
right answer: 30 g
Phone photo of a Reese's protein bar, from our own home test set
Home · our own set · protein bar, 60 g
label: 25 g

Plated photos from Nutrition5k; packaged photo by Open Food Facts contributors (CC BY-SA). The home example is a product shot from our own set.

What we measure

3. Results over time

We pick a model in two steps. First every candidate answers a short set of 90 photos. Then the most promising ones answer about 500 more, which narrows the error ranges enough to tell close models apart. Glide uses Gemini 3.8 Flash.

Step 1: every model, 90 photos

Model
Average miss
Blunders
Latency
P50
gpt-4o-miniJul 2024
10.8 g
24%
5.0 s
Nova LiteDec 2024
13.9 g
23%
2.0 s
Gemini 2.5 FlashJun 2025
15.1 g
36%
2.4 s
Qwen3-VL 235BSep 2025
29.9 g
72%
2.4 s
Claude Haiku 4.5Oct 2025
10.8 g
21%
7.3 s
Qwen3-VL 32BOct 2025
13.1 g
30%
5.3 s
Gemini 3.5 FlashMay 2026
9.3 g
12%
10.8 s
Gemini 3.7 FlashAug 2026
8.8 g
13%
4.1 s
Gemini 3.8 Flashused in GlideSep 2026
8.9 g
16%
3.8 s
MiMo V2.6 FlashSep 2026
11.8 g
19%
21.9 s
GPT-6 LunaSep 2026
12.6 g
23%
4.5 s
Claude Sonnet 5.5Sep 2026
9.7 g
16%
3.7 s
BaselineGemini 3.8 Flash, plain question, no instructions
16.6 g
18%
5.6 s

Models in the order they came out, all with the same instructions. Average miss in grams, and the share of photos with a blunder (a miss of more than half the meal); shorter is better. The thin lines show the 95% range of each number: where two ranges overlap, the difference could be chance. Latency is measured from our computer through the same service the app uses. Gemini 2.5 Flash Lite is left out: it gave no answer on 17 of the 90 photos.

Step 2: finalists, 494 photos

Model
Average miss
Blunders
Gemini 2.5 FlashJune round
13.3 g
33%
Qwen3-VL 32BJune round
10.4 g
27%
Gemini 3.5 FlashpickedJune round
8.8 g
15%
Gemini 3.7 FlashSeptember round
7.8 g
13%
Gemini 3.8 FlashpickedSeptember round
7.7 g
13%

The finalists of each round on the same 494 photos: 299 lab-weighed dishes and 195 packaged products, scored against today's labels. Each round ran all its finalists with the same version of Glide's instructions. In June, Gemini 3.5 Flash was clearly ahead. In September, Gemini 3.7 and 3.8 Flash tied on accuracy, and 3.8 answered faster (4.0 s against 4.7 s typical) with no failed answers.

Glide's numbers today

Test setAverage miss
Plated dishes300, average meal 35 g11.1 g
Packaged, per serving200, average serving 22 g2.8 g
Home meals19, average meal 17 g1.0 g
Family log photos27, average meal 36 g5.8 g
Typed corrections313 scripted edits, such as “add an apple”1.6 g
LatencyP504.0 s

We keep working on both numbers, accuracy and latency, and this page gets the new results as each round of tests finishes. If you know the meal better than the model, your number wins.

Glide displays data from a third-party CGM and is not affiliated with or endorsed by Dexcom, Abbott or Medtrum. Not a medical device; not medical advice. Questions about the method? feedback@glidebg.com