跳转至

开放服务接口

鉴权

开放服务使用API Token鉴权,API Token的帮助文档

开放接口

服务域名

https://api.cfgpu.com

响应体
参数名 类型 说明
success boolean 是否成功
errorCode string 如果不成功,这里填充错误码
errorMsg string 如果不成功,这里填充错误信息
content Object 如果成功,这里填充返回内容
响应体样例
{
    "success": true,
    "errorCode": "",
    "errorMsg": "",
    "content": null
}
错误码
errorCode errorMsg
10001 请求参数错误
50001 余额不足
51001 资源不足
51002 GPU不足
52001 余额不足1小时
52002 实例正在开机中
52003 实例正在运行中
52004 实例正在关机中
52005 实例已关机
52006 实例正在释放中
52007 实例需要关机
52008 实例已到期
52009 未到期包年包月实例暂不支持释放

获取区域

获取平台支持的区域列表。

请求

GET /userapi/v1/region/list

响应内容
参数名 类型 说明
code string 区域code
name string 区域名称
请求样例
curl --location --request GET 'https://api.cfgpu.com/userapi/v1/region/list' \
--header 'Authorization: 您创建的API Token'
响应内容样例
[
    {
        "code": "hz",
        "name": "杭州"
    }
]

获取GPU类型

获取平台已有的GPU类型列表。

请求

GET /userapi/v1/gpu/list

响应内容
参数名 类型 说明
code string GPU类型code
name string GPU类型名称
请求样例
curl --location --request GET 'https://api.cfgpu.com/userapi/v1/gpu/list' \
--header 'Authorization: 您创建的API Token'
响应内容样例
[
    {
        "code": "qnid2x6c",
        "name": "RTX 4090"
    }
]

获取用户镜像

获取用户自定义镜像。

请求

GET /userapi/v1/image/privateList?adaptType=VM

adaptType枚举值:

参数名 类型 说明
CONTAINER string 容器
VM string 虚拟机
响应内容
参数名 类型 说明
code string 镜像的code
name string 镜像的名称
sysDiskLimitMinSize long 系统盘限制最低容量大小(单位:byte)
请求样例
curl --location --request GET 'https://api.cfgpu.com/userapi/v1/image/privateList?adaptType=CONTAINER' \
--header 'Authorization: 您创建的API Token'
响应内容样例
[
    {
      "code": "image_gzo9zvxs",
      "name": "ComfyUI定制版",
      "sysDiskLimitMinSize": 0
    }
]

获取系统镜像

获取平台提供的系统镜像。

请求

GET /userapi/v1/image/systemList?adaptType=VM

adaptType枚举值:

参数名 类型 说明
CONTAINER string 容器
VM string 虚拟机
响应内容
参数名 类型 说明
name string 节点名称
childrenName string 子节点名称
children Array 子节点内容
code string 最终叶子节点,镜像的code
sysDiskLimitMinSize string 系统盘限制最低容量大小(单位:byte)
请求样例
curl --location --request GET 'https://api.cfgpu.com/userapi/v1/image/systemList?adaptType=CONTAINER' \
--header 'Authorization: 您创建的API Token'
响应内容样例
[
  {
    "name": "Tensorflow",
    "childrenName": "版本",
    "children": [
      {
        "name": "2.15.0",
        "childrenName": "Python版本",
        "children": [
          {
            "name": "3.11(ubuntu20.04)",
            "childrenName": "Cuda版本",
            "children": [
              {
                "name": "12.2",
                "code": "image_exc6f72b",
                "sysDiskLimitMinSize": 0
              }
            ]
          }
        ]
      },
      {
        "name": "2.9.0",
        "childrenName": "Python版本",
        "children": [
          {
            "name": "3.8(ubuntu20.04)",
            "childrenName": "Cuda版本",
            "children": [
              {
                "name": "11.2",
                "code": "image_l2pzbic1",
                "sysDiskLimitMinSize": 0
              }
            ]
          }
        ]
      },
      {
        "name": "2.4.0",
        "childrenName": "Python版本",
        "children": [
          {
            "name": "3.8(ubuntu20.04)",
            "childrenName": "Cuda版本",
            "children": [
              {
                "name": "11.0",
                "code": "image_gsspby9w",
                "sysDiskLimitMinSize": 0
              }
            ]
          }
        ]
      }
    ]
  }
]

