您在体育应用中有一个锻炼ID,需要立即提取具体的训练数据:替代动作、今天的组数和重复次数,或者快速的身体部位索引来驱动您的用户界面。在本指南结束时,您将能够通过ID获取锻炼替代方案,开始量身定制的程序,并使用Zyla API Hub上的锻炼数据库API获取今天的锻炼。
此API为您提供的内容(以及它在体育应用中的位置)
锻炼数据库API提供:
- 按ID获取锻炼替代方案,必要时过滤设备(当某些设备不可用时,非常适合替代逻辑)。
- 程序创建,返回今天的会话:锻炼、组数、重复次数、休息和建议的重量字段。
- 获取现有程序的今天的锻炼。
- 一个简单的身体部位列表,用于构建过滤器或应用内导航。
这些端点使得快速构建替代工作流程成为可能(例如,“给我展示类似这个的动作”),生成或刷新每日训练会话,并呈现逻辑目录分组(按身体部位)——这是体育训练应用、教练仪表板和与设备可用性相关的健身电子商务体验中的核心流程。
在Zyla API Hub上开始
打开API页面,点击订阅(或如果可用,点击开始免费试用),获取您的密钥。认证通过头部Authorization: Bearer YOUR_API_KEY。计费为订阅+配额(不是按调用计费)。对于此API,您可以从列表页面开始7天的试用。请确保您的密钥安全;不要将其提交到源代码控制中。
您可以在Zyla API Hub上探索数千个生产就绪的体育和健康集成,所有这些都在一个帐户、一个API密钥和跨类别的一致订阅模型下。当您准备好进行此集成时,请使用下面的直接列表链接创建帐户并获取您的API密钥。
您将使用的端点
1) 锻炼替代方案(GET)
最多10个与提供的锻炼ID具有相同动作的锻炼。如果该锻炼没有动作,API将回退到相同的目标肌肉。您可以选择性地将结果限制为某个设备。
- 方法:GET
- URL:https://zylalabs.com/api/392/exercise-database-api/34184/exercise-alternatives
- 必需的查询参数:id(数字)
- 可选的查询参数:equipment(字符串)
可复制粘贴的curl(需要Authorization头):
curl -s -X GET "https://zylalabs.com/api/392/exercise-database-api/309/list-of-body-parts" \
-H "Authorization: Bearer YOUR_API_KEY"
官方示例响应(逐字):
[{"bodyPart":"waist","equipment":"body weight","gifUrl":" https://zyla-marketplace.s3.amazonaws.com/api-exercise/exercise_2.gif","id":2,"name":"45\u00b0 side bend","target":"abs","videos":[{"title":"45 degree side bends","link":"https://youtu.be/pUXu_7H0y_o"},{"title":"Side Bend on 45-degree Hyper Extension - Bodyweight or Weighted","link":"https://youtu.be/IyCX-a9Lm_U"},{"title":"Dumbbell Side Bend - Core / Abs - Bodybuilding.com","link":"https://youtu.be/UUQHeBRE_Wo"}]},{"bodyPart":"waist","equipment":"body weight","gifUrl":" https://zyla-marketplace.s3.amazonaws.com/api-exercise/exercise_3.gif","id":3,"name":"air bike","target":"abs","videos":[{"title":"Air Bike - Ab Exercises - Bodybuilding.com","link":"https://youtu.be/i6mPCVUrtNk"},{"title":"Air Bike Crunches","link":"https://youtu.be/3K9hMlalr60"},{"title":"Air cycling","link":"https://youtu.be/oyXoWU8j310"}]},{"bodyPart":"waist","equipment":"body weight","gifUrl":" https://zyla-marketplace.s3.amazonaws.com/api-exercise/exercise_5.gif","id":5,"name":"alternate heel touchers","target":"abs","videos":[{"title":"Alternating Heel Touch | Bodyweight Home Workout Exercise","link":"https://youtu.be/5JyOU0smtMo"},{"title":"如何做…
使用内容:
- id:相关锻炼的ID(用于深度链接或在您的应用中获取详细信息)。
- name, bodyPart, target:用于UI卡片或过滤芯片的标签。
- equipment:限制可用设备的替代方案。
- gifUrl和videos:指导形式和技术的媒体。
2) 创建程序(POST)
开始一个程序并立即获取今天的会话。您可以设置一个预定义的例程(例如,muscle_gain_4或weight_loss_3)。在client_id中提供客户的标识符,以将会话映射到您的用户对象。
- 方法:POST
- URL:https://zylalabs.com/api/392/exercise-database-api/34185/create-program
- 必需的主体字段:request_body(字符串化的JSON)
可复制粘贴的curl(注意JSON作为字符串传递在request_body中):
官方示例响应(逐字):
[
"waist",
"upper legs",
"back",
"lower legs",
"chest",
"upper arms",
"cardio",
"shoulders",
"lower arms",
"neck"
]
使用内容:
- program_id和program_key:持久化这些以获取未来的会话。
- session.exercises[]字段:渲染今天的计划,包括组数、reps_min/reps_max、rest_seconds和weight_kg(千克;最初可能为null)。
- progression和why:显示教练提示(例如,调整或记录下一个内容)。
3) 今天的锻炼(GET)
获取存储程序的今天的会话。使用您从创建程序中获得的program_id和program_key。
- 方法:GET
- URL:https://zylalabs.com/api/392/exercise-database-api/34186/today-s-workout
- 必需的查询参数:program(数字),program_key(字符串)
可复制粘贴的curl:
官方示例响应(逐字):
使用内容:
- week, deload, comeback:显示训练上下文(例如,减少的训练量周)。
- exercises[]与sets/reps/rest:驱动您的会话UI和跟踪。
- weight_kg和estimated_1rm_kg:在可用时支持负载建议或图表。
4) 身体部位列表(GET)
一个小型实用端点,用于在您的体育训练UI中种子过滤器和导航。
- 方法:GET
- URL:https://zylalabs.com/api/392/exercise-database-api/309/list-of-body-parts
官方示例(逐字):
用例:渲染一个与API分类锻炼相匹配的面板菜单或下拉菜单,以便用户可以快速过滤到相关的体育训练内容。
一个工作代码示例(Python)用于“通过ID获取锻炼”替代方案
此脚本使用锻炼ID和可选的设备过滤器调用锻炼替代方案,然后打印一个紧凑的列表,您的UI可以使用。它使用上面显示的确切端点和字段。
import os
import requests
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
BASE_URL = "https://zylalabs.com/api/392/exercise-database-api/34184/exercise-alternatives"
def get_alternatives(exercise_id, equipment=None):
params = {"id": exercise_id}
if equipment:
params["equipment"] = equipment
headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.get(BASE_URL, headers=headers, params=params, timeout=20)
r.raise_for_status()
return r.json()
if __name__ == "__main__":
# 示例:锻炼id=1的替代方案,过滤到杠铃
data = get_alternatives(1, equipment="barbell")
# 渲染每个锻炼的最小卡片摘要
for ex in data:
print(f"[{ex.get('id')}] {ex.get('name')} - {ex.get('target')} ({ex.get('equipment')})")
vids = ex.get("videos", [])[:2]
for v in vids:
print(f" - {v.get('title')}: {v.get('link')}")
print()
注意:
- 认证仅通过头部:Authorization: Bearer YOUR_API_KEY。
- 此端点未指定分页;它返回最多10个项目。
- gifUrl和videos是可选的媒体字段,可以在您的教练UI中显示。
节省时间的实用集成细节
- 认证:所有调用都需要Authorization: Bearer YOUR_API_KEY。如果可能,请将其保留在客户端代码之外。
- 单位:weight_kg字段以千克为单位;rest_seconds以秒为单位;reps是带有最小/最大字段的整数。
- 缓存:静态列表(如身体部位)是每日缓存的良好候选者。替代方案取决于种子锻炼和设备;如果您的应用在锻炼会话期间频繁加载此内容,请按(id,equipment)对进行短TTL缓存。
- 媒体:gifUrl和videos[].link适合客户端显示。处理weight_kg和estimated_1rm_kg在新程序早期可能为null的可能性。
- 程序:持久化program_id和program_key。您需要这两个参数才能可靠地获取今天的锻炼。
- 配额:中心运行在订阅+配额(不是按调用计费)。对于第一个API,您可以使用7天的试用或50个请求进行评估。请检查列表以获取当前访问选项和定价。
真实世界的体育应用用例
- 即时替代:如果一个架子被占用,使用原始锻炼的id和可用设备调用锻炼替代方案,以显示3-5个具有相同动作或目标肌肉的可行替代。
- 编程会话:通过创建程序启动新运动员的计划,并立即渲染返回的会话,包括组数、重复次数和休息。
- 每日计划屏幕:每天获取今天的锻炼以显示下一个会话,尊重减量或恢复标志以提供上下文。
- 目录过滤器:使用身体部位列表实现与API分类匹配的浏览过滤器,使搜索与基础数据保持同步。
从AI代理调用锻炼数据库API(MCP)
您可以通过将客户端指向MCP端点并提供您的密钥,从任何兼容MCP的客户端(例如,Claude Code、Cursor、Windsurf)运行这些端点。
- MCP端点:MCP
- 密钥:apikey=YOUR_API_KEY
从您的代理,您可以指示它对锻炼替代方案URL执行GET,id=1和equipment=barbell,或对创建程序执行POST,使用字符串化的request_body有效负载。这对于半自动化教练工作流程非常有用,例如“构建今天的推举日,并用哑铃替代任何仅杠铃的举重。”
工作流程示例:构建一个考虑替代的会话
- 通过创建程序创建一个程序,并将program_id和program_key存储在您的用户表中。
- 每天调用今天的锻炼以列出带有组数/重复次数/休息的锻炼。
- 当用户点击“查找替代方案”时,使用源锻炼的id和用户当前的设备(例如,“杠铃”或“体重”)调用锻炼替代方案。
- 在会话UI中交换卡片,保留规定的组数/重复次数/休息,并显示gifUrl或视频以指导运动员。
另一个快速参考:身体部位分类法
您可能需要一个简单、稳定的分类法来进行体育训练过滤。使用官方的“身体部位列表”端点来驱动您的UI,如上所示。保持您的过滤选项与API的列表相同有助于避免搜索输入与锻炼元数据之间的不匹配。
官方示例:curl和身体部位的JSON
为完整性,这里再次提供官方示例,以便在设置期间快速复制:
常见问题解答
我如何进行身份验证?
在每个请求中发送Authorization: Bearer YOUR_API_KEY。
我可以获取与特定ID相似的锻炼吗?
可以。使用锻炼替代方案和id查询参数,并可选地使用设备来限制结果。
我如何获取用户的今天的锻炼?
使用创建程序创建一个程序以获取program_id和program_key。然后使用这两个参数调用今天的锻炼以检索当前会话。
重量和休息使用什么单位?
重量以千克为单位(weight_kg)。休息以秒为单位(rest_seconds)。
是否有免费计划?
此API运行在订阅+配额下,提供7天的试用。请检查API页面以获取当前访问选项和定价。
准备将“通过ID获取锻炼”流程集成到您的体育应用中吗?创建您的帐户并在列表页面开始7天的试用:锻炼数据库API。您将在几分钟内完成替代方案、程序和每日会话的设置。