spandan-api / README.md
Rudray Dave
Fixed readme
bc52fa6
|
Raw
History Blame Contribute Delete
4.43 kB
metadata
title: Spandan AI API
emoji: 🫀
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false

Spandan AI API

Version: 1.0.0

REST API for AI-powered prediction of:

  • Stress
  • Physical Activity
  • Focus
  • Cognitive Engagement

The API is built using FastAPI and serves ONNX models using ONNX Runtime.


Base URL

https://theanalyzer-spandan-api.hf.space

Interactive API Documentation

Swagger UI:

https://theanalyzer-spandan-api.hf.space/docs

Endpoints

1. Health Check

Request

GET /

Response

{
    "message": "Spandan API Running",
    "status": "healthy",
    "version": "1.0.0"
}

2. Stress / Physical Activity / Focus Prediction

Predicts the current state of an individual using 13 wearable sensor values.

Endpoint

POST /predict/state

Full URL

https://theanalyzer-spandan-api.hf.space/predict/state

Request

Headers

Content-Type: application/json

Body

{
    "sensor_values": [
        1.0,
        2.0,
        3.0,
        4.0,
        5.0,
        6.0,
        7.0,
        8.0,
        9.0,
        10.0,
        11.0,
        12.0,
        13.0
    ]
}

Note: Exactly 13 sensor values must be provided.


Successful Response

{
    "prediction": "Physical Activity",
    "confidence": 0.9999,
    "scores": {
        "Stress": 0.0000,
        "Physical Activity": 0.9999,
        "Focus": 0.0001
    }
}

Response Fields

Field Type Description
prediction string Predicted class
confidence float Confidence of predicted class
scores object Confidence score for all classes

Possible Classes

  • Stress
  • Physical Activity
  • Focus

3. Cognitive Engagement Prediction

Predicts whether an individual is Engaged or Distracted using 7 wearable sensor values.

Endpoint

POST /predict/engagement

Full URL

https://theanalyzer-spandan-api.hf.space/predict/engagement

Request

Headers

Content-Type: application/json

Body

{
    "sensor_values": [
        1.0,
        2.0,
        3.0,
        4.0,
        5.0,
        6.0,
        7.0
    ]
}

Note: Exactly 7 sensor values must be provided.


Successful Response

{
    "prediction": 1,
    "status": "Engaged"
}

or

{
    "prediction": 0,
    "status": "Distracted"
}

Response Fields

Field Type Description
prediction integer Model prediction (1 = Engaged, 0 = Distracted)
status string Human-readable prediction

Error Responses

Invalid Input

HTTP Status

400 Bad Request

Example

{
    "detail": "Expected exactly 13 sensor values, got 10"
}

Internal Server Error

HTTP Status

500 Internal Server Error

Example

{
    "detail": "Model inference failed: <error details>"
}

Python Example

import requests

url = "https://theanalyzer-spandan-api.hf.space/predict/state"

payload = {
    "sensor_values": [
        1,2,3,4,5,6,7,8,9,10,11,12,13
    ]
}

response = requests.post(url, json=payload)

print(response.json())

JavaScript Example

const response = await fetch(
    "https://theanalyzer-spandan-api.hf.space/predict/state",
    {
        method: "POST",
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            sensor_values: [
                1,2,3,4,5,6,7,8,9,10,11,12,13
            ]
        })
    }
);

const data = await response.json();

console.log(data);

Notes

  • All requests and responses use JSON.
  • The /predict/state endpoint requires exactly 13 sensor values.
  • The /predict/engagement endpoint requires exactly 7 sensor values.
  • Sensor values must be provided in the same order used during model training.
  • The API is stateless and can be called independently for each prediction.
  • Interactive API documentation is available at:
https://theanalyzer-spandan-api.hf.space/docs

Technology Stack

  • FastAPI
  • ONNX Runtime
  • NumPy
  • Python 3.11
  • Hugging Face Spaces (Docker)

Status

🟢 Production Ready