实例创建

根据指定的区域、GPU类型、GPU数据、数据盘扩容大小自动选择主机,按照指定购买时长和镜像创建实例。

请求

POST /userapi/v1/instance/create

请求参数
参数名 类型 属性 说明
regionCode string 必填 区域Code
gpuType string 必填 GPU类型
gpuNum int 必填 GPU数量
sysDiskExpandSize int 非必填 系统盘扩容大小(GB)
expandSize int 非必填 数据盘扩容大小(GB)
imageId string 必填 镜像code
priceType PriceTypeEnum 必填 计费周期
serviceTime int priceType为Usage时非必填,其余必填 购买时长(购买时长 = serviceTime * 计费周期)
instanceName string 非必填 实例名称(长度不超过50)

PriceTypeEnum枚举值:

参数名 类型 说明
Usage string 按量
Day string 按天
Week string 按周
Month string 按月

默认免费系统盘大小: 30GB

默认免费数据盘大小: 50GB

请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/create' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "priceType": "Day",
  "regionCode": "xxx",
  "gpuType": "xxxx",
  "gpuNum": 1,
  "expandSize": 1,
  "imageId": "xxx",
  "serviceTime": 1,
  "instanceName": "test"
}'
响应内容
参数名 类型 说明
string 实例id
响应内容样例
{
  "instance_rjzohhrv"
}

实例状态

获取实例当前运行状态。

请求

POST /userapi/v1/instance/status

请求参数
参数名 类型 属性 说明
instanceId string 必填 实例id
请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/status' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "instanceId": "xxxxx"
}'
响应内容
参数名 类型 说明
string 状态

实例状态:

参数名 类型 说明
CREATING string 创建中
STARTING string 开机中
RUNNING string 运行中
CLOSING string 关机中
CLOSED string 已关机
RELEASING string 释放中
IMAGE_CHANGING string 更换镜像中
RESETTING string 重置中
RELEASED string 已释放
LOCKING_BY_CLONE string 克隆锁定中
LOCKING_BY_DATA_COPY string 拷贝锁定中
响应内容样例
{
  "RUNNING"
}

所有实例状态

获取所有实例状态列表

请求

POST /userapi/v1/instance/statusList

请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/statusList' \
--header 'Authorization: 您创建的API Token'
响应内容
参数名 类型 说明
instanceId string 状态
status string 状态

实例状态:

参数名 类型 说明
CREATING string 创建中
STARTING string 开机中
RUNNING string 运行中
CLOSING string 关机中
CLOSED string 已关机
RELEASING string 释放中
IMAGE_CHANGING string 更换镜像中
RESETTING string 重置中
RELEASED string 已释放
LOCKING_BY_CLONE string 克隆锁定中
LOCKING_BY_DATA_COPY string 拷贝锁定中
响应内容样例
[
    {
        "instanceId": "xxxx",
        "status": "RUNNING"
    }
]

实例关机

对“运行中”状态的实例,进行关机。

请求

POST /userapi/v1/instance/shutdown

请求参数
参数名 类型 属性 说明
instanceId string 必填 实例id
请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/shutdown' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "instanceId": "xxxxx"
}'
响应内容
参数名 类型 说明
boolean 是否成功
响应内容样例
{
  true
}

实例开机

对“已关机”状态的实例,重新开机。

请求

POST /userapi/v1/instance/start

请求参数
参数名 类型 属性 说明
instanceId string 必填 实例id
请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/start' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "instanceId": "xxxxx"
}'
响应内容
参数名 类型 说明
boolean 是否成功
响应内容样例
{
  true
}

实例释放

对“已关机”状态的实例,释放实例。

请求

POST /userapi/v1/instance/release

请求参数
参数名 类型 属性 说明
instanceId string 必填 实例id
请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/release' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "instanceId": "xxxxx"
}'
响应内容
参数名 类型 说明
boolean 是否成功
响应内容样例
{
  true
}

