Skip to main content

API文档

为了方便用户灵活调用 ComfyUI 工作流,平台提供了云端托管与 API 调用能力。

API概览

平台对外提供的API如下:

API说明
获取文件上传链接获取临时文件上传链接,如需文件上传需要提前调用获取并上传目标文件
上传文件信息如果工作流中存在非文件存储地址,请提前上传至平台进行管理。
prompt请求接口提供推理功能
取消任务取消请求任务
获取任务详情获取任务执行进度

如何调用API

1. 创建API KEY

API调用需要先创建API KEY,可以在 创建 页面创建KEY 请妥善保管,切勿泄露。

2. 终端节点

终端节点即调用API的请求地址目前平台提供的服务器调用地址如下:

请求地址协议类型
https://comfyapi.gpugeek.comHTTPS

3. 认证鉴权

所有API接口须要通过在header中携带平台的 API KEY来进行身份认证。 在 Header 中携带 API KEY的消息头域格式如下:

{
"Authorization": "Bearer API_KEY"
}

其中 API_KEY 第一步创建的KEY。

4. 返回结果

API 请求返回统一使用 JSON (对应请求/响应header为Content-Type: application/json) 格式,通用结构如下:

{
"code": 0,
"message": "success",
"traceid": "",
"data": {}
}

返回结果参数说明:

消息元素名描述
code请求响应码,请求成功时为 0,失败时为相应的错误码,具体错误码请参考附录错误码说明。
message请求成功为 success, 请求失败为具体的业务错误信息
data返回的业务数据

API详情

1. 获取文件上传链接

接口说明

  • 请求URI:/api/v1/file/upload/pre-signed-url
  • 请求方法:GET
  • 描述:获取文件上传链接, 本平台提供文件上传服务,请先调用此接口获取文件上传链接,然后进行文件上传。 本平台工作流中支持使用外部对象存储地址,如果工作流中文件为存储地址,可以不用执行此操作

请求参数 Query

参数名称类型描述
file_namestring文件名称

返回结果

参数名称类型描述
signed_urlstring访问地址
expired_atdateTime过期时间

返回值示例

{
"code": 0,
"message": "success",
"traceid": "",
"data": {
"signed_url": "https://xxxxxxxxx/comfy/input/xxx.png",
"expired_at": "2023-01-01T00:00:00Z"
}
}

python代码样例

import requests

# 设置API KEY
API_KEY = "your_api_key"

# 源文件路径
src_name = "./ebAEgmhJGHN1Un7H.png"
# 目标文件名称
dest_name = "test_upload.png"

url = f'https://comfyapi.gpugeek.com/api/v1/file/upload/pre-signed-url?fileName={dest_name}'

headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}

response = requests.post(url, headers=headers)

if response.status_code == 200:
res = response.json()
if res.get("code") == 0:
pre_signed_url = res.get("data").get("signedUrl")

with open(src_name, 'rb') as file:
response = requests.put(
pre_signed_url,
data=file,
headers={'Content-Type': 'application/octet-stream'}
)
response.raise_for_status()
print("上传成功")
else:
print(res.get("message"))

2. 上传文件信息

接口说明

  • 请求URI:/api/v1/file/upload/commit
  • 请求方法:POST
  • 描述:工作流中存在非文件存储地址,请提前上传至平台进行管理。

请求参数 Body

参数名称类型描述
oss_urlstring文件存储地址

返回值示例

{
"code": 0,
"message": "success",
"traceid": "57cbd46995d11318814a78746318bc32",
"data": {
"oss_url": "https://xxxxxxxxx/comfy/input/xxx.png"
}
}

3. prompt请求接口

接口说明

  • 请求URI:/api/v1/prompt
  • 请求方法:POST

请求参数 Body

参数名称类型描述
workflow_idinteger工作流ID
promptobject工作流API
task_typeinteger任务类型: 目前仅支持1

请求示例

{
"workflow_id": 763311996779461,
"task_type": 1,
"prompt": {
"1": {
"inputs": {
"image": "https://xxxxxxxxx/comfy/input/xxx.png"
},
"class_type": "LoadImage",
"_meta": {
"title": "加载图像"
}
},
"2": {
"inputs": {
"images": [
"1",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "预览图像"
}
}
}
}

返回参数 Body

参数名称类型描述
prompt_idinteger推理ID

返回值示例

{
"code": 0,
"message": "success",
"traceid": "66ba96cf011c8c18f04f0a2c4f56f979",
"data": {
"prompt_id": "763289064770885"
}
}

4. 取消任务

接口说明

  • 请求URI:/api/v1/task/cancel
  • 请求方法:POST

请求参数 Body

参数名称类型描述
task_idinteger推理id

返回值示例

{
"code": 0,
"message": "success",
"traceid": "57cbd46995d11318814a78746318bc32",
"data": null
}

5. 获取任务详情

接口说明

  • 请求URI:/api/v1/task/{prompt_id}
  • 请求方法:GET

请求参数 Body

参数名称类型描述
prompt_idinteger推理ID

返回结果

参数名称类型描述
prompt_idinteger推理ID
workflow_idinteger工作流ID
env_idinteger关联环境ID
statusinteger任务状态: 1-排队中, 2-生成中, 3-执行成功, 4-执行失败, 5-已取消
queue_durationinteger排队时长,单位:毫秒
run_durationinteger运行时长,单位:毫秒
result_urlResultUrl生成结果
queue_sizeinteger当前队列长度
current_positioninteger当前任务在队列中的位置
origin_pricenumber任务价格
created_atdatetime创建时间

ResultUrl

参数名称类型描述
property<num>string节点ID , 值为结果存储地址

返回值示例

{
"code": 0,
"message": "success",
"traceid": "57cbd46995d11318814a78746318bc32",
"data": {
"prompt_id": 763289064770885,
"workflow_id": 763311996779461,
"env_id": 763311996779461,
"status": 2,
"queue_duration": 10,
"run_duration": 150,
"result_url": {
"property1": [
"string"
],
"property2": [
"string"
]
},
"error_msg": "",
"queue_size": 0,
"current_position": 0,
"origin_price": 0.11,
"created_at": "2026-01-19 14:46:54"
}
}