实例管理API文档

OnethingAI

发布于:2025-06-18

获取开发者密钥

此密钥为平台API操作唯一标识,务必保证不要泄露
❗️登录OneThingAI平台,进入账户中心,选择开发者密钥自助创建密钥

简介

OneThingAI平台向用户开放平台大部分使用相关API。您可以使用本文档介绍的API对您的实例进行管理。
内容格式:application/json
必须请求头信息
头名称
内容
Authorization
Bearer {TOKEN}

创建实例的整体流程:

销毁实例的整体流程:

也可以使用以下python 的sdk来操作实例管理 API
sdk 地址: onethingai-pilot , 简单例子: example
参考SDK 例子的代码:

接口列表

通用返回字段说明
字段名
含义
类型
说明
code
返回code
int
0为成功,非0为失败
msg
信息返回
int
返回信息
data
返回内容
data
返回内容
注:实例创建、关机、开机、卸载接口均为单实例操作,不支持批量操作

1、我的镜像列表接口

接口地址/api/v2/app/private/image/list
接口描述:拉取我的镜像列表接口
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
regionId
区域Id
int
区域Id
appImageName
镜像名称
string
镜像名称
主要返回字段说明
字段名
含义
类型
说明
appImageId
我的镜像id
string
在创建v2接口使用
appImageDescription
镜像描述
string
镜像描述
appImageName
镜像名称
string
镜像名称
appImageStatus
镜像状态
int
镜像状态
1: 保存中
4: 保存成功
5: 保存失败
appImageTotalSize
镜像大小
float64
单位MB
regionId
区域Id
int
区域Id(对应的镜像ID仅限在对应区域创建)
createdAt
创建时间
int
创建时间戳
updatedAt
更新时间
int
更新时间戳
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v2/app/private/image/list' \
-H 'Authorization: Bearer {TOKEN}' 
返回例子
{
    "code": 0,
    "data": {
        "privateImageList": [
            {
                "appImageDescription": "",
                "appImageId": "PRIVATE_bg2ypp16lc4598yb-m6vubese-ki882u9l",
                "appImageName": "放大",
                "appImageStatus": 4,
                "appImageTotalSize": 79.707,
                "createdAt": 1724585700,
                "regionId": 2,
                "updatedAt": 1724728171
            },
            {
                "appImageDescription": "",
                "appImageId": "PRIVATE_aozzjm3p1st3xm2w-7mkhact9-9wyz0dsw",
                "appImageName": "波普头像",
                "appImageStatus": 4,
                "appImageTotalSize": 12106.064,
                "createdAt": 1723535516,
                "regionId": 2,
                "updatedAt": 1723536042
            }
        ]
    },
    "msg": "Success"
}

2、官方镜像、社区镜像列表接口

接口地址/api/v1/app/publish/image/list
接口描述:拉取官方镜像、社区镜像列表接口
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
appImageName
镜像名称
string
镜像名称
appImageAuthor
镜像作者
string
镜像作者
主要返回字段说明
字段名
含义
类型
说明
appImageId
镜像id
string
在创建v2接口使用
appImageName
镜像名称
string
镜像名称
appImageVersion
镜像版本
string
镜像版本
appImageAuthor
镜像作者
string
镜像作者
appImageDescription
镜像描述
string
镜像描述
createdAt
创建时间
int
创建时间戳
updatedAt
更新时间
int
更新时间戳
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/app/publish/image/list?appImageName=PyTorch&appImageAuthor=官方版' \
-H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "publishImageList": [
            {
                "appImageAuthor": "官方版",
                "appImageDescription": "强大的节点式stable diffusion",
                "appImageId": "PUBLIC_6",
                "appImageName": "ComfyUI",
                "appImageVersion": "v0.0.66",
                "createdAt": 1703721600,
                "updatedAt": 1734624600
            },
            {
                "appImageAuthor": "官方版",
                "appImageDescription": "强大的节点式stable diffusion",
                "appImageId": "PUBLIC_63",
                "appImageName": "ComfyUI稳定版",
                "appImageVersion": "v0.0.51",
                "createdAt": 1724331924,
                "updatedAt": 1734624601
            }
        ]
    },
    "msg": "Success"
}