实例更换镜像

对已关机实例进行更换镜像

请求

POST /userapi/v1/instance/imageChange

请求参数
参数名 类型 属性 说明
instanceId string 必填 实例id
imageId string 必填 镜像id
请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/imageChange' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "instanceId": "xxxxx",
  "imageId": "xxxxx"
}'
响应内容
参数名 类型 说明
boolean 是否成功
响应内容样例
{
  true
}

实例分页查询

查询用户所有实例。

请求

POST /userapi/v1/instance/page

请求参数
参数名 类型 属性 说明
currentPage int 非必填 当前页码
pageSize int 非必填 每页数量
keyWord string 非必填 实例名称或实例id
status string 非必填 状态
请求样例
curl --location --request POST 'https://api.cfgpu.com/userapi/v1/instance/page' \
--header 'Authorization: 您创建的API Token' \
--data '{
  "keyWord": "xxxxx",
  "status": "xxxxx"
}'
响应内容
参数名 类型 说明
total int 总数量
pageSize int 每页数量
currentPage int 当前页码
pages int 页数
empty boolean 空记录
notEmpty boolean 非空记录
instanceId string 实例id
instanceName string 实例名称
regionCode string 区域code
region string 区域
statusCode string 实例状态code
status string 实例状态
imageId string 镜像
imageName string 镜像名称
gpuType string GPU型号
gpuName string GPU型号
gpus int GPU数量
cpuCode string CPU型号
cpuName string CPU型号
cpus double CPU数量
memory long 内存大小(单位:byte)
createTime long 创建时间
sysDiskSize long 系统盘大小(单位:byte)
sysDiskUsedSize long 系统盘已使用大小(单位:byte)
sysDiskSizeFree long 系统盘免费大小(单位:byte)
sysDiskSizePaid long 系统盘付费大小(单位:byte)
dataDiskSize long 数据盘大小(单位:byte)
dataDiskUsedSize long 数据盘已使用大小(单位:byte)
dataDiskSizeFree long 数据盘免费大小(单位:byte)
dataDiskSizePaid long 数据盘付费大小(单位:byte)
gpuMemory long 显存(单位:byte)
consumeTypeCode string 付费方式code
consumeType string 付费方式
expireTime long 释放时间
stopTime long 停机时间
toBeExpiredCode int 即将到期code
toBeExpired string 即将到期
expiredCode int 已到期code
expired string 已到期
toBeReleasedCode int 即将释放code
toBeReleased string 即将释放
响应内容样例
{
    "total": 1,
    "pageSize": 10,
    "currentPage": 1,
    "pages": 1,
    "empty": false,
    "notEmpty": true,
    "records": [
        {
            "instanceId": "instance-xxxxx",
            "instanceName": "test",
            "regionCode": "xx",
            "region": "杭州xxx",
            "statusCode": "CLOSED",
            "status": "已关机",
            "imageId": "image_xxxxxx",
            "imageName": "Tensorflow 版本:xxx Python版本:xxx(ubuntu xxxx) Cuda版本:xxx",
            "gpuType": "xxxxxx",
            "gpuName": "RTX 4090",
            "gpus": 1,
            "cpuCode": "xxxx",
            "cpuName": "Intel Xeon E5-2680 v2",
            "cpus": 14.0,
            "memory": 15032385536,
            "createTime": 1741254108397,
            "sysDiskSize": 10737418240,
            "sysDiskUsedSize": 41410560,
            "sysDiskSizeFree": 10737418240,
            "sysDiskSizePaid": 0,
            "dataDiskSize": 10737418240,
            "dataDiskUsedSize": 0,
            "dataDiskSizeFree": 10737418240,
            "dataDiskSizePaid": 0,
            "gpuMemory": 12079595520,
            "consumeTypeCode": "Prepaid",
            "consumeType": "预付费",
            "expireTime": 1742463708398,
            "stopTime": 1741858908398,
            "toBeExpiredCode": 0,
            "toBeExpired": "否",
            "expiredCode": 0,
            "expired": "否",
            "toBeReleasedCode": 0,
            "toBeReleased": "否"
        }
    ]
}