Photo in, app-ready answers out.

Vision APIs for consumer apps: calories from a meal, skin analysis from a selfie, physique feedback, color season, plant ID and diagnosis, and product label scores. One key, one price per call, and JSON your app can show as it is.

$1.00 of free credit to start. No card needed.

curl https://ourapi.keronlabs.com/v1/food \
  -H "Authorization: Bearer $FORKCAST_KEY" \
  -F image=@lunch.jpg \
  -F context="I ate about half"
APIs

Pick the one your app needs

Every API takes a photo and returns structured JSON. Same key, same billing, same error format.

How it works

One request, three steps

01

Send a photo

Upload it as multipart form data, send it as base64 in JSON, or pass a public image URL. Add the user’s own facts as fields, like their age or "I ate half".

02

The model grades what it sees

A vision model reports what is visible on fixed, written scales (an acne grade, how defined the abs are, which foods are on the plate) and points to the evidence. It does not make up final numbers.

03

Code computes the answer

Scores, body fat ranges, color seasons, Nutri-Score grades and nutrition values come from documented formulas and reference data, so the same grades always give the same result.

Why use it

Weeks of tuning you can skip

The prompts, scales, reference data and edge cases are already worked out.

Checked against reference data

Nutrition from USDA FoodData Central, plant names from GBIF, additives from Open Food Facts, pet toxicity from the ASPCA lists, and the official Nutri-Score formula.

Same photo, same answer

An identical request returns the stored result, free, so a user who rescans never sees the number jump.

Photo quality built in

Each response says when a photo is too dark, blurred, filtered or framed wrong, and how much to trust the result.

Safe by default

Body and skin APIs refuse minors and nudity, never give a diagnosis, and flag anything worth showing a professional.

Benchmark: food API

Tested against weighed meals

We ran 60 plates from Nutrition5k, a public Google dataset of cafeteria meals weighed in a lab, through the food API and through one plain call to the same vision model.

ForkcastPlain model callAverage error, lower is better
Calories
40.4%
95.9%
Weight
33.8%
79.2%
Protein
70.3%
102%
Fat
78.9%
141%
Average absolute percentage error by metric
MetricForkcastPlain model call
Calories40.4%95.9%
Weight33.8%79.2%
Protein70.3%102%
Fat78.9%141%

Mean absolute percentage error against the weighed values, on 60 dishes held out from tuning, two runs each, both using Claude Haiku 5.5. The photos are overhead cafeteria shots, so phone photos taken at an angle may score differently. Carb error is high for both methods (196% and 236%) because many of these dishes have almost no carbs, and a small miss becomes a large percentage. Benchmarks for the other APIs are being prepared on public labeled datasets.

Pricing

Pay per call

Each call draws from prepaid credit at the price listed with its API. New accounts start with $1.00.

Top up

$10

1,000 calls at $0.01

Top up

$25

2,500 calls at $0.01

Top up

$100

10,000 calls at $0.01

Failed calls are freeRepeat photos are freeSet a monthly limit on each key
Start with free credit
FAQ

Questions, answered

Why not call a vision model directly?

You can, but a plain call guesses the final numbers, and they drift between scans of the same photo. Here the model only grades what it can see on fixed scales, and code turns those grades into scores using published formulas and reference data. On the food benchmark, that halved the calorie error against a plain call to the same model.

How accurate is it?

The food API was tested on 60 weighed Nutrition5k meals: average calorie error was 40%, against 96% for a plain call. Benchmarks for the other APIs are being prepared on public labeled datasets. Every response carries a reliability rating and photo quality warnings, so your app can ask for a better photo instead of showing a weak result.

What counts as a call?

A request that returns 200 with a new result. Failed requests are not charged. Sending the exact same photo and fields again returns the stored result for free, with metadata.cached set to true.

Can my mobile app call the API directly?

Keep the key on your server. Your app sends the photo to your backend, and your backend calls the API. A key in an app bundle can be pulled out and used by anyone.

Which images work?

JPEG, PNG, WebP or GIF up to 5 MB, sent as a multipart upload, as base64 in JSON, or as a public image URL.

Who can be analyzed by the skin and body APIs?

Adults only for the body API, and no nudity on any API. Neither gives a diagnosis. The skin API flags spots worth showing a dermatologist, and every result says it is an estimate, not medical advice.

Try any API in a minute

Sign in, drop a photo into the playground, then create a key for your app.