3、资源拉取接口

请求地址/api/v2/resources
接口描述:获取资源情况,返回参数中的maxGpuNum大于0的GPU类型才可以成功创建实例
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
appImageId
实例镜像id
string
gpuType
GPU类型
string
GPU类型,不填默认查所有
regionId
区域Id
int
区域Id,不填默认查所有
主要返回字段说明
字段名
含义
类型
说明
gpuType
GPU类型
string
GPU类型,用于创建实例
regionId
区域Id
int
区域id
maxGpuNum
GPU卡数
int
一个实例容器,可配置GPU卡数(非资源池总卡数)
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v2/resources?appImageId=PUBLIC_6&regionId=6' \
-H 'Authorization: Bearer {TOKEN}' 
返回例子
{
    "code": 0,
    "data": {
        "resourceList": [
            {
                "gpuType": "NVIDIA-A100-PCIE-40GB",
                "regionId": 6,
                "maxGpuNum": 0
            },
            {
                "gpuType": "NVIDIA-GEFORCE-RTX-4090",
                "regionId": 6,
                "maxGpuNum": 2
            },
            {
                "gpuType": "NVIDIA-GEFORCE-RTX-3090",
                "regionId": 6,
                "maxGpuNum": 0
            },
            {
                "gpuType": "NVIDIA-GEFORCE-RTX-3060",
                "regionId": 6,
                "maxGpuNum": 0
            }
        ]
    },
    "msg": "Success"
}

4、实例创建接口

接口地址/api/v2/app
接口描述:支持官方镜像、社区镜像、我的镜像创建实例
请求方式:POST
请求参数
字段名
含义
类型
是否必填
说明
appImageId
实例镜像id
string
billType
计费方式
int
计费方式,1:包月,2:包天,3:按量
gpuNum
GPU卡数
int
实例容器,配置GPU卡数(单个实例内分配的卡数)
regionId
区域Id
int
创建实例区域id(若创建我的镜像实例,区域id应该填我的镜像所属区域id)
gpuType
GPU类型
string
GPU类型
duration
包卡时间
int
用于计费方式为 包月、包天的持续时间,如:(包一个月:billType=1,duration=1),(包一天:billType=2,duration=1)
groupId
分组id
string
分组id,32位长度字符串
customPort
自定义端口
[]customPort
公网访问自定义端口,最多填入5个端口,若数组数量大于5,只生效前5个
envs
环境变量
[]envs
环境变量
envs:
字段名
含义
类型
说明
name
环境变量名称
string
环境变量名称
value
环境变量值
string
环境变量值
customPort:
字段名
含义
类型
说明
localPort
端口
int
自定义端口,范围 0 - 65535
type
端口类型
string
端口类型,http 或者 tcp
curl 请求例子
curl -X POST 'https://api-lab.onethingai.com/api/v2/app' \
-H 'Authorization: Bearer {TOKEN}' \
-H 'Content-Type: application/json' \
-d' {
  "appImageId": "PRIVATE_eut5hud01926m5v5-qurjaoaq-vhbamj7l",
  "billType": 3,
  "gpuNum": 1,
  "regionId": 2,
  "gpuType": "NVIDIA-GEFORCE-RTX-4090", 
  "duration":0, 
  "groupId": "",
  "envs":[
        {
            "name": "myenv",
            "value": "import"
        },
        {
            "name": "myenv1",
            "value": "import1"
        }
    ],
  "customPort": [
      {
        "localPort": 1123,
        "type": "http"
      },
      {
        "localPort": 1124,
        "type": "http"
      }]
}'
返回例子
{
    "code":0
    "msg": "Success"
    "data": {
       "appId": "qyejicqiez7iwi7a-byswmjqd",
       "groupId": "xxxxx"  	
   }
}

