Roboflow 提供了一个强大的 API,允许开发者访问和操作他们的数据资源。API 的结构是层次化的,与 Roboflow 的数据结构相匹配。通过 API,可以验证API 密钥,获取工作空间信息,以及检索项目和版本的详细信息。
要开始使用RoboflowAPI,需要一个有效的 API 密钥。可以通过在查询字符串中传递 API 密钥来访问数据资源。在文档示例中,使用了一个名为 ROBOFLOW_API_KEY 的环境变量来存储 API 密钥,可以使用以下命令来设置环境变量:
export ROBOFLOW_API_KEY="xxxxxxx"
一旦设置了 API 密钥,就可以开始探索Roboflow提供的各种端点(routes)。这些端点允许访问不同级别的数据,从顶级的工作空间到具体的项目和版本。
根端点是 API 的最顶层,可以通过它来验证API 密钥是否有效。当向根端点发送请求时,响应会告诉哪个工作空间拥有这个密钥。例如,如果想验证 API 密钥是否能够访问名为 "roboflow" 的工作空间,可以使用以下命令:
curl "https://api.roboflow.com/?api_key=$ROBOFLOW_API_KEY"
如果 API 密钥有效,将收到一个包含欢迎信息、认证成功提示、文档链接以及工作空间名称的 JSON 响应。这个响应示例如下:
{
"welcome": "Welcome to theRoboflowAPI.",
"instructions": "You are successfully authenticated.",
"docs": "https://docs.roboflow.com",
"workspace": "roboflow"
}
一旦 API 密钥通过验证,就可以使用工作空间端点来获取有关项目的信息。
工作空间端点提供了关于工作空间的详细信息,包括其下的项目列表。通过这个端点,可以深入了解工作空间,并开始管理其中的项目。
例如,如果想获取名为 "roboflow" 的工作空间的信息,可以使用以下命令:
curl "https://api.roboflow.com/roboflow?api_key=$ROBOFLOW_API_KEY"
这将返回一个包含工作空间详情的 JSON 响应,可以使用这些信息来进一步探索项目和版本。
项目端点允许访问特定项目的信息,包括项目的版本。通过这个端点,可以获取项目相关的数据,并开始操作项目的版本。
例如,如果想获取名为 "example-project" 的项目的信息,可以使用以下命令:
curl "https://api.roboflow.com/roboflow/example-project?api_key=$ROBOFLOW_API_KEY"
这将返回一个包含项目详情的 JSON 响应,可以使用这些信息来进一步探索项目的版本。
版本端点提供了关于特定版本的详细信息,包括其训练的模型(如果存在)和导出的数据集。通过这个端点,可以获取版本相关的数据,并开始操作导出的数据集。
例如,如果想获取名为 "example-version" 的版本的信息,可以使用以下命令:
curl "https://api.roboflow.com/roboflow/example-project/example-version?api_key=$ROBOFLOW_API_KEY"
这将返回一个包含版本详情的 JSON 响应,可以使用这些信息来进一步探索导出的数据集。
格式端点允许获取特定格式的压缩数据集的下载链接。通过这个端点,可以下载不同格式的数据集,以满足特定需求。
例如,如果想获取名为 "example-version" 的版本在特定格式(如 zip)的数据集的下载链接,可以使用以下命令:
curl "https://api.roboflow.com/roboflow/example-project/example-version/zip?api_key=$ROBOFLOW_API_KEY"