TrackUp Food Analyze
Use this skill to analyze a food image with:
https://deepeat.ai/step.aispark.api.API/AnalyzeWholeFoodhttps://deepeat.ai/step.aispark.api.API/ExtractFoodMacroshttps://deepeat.ai/step.aispark.api.API/AnalyzeIngredientshttps://deepeat.ai/step.aispark.api.API/GetHealthInsighthttps://deepeat.ai/step.aispark.api.API/SearchFood
Rules
- Always use
POST - Always send
Content-Type: application/json - Image analysis requests must contain
image_urlorimage_base64 - If both exist,
image_base64wins image_base64must be raw base64 withoutdata:image/...;base64,- For complete food image analysis, call
AnalyzeWholeFooddirectly - Only call a specialized image-analysis API when the user explicitly asks for one specific analysis dimension
- Use
ExtractFoodMacrosfor basic macro extraction - Use
AnalyzeIngredientsfor deep ingredient and metabolic analysis - Use
GetHealthInsightfor professional health insight SearchFoodrequest body must containkeywordSearchFoodreturns at most the first20results
API Selection
Choose the API based on the user's intent:
- Full food analysis:
AnalyzeWholeFood - Basic macro extraction only:
ExtractFoodMacros - Deep ingredient and metabolic analysis only:
AnalyzeIngredients - Professional health insight only:
GetHealthInsight - Keyword-based lookup without image analysis:
SearchFood
Food Search
Use SearchFood when the user wants keyword-based food lookup instead of image analysis.
Request example:
curl --silent --show-error --location \
'https://deepeat.ai/step.aispark.api.API/SearchFood' \
--header 'Content-Type: application/json' \
--data '{
"keyword": "banana"
}'
Expected response shape:
{
"foods": [
{
"food_name": "Banana",
"calories_cal": "89000",
"weight_g": "100",
"carbs_g": "22.8",
"proteins_g": "1.1",
"fats_g": "0.3",
"display_gi": 51,
"brand": ""
}
],
"pagination": {
"size": 20,
"page": 1,
"total": 123
}
}
Local Image Workflow
Convert local image to base64:
base64 < /absolute/path/to/image.jpg | tr -d '\n' > /tmp/food_image.b64
Build payload:
printf '{"image_base64":"' > /tmp/food_image.json
cat /tmp/food_image.b64 >> /tmp/food_image.json
printf '"}' >> /tmp/food_image.json
Call full food analysis directly:
curl --silent --show-error --location \
'https://deepeat.ai/step.aispark.api.API/AnalyzeWholeFood' \
--header 'Content-Type: application/json' \
--data-binary @/tmp/food_image.json
Proxy Fix
If curl incorrectly tries a local proxy like 127.0.0.1:7890, retry with:
env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY curl ...
Response Fields
AnalyzeWholeFood:
food_nametotal_weight_gtotal_calories_kcalcarbs_gproteins_gfats_gdisplay_gidietary_fiber_gsugar_gingredients[]health_scorehealth_profile
ExtractFoodMacros:
food_nametotal_weight_gtotal_calories_kcalcarbs_gproteins_gfats_g
AnalyzeIngredients:
display_gidietary_fiber_gsugar_gingredients[]
GetHealthInsight:
health_scorehealth_profile
SearchFood:
foods[]pagination.pagepagination.sizepagination.total
health_score meaning:
1-5score generated by AI food evaluation5is the highest score- Use it to help users make nutritionally informed choices
Output Rules
- Keep numeric values exactly as returned
- Do not invent missing fields
- For complete image analysis, use
AnalyzeWholeFoodas the default API - For specialized analysis, use only the dedicated API that matches the user's request
- For
SearchFood, return the foods in API order and do not claim more than20items unless the response actually contains them
Common Errors
400 invalid_request422 food_not_recognized422 barcode_only_result429 rate_limit_exceeded500 internal_error502 upstream_flow_error