Choose the model for each route, with test results.
Every AI route runs on a default model. On Growth and Pro you can pick another per request. Passio tests the models on each route with real photos and text, so you can trade accuracy, speed and cost with evidence.
Every model
The current catalog, grouped by tier. Open a tier to compare its models; ratings run 1 to 5 relative to each other. Pass a model's tag as ?model= on an AI route. GET /napi/models/available lists the exact set your account can use.
Frontier
12 modelsThe strongest reasoning for the hardest inputs. Slowest and most expensive: keep it for low-volume, high-stakes calls.
Claude Opus 4.5, Claude Opus 4.6, Claude Opus 4.7, Claude Opus 4.8 and 8 more
Frontier
12 modelsThe strongest reasoning for the hardest inputs. Slowest and most expensive: keep it for low-volume, high-stakes calls.
Claude Opus 4.5, Claude Opus 4.6, Claude Opus 4.7, Claude Opus 4.8 and 8 more
| Model | Provider | Intelligence | Speed | Cost | Photos | Zero Data Retention | Context |
|---|---|---|---|---|---|---|---|
Claude Opus 4.5 claude-opus-4-5 | Anthropic | Yes | Eligible | 200K | |||
Claude Opus 4.6 claude-opus-4-6 | Anthropic | Yes | Eligible | 200K | |||
Claude Opus 4.7 claude-opus-4-7 | Anthropic | Yes | Eligible | 200K | |||
Claude Opus 4.8 claude-opus-4-8 | Anthropic | Yes | Eligible | 200K | |||
Claude Opus 5 claude-opus-5 | Anthropic | Yes | Eligible | 200K | |||
Claude Opus 5.5 claude-opus-5-5 | Anthropic | Yes | Eligible | 1M | |||
Claude Fable 5.1 claude-fable-5-1 | Anthropic | Yes | — | 1M | |||
GPT-5.4 Pro gpt-5.4-pro | OpenAI | Yes | — | 400K | |||
GPT-5.5 gpt-5.5 | OpenAI | Yes | — | 400K | |||
GPT-5.5 Pro gpt-5.5-pro | OpenAI | Yes | — | 400K | |||
GPT-5.6 Sol gpt-5.6-sol | OpenAI | Yes | — | 400K | |||
GPT-6 Astra gpt-6-astra | OpenAI | Yes | — | 1M |
Pro
18 modelsFlagship all-rounders. Noticeably better on messy or ambiguous input, at a mid-range price.
Claude Sonnet 5, Claude Sonnet 5.5, GPT-6.1 Sol, Gemini 3.1 Pro Preview and 14 more
Pro
18 modelsFlagship all-rounders. Noticeably better on messy or ambiguous input, at a mid-range price.
Claude Sonnet 5, Claude Sonnet 5.5, GPT-6.1 Sol, Gemini 3.1 Pro Preview and 14 more
| Model | Provider | Intelligence | Speed | Cost | Photos | Zero Data Retention | Context |
|---|---|---|---|---|---|---|---|
Claude Sonnet 5 claude-sonnet-5 | Anthropic | Yes | Eligible | 200K | |||
Claude Sonnet 5.5 claude-sonnet-5-5 | Anthropic | Yes | Eligible | 1M | |||
GPT-6.1 Sol gpt-6.1-sol | OpenAI | Yes | — | 1M | |||
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | Yes | Eligible | 2M | ||||
DeepSeek R1 deepseek-r1 | DeepSeek | Text only | Eligible | 131K | |||
GPT-6 Sol gpt-6-sol | OpenAI | Yes | — | 1M | |||
Grok 4.20 grok4-20 | xAI | Yes | — | 1.9M | |||
Grok 4.5 grok4-5 | xAI | Yes | — | 500K | |||
Grok 4.6 grok4-6 | xAI | Yes | — | 500K | |||
Grok 4.7 grok4-7 | xAI | Yes | — | 500K | |||
Claude Sonnet 4.6 claude-sonnet-4-6 | Anthropic | Yes | Eligible | 200K | |||
GPT-5.2 gpt-5.2 | OpenAI | Yes | — | 128K | |||
GPT-5.3 gpt-5.3 | OpenAI | Yes | — | 128K | |||
GPT-5.4 gpt-5.4 | OpenAI | Yes | — | 400K | |||
GPT-5.6 Terra gpt-5.6-terra | OpenAI | Yes | — | 400K | |||
GPT-4.1 gpt-4.1 | OpenAI | Yes | — | 128K | |||
GPT-6 Sol (fast) gpt-6-sol-fast | OpenAI | Yes | — | 1M | |||
GPT-4 Optimized gpt-4o | OpenAI | Yes | — | 128K |
Fast
11 modelsFlash-class workhorses. Near-pro quality for most extraction work at a fraction of the cost.
Gemini 3.6 Flash, Gemini 3.7 Flash, Gemini 3.8 Flash, Gemini 3.5 Flash and 7 more
Fast
11 modelsFlash-class workhorses. Near-pro quality for most extraction work at a fraction of the cost.
Gemini 3.6 Flash, Gemini 3.7 Flash, Gemini 3.8 Flash, Gemini 3.5 Flash and 7 more
| Model | Provider | Intelligence | Speed | Cost | Photos | Zero Data Retention | Context |
|---|---|---|---|---|---|---|---|
Gemini 3.6 Flash gemini-3-6-flash | Yes | Eligible | 1M | ||||
Gemini 3.7 Flash gemini-3-7-flash | Yes | Eligible | 1M | ||||
Gemini 3.8 Flash gemini-3-8-flash | Yes | Eligible | 1M | ||||
Gemini 3.5 Flash gemini-3-5-flash | Yes | Eligible | 1M | ||||
DeepSeek V3.2 deepseek-v3-2 | DeepSeek | Text only | — | 131K | |||
Gemini 3 Flash gemini-3-flash | Yes | Eligible | 1M | ||||
Gemini 3 Flash Preview gemini-3-flash-preview | Yes | Eligible | 1M | ||||
Claude Haiku 4.5 claude-haiku-4-5 | Anthropic | Yes | Eligible | 200K | |||
Gemini 3.5 Flash (fast) gemini-3-5-flash-fast | Yes | Eligible | 1M | ||||
GPT-5.4 Mini gpt-5.4-mini | OpenAI | Yes | — | 400K | |||
Grok 4.3 grok4-3 | xAI | Yes | — | 256K |
Lite
9 modelsCheapest and quickest. Best for high-volume, simple calls where a small miss is cheap to fix.
GPT-6 Luna, Gemini 3.5 Flash Lite, Gemma 4, GPT-5.6 Luna and 5 more
Lite
9 modelsCheapest and quickest. Best for high-volume, simple calls where a small miss is cheap to fix.
GPT-6 Luna, Gemini 3.5 Flash Lite, Gemma 4, GPT-5.6 Luna and 5 more
| Model | Provider | Intelligence | Speed | Cost | Photos | Zero Data Retention | Context |
|---|---|---|---|---|---|---|---|
GPT-6 Luna gpt-6-luna | OpenAI | Yes | — | 1M | |||
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | Yes | Eligible | 1M | ||||
Gemma 4 gemma-4 | Yes | — | 131K | ||||
GPT-5.6 Luna gpt-5.6-luna | OpenAI | Yes | — | 400K | |||
GPT-6 Luna (low-detail images) gpt-6-luna-low | OpenAI | Yes | — | 1M | |||
Grok 4.1 Fast grok4-1-fast | xAI | Yes | — | 1.9M | |||
Gemini 3.1 Flash Lite gemini-3-1-flash-lite | Yes | Eligible | 1M | ||||
GPT-4.1 Mini gpt-4.1-mini | OpenAI | Yes | — | 128K | |||
GPT-4 Optimized Mini gpt-4o-mini | OpenAI | Yes | — | 128K |
Test results by route
Each route is tested on a fixed set of cases and the answers are scored. Every test makes three picks; open a route to see all three and every model tested.
- Recommended
- Accurate enough for nearly every call, with the best balance of speed and cost.
- High quality
- The most accurate model, whatever it costs.
- Budget
- The cheapest model that still does the job reliably.
One model can hold more than one pick. Accuracy is the average score out of 100; p95 is the time 95% of calls finished within. Tokens a call are estimates from the test inputs; your photos and text change the real count, and every response reports it in X-Billed-Tokens-Total.
Alternatives from a photo
POST /napi/tools/visualAlternativeSuggestionsRecommended: Gemini 3.1 Flash Lite100 accuracy · 1.7s p95 · ~620 tokens a call
Alternatives from a photo
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 7.2s | 11.3s | ~5,010 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 1.1s | 1.7s | ~620 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 99 | 100% | 100% | 0.9s | 1.4s | ~900 | |
Grok 4.3 grok4-3 | 99 | 100% | 100% | 13.1s | 15.8s | ~1,880 | |
GPT-5.4 Mini gpt-5.4-mini | 99 | 100% | 100% | 1.2s | 1.5s | ~1,530 | |
GPT-6 Luna gpt-6-luna | 98 | 100% | 100% | 2.0s | 2.7s | ~180 | |
Claude Haiku 4.5 claude-haiku-4-5 | 98 | 100% | 100% | 1.9s | 2.2s | ~2,570 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Daily nutrition review
POST /napi/tools/dailyReviewRecommended: Gemini 3.1 Flash Lite100 accuracy · 3.7s p95 · ~3,340 tokens a call
Daily nutrition review
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 8.8s | 10.5s | ~1,320 | |
GPT-6 Astra gpt-6-astra | 100 | 100% | 100% | 20.9s | 24.5s | ~147,010 | |
Claude Opus 5.5 claude-opus-5-5 | 100 | 100% | 100% | 22.9s | 27.2s | ~98,090 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 15.8s | 19.4s | ~13,960 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 100 | 100% | 100% | 19.3s | 25.3s | ~57,610 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 3.3s | 3.7s | ~3,340 | Recommended, High quality, Budget |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 100 | 100% | 100% | 31.5s | 34.7s | ~65,880 | |
Grok 4.7 grok4-7 | 100 | 100% | 100% | 84.5s | 102.1s | ~20,060 | |
GPT-6.1 Sol gpt-6.1-sol | 100 | 100% | 100% | 17.7s | 19.4s | ~29,980 | |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 90 | 89% | 100% | 2.8s | 3.0s | ~4,860 | |
DeepSeek R1 deepseek-r1 | 0 | 0% | 0% | — | — | — |
Glycemic index and load
POST /napi/tools/estimateGlycemicIndexLoadRecommended: Gemini 3.1 Flash Lite98 accuracy · 0.9s p95 · ~540 tokens a call
Glycemic index and load
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 4.6s | 7.8s | ~3,820 | |
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 1.4s | 1.7s | ~210 | High quality |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 0.8s | 1.3s | ~2,140 | |
Grok 4.3 grok4-3 | 100 | 100% | 100% | 5.1s | 6.4s | ~2,170 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 98 | 96% | 100% | 0.7s | 0.9s | ~540 | Recommended, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 94 | 88% | 100% | 0.7s | 0.8s | ~750 | |
GPT-5.4 Mini gpt-5.4-mini | 94 | 88% | 100% | 0.9s | 1.1s | ~1,660 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Hidden ingredients
POST /napi/tools/invisibleIngredientSuggestionsRecommended: Gemini 3.1 Flash Lite100 accuracy · 0.9s p95 · ~370 tokens a call
Hidden ingredients
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Grok 4.3 grok4-3 | 100 | 100% | 100% | 9.2s | 13.9s | ~1,700 | |
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 1.2s | 1.4s | ~140 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 0.7s | 0.9s | ~370 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 0.6s | 0.9s | ~500 | |
GPT-5.4 Mini gpt-5.4-mini | 100 | 100% | 100% | 0.8s | 0.9s | ~1,100 | |
Claude Haiku 4.5 claude-haiku-4-5 | 99 | 100% | 100% | 0.7s | 1.1s | ~1,550 | |
Gemini 3.8 Flash gemini-3-8-flash | 94 | 94% | 94% | 4.7s | 19.6s | ~3,540 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Ingredient substitutes
POST /napi/tools/recipes/substitutesRecommended: Gemini 3.1 Flash Lite99 accuracy · 3.3s p95 · ~2,290 tokens a call
Ingredient substitutes
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Claude Opus 5.5 claude-opus-5-5 | 100 | 100% | 100% | 21.7s | 29.5s | ~86,410 | |
Grok 4.7 grok4-7 | 100 | 100% | 100% | 43.4s | 70.0s | ~18,970 | High quality |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 100 | 100% | 100% | 24.7s | 27.9s | ~46,780 | |
Gemini 3.8 Flash gemini-3-8-flash | 99 | 100% | 100% | 14.3s | 21.5s | ~10,640 | |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 99 | 100% | 100% | 2.6s | 3.2s | ~3,910 | |
GPT-6.1 Sol gpt-6.1-sol | 99 | 100% | 100% | 10.5s | 15.0s | ~19,030 | |
GPT-6 Luna gpt-6-luna | 99 | 100% | 100% | 6.2s | 7.1s | ~790 | |
GPT-6 Astra gpt-6-astra | 99 | 100% | 100% | 11.6s | 17.2s | ~95,050 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 99 | 100% | 100% | 2.5s | 3.3s | ~2,290 | Recommended, Budget |
Claude Sonnet 5.5 claude-sonnet-5-5 | 91 | 92% | 92% | 13.2s | 15.9s | ~33,920 | |
DeepSeek R1 deepseek-r1 | 0 | 0% | 0% | — | — | — |
Meal-log actions
POST /napi/tools/extractMealLogActionRecommended: Gemini 3.1 Flash Lite99 accuracy · 1.6s p95 · ~2,470 tokens a call
Meal-log actions
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Grok 4.3 grok4-3 | 100 | 100% | 100% | 9.2s | 18.5s | ~9,480 | |
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 3.0s | 5.4s | ~1,160 | High quality |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 3.7s | 6.7s | ~12,260 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 9.2s | 23.5s | ~14,760 | |
GPT-5.4 Mini gpt-5.4-mini | 100 | 100% | 100% | 1.7s | 3.0s | ~9,100 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 99 | 100% | 100% | 1.2s | 1.6s | ~2,470 | Recommended, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 98 | 100% | 100% | 1.3s | 2.0s | ~3,740 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Menu guidance
POST /napi/tools/menuCoachRecommended: Gemini 3.1 Flash Lite99 accuracy · 4.3s p95 · ~3,360 tokens a call
Menu guidance
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 99 | 100% | 100% | 3.8s | 4.3s | ~3,360 | Recommended, High quality, Budget |
Gemini 3.8 Flash gemini-3-8-flash | 99 | 100% | 100% | 14.5s | 16.9s | ~15,230 | |
GPT-6.1 Sol gpt-6.1-sol | 99 | 100% | 100% | 13.6s | 15.4s | ~27,310 | |
GPT-6 Luna gpt-6-luna | 99 | 100% | 100% | 8.2s | 8.7s | ~1,240 | |
GPT-6 Astra gpt-6-astra | 99 | 100% | 100% | 17.7s | 19.4s | ~142,470 | |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 99 | 100% | 100% | 3.5s | 3.8s | ~5,620 | |
Claude Opus 5.5 claude-opus-5-5 | 98 | 100% | 100% | 25.4s | 29.3s | ~109,500 | |
Grok 4.7 grok4-7 | 98 | 100% | 100% | 59.7s | 79.7s | ~23,030 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 98 | 100% | 100% | 14.7s | 15.7s | ~45,980 | |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 96 | 100% | 100% | 27.9s | 32.6s | ~60,480 | |
DeepSeek R1 deepseek-r1 | 0 | 0% | 0% | — | — | — |
Nutrition advisor
POST /napi/tools/nutritionAdvisorRecommended: Gemini 3.1 Flash Lite100 accuracy · 2.1s p95 · ~700 tokens a call
Nutrition advisor
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Grok 4.3 grok4-3 | 100 | 100% | 100% | 7.4s | 8.6s | ~1,670 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 6.9s | 13.0s | ~6,040 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 1.3s | 2.1s | ~700 | Recommended, High quality, Budget |
GPT-5.4 Mini gpt-5.4-mini | 100 | 100% | 100% | 1.5s | 1.9s | ~2,070 | |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 3.4s | 4.1s | ~3,290 | |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 1.3s | 2.2s | ~1,310 | |
GPT-6 Luna gpt-6-luna | 89 | 83% | 100% | 2.5s | 4.2s | ~190 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Nutrition profile
POST /napi/tools/generateIntelligenceProfileHeaderRecommended: Gemini 3.5 Flash Lite100 accuracy · 0.8s p95 · ~790 tokens a call
Nutrition profile
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 1.4s | 1.6s | ~200 | Budget |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 3.4s | 6.4s | ~3,100 | |
Grok 4.3 grok4-3 | 100 | 100% | 100% | 6.2s | 9.2s | ~1,980 | |
GPT-5.4 Mini gpt-5.4-mini | 100 | 100% | 100% | 0.9s | 1.1s | ~1,620 | |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 0.7s | 0.8s | ~790 | Recommended, High quality |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 1.1s | 1.5s | ~2,120 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 0.8s | 1.3s | ~560 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Packaged product from a photo
POST /napi/tools/vision/extractPackagedProductRecommended: GPT-6 Luna93 accuracy · 5.7s p95 · ~1,390 tokens a call
Packaged product from a photo
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 95 | 100% | 100% | 2.3s | 2.8s | ~5,670 | High quality |
GPT-6.1 Sol gpt-6.1-sol | 94 | 100% | 100% | 5.2s | 7.0s | ~31,010 | |
GPT-5.4 Mini gpt-5.4-mini · route default | 94 | 100% | 100% | 2.4s | 2.9s | ~10,750 | |
Claude Haiku 4.5 claude-haiku-4-5 | 94 | 100% | 100% | 6.3s | 7.9s | ~15,690 | |
Grok 4.7 grok4-7 | 93 | 100% | 100% | 22.7s | 43.8s | ~26,780 | |
GPT-6 Luna gpt-6-luna | 93 | 100% | 100% | 4.1s | 5.7s | ~1,390 | Recommended, Budget |
Gemini 3.8 Flash gemini-3-8-flash | 93 | 100% | 100% | 12.9s | 30.7s | ~19,060 | |
Grok 4.3 grok4-3 | 93 | 100% | 100% | 16.4s | 23.9s | ~13,150 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 93 | 100% | 100% | 4.0s | 5.3s | ~35,560 | |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 93 | 100% | 100% | 29.2s | 46.6s | ~77,220 |
Photo logging, auto-typed
POST /napi/tools/vision/extractIngredientsAutoTypedRecommended: Gemini 3.5 Flash Lite97 accuracy · 3.5s p95 · ~6,400 tokens a call
Photo logging, auto-typed
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.8 Flash gemini-3-8-flash | 97 | 99% | 100% | 11.4s | 38.8s | ~18,750 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 97 | 100% | 100% | 4.1s | 9.6s | ~48,400 | High quality |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 97 | 99% | 100% | 1.7s | 3.5s | ~6,400 | Recommended |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 96 | 96% | 100% | 21.6s | 37.2s | ~67,810 | |
GPT-6 Luna gpt-6-luna | 96 | 94% | 100% | 4.7s | 9.8s | ~1,920 | Budget |
GPT-6.1 Sol gpt-6.1-sol | 96 | 97% | 99% | 9.8s | 18.3s | ~45,190 | |
GPT-5.4 Mini gpt-5.4-mini | 95 | 96% | 100% | 2.6s | 5.5s | ~15,070 | |
Claude Haiku 4.5 claude-haiku-4-5 | 93 | 96% | 100% | 7.3s | 15.7s | ~22,840 | |
Grok 4.3 grok4-3 | 35 | 33% | 38% | 16.4s | 36.3s | ~6,440 | |
Grok 4.7 grok4-7 | 34 | 32% | 36% | 44.1s | 140.9s | ~12,530 |
Possible ingredients
POST /napi/tools/possibleIngredientSuggestionsRecommended: Gemini 3.1 Flash Lite100 accuracy · 1.1s p95 · ~520 tokens a call
Possible ingredients
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Grok 4.3 grok4-3 | 100 | 100% | 100% | 7.6s | 10.9s | ~1,840 | |
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 1.7s | 1.9s | ~160 | |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 1.3s | 1.7s | ~2,170 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 6.3s | 15.5s | ~4,440 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 1.0s | 1.1s | ~520 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 0.8s | 0.9s | ~710 | |
GPT-5.4 Mini gpt-5.4-mini | 100 | 100% | 100% | 1.1s | 1.4s | ~1,390 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Predicted ingredients
POST /napi/tools/predictIngredientsRecommended: Gemini 3.1 Flash Lite96 accuracy · 3.1s p95 · ~2,230 tokens a call
Predicted ingredients
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Grok 4.3 grok4-3 | 100 | 100% | 100% | 15.1s | 19.1s | ~8,380 | High quality |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 12.5s | 50.5s | ~22,140 | |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 98 | 100% | 100% | 2.9s | 3.4s | ~6,500 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 96 | 100% | 100% | 1.4s | 3.1s | ~2,230 | Recommended, Budget |
GPT-6 Luna gpt-6-luna | 95 | 96% | 100% | 4.9s | 6.7s | ~1,050 | |
GPT-5.4 Mini gpt-5.4-mini | 55 | 25% | 100% | 1.8s | 3.3s | ~8,320 | |
Claude Haiku 4.5 claude-haiku-4-5 | 52 | 29% | 100% | 4.4s | 7.8s | ~12,270 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Recipe from a pantry
POST /napi/tools/recipes/fromPantryRecommended: Gemini 3.1 Flash Lite100 accuracy · 6.3s p95 · ~6,380 tokens a call
Recipe from a pantry
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 15.9s | 17.8s | ~3,090 | |
GPT-6 Astra gpt-6-astra | 100 | 100% | 100% | 33.2s | 52.0s | ~304,820 | |
GPT-6.1 Sol gpt-6.1-sol | 100 | 100% | 100% | 30.3s | 32.7s | ~64,100 | |
Claude Opus 5.5 claude-opus-5-5 | 100 | 100% | 100% | 49.5s | 54.6s | ~218,360 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 39.2s | 61.7s | ~27,770 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 100 | 100% | 100% | 47.8s | 56.8s | ~134,560 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 5.3s | 6.3s | ~6,380 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 5.9s | 7.1s | ~12,490 | |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 100 | 100% | 100% | 48.8s | 56.4s | ~110,490 | |
Grok 4.7 grok4-7 | 33 | 33% | 33% | 149.3s | 167.2s | ~17,930 |
Recipe makeover
POST /napi/tools/recipes/makeoverRecommended: Gemini 3.5 Flash Lite99 accuracy · 7.4s p95 · ~13,110 tokens a call
Recipe makeover
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 99 | 100% | 100% | 6.7s | 7.4s | ~13,110 | Recommended, High quality |
Gemini 3.8 Flash gemini-3-8-flash | 98 | 100% | 100% | 27.3s | 38.5s | ~32,410 | |
GPT-6 Luna gpt-6-luna | 94 | 89% | 100% | 19.6s | 25.5s | ~3,340 | |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 84 | 75% | 100% | 57.6s | 64.2s | ~129,200 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 83 | 75% | 100% | 5.5s | 6.2s | ~6,360 | Budget |
GPT-6.1 Sol gpt-6.1-sol | 79 | 73% | 91% | 45.0s | 55.1s | ~75,760 | |
GPT-6 Astra gpt-6-astra | 75 | 58% | 92% | 57.3s | 76.9s | ~396,710 | |
Claude Opus 5.5 claude-opus-5-5 | 70 | 75% | 100% | 55.0s | 106.4s | ~282,400 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 70 | 75% | 100% | 78.0s | 101.9s | ~196,800 | |
Grok 4.7 grok4-7 | 22 | 22% | 22% | 160.3s | 172.5s | ~10,390 | |
DeepSeek R1 deepseek-r1 | 0 | 0% | 0% | — | — | — |
Recreate a dish
POST /napi/tools/recipes/recreateDishRecommended: Gemini 3.1 Flash Lite100 accuracy · 6.3s p95 · ~4,640 tokens a call
Recreate a dish
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 16.4s | 25.4s | ~2,080 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 23.7s | 28.1s | ~19,740 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 4.9s | 6.3s | ~4,640 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 6.1s | 7.5s | ~9,610 | |
Gemini 3.1 Pro Preview gemini-3-1-pro-preview | 100 | 100% | 100% | 43.7s | 68.2s | ~81,270 | |
Claude Opus 5.5 claude-opus-5-5 | 100 | 100% | 100% | 39.9s | 72.0s | ~151,580 | |
GPT-6 Astra gpt-6-astra | 100 | 100% | 100% | 29.4s | 61.2s | ~261,800 | |
GPT-6.1 Sol gpt-6.1-sol | 100 | 100% | 100% | 25.7s | 56.6s | ~51,610 | |
Claude Sonnet 5.5 claude-sonnet-5-5 | 99 | 100% | 100% | 18.3s | 68.7s | ~73,020 | |
Grok 4.7 grok4-7 | 80 | 80% | 80% | 43.1s | 147.9s | ~25,380 | |
DeepSeek R1 deepseek-r1 | 0 | 0% | 0% | — | — | — |
Search terms
POST /napi/tools/generateSearchTermsRecommended: Gemini 3.5 Flash Lite96 accuracy · 1.7s p95 · ~2,790 tokens a call
Search terms
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 5.6s | 27.6s | ~8,460 | |
GPT-6 Luna gpt-6-luna · route default | 96 | 93% | 100% | 2.6s | 3.7s | ~780 | Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 96 | 93% | 100% | 1.2s | 1.7s | ~2,790 | Recommended, High quality |
Grok 4.3 grok4-3 | 95 | 93% | 100% | 9.5s | 22.9s | ~7,470 | |
GPT-5.4 Mini gpt-5.4-mini | 94 | 93% | 100% | 1.4s | 1.8s | ~6,080 | |
Claude Haiku 4.5 claude-haiku-4-5 | 89 | 87% | 100% | 3.0s | 3.9s | ~8,970 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Text and voice logging
POST /napi/tools/extractIngredientsRecommended: Gemini 3.1 Flash Lite100 accuracy · 2.8s p95 · ~3,360 tokens a call
Text and voice logging
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 1.7s | 2.8s | ~3,360 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 2.3s | 4.4s | ~6,340 | |
Grok 4.3 grok4-3 | 100 | 100% | 100% | 20.3s | 29.4s | ~13,020 | |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 6.5s | 12.0s | ~18,880 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 12.1s | 20.8s | ~17,050 | |
GPT-6 Luna gpt-6-luna | 99 | 100% | 100% | 4.3s | 8.6s | ~1,460 | |
GPT-5.4 Mini gpt-5.4-mini | 98 | 100% | 100% | 2.3s | 4.4s | ~11,690 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Text and voice logging, meal and ingredients
POST /napi/tools/extractFoodAndIngredientsRecommended: Gemini 3.1 Flash Lite100 accuracy · 2.2s p95 · ~4,160 tokens a call
Text and voice logging, meal and ingredients
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Grok 4.3 grok4-3 | 100 | 100% | 100% | 23.4s | 31.5s | ~17,910 | |
Claude Haiku 4.5 claude-haiku-4-5 | 100 | 100% | 100% | 9.8s | 13.7s | ~26,680 | |
Gemini 3.8 Flash gemini-3-8-flash | 100 | 100% | 100% | 13.7s | 21.6s | ~21,110 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 100 | 100% | 100% | 1.7s | 2.2s | ~4,160 | Recommended, High quality, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 100 | 100% | 100% | 1.9s | 2.7s | ~6,200 | |
GPT-6 Luna gpt-6-luna | 100 | 100% | 100% | 6.5s | 9.7s | ~2,260 | |
GPT-5.4 Mini gpt-5.4-mini | 100 | 100% | 100% | 3.4s | 5.3s | ~17,560 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Ultra-processed food rating
POST /napi/tools/ultraProcessedFoodRatingRecommended: Gemini 3.1 Flash Lite94 accuracy · 1.6s p95 · ~1,680 tokens a call
Ultra-processed food rating
| Model | Accuracy | Cases passing | Succeeded | Typical | p95 | Tokens a call | Pick |
|---|---|---|---|---|---|---|---|
Claude Haiku 4.5 claude-haiku-4-5 | 95 | 90% | 100% | 3.5s | 6.3s | ~8,090 | High quality |
Gemini 3.8 Flash gemini-3-8-flash | 94 | 90% | 100% | 6.4s | 12.9s | ~6,830 | |
Grok 4.3 grok4-3 | 94 | 90% | 100% | 8.4s | 13.5s | ~7,200 | |
GPT-5.4 Mini gpt-5.4-mini | 94 | 90% | 100% | 1.2s | 1.7s | ~5,130 | |
Gemini 3.1 Flash Lite gemini-3-1-flash-lite · route default | 94 | 90% | 100% | 1.2s | 1.6s | ~1,680 | Recommended, Budget |
Gemini 3.5 Flash Lite gemini-3-5-flash-lite | 93 | 87% | 100% | 1.0s | 1.3s | ~2,180 | |
GPT-6 Luna gpt-6-luna | 91 | 83% | 100% | 1.8s | 2.4s | ~660 | |
Grok 4.1 Fast grok4-1-fast | 0 | 0% | 0% | — | — | — | |
DeepSeek V3.2 deepseek-v3-2 | 0 | 0% | 0% | — | — | — |
Tokens per call, by route
What a call cost Passio's customers in production over the last 30 days, on the model most calls ran on, and the range across every other model the route can run on.
| Feature | Default model | Typical call | Heavy call | Calls per 1M tokens | On other models |
|---|---|---|---|---|---|
| Food logging | |||||
Photo meal logging /napi/tools/vision/extractIngredientsAutoTyped | GPT-5.4 Nano | 5,857 | 6,493 | 171 | 1,920 – 866,830 |
Photo logging with meal and ingredients /napi/tools/vision/extractFoodAndIngredients | Gemini 3.5 Flash Lite | 10,033 | 11,147 | 100 | 2,510 – 836,060 |
Photo logging, ingredients only /napi/tools/vision/extractIngredients | GPT-5.4 Nano | 5,100 | 5,559 | 196 | 2,300 – 765,070 |
Packaged product from a photo /napi/tools/vision/extractPackagedProduct | GPT-5.4 Mini | 15,587 | 16,139 | 64 | 1,390 – 625,300 |
Text or voice meal logging /napi/tools/extractIngredients | Gemini 3.1 Flash Lite | 4,462 | 4,936 | 224 | 1,925 – 547,100 |
Edit a log by voice or text /napi/tools/extractMealLogAction | Gemini 3.1 Flash Lite | 3,807 | 4,084 | 263 | 1,160 – 462,140 |
| Search and lookup | |||||
Semantic food search (AI) /napi/food/search/semantic | GPT-6 Luna | 1,159 | 1,192 | 863 | 1,476 – 381,500 |
Search terms from a description /napi/tools/generateSearchTerms | GPT-6 Luna | 1,169 | 1,199 | 855 | 1,540 – 383,810 |
| Guidance and ratings | |||||
Nutrition advisor message /napi/tools/nutritionAdvisor | Gemini 3.1 Flash Lite | 612 | 699 | 1,634 | 190 – 72,340 |
Rate a food against your criterion /napi/tools/genericFoodRating | Gemini 3.1 Flash Lite | 486 | 555 | 2,058 | 170 – 56,060 |
Ultra-processed food rating /napi/tools/ultraProcessedFoodRating | Gemini 3.1 Flash Lite | 3,391 | 3,903 | 295 | 660 – 398,210 |
Glycemic index and load /napi/tools/estimateGlycemicIndexLoad | Gemini 3.1 Flash Lite | 707 | 775 | 1,414 | 210 – 90,140 |
Hidden ingredients /napi/tools/invisibleIngredientSuggestions | Gemini 3.1 Flash Lite | 555 | 580 | 1,802 | 140 – 67,150 |
Possible ingredients /napi/tools/possibleIngredientSuggestions | Gemini 3.1 Flash Lite | 494 | 538 | 2,024 | 160 – 59,470 |
Alternatives to a food /napi/tools/visualAlternativeSuggestions | Gemini 3.1 Flash Lite | 576 | 619 | 1,736 | 180 – 69,410 |
| Meal plans Each plan type is an EasyAI workflow with a template in EasyAI. Start from it to change the steps, prompts or models, and tune the cost and the plans it writes for your app. | |||||
Meal plan, fast /napi/tools/mealPlans/fast | Gemini 3.1 Flash Lite | ~36,000 | — | ~28 | — Rough, from one Passio test run until production traffic is measured. A multi-step run, billed once. |
Meal plan, macro-tuned /napi/tools/mealPlans/macroTuned | Gemini 3.1 Pro Preview | ~790,000 | — | ~1 | — Rough, from one Passio test run until production traffic is measured. A multi-step run, billed once. |
Meal plan, budget /napi/tools/mealPlans/budget | Gemini 3.5 Flash Lite | ~260,000 | — | ~4 | — Rough, from one Passio test run until production traffic is measured. A multi-step run, billed once. |
Meal plan, athletic /napi/tools/mealPlans/athletic | Gemini 3.1 Pro Preview | ~540,000 | — | ~2 | — Rough, from one Passio test run until production traffic is measured. A multi-step run, billed once. |
Meal plan, family /napi/tools/mealPlans/family | GPT-5.4 Mini | ~61,000 | — | ~16 | — Rough, from one Passio test run until production traffic is measured. A multi-step run, billed once. |
| Passio AI Studio | |||||
Passio AI Studio workflow run /sdk/chains/{chainId}/execute | Gemini 3.1 Flash Lite | 11,074 | 15,504 | 90 | 4,550 – 1,378,030 |
| Other AI routes | |||||
Daily nutrition review /napi/tools/dailyReview | Gemini 3.1 Flash Lite | 3,340 | — | 299 | 1,150 – 400,800 From Passio's route test |
Ingredient substitutes /napi/tools/recipes/substitutes | Gemini 3.1 Flash Lite | 2,290 | — | 437 | 790 – 274,800 From Passio's route test |
Menu guidance /napi/tools/menuCoach | Gemini 3.1 Flash Lite | 3,360 | — | 298 | 1,150 – 403,200 From Passio's route test |
Nutrition profile /napi/tools/generateIntelligenceProfileHeader | Gemini 3.1 Flash Lite | 560 | — | 1,786 | 190 – 67,200 From Passio's route test |
Predicted ingredients /napi/tools/predictIngredients | Gemini 3.1 Flash Lite | 2,230 | — | 448 | 760 – 267,600 From Passio's route test |
Recipe from a pantry /napi/tools/recipes/fromPantry | Gemini 3.1 Flash Lite | 6,380 | — | 157 | 2,190 – 765,600 From Passio's route test |
Recipe makeover /napi/tools/recipes/makeover | Gemini 3.1 Flash Lite | 6,360 | — | 157 | 2,180 – 763,200 From Passio's route test |
Recreate a dish /napi/tools/recipes/recreateDish | Gemini 3.1 Flash Lite | 4,640 | — | 216 | 1,590 – 556,800 From Passio's route test |
Text and voice logging, meal and ingredients /napi/tools/extractFoodAndIngredients | Gemini 3.1 Flash Lite | 4,160 | — | 240 | 1,430 – 499,200 From Passio's route test |
Calls that use no AI (search, barcode, food details) are a flat 75 tokens. Turn these into a monthly estimate.
Live demo
Try any model on your own food.
The demo runs the real Nutrition AI API. Sign up, then photograph a meal, say what you ate, or search, and see what each call returns and costs.
- A page for every route: photo, voice and text logging, search, barcode, the advisor, ratings, meal plans and shopping.
- Switch the model on any route and see how the answer and the cost change.
- See the exact request, response and tokens of every call.
- Already a customer? Sign in with your API key; calls run on, and bill, your own account.