通过API在RunningHub云平台执行ComfyUI工作流,用于提交任务、查询状态并获取结果。
RunningHub ComfyUI Workflow Runner. 此技能提供了工具,通过API在RunningHub云平台上执行ComfyUI工作流程.是一项面向实际任务的技能,主要用于Prerequisites. runningHub Account - Register at https://www.ru。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
本技能提供通过 API 在 RunningHub 云平台执行 ComfyUI 工作流的工具。
https://www.runninghub.ai/#/workflow/WORKFLOW_ID1987728214757978114cd /root/.openclaw/workspace/skills/runninghub-comfyui python3 scripts/runninghub_client.py --save-key YOUR_API_KEY
API Key 将被保存至 config.json,后续运行时将自动加载。
export RUNNINGHUB_API_KEY=YOUR_API_KEY
python3 scripts/runninghub_client.py --api-key YOUR_API_KEY ...
适用于采用默认配置的工作流:
cd /root/.openclaw/workspace/skills/runninghub-comfyui python3 scripts/runninghub_client.py --workflow-id 1987728214757978114 --action submit
上传一张图像,并以此图像作为输入运行工作流:
python3 scripts/runninghub_client.py --workflow-id 1987728214757978114 --action run-with-image --image /path/to/your/image.png --node-id 107 --field-name image
参数说明:
--image:本地图像文件路径--node-id:图像输入节点 ID(默认值:107)--field-name:图像输入字段名(默认值:image)python3 scripts/runninghub_client.py --task-id TASK_ID --action query
python3 scripts/runninghub_client.py --task-id TASK_ID --action wait --poll-interval 5 --max-attempts 60
from runninghub_client import RunningHubClient, load_config, get_api_key
# 从配置中获取 API Key
api_key = get_api_key()
# 初始化客户端
client = RunningHubClient(api_key)
# 上传图像并获取 URL
image_url = client.upload_image("/path/to/image.png")
print(f"Image URL: {image_url}")
# 提交带自定义图像的工作流
result = client.submit_workflow_with_image(
workflow_id="1987728214757978114",
node_id="107",
field_name="image",
image_url=image_url
)
task_id = result["taskId"]
# 等待任务完成
final_result = client.wait_for_completion(task_id)
# 获取输出文件 URL
if final_result.get("status") == "SUCCESS":
for item in final_result.get("results", []):
print(f"Output: {item.get('url')}")
__init__(api_key: str)使用您的 API KEY 初始化客户端。
upload_image(image_path: str) -> Optional[str]将图像文件上传至 RunningHub 并返回其 URL。
返回值:
Nonesubmit_workflow(workflow_id: str, node_info_list: Optional[list]) -> Dict提交工作流任务以供执行。
参数说明:
workflow_id:RunningHub 中的工作流 IDnode_info_list:节点配置列表(可选)重要提示: 在 node_info_list 中请使用 fieldValue(而非 value):
node_info_list = [
{
"nodeId": "107",
"fieldName": "image",
"fieldValue": "https://..." # ✅ 正确:使用 fieldValue
}
]
返回值:
{
"taskId": "TASK_ID",
"status": "RUNNING",
"clientId": "CLIENT_ID"
}
submit_workflow_with_image(workflow_id: str, node_id: str, field_name: str, image_url: str) -> Dict提交带图像输入的工作流(便捷方法)。
示例:
result = client.submit_workflow_with_image(
"1987728214757978114", # workflow_id
"107", # node_id
"image", # field_name
"https://..." # image_url
)
query_task(task_id: str) -> Dict查询已提交任务的状态。
返回值:
{
"status": "RUNNING|SUCCESS|FAILED",
"results": [
{"url": "https://...", "filename": "..."}
]
}
wait_for_completion(task_id: str, poll_interval: int, max_attempts: int) -> Dict通过轮询方式等待任务完成。
接口地址: POST /openapi/v2/media/upload/binary
请求头(Headers):
Authorization: Bearer 请求体(Body):
响应示例:
{
"code": 0,
"msg": "success",
"data": {
"type": "image",
"download_url": "https://...",
"fileName": "openapi/...",
"size": "3490"
}
}
接口地址: POST /openapi/v2/run/workflow/{workflow_id}
请求头(Headers):
Authorization: Bearer Content-Type: application/json请求体(Request Body):
{
"apiKey": "your-api-key",
"workflowId": "1987728214757978114",
"addMetadata": true,
"nodeInfoList": [
{
"nodeId": "107",
"fieldName": "image",
"fieldValue": "https://..." // ✅ 正确:使用 fieldValue
}
],
"instanceType": "default",
"usePersonalQueue": "false"
}
重要提示: 向节点传入输入值时,请始终使用 fieldValue,而非 value!
务必使用 fieldValue,而非 value:通过 API 传递节点输入值时,必须使用 fieldValue:
{"nodeId": "107", "fieldName": "image", "fieldValue": "..."} // ✅ 正确
{"nodeId": "107", "fieldName": "image", "value": "..."} // ❌ 错误
速率限制:基础会员存在并发数限制(通常仅支持同时运行 1 个任务)
错误码 421:“API 队列已达上限”——请等待先前任务完成后再重试
身份认证方式:使用 Authorization: Bearer 请求头
API 接口地址列表:
POST /openapi/v2/run/workflow/{workflow_id}POST /openapi/v2/queryPOST /openapi/v2/media/upload/binaryfieldValue 而非 valuenodeId 和 fieldName 与工作流配置完全一致getJsonApiFormat 接口,检查可用节点信息相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习