5、实例列表接口

接口地址/api/v2/app
接口描述:获取已创建实例列表
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
page
当前页
int
当前页
pageSize
每页大小
int
每页大小,0 < pageSize <= 100
appId
实例id
string
实例id
groupId
分组id
string
分组id,32位长度字符串
status
实例状态
int
实例状态码
gpuType
gpu类型
string
gpu类型
appImageId
镜像id
string
镜像id
主要返回字段说明
字段名
含义
类型
说明
appImageId
镜像id
string
镜像id
appImageName
镜像名称
string
镜像名称,如:Stable Diffusion 1.8
appImageAuthor
镜像作者
string
镜像作者,如:官方版
appImageVersion
镜像版本
string
镜像版本,如:v1.8
billType
计费方式
int
计费方式,1:包月,2:包天,3:按量
errCode
实例错误码
int
实例错误码,非0为异常错误码
systemDiskSize
磁盘大小
float64
磁盘总大小,单位:MB
systemDiskSizeUsed
磁盘使用大小
float64
磁盘使用大小,单位:MB
gpuType
GPU类型
string
gpu类型
appId
实例id
string
实例id
prePrice
预扣金额
float64
预扣金额
price
单价/min
float64
每分钟单价
regionId
区域Id
int
区域Id
status
实例状态
int
实例状态:部署中:100, 开机中:200, 运行中:300, 关机中: 400,重置中: 500, 更换镜像中:600,释放资源中:700, 已关机:800
webUIAddress
webUI地址
string
webUI地址
createdAt
创建时间
int
实例创建时间戳
runningAt
实例开始运行时间
int
实例运行时间戳(按量计费实例生效)
stoppedAt
关机时间
int
实例关机时间戳
expiredAt
释放时间
int
实例释放时间戳
startedAt
最后一次开机时间
int
最后一次开机时间戳
runtime
当前运行时长
int
单位秒
customPort
自定义端口
[]customPort
公网访问自定义端口列表
customPort:
字段名
含义
类型
说明
localPort
原端口
int
自定义端口
type
端口类型
string
端口类型,http 或者 tcp
subDomain
访问域名
string
公网访问地址
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v2/app?page=1&pageSize=100' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "appList": [
            {
                "appId": "548iag9wzvfxkk63-bam7jpt5",
                "appImageAuthor": "官方版",
                "appImageId": "PUBLIC_6",
                "appImageName": "ComfyUI",
                "appImageVersion": "v0.0.66",
                "billType": 3,
                "createdAt": 1734685267,
                "customName": "",
                "customPort": [],
                "errCode": 0,
                "expiredAt": 0,
                "gpuType": "NVIDIA-GEFORCE-RTX-4090",
                "groupId": "",
                "prePrice": 1.131,
                "price": 0.039,
                "regionId": 6,
                "runtime": 1716,
                "startedAt": 1734685267,
                "status": 300,
                "stoppedAt": 0,
                "systemDiskSize": 71680,
                "systemDiskSizeUsed": 24,
                "webUIAddress": ""
            },
            {
                "appId": "aagz63qkmhltsma1-eln150q2",
                "appImageAuthor": "官方版",
                "appImageId": "",
                "appImageName": "PyTorch",
                "appImageVersion": "PyTorch/2.0.1/3.10(ubuntu22.04)/11.7.1",
                "billType": 3,
                "createdAt": 1734421450,
                "customName": "",
                "customPort": [],
                "errCode": 0,
                "expiredAt": 1735159512,
                "gpuType": "NVIDIA-GEFORCE-RTX-4090",
                "groupId": "",
                "prePrice": 0,
                "price": 0.039,
                "regionId": 6,
                "runtime": 0,
                "startedAt": 0,
                "status": 800,
                "stoppedAt": 1734554712,
                "systemDiskSize": 71680,
                "systemDiskSizeUsed": 16,
                "webUIAddress": ""
            }
        ],
        "pagination": {
            "page": 1,
            "pageSize": 100,
            "total": 3
        }
    },
    "msg": "Success"
}

