Prerequisites

Code Example

This example demonstrates how to use the Food Analysis API to analyze a food image. We’ll show how to do this in both Python and Node.js.

import requests
import base64

# Function to encode the image
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

# API endpoint
url = "http://api.calai.app/v1/scanImage" 

# Path to your image file
image_path = "path/to/your/image.jpg"

# Encoding the image
base64_image = encode_image(image_path)

# Preparing the payload
payload = {
    "imageData": base64_image
}

# Bearer token
bearer_token = "YOUR_API_KEY"

# Headers
headers = {
    "Authorization": f"Bearer {bearer_token}"
}

# Making the API request
response = requests.post(url, json=payload, headers=headers)

# Check if the request was successful
if response.status_code == 200:
    result = response.json()
    if result["success"]:
        # Process the successful response
        analysis = result["data"]
        print(f"Meal Name: {analysis['name']}")
        print(f"Calories: {analysis['calories']}")
        print(f"Protein: {analysis['protein']}g")
        print(f"Carbs: {analysis['carbs']}g")
        print(f"Fats: {analysis['fats']}g")
    else:
        # Handle API-level error
        print(f"API Error: {result['error']}")
else:
    # Handle HTTP error
    print(f"HTTP Error: {response.status_code}")

Both examples do the following:

  1. Encode an image file to base64.
  2. Prepare the payload with the encoded image data.
  3. Send a POST request to the /scanImage endpoint.
  4. Process the response, handling both successful analyses and potential errors.

Remember to replace "path/to/your/image.jpg" with the actual path to your image file, and ensure you have the necessary libraries installed (requests for Python, axios for Node.js).

Prerequisites

Code Example

This example demonstrates how to use the Food Analysis API to analyze a food image. We’ll show how to do this in both Python and Node.js.

import requests
import base64

# Function to encode the image
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

# API endpoint
url = "http://api.calai.app/v1/scanImage" 

# Path to your image file
image_path = "path/to/your/image.jpg"

# Encoding the image
base64_image = encode_image(image_path)

# Preparing the payload
payload = {
    "imageData": base64_image
}

# Bearer token
bearer_token = "YOUR_API_KEY"

# Headers
headers = {
    "Authorization": f"Bearer {bearer_token}"
}

# Making the API request
response = requests.post(url, json=payload, headers=headers)

# Check if the request was successful
if response.status_code == 200:
    result = response.json()
    if result["success"]:
        # Process the successful response
        analysis = result["data"]
        print(f"Meal Name: {analysis['name']}")
        print(f"Calories: {analysis['calories']}")
        print(f"Protein: {analysis['protein']}g")
        print(f"Carbs: {analysis['carbs']}g")
        print(f"Fats: {analysis['fats']}g")
    else:
        # Handle API-level error
        print(f"API Error: {result['error']}")
else:
    # Handle HTTP error
    print(f"HTTP Error: {response.status_code}")

Both examples do the following:

  1. Encode an image file to base64.
  2. Prepare the payload with the encoded image data.
  3. Send a POST request to the /scanImage endpoint.
  4. Process the response, handling both successful analyses and potential errors.

Remember to replace "path/to/your/image.jpg" with the actual path to your image file, and ensure you have the necessary libraries installed (requests for Python, axios for Node.js).