EATLY
AI photo scan
POST /v1/eatly/scan — photo → calories & macros. GET /v1/eatly/quota.
POST
/v1/eatly/scanSend a food photo. The same Groq/Llama function as the Android app returns calories, protein, fat, carbs and a confidence score. One scan = one quota unit.
JSON
curl -X POST https://cloud.uflow.uz/v1/eatly/scan \
-H "Authorization: Bearer uf_live_…" \
-H "Content-Type: application/json" \
-d '{
"image_base64": "<jpeg-or-png-base64>",
"meal_type": "lunch",
"save": true
}'multipart
curl -X POST https://cloud.uflow.uz/v1/eatly/scan \
-H "Authorization: Bearer uf_live_…" \
-F "file=@plate.jpg" \
-F "meal_type=lunch" \
-F "save=true"Response
{
"data": {
"foods": [
{
"foodItem": "Grilled chicken breast",
"calories": 320,
"protein": 42,
"carbs": 0,
"fat": 14,
"confidence": 0.86,
"summary": "Lean protein, moderate fat."
}
],
"meal_id": "uuid-if-save-true",
"meal_type": "lunch",
"quota": {
"plan": "free",
"limit": 2,
"used": 1,
"remaining": 1,
"resets_at": "2026-08-23T19:00:00.000Z",
"timezone": "Asia/Tashkent"
}
}
}Quota
GET
/v1/eatly/quotaRemaining AI scans for the Asia/Tashkent day. Free = 2, Premium = 10. Over the limit → 429 quota_exceeded.
GET
curl https://cloud.uflow.uz/v1/eatly/quota \
-H "Authorization: Bearer uf_live_…"