6、实例停用接口

接口地址/api/v1/app/operate/shutdown/{appId}
接口描述:实例停用
请求方式:PUT
请求参数
curl 请求例子
curl -X PUT 'https://api-lab.onethingai.com/api/v1/app/operate/shutdown/ingr4j8rw3gtopnq-8kevdtua' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code":0,
    "data": null,
    "msg": "Success"
}

7、实例启用接口

接口地址/api/v1/app/operate/boot/{appId}
接口描述:实例开机
请求方式:PUT
请求参数
curl 请求例子
curl -X PUT 'https://api-lab.onethingai.com/api/v1/app/operate/boot/ingr4j8rw3gtopnq-8kevdtuz' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code":0,
    "data": null,
    "msg": "Success"
}

8、实例卸载接口

接口地址/api/v1/app/{appId}
接口描述:实例卸载
请求方式:DELETE
请求参数
curl 请求例子
curl -X DELETE 'https://api-lab.onethingai.com/api/v1/app/ingr4j8rw3gtopnq-8kevdtuz'  -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code":0,
    "data": null,
    "msg": "Success"
}

9、实例cpu使用率接口

接口地址/api/v1/app/{appId}/monitor/cpuutil
接口描述:实例cpu使用率数据接口,只能查询近30分钟数据
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
startTime
开始时间
int
开始时间
endTime
结束时间
int
结束时间
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/app/548iag9wzvfxkk63-bam7jpt5/monitor/cpuutil?startTime=1734686115&endTime=1734687915'  -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "list": [
            {
                "category": "cpuutil",
                "time": 1734688001,
                "value": 0.399020540372
            },
            {
                "category": "cpuutil",
                "time": 1734688016,
                "value": 0.321672586274
            },
            {
                "category": "cpuutil",
                "time": 1734688031,
                "value": 0.321672586274
            },
            {
                "category": "cpuutil",
                "time": 1734688046,
                "value": 0.587348224677
            }
        ]
    },
    "msg": "Success"
}

10、实例gpumemory使用数据接口

接口地址/api/v1/app/{appId}/monitor/gpumemory
接口描述:实例gpumemory使用数据接口,只能查询近30分钟数据,单位MB
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
startTime
开始时间
int
开始时间,
endTime
结束时间
int
结束时间
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/app/548iag9wzvfxkk63-bam7jpt5/monitor/gpumemory?startTime=1734686115&endTime=1734687915'  -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "list": [
            {
                "category": "gpumemory:0",
                "time": 1734688001,
                "value": 543
            },
            {
                "category": "gpumemory:0",
                "time": 1734688016,
                "value": 543
            },
            {
                "category": "gpumemory:0",
                "time": 1734688031,
                "value": 543
            },
            {
                "category": "gpumemory:0",
                "time": 1734688046,
                "value": 543
            }
        ]
    },
    "msg": "Success"
}

11、实例memory使用数据接口

接口地址/api/v1/app/{appId}/monitor/memory
接口描述:实例memory使用数据接口,只能查询近30分钟数据,单位MB
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
startTime
开始时间
int
开始时间,
endTime
结束时间
int
结束时间
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/app/548iag9wzvfxkk63-bam7jpt5/monitor/memory?startTime=1734686115&endTime=1734687915'  -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "list": [
            {
                "category": "memory",
                "time": 1734688001,
                "value": 1881.55859375
            },
            {
                "category": "memory",
                "time": 1734688016,
                "value": 1882.578125
            },
            {
                "category": "memory",
                "time": 1734688031,
                "value": 1882.578125
            },
            {
                "category": "memory",
                "time": 1734688046,
                "value": 1882.58203125
            }
        ]
    },
    "msg": "Success"
}

