Food Image Analysis for Calorie Estimation with Vision AI and Telegram

Go to Workflow
0 views
Built by Toshiya Minami Toshiya Minami
Created on June 13, 2026

Description

Who’s it for

Teams building health/fitness apps, coaches running check-ins in chat, and anyone who needs quick, structured nutrition insights from food photos—without manual logging.

What it does / How it works

This workflow accepts a food image (URL or Base64), uses a vision-capable LLM to infer likely ingredients and rough gram amounts, estimates per-ingredient calories, and returns a strict JSON summary with total calories and a short nutrition note. It normalizes different payloads (e.g., Telegram/LINE/Webhook) into a common format, handles transient errors with retries, and avoids hardcoded secrets by using credentials/env vars.

Requirements

Vision-capable LLM credentials (e.g., gpt-4o or equivalent)
One input channel (Webhook, Telegram, or LINE)
Environment variables for model name/temperature and optional request validation

How to set up

Connect your input channel and enable the Webhook (copy the test URL).
Add LLM credentials and set LLM_MODEL and LLM_TEMPERATURE (e.g., 0.3).
Turn on the workflow, send a sample payload with imageUrl, and confirm the strict JSON output.
(Optional) Configure a reply node (Telegram/Slack or HTTP Response) and a logger (Google Sheets/Notion).

How to customize the workflow

Outputs**: Add macros (protein/fat/carb) or micronutrient fields.
Units**: Convert portion descriptions (piece/slice) to grams with your own mapping.
Languages**: Toggle multilingual output (ja/en).
Policies**: Tighten validation (reject low-confidence parses) or add manual review steps.
Security**: Use signed/temporary URLs for private images; mask PII in logs.

Data model (strict JSON)

{
"dishName": "string",
"ingredients": [{ "name": "string", "amount": 0, "calories": 0 }],
"totalCalories": 0,
"nutritionEvaluation": "string"
}

Notes

Rename all nodes clearly, include sticky notes explaining the setup, and never commit real IDs, tokens, or API keys.

Nodes Used (5)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured