Laufen
Dieser Endpunkt ermöglicht es einem Administrator (oder Sub-Admin), eine Videodatei zur Verarbeitung hochzuladen und eine neue "Sitzungs"-Ressource im Namen eines anderen Benutzers zu erstellen. Der Server gibt eine session_id zurück, die zum Abfragen oder Abrufen der Sitzungsdetails/ergebnisse verwendet werden kann.
Anfragekörper (Multipart/Form-Data)
Folgende Felder müssen angegeben werden:
user_id (string, erforderlich): Die ID des Benutzers, für den diese Sitzung erstellt wird. - video (Datei, erforderlich): Die zu verarbeitende Videodatei. - session_name (string, optional): Ein lesbarer Name/Titel für die Sitzung. - incline_degree (string oder number, optional): Numerischer Wert für den Neigungswinkel. - body_joint_angles (array[string], optional): Eine kommagetrennte Liste von Gelenknamen (z.B. 'elbow, knee, ankle'). Standardwert ist ['all'], falls nicht angegeben.
Antwortstruktur
Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit: - session_id (string): Eine eindeutige Kennung für die erstellte Sitzung. - title (string): Der Sitzungstitel (Standardwert, falls session_name nicht angegeben wurde).
Ablauf
POST-Anfrage mit multipart/form-data, die die erforderlichen Felder
user_idundvideosowie optionale Felder enthält. 2. Gültiger API-KEY-Token imAuthorization-Header. 3. Der Aufrufer benötigt Admin-Rechte, um eine Sitzung für einen anderen Benutzer zu erstellen. 4. Bei Erfolg antwortet der Server mitsession_idundtitle. 5. Bei einem Fehler (z.B. fehlende Felder, fehlende Berechtigungen) wird ein JSON-Objekt mit einemerror-Schlüssel zurückgegeben.
Beispiel cURL: ```bash curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H 'Authorization: API-KEY <YOUR_ADMIN_TOKEN>' \
-F 'user_id=someUserId123' \
-F 'video=@/path/to/video.mp4' \
-F 'session_name=Custom Session' \
-F 'incline_degree=5' \
-F 'body_joint_angles=elbow, knee, ankle' \
https://<backend-link>/running/management/sessions/Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Erforderlich. Die ID des Benutzers, für den diese Sitzung erstellt wird (Formularfeld: Text).
Erforderlich. Die zu verarbeitende Videodatei (Formularfeldtyp: Datei).
Optional. Ein beschreibender Name für die Sitzung (Formularfeld: Text).
Optional. Ein numerischer String, der den Neigungswinkel angibt (Formularfeld: Text).
Optional. Eine kommagetrennte Liste von Gelenknamen. Verfügbare Werte: ankle, knee, elbow, hip, shoulder. Beispiel: ankle,knee,hip
Video-Verarbeitungssitzung erfolgreich erstellt (HTTP 200).
Die eindeutige Kennung für die erstellte Sitzung.
Der Sitzungstitel (Standardwert, falls nicht angegeben).
Ungültige Anfrage - Möglicherweise aufgrund fehlender user_id, fehlender video oder ungültiger Formulardaten.
Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.
Verboten - Der Benutzer hat keine Admin-Berechtigung, um Sitzungen für andere zu erstellen.
Nicht gefunden - Geschäftslogikprobleme oder Ressourcenbeschränkungen (z.B. Sitzungslimit).
Interner Serverfehler - Unerwarteter Fehler auf dem Server.
POST /running/sessions/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 102
"user_id='text'&video='text'&session_name='text'&incline_degree='text'&body_joint_angles=[]"{
"session_id": "text",
"title": "text"
}Ruft detaillierte Informationen für eine spezifische Laufsitzung ab, die durch die session_id identifiziert wird.
Pfadparameter - session_id (string, erforderlich): Die eindeutige Kennung der abzurufenden Sitzung.
Abfrageparameter - demo (boolean, optional): Auf true setzen, um Demo-Laufsitzungsdaten anstelle echter Daten abzurufen.
Antwortstruktur Bei Erfolg (HTTP 200) ist die Antwort ein JSON-Objekt mit folgenden Feldern: - metrics (object): Ein Wörterbuch mit Metriken-Arrays (z.B. Geschwindigkeit, Kadenz, Distanz). - angles (object): Ein Wörterbuch mit Winkel-Arrays (z.B. lhip_angle, rsho_angle). - all_timestamps (array[number]): Eine Liste von Zeitstempeln (in Sekunden) für die Sitzungsdaten. - analyzed_video_url (string, URI): Die URL des analysierten Videos (mit Keypoint-Overlay). - video_url (string, URI): Die URL des hochgeladenen Originalvideos. - segments (integer): Die Anzahl der verarbeiteten Segmente. - created_at (object): Enthält das Erstellungsdatum und -zeit. - user_name (string): Der Name des mit der Sitzung verknüpften Benutzers. - activity (string): Die Aktivitätsart (z.B. 'Running'). - title (string): Der Titel der Sitzung. - calculated_metrics (object): Ein Wörterbuch mit berechneten Statistiken. - summary (string): Eine optionale textuelle Zusammenfassung der Sitzung.
Fehlerbehandlung - 400 Ungültige Anfrage: Ungültige Parameter (z.B. ungültige Admin-UID). - 401 Nicht autorisiert: Fehlender oder ungültiger Zugriffstoken. - 403 Verboten: Unzureichende Berechtigungen zum Zugriff auf die Sitzung. - 404 Nicht gefunden: Die Sitzung existiert nicht oder ist für die angegebene Aktivität ungültig. - 500 Interner Serverfehler: Ein unerwarteter serverseitiger Fehler.
Sicherheit Ein gültiger API-KEY-Token muss im Authorization-Header angegeben werden.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Auf true setzen, um Demo-Laufsitzungsdaten anstelle echter Daten abzurufen.
Sitzungsdaten erfolgreich abgerufen.
Liste von Zeitstempeln, die mit der Sitzung verknüpft sind.
Die öffentliche URL des analysierten Videos.
Die öffentliche URL des Originalvideos.
Die Anzahl der verarbeiteten Segmente.
Der Name des mit dieser Sitzung verknüpften Benutzers.
Die Art der Aktivität (z.B. "Running").
Der Sitzungstitel.
Eine optionale Zusammenfassung der Sitzung.
Ungültige Anfrage - Ungültige Parameter oder Admin-UID.
Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.
Verboten - Der Benutzer ist nicht berechtigt, auf diese Sitzung zuzugreifen.
Nicht gefunden - Die angeforderte Sitzung existiert nicht oder die Aktivität ist nicht "Running".
Interner Serverfehler - Ein unerwarteter Fehler ist auf dem Server aufgetreten.
GET /running/sessions/{session_id}/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"metrics": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"angles": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"all_timestamps": [
1
],
"analyzed_video_url": "https://example.com",
"video_url": "https://example.com",
"segments": 1,
"created_at": {
"date": "text",
"time": "text"
},
"user_name": "text",
"activity": "text",
"title": "text",
"calculated_metrics": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"summary": "text"
}Ruft detaillierte Sitzungsdaten für den Export einer bestimmten Lauf-Sitzung ab, die durch die session_id identifiziert wird.
Pfadparameter
session_id (string, erforderlich): Der eindeutige Identifikator der zu exportierenden Sitzung.
Abfrageparameter
demo (boolean, optional): Auf
truesetzen, um die vorgefertigte Demo-Laufsitzung anstelle einer echten abzurufen.
Antwortstruktur (HTTP 200)
Die Antwort ist ein JSON-Objekt, das Folgendes enthält:
metrics (object): Ein Wörterbuch, in dem jeder Schlüssel eine Metrik (z.B. 'speed', 'cadence') darstellt und sein Wert ein Zahlenarray ist.
keypoints (object): Ein Wörterbuch, in dem jeder Schlüssel einen Keypoint (z.B. 'lknev', 'ltoev') darstellt und sein Wert ein Zahlenarray ist.
angles (object): Ein Wörterbuch, in dem jeder Schlüssel einen Winkel (z.B. 'lelb_angle', 'lhip_angle') darstellt und sein Wert ein Zahlenarray ist.
all_timestamps (array[number]): Ein Array von Zeitstempeln (in Sekunden), die den Datenpunkten entsprechen.
contact (array[boolean]): Ein Array von booleschen Werten, die den Kontaktstatus anzeigen.
activity (string): Der Aktivitätstyp (z.B. 'Running').
Fehlerbehandlung
400 Bad Request: Die Anfrageparameter sind ungültig (z.B. eine ungültige Admin-UID).
401 Unauthorized: Der Zugriffstoken fehlt oder ist ungültig.
403 Forbidden: Der Benutzer hat nicht ausreichende Berechtigungen, um auf diese Sitzungsdaten zuzugreifen.
404 Not Found: Die angeforderte Sitzung existiert nicht oder ist für die Aktivität ungültig.
500 Internal Server Error: Ein unerwarteter Serverfehler ist aufgetreten.
Sicherheit
Ein gültiger API-KEY-Token muss im Authorization-Header bereitgestellt werden.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Auf true setzen, um die vorgefertigte Demo-Laufsitzung anstelle einer echten abzurufen.
Sitzungsdaten erfolgreich exportiert.
Liste von Zeitstempeln (in Sekunden).
Array, das den Kontaktstatus anzeigt (true/false).
Der Aktivitätstyp (z.B. 'Running').
Ungültige Anfrage - Die Anfrageparameter sind ungültig (z.B. ungültige Admin-UID).
Nicht autorisiert - Zugriffstoken fehlt oder ist ungültig.
Verboten - Der Benutzer hat nicht ausreichende Berechtigungen, um auf diese Sitzungsdaten zuzugreifen.
Nicht gefunden - Die angeforderte Sitzung existiert nicht oder die Aktivität ist ungültig.
Interner Serverfehler - Ein unerwarteter Fehler ist auf dem Server aufgetreten.
GET /running/sessions/{session_id}/export/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"metrics": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"keypoints": {
"ANY_ADDITIONAL_PROPERTY": [
1
]
},
"angles": {
"ANY_ADDITIONAL_PROPERTY": [
1
]
},
"all_timestamps": [
1
],
"contact": [
true
],
"activity": "text"
}Berechnet und gibt die Durchschnittsmetriken für alle Laufsitzungen des Admin-Benutzers zurück, zusammen mit den detaillierten Metriken und dem Erstellungszeitstempel der letzten Sitzung.
Antwortstruktur (HTTP 200)
Die Antwort ist ein JSON-Objekt mit folgender Struktur: - avg_metrics (object): Enthält die Durchschnittswerte aller Sitzungen. - last_session_metrics (object): Enthält detaillierte Metriken der letzten Sitzung. - last_session_created_at (object): Der Erstellungszeitstempel der letzten Sitzung.
Fehlerbehandlung - 400 Ungültige Anfrage: Ungültige Parameter (z.B. ungültige Admin-UID). - 401 Nicht autorisiert: Fehlender oder ungültiger Zugriffstoken. - 403 Verboten: Unzureichende Berechtigungen zum Abrufen der Gesamtmetriken. - 404 Nicht gefunden: Keine Sitzungen gefunden oder Metriken nicht verfügbar. - 500 Interner Serverfehler: Unerwarteter Fehler auf dem Server.
Sicherheit Ein gültiger API-KEY-Token muss im Authorization-Header angegeben werden.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Gesamtmetriken erfolgreich abgerufen.
Ungültige Anfrage - Ungültige Parameter (z.B. ungültige Admin-UID).
Nicht autorisiert - Fehlender oder ungültiger Zugriffstoken.
Verboten - Der Benutzer hat keine ausreichenden Berechtigungen zum Abrufen der Gesamtmetriken.
Nicht gefunden - Keine Sitzungen gefunden oder Metriken nicht verfügbar.
Interner Serverfehler - Ein unerwarteter Fehler ist auf dem Server aufgetreten.
GET /running/sessions/metrics/total/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"avg_metrics": {
"avg_speed": 1,
"avg_power": 1,
"avg_cadence": 1,
"avg_flight_time": 1
},
"last_session_metrics": {
"speed": {
"avg": 1,
"min": 1,
"max": 1
},
"normalized_power": {
"avg": 1,
"min": 1,
"max": 1
},
"cadence": {
"avg": 1,
"min": 1,
"max": 1
},
"total_distance": 1,
"power": {
"avg": 1,
"min": 1,
"max": 1
},
"stride_time": {
"avg": 1,
"min": 1,
"max": 1
},
"total_time": 1,
"contact_time": {
"avg": 1,
"min": 1,
"max": 1
},
"contact_angle": {
"avg": 1,
"min": 1,
"max": 1
},
"incline": {
"avg": 1,
"min": 1,
"max": 1
},
"pace": {
"avg": 1,
"min": 1,
"max": 1
},
"stride_length": {
"avg": 1,
"min": 1,
"max": 1
},
"rbalance": {
"avg": 1,
"min": 1,
"max": 1
},
"flight_time": {
"avg": 1,
"min": 1,
"max": 1
},
"footstrike": "text"
},
"last_session_created_at": {
"date": "text",
"time": "text"
}
}Ruft einen detaillierten Laufform-Analysebericht für eine bestimmte Sitzung ab. Der Endpunkt erfordert, dass der Benutzer einen gültigen Admin-Token und einen aktiven Abonnementplan (Pro, Premium, Enterprise oder Standard) hat.
Anfrage
Pfadparameter:
session_id (string, erforderlich): Der eindeutige Identifikator der Sitzung, für die der Laufform-Analysebericht angefordert wird.
Abfrageparameter:
demo (boolean, optional): Auf
truesetzen, um einen vorgefertigten Demo-Laufform-Analysebericht anstelle eines echten abzurufen.
Antwortstruktur (HTTP 200)
Die Antwort ist ein JSON-Objekt, das Folgendes enthält:
metrics (object): Schrittdurchschnittswerte wie
speed,balance,cadence,contact_angle,eversion_velocity,knee_flexion,posture_angle,ankle_angle,com_oscillation,stride_angle,mean_h.images (object): Drei repräsentative Momentaufnahmen mit den Schlüsseln
contact_angle,push_angle,knee_ankle; jeder Wert ist eine öffentliche Bild-URL.user_info (object): Informationen über den Benutzer, der die Sitzung eingereicht hat, einschließlich:
age (integer)
gender (string)
height (number, cm)
weight (number, kg)
email (string, email)
uid, display_name, admin_name, last_session, phone, brand, shoeModel, shoeSize, leg_length, ycom (verschiedene Typen)
form_comments (object, optional): GenAI-Empfehlungen für die Blöcke
contact_angle,hip_extension_at_foot_takeoff,foot_contact_angle_and_torso_lean.date (string): Das Datum, an dem der Bericht im Format TT/MM/JJJJ generiert wurde.
Fehlerbehandlung
400 Bad Request: Ungültiger Token oder Parameter.
401 Unauthorized: Token fehlt oder ist ungültig.
403 Forbidden: Admin-Zugriff ist erforderlich.
404 Not Found: Die Sitzung wurde nicht gefunden oder der Benutzer hat keinen gültigen Zahlungsplan.
500 Internal Server Error: Ein unerwarteter Fehler ist auf dem Server aufgetreten.
Sicherheit
Ein gültiger API-KEY-Token muss im Authorization-Header bereitgestellt werden.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Auf true setzen, um einen vorgefertigten Demo-Laufform-Analysebericht anstelle eines echten abzurufen.
Laufform-Analysebericht erfolgreich abgerufen.
Berichtsdatum im Format TT/MM/JJJJ.
13/07/2025Ungültige Anfrage - Ungültiger Token oder Parameter.
Nicht autorisiert - Token ist ungültig oder abgelaufen.
Verboten - Admin-Zugriff ist erforderlich.
Nicht gefunden - Sitzung nicht gefunden oder Benutzer hat keinen gültigen Zahlungsplan.
Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.
POST /running/sessions/{session_id}/form-analysis/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"metrics": {
"speed": 1,
"balance": 1,
"cadence": 1,
"contact_angle": 1,
"eversion_velocity": 1,
"knee_flexion": 1,
"posture_angle": 1,
"ankle_angle": 1,
"com_oscillation": 1,
"stride_angle": 1,
"mean_h": 1
},
"images": {
"contact_angle": "https://storage.googleapis.com/.../contact_angle.png",
"push_angle": "https://storage.googleapis.com/.../push_angle.png",
"knee_ankle": "https://storage.googleapis.com/.../knee_ankle.png"
},
"user_info": {
"age": 1,
"gender": "text",
"height": 1,
"weight": 1,
"email": "name@gmail.com",
"uid": "text",
"display_name": "text",
"admin_name": "text",
"last_session": "text",
"phone": "text",
"brand": "text",
"shoeModel": "text",
"shoeSize": 1,
"leg_length": 1,
"ycom": 1
},
"form_comments": {
"contact_angle": "Empfehlung …",
"hip_extension_at_foot_takeoff": "Empfehlung …",
"foot_contact_angle_and_torso_lean": "Empfehlung …"
},
"date": "13/07/2025"
}Generiert GenAI-Threads, die personalisierte Kommentare für jeden Laufform-Block (Kontaktwinkel, Hüftstreckung beim Fußabstoß, Fußkontaktwinkel & Oberkörperneigung) plus eine allgemeine Empfehlung erstellen. Gibt eine Zuordnung von Block-Schlüsseln zu Thread-IDs zurück.
Anfrage
session_id (Pfadparameter, erforderlich): Die ID der Laufsitzung, für die Kommentar-Threads generiert werden sollen.
Antwort (201)
Ein JSON-Objekt, das jeden Formblock-Schlüssel der entsprechenden GenAI-Thread-ID zuordnet:
contact_angle: Thread-ID für den Kontaktwinkel-Block.
push_angle: Thread-ID für den Schubwinkel-Block.
knee_ankle: Thread-ID für den Knie-Knöchel-Block.
general_form_recommendation: Thread-ID für die allgemeine Formempfehlung.
Fehlerbehandlung
403 Forbidden: Benutzer hat keinen gültigen Zahlungsplan.
404 Not Found: Sitzung nicht gefunden oder Abruf fehlgeschlagen.
500 Internal Server Error: Unerwarteter Serverfehler.
Sicherheit
Erfordert einen gültigen API-KEY-Token oder API-Schlüssel in den Anfrage-Headern.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Threads erfolgreich erstellt
Zuordnung von Formblock-Schlüsseln zu GenAI-Thread-IDs.
Thread-ID für Kontaktwinkel-Block.
Thread-ID für Schubwinkel-Block.
Thread-ID für Knie-Knöchel-Block.
Thread-ID für allgemeine Formempfehlung.
Benutzer hat keinen gültigen Zahlungsplan
Sitzung nicht gefunden oder anderer Abruf fehlgeschlagen
Unerwarteter Serverfehler
POST /running/sessions/{session_id}/form-recommendations/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"contact_angle": "thread_abc123",
"push_angle": "thread_def456",
"knee_ankle": "thread_ghi789",
"general_form_recommendation": "thread_jkl012"
}Ruft einen detaillierten Ganganalyse-Bericht für eine bestimmte Sitzung ab. Der Endpunkt erfordert, dass der Benutzer über ein gültiges Admin-Token und einen aktiven Abonnementplan (Pro, Premium, Enterprise oder Standard) verfügt.
Anfrage
Pfadparameter:
session_id (string, erforderlich): Die eindeutige Kennung der Sitzung, für die der Ganganalyse-Bericht angefordert wird.
Abfrageparameter:
demo (boolean, optional): Auf
truesetzen, um einen vorgefertigten Demo-Ganganalyse-Bericht anstelle eines echten abzurufen.
Antwortstruktur (HTTP 200)
Die Antwort ist ein JSON-Objekt mit folgenden Inhalten:
left (object) und right (object): Jede Seite enthält Gang- analysedaten mit folgenden Feldern:
peak_time (number): Der ermittelte Spitzenzeitwert in der Ganganalyse.
initiator (string): Gibt an, welche Seite den Gangzyklus initiiert hat.
phases (object): Ein Objekt mit benannten Phasen (z.B.
flight,takeoff,mid_stance,strike,new_strike), wobei jede Phase enthält:video_frame (integer): Der entsprechende Videobild.
graph_phase (integer): Der Phasenwert für Diagramme.
video_phase (integer): Der Phasenwert in der Videotimeline.
image_url (string, URI): Öffentliche Bild-URL für den Phasen-Snapshot.
angles (object): Winkelmessungen für Gelenke wie
posture_angle,lhip_angleusw. Jede enthält:current (array[number]): Aktuelle Winkelwerte des Frames.
next (array[number]): Nächste vorhergesagte Werte.
std_dev (array[number]): Standardabweichungswerte.
graph_timestamps (array[number]): Zeitstempel (ms), die mit den Diagrammdaten abgestimmt sind.
user_info (object): Informationen über den Benutzer, der die Sitzung übermittelt hat, einschließlich:
age (integer)
gender (string)
height (number, cm)
weight (number, kg)
email (string, email)
uid, display_name, admin_name, last_session, session_count, phone, brand, shoeModel, shoeSize, leg_length, ycom (verschiedene Typen)
report_comments (object, optional): Vorschläge oder Hinweise für Winkel wie
right_posture_angle,left_knee_angleusw.date (string): Das Datum der Berichterstellung im Format TT/MM/JJJJ.
Fehlerbehandlung
400 Bad Request: Ungültiges Token oder ungültige Parameter.
401 Unauthorized: Token fehlt oder ist ungültig.
403 Forbidden: Admin-Zugriff erforderlich.
404 Not Found: Die Sitzung wurde nicht gefunden oder der Benutzer hat keinen gültigen Zahlungsplan.
500 Internal Server Error: Ein unerwarteter Fehler ist auf dem Server aufgetreten.
Sicherheit
Ein gültiger API-KEY-Token muss im Authorization-Header bereitgestellt werden.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Auf true setzen, um einen vorgefertigten Demo-Ganganalyse-Bericht anstelle eines echten abzurufen.
Ganganalyse-Bericht erfolgreich abgerufen.
(Optional) Empfehlungen für Gelenkwinkel.
Das Datum des Ganganalyse-Berichts im Format TT/MM/JJJJ.
Ungültige Anfrage - Ungültiges Token oder Parameter.
Nicht autorisiert - Token ist ungültig oder abgelaufen.
Verboten - Admin-Zugriff erforderlich.
Nicht gefunden - Sitzung nicht gefunden oder Benutzer hat keinen gültigen Zahlungsplan.
Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.
POST /running/sessions/{session_id}/gait-analysis/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"left": {
"peak_time": 1,
"phases": {
"flight": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"takeoff": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"mid_stance": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"new_strike": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"strike": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
}
},
"initiator": "text",
"angles": {},
"graph_timestamps": [
1
]
},
"right": {
"peak_time": 1,
"phases": {
"flight": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"takeoff": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"mid_stance": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"new_strike": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
},
"strike": {
"video_frame": 1,
"graph_phase": 1,
"video_phase": 1,
"image_url": "https://example.com"
}
},
"initiator": "text",
"angles": {},
"graph_timestamps": [
1
]
},
"user_info": {
"age": 1,
"gender": "text",
"height": 1,
"weight": 1,
"email": "name@gmail.com",
"uid": "text",
"display_name": "text",
"admin_name": "text",
"last_session": "text",
"session_count": 1,
"phone": "text",
"brand": "text",
"shoeModel": "text",
"shoeSize": 1,
"leg_length": 1,
"ycom": 1
},
"report_comments": {},
"date": "text"
}Erstellt Empfehlungs-Threads für Ganganalyse
Dieser Endpunkt generiert personalisierte Empfehlungs-Threads für eine bestimmte Sitzung basierend auf der Laufganganalyse des Benutzers. Jeder Thread bietet biomechanische Einblicke, Haltungstipps und Trainingsanleitungen für verschiedene Gelenkwinkel. Verwendungsbeispiel: Senden Sie eine POST-Anfrage an /running/sessions/{session_id}/recommendation/, wobei {session_id} die eindeutige Kennung der Sitzung ist. Parameter:
session_id(string, erforderlich): Die eindeutige ID der Sitzung, für die Threads generiert werden sollen. Antwortstruktur (HTTP 201): Gibt ein JSON-Objekt zurück, das jede Gangwinkelmetrik einer Thread-ID zuordnet, einschließlich linker und rechter Seite:left_posture_angle, left_hip_angle, left_knee_angle, left_ankle_angle
right_posture_angle, right_hip_angle, right_knee_angle, right_ankle_angle Hinweise:
Die Sitzung muss gültig sein und einem Ganganalyse-Bericht entsprechen.
Erfordert einen aktiven Zahlungsplan (Pro, Premium, Enterprise oder Standard).
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Threads erfolgreich erstellt.
Ein Wörterbuch, das Ganganalysemetriken Thread-IDs zuordnet.
Thread-ID für die Empfehlungen zum linken Hüftwinkel.
Thread-ID für die Empfehlungen zum linken Körperhaltungswinkel.
Thread-ID für die Empfehlungen zum linken Knöchelwinkel.
Thread-ID für die Empfehlungen zum linken Kniewinkel.
Thread-ID für die Empfehlungen zum rechten Körperhaltungswinkel.
Thread-ID für die Empfehlungen zum rechten Kniewinkel.
Thread-ID für die Empfehlungen zum rechten Hüftwinkel.
Thread-ID für die Empfehlungen zum rechten Knöchelwinkel.
Ungültige Anfrage - Ungültiges Token oder Parameter.
Nicht autorisiert - Token ist ungültig oder abgelaufen.
Verboten - Admin-Zugriff erforderlich.
Nicht gefunden - Sitzung nicht gefunden oder Benutzer hat keinen gültigen Zahlungsplan.
Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.
POST /running/sessions/{session_id}/recommendation/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"left_hip_angle": "text",
"left_posture_angle": "text",
"left_ankle_angle": "text",
"left_knee_angle": "text",
"right_posture_angle": "text",
"right_knee_angle": "text",
"right_hip_angle": "text",
"right_ankle_angle": "text"
}Ruft eine detaillierte Zusammenfassung einer Lauf-Sitzung anhand ihrer eindeutigen session_id ab. Diese Zusammenfassung enthält sowohl quantitative Leistungs- metrik als auch eine optionale qualitative Zusammenfassung, die von GenAI generiert wurde, falls verfügbar. Verwendungsanweisungen:
Senden Sie eine GET-Anfrage mit der
session_idim Pfadparameter.Der Endpunkt gibt ein JSON-Objekt zurück, das verschiedene Abschnitte der Sitzungszusammenfassung enthält.
Abfrageparameter
demo (boolean, optional): Auf
truesetzen, um eine vorgefertigte Demo-Zusammenfassung für diese Lauf-Sitzung abzurufen. Antwortstruktur:summary_text (object, optional): Enthält GenAI-generierte Kommentare, falls verfügbar. Dieses Objekt kann folgende Schlüssel enthalten:
balance_and_posture: Kommentare zum Gleichgewicht und zur Körperhaltung des Athleten (z.B. Vorschläge zur Verbesserung des Laufgleichgewichts).
performance_metrics: Allgemeine Leistungskommentare wie Änderungen in Geschwindigkeit, Kadenz und Kraftabgabe.
running_mechanics: Beobachtungen zur Laufform, einschließlich Kontaktzeit, Flugzeit, Schrittzeit und Schrittlänge.
final_summary: Eine abschließende Gesamtbewertung der Sitzungsleistung.
distance_and_duration: Kommentare zur zurückgelegten Gesamtstrecke und Sitzungsdauer.
performance_metrics (object): Enthält aggregierte Leistungs- metrik mit ihren Minimal-, Maximal- und Durchschnittswerten sowie die Rohdaten als Array, die Folgendes abdecken:
speed (in m/s)
pace (in min/km)
cadence (Schritte/min)
power (in Watt)
normalized_power (in W/kg)
running_mechanics (object): Enthält folgende Laufmechanik-Daten:
contact_time (in Sekunden)
flight_time (in Sekunden)
stride_time (in Sekunden)
stride_length (in Metern)
footstrike: Eine Zeichenkette, die den häufigsten Fußaufsatztyp beschreibt (z.B. 'Vorfuß').
balance_and_posture (object): Enthält Metriken zu Gleichgewicht und Körperhaltung:
balance: Enthält Minimal-, Maximal-, Durchschnittswerte und ein Array von Gleichgewichtswerten.
contact_angle: Enthält Minimal-, Maximal-, Durchschnittswerte und ein Array von Kontaktwinkelwerten (in Grad).
distance_and_duration (object): Enthält Rohwerte für:
total_distance (in Metern)
total_time (in Sekunden)
user_information (object): Enthält detaillierte Benutzerdaten, einschließlich:
ycom: YCOM-Wert des Benutzers
weight: Gewicht des Benutzers in Kilogramm
age: Alter des Benutzers
height: Größe des Benutzers in Zentimetern
leg_length: Beinlänge des Benutzers
shoeSize: Schuhgröße des Benutzers
gender: Geschlecht des Benutzers
user: Die eindeutige Benutzer-ID
brand: Schuhmarkeninformationen (falls vorhanden)
shoeModel: Schuhmodellinformationen (falls vorhanden)
email: E-Mail-Adresse des Benutzers
display_name: Anzeigename des Benutzers
session_date (string): Das Datum der Sitzung in einem formatierten String (z.B. 'TT/MM/JJJJ'). Hinweis: Das Feld
summary_textist nur vorhanden, wenn GenAI-generierte Zusammenfassungskommentare für die Sitzung gespeichert wurden.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Auf true setzen, um eine vorgefertigte Demo-Zusammenfassung für diese Lauf-Sitzung abzurufen.
Sitzungszusammenfassung erfolgreich abgerufen
Formatiertes Datum der Sitzung (z.B., '07/04/2025')
Ungültige Anfrage - Ungültiges Token oder Parameter.
Nicht autorisiert - Token ist ungültig oder abgelaufen.
Verboten - Admin-Zugriff erforderlich.
Nicht gefunden - Sitzung nicht gefunden oder Benutzer hat keinen gültigen Zahlungsplan.
Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.
GET /running/sessions/{session_id}/summary/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"summary_text": {
"balance_and_posture": "text",
"performance_metrics": "text",
"running_mechanics": "text",
"final_summary": "text",
"distance_and_duration": "text"
},
"performance_metrics": {
"speed": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"pace": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"cadence": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"power": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"normalized_power": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
}
},
"running_mechanics": {
"contact_time": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"flight_time": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"stride_time": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"stride_length": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"footstrike": "text"
},
"balance_and_posture": {
"balance": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
},
"contact_angle": {
"min": 1,
"max": 1,
"avg": 1,
"values": [
1
]
}
},
"distance_and_duration": {
"total_distance": 1,
"total_time": 1
},
"user_information": {
"ycom": 1,
"weight": 1,
"age": "text",
"height": 1,
"leg_length": 1,
"shoeSize": 1,
"gender": "text",
"user": "text",
"brand": "text",
"shoeModel": "text",
"email": "text",
"display_name": "text"
},
"session_date": "text"
}Löst die Generierung von Zusammenfassungs-Threads für eine Lauf-Sitzung aus. Dieser Endpunkt erstellt separate Zusammenfassungs-Threads für jeden Zusammenfassungsblock basierend auf Sitzungsmetriken, einschließlich Leistungsmetriken, Laufmechanik, Gleichgewicht und Körperhaltung sowie Strecke/Dauer, sowie einer abschließenden Gesamt- zusammenfassung. Gibt ein JSON-Objekt mit Thread-IDs für jeden Zusammenfassungsblock zurück.
Geben Sie Ihren Bearer-Token (Firebase Auth) im Format ein: Bearer
Maßsystem: 'metric' oder 'imperial'
Zusammenfassungs-Threads erfolgreich generiert.
Thread-ID entsprechend einem Zusammenfassungsblock
Ungültige Anfrage - Ungültiges Token oder Parameter.
Nicht autorisiert - Token ist ungültig oder abgelaufen.
Verboten - Admin-Zugriff erforderlich.
Nicht gefunden - Sitzung nicht gefunden oder Benutzer hat keinen gültigen Zahlungsplan.
Interner Serverfehler - Ein unerwarteter Fehler ist aufgetreten.
POST /running/sessions/{session_id}/summary/ HTTP/1.1
Host: api.aikynetix.app
Authorization: YOUR_API_KEY
Accept: */*
{
"performance_metrics": "thread_id_1",
"running_mechanics": "thread_id_2",
"balance_and_posture": "thread_id_3",
"final_summary": "thread_id_5"
}Zuletzt aktualisiert
War das hilfreich?