GPUnex
GPU Rental 6 分钟阅读

API 参考文档

通过编程方式管理您的 GPU 实例。了解如何通过 GPUnex API 进行身份验证、创建实例、检查状态等操作。

获取您的 API 密钥

GPUnex API 允许您管理 GPU 实例、查询余额以及自动化工作流程,而无需使用 Web 仪表板。在发起任何 API 请求之前,您需要先生成一个 API 密钥。

  1. 登录您的 GPUnex 账户,然后导航到您的个人资料页面或仪表板设置面板。

  2. 打开 API 密钥部分。 在账户设置中找到 API Keys 标签页或卡片。

  3. 点击”Create New API Key”。 系统会提示您为密钥输入一个描述性名称。选择一个能标识密钥用途的有意义的名称——例如”Production Server”、“CI/CD Pipeline”或”Local Development”。这样可以方便您后续管理多个密钥。

  4. 立即复制您的 API 密钥。 密钥生成后,将仅显示一次。请复制它并存储在安全的位置,例如密码管理器或加密的密钥保管库中。此步骤之后您将无法再查看完整的密钥。

  5. 了解密钥范围和撤销。 每个 API 密钥的范围限定在您的账户内,并继承您的账户权限。您可以为不同的应用程序或环境创建多个密钥。如果某个密钥被泄露或不再需要,您可以随时在 API Keys 部分将其撤销。撤销密钥是即时且永久的——所有使用该密钥的请求都将被拒绝。

身份验证

所有对 GPUnex API 的请求都必须在 Authorization 头中使用 Bearer token 方案包含您的 API 密钥。

头部格式:

Authorization: Bearer YOUR_API_KEY
终端
$

如果 API 密钥缺失、无效或已被撤销,API 将返回 401 Unauthorized 响应:

{
  "error": "unauthorized",
  "message": "Invalid or missing API key. Please check your Authorization header."
}

确保每个请求都包含您的密钥。API 不支持基于会话的身份验证或基于 Cookie 的身份验证。

核心端点

GPUnex API 围绕 RESTful 资源进行组织。所有端点使用基础 URL https://api.gpunex.com/v1。以下是可用核心端点的摘要。

方法端点描述
GET/v1/instances列出所有活跃和近期的实例。返回包含当前状态、GPU 型号和配置详情的实例对象数组。
POST/v1/instances创建新的 GPU 实例。需要一个 JSON 请求体,指定 GPU 型号、框架和区域。费用将从您的 USDC 余额中扣除。
GET/v1/instances/:id通过唯一 ID 获取特定实例的详细信息。包括 SSH 连接详情、运行时指标和计费信息。
DELETE/v1/instances/:id终止正在运行的实例。实例将被停止,您将不再为其产生费用。实例上未保存的数据将丢失。
GET/v1/gpu-models列出市场上当前可用的所有 GPU 型号。包括定价、显存、各区域的可用性和支持的框架。
GET/v1/balance查询您当前的 USDC 钱包余额和近期交易摘要。

所有响应均以 JSON 格式返回。GET 请求成功时返回 200 OK 状态码,创建资源的 POST 请求成功时返回 201 Created 状态码。

示例:创建实例

要创建新的 GPU 实例,请向 /v1/instances 发送包含 JSON 请求体的 POST 请求,指定您期望的配置。

请求:

终端
$

请求体参数:

参数类型必填描述
gpu_modelstring是GPU 型号标识符。使用 /v1/gpu-models 查看可用选项(例如 H100_80GB、A100_80GB、L40S_48GB、L4_24GB)。
frameworkstring是预装的框架和版本(例如 pytorch-2.3、tensorflow-2.16、jax-0.4)。
regionstring是实例的数据中心区域(例如 us-east-1、eu-west-1、ap-southeast-1)。

响应示例(201 Created):

