Тяжелая атлетика
Тело запроса (Multipart/Form-Data)
Структура ответа
Рабочий процесс
-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 'exercise_name=clean' \
-F 'barbell_mass=30' \
-F 'body_joint_angles=elbow, knee, ankle' \
https://<backend-link>/weightlifting/management/sessions/Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Обязательно. ID пользователя, для которого создается сессия (текстовое поле формы).
Обязательно. Видеофайл для обработки (поле формы типа file).
Опционально. Описательное название сессии (текстовое поле формы).
Обязательно. Название упражнения. Допустимые значения: "snatch", "clean", "clean_and_jerk".
Опционально. Масса штанги (числовая строка). По умолчанию 100 кг (или 220 фунтов).
Опционально. Список названий суставов через запятую. Допустимые значения: ankle, knee, elbow, hip, shoulder. Пример: ankle,knee,hip
Сессия обработки видео успешно создана (HTTP 200).
Уникальный идентификатор созданной сессии.
Название сессии (значение по умолчанию, если не указано).
Неверный запрос - отсутствует user_id, video или неверные данные формы.
Не авторизован - отсутствует или неверный токен доступа.
Запрещено - у пользователя нет прав администратора для создания сессий от имени других.
Не найдено - проблемы с бизнес-логикой или ограничениями (например, лимит сессий).
Внутренняя ошибка сервера - непредвиденная ошибка на сервере.
Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Установите true для получения демо-сессии вместо реальной.
Детали сессии успешно получены.
Публичный URL обработанного видео.
Публичный URL исходного видео.
Упражнение (например, 'snatch').
Имя пользователя, связанного с сессией.
Тип активности (ожидается 'Weightlifting').
Название сессии.
Временные метки данных сессии.
Неверный запрос - неверные параметры или admin UID.
Не авторизован - отсутствует или неверный токен.
Запрещено - недостаточно прав.
Не найдено - сессия не найдена или неверная активность.
Внутренняя ошибка сервера - непредвиденная ошибка.
Генерация комментариев анализа
"power_output": "thread_a12b34",
"ground_reaction_force": "thread_c56d78",
"barbell_velocity": "thread_e90f12",
"hip_velocity": "thread_g34h56",
"shin_angle": "thread_i78j90",
"hip_height": "thread_k12l34",
"torso_angle": "thread_m56n78",
"hip_angle": "thread_o90p12",
"knee_angle": "thread_q34r56",
"bar_height": "thread_s78t90",
"barbell_trajectory": "thread_u12v34",
"vertical_shoulder_height":"thread_w56x78"
} ```
**Примечания:**
- `session_id` должен ссылаться на существующую сессию.
- У вызывающей стороны должны быть соответствующие права (действительный токен и тариф).
- Используйте возвращенные ID тредов для последующего получения комментариев.Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Система измерений, используемая в запросах
Треды успешно созданы.
Неверный запрос - неверные параметры.
Не авторизован - недействительный токен.
Запрещено - требуются права администратора.
Не найдено - сессия не найдена или у пользователя нет действующего тарифа.
Внутренняя ошибка сервера.
Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Установите true для получения демо-сессии.
Данные сессии успешно получены.
Временные метки (в секундах).
Активность (ожидается 'Weightlifting').
Неверный запрос - неверные параметры или admin UID.
Не авторизован - отсутствует или неверный токен.
Запрещено - недостаточно прав.
Не найдено - сессия не найдена или неверная активность.
Внутренняя ошибка сервера - непредвиденная ошибка.
Параметр пути
Параметр запроса (опциональный)
Структура ответа (HTTP 200)
HTTP 200) "exercise": "рывок",
"key_metrics": {
"power_output": [ 2350, 2425, 2510, 2600, 2705 ],
"ground_reaction_force": [ 1120, 1180, 1215, 1260, 1300 ],
"barbell_velocity": [ 0.90, 1.05, 1.28, 1.55, 2.02 ]
},
"body_positioning": {
"hip_velocity": [ 0.45, 0.52, 0.60 ],
"shin_angle": [ 75.0, 72.5, 70.2 ],
"hip_height": [ 450, 455, 468 ],
"torso_angle": [ 40.0, 38.5, 36.8 ]
},
"joint_angles": {
"hip_angle": [ 165, 159, 152 ],
"knee_angle": [ 155, 147, 138 ]
},
"barbell_positioning": {
"bar_height": [ 120, 385, 610 ],
"barbell_trajectory": [ 0, -8, -2 ],
"vertical_shoulder_height":[ 1380, 1400, 1440 ]
},
"phase_data": {
"start_of_lifting": { "image_url": "https://storage.googleapis.com..." },
"first_pull_end": { "image_url": "https://storage.googleapis.com..." }
},
"chart_data": {
"setup": { "start": 0, "end": 536 },
"first_pull": { "start": 536, "end": 952 }
},
"user_information": {
"display_name": "Ахрор Жабборов",
"age": 28,
"weight": 75,
"height": 178
},
"session_date": "18/05/2025",
"comments": {}
} ```
### Коды ошибок
- **400 Bad Request** – Некорректные параметры.
- **401 Unauthorized** – Отсутствует/недействительный токен.
- **403 Forbidden** – У пользователя нет действующего платного тарифа.
- **404 Not Found** – Сессия не существует.
- **500 Internal Server Error** – Непредвиденная ошибка сервера.
### Безопасность
Требуется действительный токен API-KEY в заголовке `Authorization`.Укажите ваш Bearer-токен (Firebase auth) в формате: Bearer <токен>
Установите true для получения демо-анализа вместо реального.
Отчет анализа подъема успешно сгенерирован.
Неверный запрос - неверные параметры.
Не авторизован - недействительный токен.
Запрещено - требуются права администратора.
Не найдено - сессия не найдена или у пользователя нет действующего тарифа.
Внутренняя ошибка сервера.
Last updated
Was this helpful?