12、实例gpu使用率接口

接口地址/api/v1/app/{appId}/monitor/gpuutil
接口描述:实例gpu使用率数据接口,只能查询近30分钟数据
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
startTime
开始时间
int
开始时间,
endTime
结束时间
int
结束时间
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/app/548iag9wzvfxkk63-bam7jpt5/monitor/gpuutil?startTime=1734686115&endTime=1734687915'  -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "list": [
            {
                "category": "gpuutil:0",
                "time": 1734688001,
                "value": 0
            },
            {
                "category": "gpuutil:0",
                "time": 1734688016,
                "value": 0
            },
            {
                "category": "gpuutil:0",
                "time": 1734688031,
                "value": 0
            },
            {
                "category": "gpuutil:0",
                "time": 1734688046,
                "value": 0
            }
        ]
    },
    "msg": "Success"
}

13、用户余额查询接口

请求地址/api/v1/account/wallet/detail
接口描述:获取用户余额列表
请求方式:GET
请求参数
主要返回字段说明
字段名
含义
类型
说明
availableBalance
可用余额
float64
可用余额等于余额减实例预扣金额,优先扣代金券
availableVoucherCash
可用代金券
float64
可用代金券等于代金券减实例预扣金额,优先扣代金券
consumeCashTotal
总消费
float64
总消费
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/account/wallet/detail' -H 'Authorization: Bearer {TOKEN}' 
返回例子
{
    "code": 0,
    "msg": "Success",
    "data": {
      "availableBalance": 0.05,
      "availableVoucherCash": 72.93,
      "consumeCashTotal": 6,
    }
}

14、用户消费账单查询接口

请求地址/api/v2/account/wallet/consume/query
接口描述:获取用户消费账单
请求方式:GET
请求参数
字段名
含义
类型
是否必填
说明
page
页数
int
页数
pageSize
每页大小
int
每页大小,0 < pageSize <= 100
appId
实例id
string
实例id
businessType
交易事件
int
交易事件,1:实例使用,2:镜像储存,3:文件存储,4:实例扩容
主要返回字段说明
字段名
含义
类型
说明
orderId
订单id
string
订单id
createdAt
扣费时间
int
扣费时间戳
appId
实例id
string
实例id
consumCash
消费金额
float64
消费金额
voucherDeductCash
代金券消费
float64
代金券消费
actualPayCash
实付金额
float64
实付金额
businessType
交易事件
Int
交易事件,1:实例使用,2:镜像储存,3:文件存储,4:实例扩容
billType
计费方式
Int
计费方式,1:包月,2:包天,3:按量
runtime
运行时长
int
运行时长,单位秒
event
扣费事件
string
扣费事件
totalDiscountPrice
打折金额
Float64
打折金额
curl 请求例子
curl 'https://api-lab.onethingai.com/api/v1/account/wallet/consume/query?page=2&pageSize=100' -H 'Authorization: Bearer {TOKEN}'
返回例子
{
    "code": 0,
    "data": {
        "orderList": [
            {
                "actualPayCash": 0.14,
                "appId": "",
                "billType": 0,
                "businessType": 5,
                "consumeCash": 0.16,
                "createdAt": 1734623959,
                "event": "",
                "orderId": "20241219235919001026297440",
                "runtime": 0,
                "totalDiscountPrice": 0,
                "voucherDeductCash": 0.02
            },
            {
                "actualPayCash": 0,
                "appId": "aagz63qkmhltsma1-eln150q2",
                "billType": 3,
                "businessType": 1,
                "consumeCash": 11.08,
                "createdAt": 1734554712,
                "event": "关机扣费",
                "orderId": "20241219044512001016056266",
                "runtime": 17112,
                "totalDiscountPrice": 0,
                "voucherDeductCash": 11.08
            }
        ],
        "pagination": {
            "total": 966,
            "page": 1,
            "pageSize": 2
        }
    },
    "msg": "Success"
}
提交反馈