{
  "id": "inst_7f3a9b2c4d1e",
  "status": "provisioning",
  "gpu_model": "A100_80GB",
  "framework": "pytorch-2.3",
  "region": "us-east-1",
  "ssh_command": null,
  "hourly_rate": "1.89",
  "currency": "USDC",
  "created_at": "2026-02-15T14:32:07Z"
}

实例最初的状态为 provisioning。一旦 GPU 分配完成且环境准备就绪,状态将变为 running,ssh_command 字段将填充您的连接字符串。配置过程通常需要 30 秒到 2 分钟,具体取决于可用性。

示例:检查实例状态

创建实例后,您可以随时通过使用实例 ID 查询实例端点来检查其当前状态。

请求:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.gpunex.com/v1/instances/inst_7f3a9b2c4d1e

响应示例(200 OK):

{
  "id": "inst_7f3a9b2c4d1e",
  "status": "running",
  "gpu_model": "A100_80GB",
  "framework": "pytorch-2.3",
  "region": "us-east-1",
  "ssh_command": "ssh [email protected] -p 2222",
  "ip_address": "203.0.113.42",
  "hourly_rate": "1.89",
  "currency": "USDC",
  "uptime_seconds": 3847,
  "total_cost": "2.02",
  "created_at": "2026-02-15T14:32:07Z",
  "started_at": "2026-02-15T14:33:15Z"
}

状态值:

状态含义
provisioning实例正在配置中。正在分配 GPU 资源并准备框架环境。
running实例处于活跃状态,可以使用。SSH 访问可用。
stopping实例正在关闭过程中。
terminated实例已停止,不再产生费用。
error在配置或运行期间发生错误。如果持续出现此状态,请联系支持团队。

速率限制和最佳实践

速率限制

GPUnex API 实施速率限制以确保公平使用和平台稳定性。当前限制为:

  • 通用端点: 每个 API 密钥每分钟 120 个请求。
  • 实例创建: 每个 API 密钥每分钟 10 个请求。
  • 余额和只读端点: 每个 API 密钥每分钟 300 个请求。

如果超过速率限制,API 将返回 429 Too Many Requests 响应,并附带一个 Retry-After 头,指示在重试之前需要等待的秒数。

{
  "error": "rate_limit_exceeded",
  "message": "Too many requests. Please retry after 12 seconds.",
  "retry_after": 12
}

最佳实践

遵循以下指南,确保您的集成安全可靠。

  1. 切勿在客户端代码中暴露 API 密钥。 不要将 API 密钥嵌入在浏览器中运行的 JavaScript、移动应用程序源代码或任何公开可访问的代码仓库中。API 密钥应仅在服务端应用程序中使用,以确保终端用户无法查看。

重要

切勿在客户端代码、浏览器 JavaScript 或公开代码仓库中暴露您的 API 密钥。API 密钥应仅在服务端应用程序中使用。

  1. 使用环境变量。 将 API 密钥存储在环境变量中,而不是硬编码在源文件中。例如:

    export GPUNEX_API_KEY="your_api_key_here"

    然后在代码中引用:

    curl -H "Authorization: Bearer $GPUNEX_API_KEY" https://api.gpunex.com/v1/instances
  2. 定期轮换密钥。 作为安全最佳实践,建议每 90 天生成一个新的 API 密钥并撤销旧密钥。这可以在密钥意外泄露时限制影响范围。

  3. 为不同环境使用不同密钥。 为开发、预发布和生产环境分别创建独立的 API 密钥。这样,撤销一个密钥不会影响其他环境。

提示

为开发、预发布和生产环境分别使用不同的 API 密钥。这样,撤销一个密钥不会影响其他环境。

  1. 优雅地处理错误。 始终在应用程序中检查 HTTP 状态码。对 429 和 5xx 响应实施指数退避重试逻辑。不要重试除 429 以外的 4xx 错误——这些错误表示请求本身存在问题。

  2. 监控您的使用量。 跟踪 API 调用量和实例支出。使用 /v1/balance 端点以编程方式监控您的 USDC 余额,并在余额低于阈值时设置提醒。