您需要一个 API 来列出您的应用程序支持的身体部位,以便用户可以按区域(胸部、背部、肩部等)浏览锻炼。通过本指南的结束,您将能够通过一次调用获取该列表,将其连接到您的用户界面,并查看如何从同一来源提取相关的锻炼和完整的锻炼课程。
此 API 为您提供的内容
Zyla API Hub 上的锻炼数据库 API 返回您可以快速交付的结构化健身数据。它包括:
- 一个标准的身体部位列表,用于支持过滤和导航。
- 具有相同动作或目标肌肉的锻炼替代方案。
- 生成一个可以立即运行的课程(组、次数、休息、目标肌肉和媒体链接)。
- 今天的锻炼查找现有课程。
它通常用于锻炼构建器、健身入门流程、教练仪表板和锻炼发现用户界面。
在 Zyla API Hub 上开始
Zyla API Hub 集中超过 10,000 个公共 API,使用一个帐户、一个 API 密钥和订阅 + 配额模型(非按调用付费)。对于锻炼数据库 API,您可以开始 7 天试用或有限请求配额以进行评估。没有免费计划;请查看 API 页面以获取当前访问选项和定价。
要开始:
- 打开锻炼数据库 API 页面并订阅: 开始锻炼数据库 API 的 7 天试用。
- 复制您的 API 密钥。
- 使用 Authorization: Bearer YOUR_API_KEY 调用端点。
端点:身体部位列表
获取标准的身体部位集合以填充下拉菜单、标签或导航。不需要参数。
HTTP 方法:GET
请求 URL: https://zylalabs.com/api/392/exercise-database-api/309/list-of-body-parts
curl 示例
curl -s -X GET "https://zylalabs.com/api/392/exercise-database-api/309/list-of-body-parts" \
-H "Authorization: Bearer YOUR_API_KEY"
真实响应
[
"waist",
"upper legs",
"back",
"lower legs",
"chest",
"upper arms",
"cardio",
"shoulders",
"lower arms",
"neck"
]
您通常会将这些字符串映射到应用程序中的本地化标签,并将其用作过滤锻炼搜索或路由到详细视图的键。
Python 示例
此代码段获取列表并为用户界面显示做准备。运行之前请替换 YOUR_API_KEY。
import requests
API_KEY = "YOUR_API_KEY"
URL = "https://zylalabs.com/api/392/exercise-database-api/309/list-of-body-parts"
resp = requests.get(URL, headers={"Authorization": f"Bearer {API_KEY}"}, timeout=20)
resp.raise_for_status()
body_parts = resp.json() # list[str]
# 示例:规范化并排序以供显示
ui_items = [{"key": bp, "label": bp.title()} for bp in body_parts]
ui_items.sort(key=lambda x: x["label"])
print("可用的身体部位:")
for item in ui_items:
print(f"- {item['label']}")
端点:锻炼替代方案
返回最多 10 个匹配相同动作的锻炼;如果没有,它们共享相同的目标肌肉。对于锻炼构建器中的替换建议非常有用。
HTTP 方法:GET
请求 URL: https://zylalabs.com/api/392/exercise-database-api/34184/exercise-alternatives
参数:
- id(数字,必填):1
- equipment(字符串,可选):barbell
curl 示例
示例响应
[{"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,name:您数据库或用户界面的主要标识符。
- bodyPart,target:驱动分类和肌肉标记。
- equipment:根据可用设备进行替代。
- gifUrl,videos:通过视觉指导增强用户体验。
端点:创建程序
启动一个程序并立即获取今天的课程。提供预定义的例程或目标。响应包括课程元数据和带有组/次数/休息的锻炼。
HTTP 方法:POST
请求 URL: https://zylalabs.com/api/392/exercise-database-api/34185/create-program
参数:
- request_body(字符串,必填): {"client_id":"member-1","routine":"muscle_gain_4"}
curl 示例
示例响应
为会员持久化 program_id 和 program_key。使用嵌入的课程来呈现今天的计划,而无需另一个请求。
端点:今天的锻炼
检索现有程序的今天课程。返回带有组、重复范围和休息指导的锻炼。使用此功能在初始程序创建后继续在网络或移动设备上训练。
HTTP 方法:GET
请求 URL: https://zylalabs.com/api/392/exercise-database-api/34186/today-s-workout
参数:
- program(数字,必填):1
- program_key(字符串,必填):aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
curl 示例
示例响应
重要字段:
- week,day_name:课程的显示上下文。
- exercises[].sets,reps_min,reps_max,rest_seconds:训练量和节奏的核心处方。
- exercises[].weight_kg 可能最初为 null;在用户记录后设置。
快速交付的真实世界模式
- 入门:调用身体部位列表以呈现可选择的标签。持久化用户的关注领域以个性化锻炼建议。
- 替换用户界面:当用户点击“替换”时,调用锻炼替代方案,使用当前锻炼 id 和可选的可用设备以确保可行的替代品。
- 即时程序:在入门后 POST 创建程序,然后立即显示返回的课程。在用户配置文件中缓存 program_id/program_key。
- 每日返回:在应用程序打开时,调用今天的锻炼,使用 program 和 program_key 继续他们的进度。
- 视觉帮助:在每个锻炼旁边显示 gifUrl 或第一个视频链接,以减少混淆并支持正确的形式。
实用实施说明
- 身份验证:在每个请求中发送 Authorization: Bearer YOUR_API_KEY。
- 缓存:身体部位列表是稳定的。缓存数小时或数天以减少延迟并避免额外调用。
- 空权重:许多力量字段最初为 null,直到用户记录负载;优雅处理并显示指导字符串,例如“选择一个落在重复范围内的重量。”
- 媒体:gifUrl 和视频提供快速的视觉参考;在 Wi‑Fi 上预加载 GIF 以获得更流畅的用户体验。
- 订阅:计费为订阅 + 配额。首次 API 访问通常包括 7 天试用或 50 次请求以进行评估;在负载测试之前请验证列表页面上的具体信息。
通过 MCP 从 AI 代理调用
如果您正在使用 AI 编码代理协调任务,可以通过 Zyla 的 MCP 端点公开此 API。MCP 服务器可在 https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY 访问,并与 Claude Code、Cursor 和 Windsurf 等 MCP 兼容客户端一起使用。请参阅文档 MCP。连接后,您的代理可以安全地使用 MCP 层管理的 API 密钥调用相同的锻炼数据库 API 端点。
错误处理和弹性
- 输入验证:对于锻炼替代方案,确保 id 是有效的数字标识符,并仅在您实际打算按其过滤时传递设备。
- 超时:使用客户端超时(例如,10–20 秒)和重试以应对瞬态网络错误。
- 优雅的后备:如果今天的锻炼不可用(缺少 program/program_key),将用户引导到创建程序,然后继续返回的课程。
端到端接线示例
流程
- 获取身体部位一次并呈现为标签:腰部、上腿、背部、下腿、胸部、上臂、有氧、肩部、下臂、脖子。
- 在用户选择时,让他们创建一个程序(例如,muscle_gain_4)。存储 program_id 和 program_key。
- 加载今天的课程并显示处方:组、重复范围和休息。
- 提供“替换锻炼”。点击时,调用锻炼替代方案以显示兼容选项,必要时按可用设备过滤。
安全性、密钥和环境
- 切勿在客户端应用程序中硬编码 YOUR_API_KEY;通过您的后端代理调用或在移动构建中使用安全环境注入。
- 按环境(开发/暂存/生产)配置范围,以便您的团队可以在需要时针对单独的订阅配额进行测试。
常见问题
-
我可以在没有任何过滤器的情况下获取身体部位列表吗?
可以。调用 GET https://zylalabs.com/api/392/exercise-database-api/309/list-of-body-parts,并带上您的授权头。它返回一个字符串数组。
-
我如何找到给定锻炼的替代品?
使用 GET https://zylalabs.com/api/392/exercise-database-api/34184/exercise-alternatives,带上必需的 id 参数,并可选地提供设备以细化结果。
-
我如何为用户生成锻炼计划?
POST 到 https://zylalabs.com/api/392/exercise-database-api/34185/create-program,带上包含至少 client_id 和例程的 request_body 字符串。持久化返回的 program_id 和 program_key。
-
我如何加载现有程序的当前日锻炼?
调用 GET https://zylalabs.com/api/392/exercise-database-api/34186/today-s-workout,带上 program 和 program_key。您将收到锻炼、组、重复范围、休息和媒体。
-
定价和试用条款是什么?
锻炼数据库 API 使用订阅 + 配额模型。首次 API 通常包括 7 天试用或 50 次请求以进行评估。请查看 API 页面以获取当前访问选项和定价。
准备好将您的用户界面连接到可靠的身体部位列表,并在本周交付丰富的锻炼功能吗?立即订阅并在市场列表中获取您的密钥: 开始锻炼数据库 API 的 7 天试用。