← 返回 Skills 市场
uiueux

Run ComfyUI on Runninghub(e.g.photo-retouching)

作者 uiueux · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ 安全检测通过
204
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install comfyui-runninghub
功能描述
Execute RunningHub ComfyUI workflows via API. Use when you need to run ComfyUI workflows on RunningHub cloud platform, submit tasks, query status, and retrie...
使用说明 (SKILL.md)

RunningHub ComfyUI Workflow Runner

This skill provides tools to execute ComfyUI workflows on the RunningHub cloud platform via API.

Prerequisites

  1. RunningHub Account - Register at https://www.runninghub.ai/?inviteCode=kol01-rh124
  2. API Access - Basic membership or above (free users cannot use API)
  3. API Key - Get your 32-character API KEY from the API Console
  4. Workflow ID - The workflow must have been successfully run manually at least once

Getting API Key

  1. Login to RunningHub
  2. Click your avatar in the top-right corner
  3. Go to "API Console"
  4. Copy your API KEY (keep it secure!)

Getting Workflow ID

  1. Open the target workflow page
  2. Get the ID from the URL: https://www.runninghub.ai/#/workflow/WORKFLOW_ID
  3. Example: ID is 1987728214757978114

Setup API Key

Option 1: Save to Config File (Recommended)

cd /root/.openclaw/workspace/skills/runninghub-comfyui
python3 scripts/runninghub_client.py --save-key YOUR_API_KEY

The API key will be saved to config.json and automatically loaded for future runs.

Option 2: Environment Variable

export RUNNINGHUB_API_KEY=YOUR_API_KEY

Option 3: Command Line (Each Time)

python3 scripts/runninghub_client.py --api-key YOUR_API_KEY ...

Usage

Submit Workflow Task (Default Configuration)

For workflows using default configuration:

cd /root/.openclaw/workspace/skills/runninghub-comfyui

python3 scripts/runninghub_client.py \
  --workflow-id 1987728214757978114 \
  --action submit

Run Workflow with Custom Image (NEW!)

Upload an image and run the workflow with it:

python3 scripts/runninghub_client.py \
  --workflow-id 1987728214757978114 \
  --action run-with-image \
  --image /path/to/your/image.png \
  --node-id 107 \
  --field-name image

Parameters:

  • --image: Path to the local image file
  • --node-id: The node ID for image input (default: 107)
  • --field-name: The field name for image input (default: image)

Query Task Status

python3 scripts/runninghub_client.py \
  --task-id TASK_ID \
  --action query

Wait for Completion

python3 scripts/runninghub_client.py \
  --task-id TASK_ID \
  --action wait \
  --poll-interval 5 \
  --max-attempts 60

Python API Usage

from runninghub_client import RunningHubClient, load_config, get_api_key

# Get API key from config
api_key = get_api_key()

# Initialize client
client = RunningHubClient(api_key)

# Upload image and get URL
image_url = client.upload_image("/path/to/image.png")
print(f"Image URL: {image_url}")

# Submit workflow with custom image
result = client.submit_workflow_with_image(
    workflow_id="1987728214757978114",
    node_id="107",
    field_name="image",
    image_url=image_url
)

task_id = result["taskId"]

# Wait for completion
final_result = client.wait_for_completion(task_id)

# Get output URLs
if final_result.get("status") == "SUCCESS":
    for item in final_result.get("results", []):
        print(f"Output: {item.get('url')}")

API Reference

RunningHubClient Class

__init__(api_key: str)

Initialize the client with your API KEY.

upload_image(image_path: str) -> Optional[str]

Upload an image file to RunningHub and get the URL.

Returns:

  • Image URL on success
  • None on failure

submit_workflow(workflow_id: str, node_info_list: Optional[list]) -> Dict

Submit a workflow task for execution.

Parameters:

  • workflow_id: The workflow ID from RunningHub
  • node_info_list: Node configuration list (optional)

Important: Use fieldValue (not value) in node_info_list:

