Food Image Analysis for Calorie Estimation with Vision AI and Telegram

Go to Workflow
0 views
Built by Toshiya Minami Toshiya Minami
Created on October 14, 2025

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.

This workflow was created by Toshiya Minami and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

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