node_info_list = [
    {
        "nodeId": "107",
        "fieldName": "image",
        "fieldValue": "https://..."  # ✅ Use fieldValue, not value
    }
]

Returns:

{
  "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

Submit a workflow with an image input (convenience method).

Example:

result = client.submit_workflow_with_image(
    "1987728214757978114",  # workflow_id
    "107",                   # node_id
    "image",                 # field_name
    "https://..."            # image_url
)

query_task(task_id: str) -> Dict

Query the status of a submitted task.

Returns:

{
  "status": "RUNNING|SUCCESS|FAILED",
  "results": [
    {"url": "https://...", "filename": "..."}
  ]
}

wait_for_completion(task_id: str, poll_interval: int, max_attempts: int) -> Dict

Wait for a task to complete by polling status.

Image Upload

Endpoint: POST /openapi/v2/media/upload/binary

Headers:

  • Authorization: Bearer \x3Capi_key>

Body:

  • Multipart form-data with file field

Response:

{
  "code": 0,
  "msg": "success",
  "data": {
    "type": "image",
    "download_url": "https://...",
    "fileName": "openapi/...",
    "size": "3490"
  }
}

Submit Workflow with Custom Input

Endpoint: POST /openapi/v2/run/workflow/{workflow_id}

Headers:

  • Authorization: Bearer \x3Capi_key>
  • Content-Type: application/json

Request Body:

{
  "apiKey": "your-api-key",
  "workflowId": "1987728214757978114",
  "addMetadata": true,
  "nodeInfoList": [
    {
      "nodeId": "107",
      "fieldName": "image",
      "fieldValue": "https://..."  // ✅ Use fieldValue, not value
    }
  ],
  "instanceType": "default",
  "usePersonalQueue": "false"
}

Important: Use fieldValue not value for node input values!

Important Notes

  1. Use fieldValue not value: When passing node input values via API, always use fieldValue:

    {"nodeId": "107", "fieldName": "image", "fieldValue": "..."}  // ✅ Correct
    {"nodeId": "107", "fieldName": "image", "value": "..."}       // ❌ Wrong
    
  2. Rate Limiting: Basic members have concurrency limits (usually 1 task at a time)

  3. Error 421: "API queue limit reached" - Wait for previous tasks to complete

  4. Authentication: Uses Authorization: Bearer \x3Capi_key> header

  5. API Endpoints:

    • Submit: POST /openapi/v2/run/workflow/{workflow_id}
    • Query: POST /openapi/v2/query
    • Upload: POST /openapi/v2/media/upload/binary

Troubleshooting

"Invalid node info" (Error 803)

  • Check that you're using fieldValue not value
  • Verify the nodeId and fieldName match the workflow configuration
  • Use the workflow's getJsonApiFormat endpoint to check available nodes

"API queue limit reached" (Error 421)

  • Wait 2-3 minutes and retry
  • Check RunningHub web console for running tasks
  • Cancel tasks from web console if needed

"TOKEN_INVALID" (Error 412)

  • Verify your API KEY is correct (32 characters)
  • Check if your membership is active
  • Try regenerating the API KEY from console

Task stuck in "RUNNING"

  • Large workflows may take several minutes
  • Check RunningHub web console for actual progress
  • Contact support if task runs too long
安全使用建议
This skill is coherent for RunningHub ComfyUI automation, but review these points before installing: - You will need your RunningHub API key. The registry metadata did not declare this, but the scripts and SKILL.md expect it (env var RUNNINGHUB_API_KEY or saved to config.json). Consider using an environment variable instead of saving the key to disk if you prefer not to store credentials in the workspace. - The chrome_automation script opens and talks to a local Chrome DevTools endpoint (127.0.0.1:9222) using raw sockets. That requires running Chrome with remote debugging enabled and gives the script capability to inspect/control a browser instance. Only use this if you trust the code and understand the implications of exposing DevTools (it can interact with pages and potentially sensitive local browser state). - The skill writes config.json into its workspace when you use --save-key; check the exact path it prints and remove the file if you no longer want the key stored there. - All external network calls are to runninghub.ai (the expected service) or localhost. If you have any doubt about the RunningHub domain or the source of this skill, verify the code and the RunningHub API endpoints independently before providing credentials. If you want higher assurance, ask the author to update the registry metadata to declare RUNNINGHUB_API_KEY as the primary credential and to document exactly where config.json is stored; or run the scripts locally in a controlled environment and avoid using the chrome_automation component unless necessary.
功能分析
Type: OpenClaw Skill Name: comfyui-runninghub Version: 1.0.1 The skill bundle is a functional API client and automation suite for the RunningHub ComfyUI platform. It includes scripts for submitting workflows, uploading images, and monitoring task status (scripts/runninghub_client.py and scripts/batch_runner.py). While scripts/chrome_automation.py implements a custom WebSocket client to interact with local Chrome DevTools for UI automation, its logic is transparent and specifically targeted at the RunningHub domain. The code follows standard patterns for API key management and lacks any indicators of malicious intent, data exfiltration, or unauthorized execution.
能力评估
Purpose & Capability
The name/description (RunningHub ComfyUI runner) match the included Python client and helper scripts that call runninghub.ai and upload/query workflows. The presence of chrome_automation and hybrid_automation scripts is consistent with the stated goal of automating uploads/monitoring. Minor mismatch: the registry metadata declares no required environment variables or primary credential, but the skill clearly expects a RunningHub API key.
Instruction Scope
SKILL.md instructs the agent/user to save an API key to a config file or to provide RUNNINGHUB_API_KEY; scripts also read/write a local config.json and make HTTP calls to runninghub.ai. The chrome_automation script attempts to control a local Chrome DevTools endpoint (127.0.0.1:9222) using raw sockets/CDP commands — this is within the stated automation purpose but expands scope to interacting with a local browser and opening sockets. The scripts do not attempt to read unrelated system files or cloud credentials.
Install Mechanism
No install spec; this is instruction + script files only. Nothing is downloaded at runtime from unknown external URLs and no packaged installer is executed. That is the lowest-risk install model for this kind of skill.
Credentials
The skill needs a RunningHub API key (32 chars) and supports RUNNINGHUB_API_KEY env var and saving to a local config.json, but the registry metadata lists no required env vars or primary credential. The requested credential is appropriate for the skill, but the metadata omission is an inconsistency that affects discoverability and permission review. The skill does not request other unrelated secrets.
Persistence & Privilege
always is false and the skill does not request elevated or global agent privileges. It will save its own config.json in the skill workspace when you use the --save-key option; that is normal for a tool that stores an API key locally. It does not modify other skills or global agent config.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install comfyui-runninghub
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /comfyui-runninghub 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Added new option to run workflows with a custom image via the `run-with-image` action. - Improved documentation with clear setup steps, usage examples, and troubleshooting. - Highlighted the importance of using `fieldValue` over `value` for node inputs. - Detailed Python API usage and method references for easier integration. - Expanded troubleshooting and important notes for common errors and API limits.
元数据
Slug comfyui-runninghub
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Run ComfyUI on Runninghub(e.g.photo-retouching) 是什么?

Execute RunningHub ComfyUI workflows via API. Use when you need to run ComfyUI workflows on RunningHub cloud platform, submit tasks, query status, and retrie... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 204 次。

如何安装 Run ComfyUI on Runninghub(e.g.photo-retouching)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install comfyui-runninghub」即可一键安装,无需额外配置。

Run ComfyUI on Runninghub(e.g.photo-retouching) 是免费的吗?

是的,Run ComfyUI on Runninghub(e.g.photo-retouching) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Run ComfyUI on Runninghub(e.g.photo-retouching) 支持哪些平台?

Run ComfyUI on Runninghub(e.g.photo-retouching) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Run ComfyUI on Runninghub(e.g.photo-retouching)?

由 uiueux(@uiueux)开发并维护,当前版本 v1.0.1。

💬 留言讨论