[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DCFNKXE180HX43NQ032DF8":3,"skill-same:01M6DCFNKXE180HX43NQ032DF8":105},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":83,"commitSha":84,"skillDirectory":85,"forksCount":86,"repositoryHtmlUrl":87,"repositoryHomepageUrl":6,"ownerHtmlUrl":88,"ownerBlogUrl":6,"ownerDescription":89,"updatedAt":90,"install":91,"resources":104},"01M6DCFNKXE180HX43NQ032DF8","comfyui",null,"Generate images, video, and audio with ComfyUI — install, launch, manage nodes\u002Fmodels, run workflows with parameter injection. Uses the official comfy-cli for lifecycle and direct REST\u002FWebSocket API for execution.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F14\u002F14280593ef4535291195b2db1b1e31b55e1da4bc40bec7543a151f867bc786fb\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"Audio","flux","local","image-generation","images","auto","install","decide","direct","image","Video","api","injection","run","generate","official","workflows","cli","macos","2026-11-10 10:12:30",false,"---\r\nname: comfyui\r\ndescription: \"Generate images, video, and audio with ComfyUI — install, launch, manage nodes\u002Fmodels, run workflows with parameter injection. Uses the official comfy-cli for lifecycle and direct REST\u002FWebSocket API for execution.\"\r\nversion: 5.1.0\r\nauthor: [kshitijk4poor, alt-glitch, purzbeats]\r\nlicense: MIT\r\nplatforms: [macos, linux, windows]\r\ncompatibility: \"Requires ComfyUI (local, Comfy Desktop, or Comfy Cloud) and comfy-cli (auto-installed via pipx\u002Fuvx by the setup script).\"\r\nprerequisites:\r\n  commands: [\"python3\"]\r\nsetup:\r\n  help: \"Run scripts\u002Fhardware_check.py FIRST to decide local vs Comfy Cloud; then scripts\u002Fcomfyui_setup.sh auto-installs locally (or use Cloud API key for platform.comfy.org).\"\r\nmetadata:\r\n  hermes:\r\n    tags:\r\n      - comfyui\r\n      - image-generation\r\n      - stable-diffusion\r\n      - flux\r\n      - sd3\r\n      - wan-video\r\n      - hunyuan-video\r\n      - creative\r\n      - generative-ai\r\n      - video-generation\r\n    related_skills: [stable-diffusion-image-generation, image_gen]\r\n    category: creative\r\n---\r\n\r\n# ComfyUI\r\n\r\nGenerate images, video, audio, and 3D content through ComfyUI using the\r\nofficial `comfy-cli` for setup\u002Flifecycle and direct REST\u002FWebSocket API\r\nfor workflow execution.\r\n\r\n## What's in this skill\r\n\r\n**Reference docs (`references\u002F`):**\r\n\r\n- `official-cli.md` — every `comfy ...` command, with flags\r\n- `rest-api.md` — REST + WebSocket endpoints (local + cloud), payload schemas\r\n- `workflow-format.md` — API-format JSON, common node types, param mapping\r\n- `template-integrity.md` — converting `comfyui-workflow-templates` from\r\n  editor format to API format: Reroute bypass, dotted dynamic-input keys\r\n  (`values.a`, `resize_type.width`), Cloud quirks (302 redirect, 1 concurrent\r\n  free-tier job, 1080p VRAM ceiling), Discord-compatible ffmpeg stitch.\r\n  Authored by [@purzbeats](https:\u002F\u002Fgithub.com\u002Fpurzbeats). Load this whenever\r\n  you're starting from an official template.\r\n\r\n**Scripts (`scripts\u002F`):**\r\n\r\n| Script | Purpose |\r\n|--------|---------|\r\n| `_common.py` | Shared HTTP, cloud routing, node catalogs (don't run directly) |\r\n| `hardware_check.py` | Probe GPU\u002FVRAM\u002Fdisk → recommend local vs Comfy Cloud |\r\n| `comfyui_setup.sh` | Hardware check + comfy-cli + ComfyUI install + launch + verify |\r\n| `extract_schema.py` | Read a workflow → list controllable params + model deps |\r\n| `check_deps.py` | Check workflow against running server → list missing nodes\u002Fmodels |\r\n| `auto_fix_deps.py` | Run check_deps then `comfy node install` \u002F `comfy model download` |\r\n| `run_workflow.py` | Inject params, submit, monitor, download outputs (HTTP or WS) |\r\n| `run_batch.py` | Submit a workflow N times with sweeps, parallel up to your tier |\r\n| `ws_monitor.py` | Real-time WebSocket viewer for executing jobs (live progress) |\r\n| `health_check.py` | Verification checklist runner — comfy-cli + server + models + smoke test |\r\n| `fetch_logs.py` | Pull traceback \u002F status messages for a given prompt_id |\r\n\r\n**Example workflows (`workflows\u002F`):** SD 1.5, SDXL, Flux Dev, SDXL img2img,\r\nSDXL inpaint, ESRGAN upscale, AnimateDiff video, Wan T2V. See\r\n`workflows\u002FREADME.md`.\r\n\r\n## When to Use\r\n\r\n- User asks to generate images with Stable Diffusion, SDXL, Flux, SD3, etc.\r\n- User wants to run a specific ComfyUI workflow file\r\n- User wants to chain generative steps (txt2img → upscale → face restore)\r\n- User needs ControlNet, inpainting, img2img, or other advanced pipelines\r\n- User asks to manage ComfyUI queue, check models, or install custom nodes\r\n- User wants video\u002Faudio\u002F3D generation via AnimateDiff, Hunyuan, Wan, AudioCraft, etc.\r\n\r\n## Architecture: Two Layers\r\n\r\n```\r\n┌─────────────────────────────────────────────────────┐\r\n│ Layer 1: comfy-cli (official lifecycle tool)        │\r\n│   Setup, server lifecycle, custom nodes, models     │\r\n│   → comfy install \u002F launch \u002F stop \u002F node \u002F model    │\r\n└─────────────────────────┬───────────────────────────┘\r\n                          │\r\n┌─────────────────────────▼───────────────────────────┐\r\n│ Layer 2: REST\u002FWebSocket API + skill scripts         │\r\n│   Workflow execution, param injection, monitoring   │\r\n│   POST \u002Fapi\u002Fprompt, GET \u002Fapi\u002Fview, WS \u002Fws           │\r\n│   → run_workflow.py, run_batch.py, ws_monitor.py    │\r\n└─────────────────────────────────────────────────────┘\r\n```\r\n\r\n**Why two layers?** The official CLI is excellent for installation and server\r\nmanagement but has minimal workflow execution support. The REST\u002FWS API fills\r\nthat gap — the scripts handle param injection, execution monitoring, and\r\noutput download that the CLI doesn't do.\r\n\r\n## Quick Start\r\n\r\n### Detect environment\r\n\r\n```bash\r\n# What's available?\r\ncommand -v comfy >\u002Fdev\u002Fnull 2>&1 && echo \"comfy-cli: installed\"\r\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats 2>\u002Fdev\u002Fnull && echo \"server: running\"\r\n\r\n# Can this machine run ComfyUI locally? (GPU\u002FVRAM\u002Fdisk check)\r\npython3 scripts\u002Fhardware_check.py\r\n```\r\n\r\nIf nothing is installed, see **Setup & Onboarding** below — but always run the\r\nhardware check first.\r\n\r\n### One-line health check\r\n\r\n```bash\r\npython3 scripts\u002Fhealth_check.py\r\n# → JSON: comfy_cli on PATH? server reachable? at least one checkpoint? smoke-test passes?\r\n```\r\n\r\n## Core Workflow\r\n\r\n### Step 1: Get a workflow JSON in API format\r\n\r\nWorkflows must be in API format (each node has `class_type`). They come from:\r\n\r\n- ComfyUI web UI → **Workflow → Export (API)** (newer UI) or\r\n  the legacy \"Save (API Format)\" button (older UI)\r\n- This skill's `workflows\u002F` directory (ready-to-run examples)\r\n- Community downloads (civitai, Reddit, Discord) — usually editor format,\r\n  must be loaded into ComfyUI then re-exported\r\n\r\nEditor format (top-level `nodes` and `links` arrays) is **not directly\r\nexecutable**. The scripts detect this and tell you to re-export.\r\n\r\n### Step 2: See what's controllable\r\n\r\n```bash\r\npython3 scripts\u002Fextract_schema.py workflow_api.json --summary-only\r\n# → {\"parameter_count\": 12, \"has_negative_prompt\": true, \"has_seed\": true, ...}\r\n\r\npython3 scripts\u002Fextract_schema.py workflow_api.json\r\n# → full schema with parameters, model deps, embedding refs\r\n```\r\n\r\n### Step 3: Run with parameters\r\n\r\n```bash\r\n# Local (defaults to http:\u002F\u002F127.0.0.1:8188)\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflow_api.json \\\r\n  --args '{\"prompt\": \"a beautiful sunset over mountains\", \"seed\": -1, \"steps\": 30}' \\\r\n  --output-dir .\u002Foutputs\r\n\r\n# Cloud (export API key once; uses correct \u002Fapi routing automatically)\r\nexport COMFY_CLOUD_API_KEY=\"comfyui-...\"\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflow_api.json \\\r\n  --args '{\"prompt\": \"...\"}' \\\r\n  --host https:\u002F\u002Fcloud.comfy.org \\\r\n  --output-dir .\u002Foutputs\r\n\r\n# Real-time progress via WebSocket (requires `pip install websocket-client`)\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow flux_dev.json \\\r\n  --args '{\"prompt\": \"...\"}' \\\r\n  --ws\r\n\r\n# img2img \u002F inpaint: pass --input-image to upload + reference automatically\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow sdxl_img2img.json \\\r\n  --input-image image=.\u002Fphoto.png \\\r\n  --args '{\"prompt\": \"make it watercolor\", \"denoise\": 0.6}'\r\n\r\n# Batch \u002F sweep: 8 random seeds, parallel up to cloud tier limit\r\npython3 scripts\u002Frun_batch.py \\\r\n  --workflow sdxl.json \\\r\n  --args '{\"prompt\": \"abstract\"}' \\\r\n  --count 8 --randomize-seed --parallel 3 \\\r\n  --output-dir .\u002Foutputs\u002Fbatch\r\n```\r\n\r\n`-1` for `seed` (or omitting it with `--randomize-seed`) generates a fresh\r\nrandom seed per run.\r\n\r\n### Step 4: Present results\r\n\r\nThe scripts emit JSON to stdout describing every output file:\r\n\r\n```json\r\n{\r\n  \"status\": \"success\",\r\n  \"prompt_id\": \"abc-123\",\r\n  \"outputs\": [\r\n    {\"file\": \".\u002Foutputs\u002Fsdxl_00001_.png\", \"node_id\": \"9\",\r\n     \"type\": \"image\", \"filename\": \"sdxl_00001_.png\"}\r\n  ]\r\n}\r\n```\r\n\r\n## Decision Tree\r\n\r\n| User says | Tool | Command |\r\n|-----------|------|---------|\r\n| **Lifecycle (use comfy-cli)** | | |\r\n| \"install ComfyUI\" | comfy-cli | `bash scripts\u002Fcomfyui_setup.sh` |\r\n| \"start ComfyUI\" | comfy-cli | `comfy launch --background` |\r\n| \"stop ComfyUI\" | comfy-cli | `comfy stop` |\r\n| \"install X node\" | comfy-cli | `comfy node install \u003Cname>` |\r\n| \"download X model\" | comfy-cli | `comfy model download --url \u003Curl> --relative-path models\u002Fcheckpoints` |\r\n| \"list installed models\" | comfy-cli | `comfy model list` |\r\n| \"list installed nodes\" | comfy-cli | `comfy node show installed` |\r\n| **Execution (use scripts)** | | |\r\n| \"is everything ready?\" | script | `health_check.py` (optionally with `--workflow X --smoke-test`) |\r\n| \"what can I change in this workflow?\" | script | `extract_schema.py W.json` |\r\n| \"check if W's deps are met\" | script | `check_deps.py W.json` |\r\n| \"fix missing deps\" | script | `auto_fix_deps.py W.json` |\r\n| \"generate an image\" | script | `run_workflow.py --workflow W --args '{...}'` |\r\n| \"use this image\" (img2img) | script | `run_workflow.py --input-image image=.\u002Fx.png ...` |\r\n| \"8 variations with random seeds\" | script | `run_batch.py --count 8 --randomize-seed ...` |\r\n| \"show me live progress\" | script | `ws_monitor.py --prompt-id \u003Cid>` |\r\n| \"fetch the error from job X\" | script | `fetch_logs.py \u003Cprompt_id>` |\r\n| **Direct REST** | | |\r\n| \"what's in the queue?\" | REST | `curl http:\u002F\u002FHOST:8188\u002Fqueue` (local) or `--host https:\u002F\u002Fcloud.comfy.org` |\r\n| \"cancel that\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Finterrupt` |\r\n| \"free GPU memory\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Ffree` |\r\n\r\n## Setup & Onboarding\r\n\r\nWhen a user asks to set up ComfyUI, **the FIRST thing to do is ask whether\r\nthey want Comfy Cloud (hosted, zero install, API key) or Local (install\r\nComfyUI on their machine)**. Don't start running install commands or hardware\r\nchecks until they've answered.\r\n\r\n**Official docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\r\n**CLI docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\r\n**Cloud docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\r\n**Cloud API:** https:\u002F\u002Fdocs.comfy.org\u002Fdevelopment\u002Fcloud\u002Foverview\r\n\r\n### Step 0: Ask Local vs Cloud (ALWAYS FIRST)\r\n\r\nSuggested script:\r\n\r\n> \"Do you want to run ComfyUI locally on your machine, or use Comfy Cloud?\r\n>\r\n> - **Comfy Cloud** — hosted on RTX 6000 Pro GPUs, all common models pre-installed,\r\n>   zero setup. Requires an API key (paid subscription required to actually run\r\n>   workflows; free tier is read-only). Best if you don't have a capable GPU.\r\n> - **Local** — free, but your machine MUST meet the hardware requirements:\r\n>   - NVIDIA GPU with **≥6 GB VRAM** (≥8 GB for SDXL, ≥12 GB for Flux\u002Fvideo), OR\r\n>   - AMD GPU with ROCm support (Linux), OR\r\n>   - Apple Silicon Mac (M1+) with **≥16 GB unified memory** (≥32 GB recommended).\r\n>   - Intel Macs and machines with no GPU will NOT work — use Cloud instead.\r\n>\r\n> Which would you like?\"\r\n\r\nRouting:\r\n\r\n- **Cloud** → skip to **Path A**.\r\n- **Local** → run hardware check first, then pick a path from Paths B–E based on the verdict.\r\n- **Unsure** → run the hardware check and let the verdict decide.\r\n\r\n### Step 1: Verify Hardware (ONLY if user chose local)\r\n\r\n```bash\r\npython3 scripts\u002Fhardware_check.py --json\r\n# Optional: also probe `torch` for actual CUDA\u002FMPS:\r\npython3 scripts\u002Fhardware_check.py --json --check-pytorch\r\n```\r\n\r\n| Verdict    | Meaning                                                       | Action |\r\n|------------|---------------------------------------------------------------|--------|\r\n| `ok`       | ≥8 GB VRAM (discrete) OR ≥32 GB unified (Apple Silicon)       | Local install — use `comfy_cli_flag` from report |\r\n| `marginal` | SD1.5 works; SDXL tight; Flux\u002Fvideo unlikely                  | Local OK for light workflows, else **Path A (Cloud)** |\r\n| `cloud`    | No usable GPU, \u003C6 GB VRAM, \u003C16 GB Apple unified, Intel Mac, Rosetta Python | **Switch to Cloud** unless user explicitly forces local |\r\n\r\nThe script also surfaces `wsl: true` (WSL2 with NVIDIA passthrough) and\r\n`rosetta: true` (x86_64 Python on Apple Silicon — must reinstall as ARM64).\r\n\r\nIf verdict is `cloud` but the user wants local, do not proceed silently.\r\nShow the `notes` array verbatim and ask whether they want to (a) switch to\r\nCloud or (b) force a local install (will OOM or be unusably slow on modern models).\r\n\r\n### Choosing an Installation Path\r\n\r\nUse the hardware check first. The table below is the fallback for when the\r\nuser has already told you their hardware:\r\n\r\n| Situation | Recommended Path |\r\n|-----------|------------------|\r\n| `verdict: cloud` from hardware check | **Path A: Comfy Cloud** |\r\n| No GPU \u002F want to try without commitment | **Path A: Comfy Cloud** |\r\n| Windows + NVIDIA + non-technical | **Path B: ComfyUI Desktop** |\r\n| Windows + NVIDIA + technical | **Path C: Portable** or **Path D: comfy-cli** |\r\n| Linux + any GPU | **Path D: comfy-cli** (easiest) |\r\n| macOS + Apple Silicon | **Path B: Desktop** or **Path D: comfy-cli** |\r\n| Headless \u002F server \u002F CI \u002F agents | **Path D: comfy-cli** |\r\n\r\nFor the fully automated path (hardware check → install → launch → verify):\r\n\r\n```bash\r\nbash scripts\u002Fcomfyui_setup.sh\r\n# Or with overrides:\r\nbash scripts\u002Fcomfyui_setup.sh --m-series --port=8190 --workspace=\u002Fdata\u002Fcomfy\r\n```\r\n\r\nIt runs `hardware_check.py` internally, refuses to install locally when the\r\nverdict is `cloud` (unless `--force-cloud-override`), picks the right\r\n`comfy-cli` flag, and prefers `pipx`\u002F`uvx` over global `pip` to avoid polluting\r\nsystem Python.\r\n\r\n---\r\n\r\n### Path A: Comfy Cloud (No Local Install)\r\n\r\nFor users without a capable GPU or who want zero setup. Hosted on RTX 6000 Pro.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\r\n\r\n1. Sign up at https:\u002F\u002Fcomfy.org\u002Fcloud\r\n2. Generate an API key at https:\u002F\u002Fplatform.comfy.org\u002Flogin\r\n3. Set the key:\r\n   ```bash\r\n   export COMFY_CLOUD_API_KEY=\"[REDACTED]\"\r\n   ```\r\n4. Run workflows:\r\n   ```bash\r\n   python3 scripts\u002Frun_workflow.py \\\r\n     --workflow workflows\u002Fflux_dev_txt2img.json \\\r\n     --args '{\"prompt\": \"...\"}' \\\r\n     --host https:\u002F\u002Fcloud.comfy.org \\\r\n     --output-dir .\u002Foutputs\r\n   ```\r\n\r\n**Pricing:** https:\u002F\u002Fwww.comfy.org\u002Fcloud\u002Fpricing\r\n**Concurrent jobs:** Free\u002FStandard 1, Creator 3, Pro 5. Free tier\r\n**cannot run workflows via API** — only browse models. Paid subscription\r\nrequired for `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fupload\u002F*`, `\u002Fapi\u002Fview`, etc.\r\n\r\n---\r\n\r\n### Path B: ComfyUI Desktop (Windows \u002F macOS)\r\n\r\nOne-click installer for non-technical users. Currently Beta.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fdesktop\r\n- **Windows (NVIDIA):** https:\u002F\u002Fdownload.comfy.org\u002Fwindows\u002Fnsis\u002Fx64\r\n- **macOS (Apple Silicon):** https:\u002F\u002Fcomfy.org\r\n\r\nLinux is **not supported** for Desktop — use Path D.\r\n\r\n---\r\n\r\n### Path C: ComfyUI Portable (Windows Only)\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fcomfyui_portable_windows\r\n\r\nDownload from https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI\u002Freleases, extract,\r\nrun `run_nvidia_gpu.bat`. Update via `update\u002Fupdate_comfyui_stable.bat`.\r\n\r\n---\r\n\r\n### Path D: comfy-cli (All Platforms — Recommended for Agents)\r\n\r\nThe official CLI is the best path for headless\u002Fautomated setups.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\r\n\r\n#### Install comfy-cli\r\n\r\n```bash\r\n# Recommended:\r\npipx install comfy-cli\r\n# Or use uvx without installing:\r\nuvx --from comfy-cli comfy --help\r\n# Or (if pipx\u002Fuvx unavailable):\r\npip install --user comfy-cli\r\n```\r\n\r\nDisable analytics non-interactively:\r\n```bash\r\ncomfy --skip-prompt tracking disable\r\n```\r\n\r\n#### Install ComfyUI\r\n\r\n```bash\r\ncomfy --skip-prompt install --nvidia              # NVIDIA (CUDA)\r\ncomfy --skip-prompt install --amd                 # AMD (ROCm, Linux)\r\ncomfy --skip-prompt install --m-series            # Apple Silicon (MPS)\r\ncomfy --skip-prompt install --cpu                 # CPU only (slow)\r\ncomfy --skip-prompt install --nvidia --fast-deps  # uv-based dep resolution\r\n```\r\n\r\nDefault location: `~\u002Fcomfy\u002FComfyUI` (Linux), `~\u002FDocuments\u002Fcomfy\u002FComfyUI`\r\n(macOS\u002FWin). Override with `comfy --workspace \u002Fcustom\u002Fpath install`.\r\n\r\n#### Launch \u002F verify\r\n\r\n```bash\r\ncomfy launch --background                       # background daemon on :8188\r\ncomfy launch -- --listen 0.0.0.0 --port 8190    # LAN-accessible custom port\r\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats      # health check\r\n```\r\n\r\n---\r\n\r\n### Path E: Manual Install (Advanced \u002F Unsupported Hardware)\r\n\r\nFor Ascend NPU, Cambricon MLU, Intel Arc, or other unsupported hardware.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fmanual_install\r\n\r\n```bash\r\ngit clone https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI.git\r\ncd ComfyUI\r\npip install torch torchvision torchaudio --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu130\r\npip install -r requirements.txt\r\npython main.py\r\n```\r\n\r\n---\r\n\r\n### Post-Install: Download Models\r\n\r\n```bash\r\n# SDXL (general purpose, ~6.5 GB)\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstabilityai\u002Fstable-diffusion-xl-base-1.0\u002Fresolve\u002Fmain\u002Fsd_xl_base_1.0.safetensors\" \\\r\n  --relative-path models\u002Fcheckpoints\r\n\r\n# SD 1.5 (lighter, ~4 GB, good for 6 GB cards)\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstable-diffusion-v1-5\u002Fstable-diffusion-v1-5\u002Fresolve\u002Fmain\u002Fv1-5-pruned-emaonly.safetensors\" \\\r\n  --relative-path models\u002Fcheckpoints\r\n\r\n# Flux Dev fp8 (smaller variant, ~12 GB)\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fhuggingface.co\u002FComfy-Org\u002Fflux1-dev\u002Fresolve\u002Fmain\u002Fflux1-dev-fp8.safetensors\" \\\r\n  --relative-path models\u002Fcheckpoints\r\n\r\n# CivitAI (set token first):\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fcivitai.com\u002Fapi\u002Fdownload\u002Fmodels\u002F128713\" \\\r\n  --relative-path models\u002Fcheckpoints \\\r\n  --set-civitai-api-token \"YOUR_TOKEN\"\r\n```\r\n\r\nList installed: `comfy model list`.\r\n\r\n### Post-Install: Install Custom Nodes\r\n\r\n```bash\r\ncomfy node install comfyui-impact-pack             # popular utility pack\r\ncomfy node install comfyui-animatediff-evolved     # video generation\r\ncomfy node install comfyui-controlnet-aux          # ControlNet preprocessors\r\ncomfy node install comfyui-essentials              # common helpers\r\ncomfy node update all\r\ncomfy node install-deps --workflow=workflow.json   # install everything a workflow needs\r\n```\r\n\r\n### Post-Install: Verify\r\n\r\n```bash\r\npython3 scripts\u002Fhealth_check.py\r\n# → comfy_cli on PATH? server reachable? checkpoints? smoke test?\r\n\r\npython3 scripts\u002Fcheck_deps.py my_workflow.json\r\n# → are this workflow's nodes\u002Fmodels\u002Fembeddings installed?\r\n\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflows\u002Fsd15_txt2img.json \\\r\n  --args '{\"prompt\": \"test\", \"steps\": 4}' \\\r\n  --output-dir .\u002Ftest-outputs\r\n```\r\n\r\n## Image Upload (img2img \u002F Inpainting)\r\n\r\nThe simplest way is to use `--input-image` with `run_workflow.py`:\r\n\r\n```bash\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflows\u002Fsdxl_img2img.json \\\r\n  --input-image image=.\u002Fphoto.png \\\r\n  --args '{\"prompt\": \"make it cyberpunk\", \"denoise\": 0.6}'\r\n```\r\n\r\nThe flag uploads `photo.png`, then injects its server-side filename into\r\nwhatever schema parameter is named `image`. For inpainting, pass both:\r\n\r\n```bash\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflows\u002Fsdxl_inpaint.json \\\r\n  --input-image image=.\u002Fphoto.png \\\r\n  --input-image mask_image=.\u002Fmask.png \\\r\n  --args '{\"prompt\": \"fill with flowers\"}'\r\n```\r\n\r\nManual upload via REST:\r\n```bash\r\ncurl -X POST \"http:\u002F\u002F127.0.0.1:8188\u002Fupload\u002Fimage\" \\\r\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\r\n# Returns: {\"name\": \"photo.png\", \"subfolder\": \"\", \"type\": \"input\"}\r\n\r\n# Cloud equivalent:\r\ncurl -X POST \"https:\u002F\u002Fcloud.comfy.org\u002Fapi\u002Fupload\u002Fimage\" \\\r\n  -H \"X-API-Key:[REDACTED]\" \\\r\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\r\n```\r\n\r\n## Cloud Specifics\r\n\r\n- **Base URL:** `https:\u002F\u002Fcloud.comfy.org`\r\n- **Auth:** `X-API-Key` header (or `?token=KEY` for WebSocket)\r\n- **API key:** set `$COMFY_CLOUD_API_KEY` once and the scripts pick it up automatically\r\n- **Output download:** `\u002Fapi\u002Fview` returns a 302 to a signed URL; the scripts\r\n  follow it and strip `X-API-Key` before fetching from the storage backend\r\n  (don't leak the API key to S3\u002FCloudFront).\r\n- **Endpoint differences from local ComfyUI:**\r\n  - `\u002Fapi\u002Fobject_info`, `\u002Fapi\u002Fqueue`, `\u002Fapi\u002Fuserdata` — **403 on free tier**;\r\n    paid only.\r\n  - `\u002Fhistory` is renamed to `\u002Fhistory_v2` on cloud (the scripts route\r\n    automatically).\r\n  - `\u002Fmodels\u002F\u003Cfolder>` is renamed to `\u002Fexperiment\u002Fmodels\u002F\u003Cfolder>` on cloud\r\n    (the scripts route automatically).\r\n  - `clientId` in WebSocket is currently ignored — all connections for a\r\n    user receive the same broadcast. Filter by `prompt_id` client-side.\r\n  - `subfolder` is accepted on uploads but ignored — cloud has a flat namespace.\r\n- **Concurrent jobs:** Free\u002FStandard: 1, Creator: 3, Pro: 5. Extras queue\r\n  automatically. Use `run_batch.py --parallel N` to saturate your tier.\r\n\r\n## Queue & System Management\r\n\r\n```bash\r\n# Local\r\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fqueue | python3 -m json.tool\r\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Fqueue -d '{\"clear\": true}'    # cancel pending\r\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Finterrupt                      # cancel running\r\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Ffree \\\r\n  -H \"Content-Type: application\u002Fjson\" \\\r\n  -d '{\"unload_models\": true, \"free_memory\": true}'\r\n\r\n# Cloud — same paths under \u002Fapi\u002F, plus:\r\npython3 scripts\u002Ffetch_logs.py --tail-queue --host https:\u002F\u002Fcloud.comfy.org\r\n```\r\n\r\n## Pitfalls\r\n\r\n1. **API format required** — every script and the `\u002Fapi\u002Fprompt` endpoint expect\r\n   API-format workflow JSON. The scripts detect editor format (top-level\r\n   `nodes` and `links` arrays) and tell you to re-export via\r\n   \"Workflow → Export (API)\" (newer UI) or \"Save (API Format)\" (older UI).\r\n\r\n2. **Server must be running** — all execution requires a live server.\r\n   `comfy launch --background` starts one. Verify with\r\n   `curl http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats`.\r\n\r\n3. **Model names are exact** — case-sensitive, includes file extension.\r\n   `check_deps.py` does fuzzy matching (with\u002Fwithout extension and folder\r\n   prefix), but the workflow itself must use the canonical name. Use\r\n   `comfy model list` to discover what's installed.\r\n\r\n4. **Missing custom nodes** — \"class_type not found\" means a required node\r\n   isn't installed. `check_deps.py` reports which package to install;\r\n   `auto_fix_deps.py` runs the install for you.\r\n\r\n5. **Working directory** — `comfy-cli` auto-detects the ComfyUI workspace.\r\n   If commands fail with \"no workspace found\", use\r\n   `comfy --workspace \u002Fpath\u002Fto\u002FComfyUI \u003Ccommand>` or\r\n   `comfy set-default \u002Fpath\u002Fto\u002FComfyUI`.\r\n\r\n6. **Cloud free-tier API limits** — `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fview`, `\u002Fapi\u002Fupload\u002F*`,\r\n   `\u002Fapi\u002Fobject_info` all return 403 on free accounts. `health_check.py` and\r\n   `check_deps.py` handle this gracefully and surface a clear message.\r\n\r\n7. **Timeout for video\u002Faudio workflows** — auto-detected when an output node\r\n   is `VHS_VideoCombine`, `SaveVideo`, etc.; the default jumps from 300 s to\r\n   900 s. Override explicitly with `--timeout 1800`.\r\n\r\n8. **Path traversal in output filenames** — server-supplied filenames are\r\n   passed through `safe_path_join` to refuse anything escaping `--output-dir`.\r\n   Keep this protection on — workflows with custom save nodes can produce\r\n   arbitrary paths.\r\n\r\n9. **Workflow JSON is arbitrary code** — custom nodes run Python, so\r\n   submitting an unknown workflow has the same trust profile as `eval`.\r\n   Inspect workflows from untrusted sources before running.\r\n\r\n10. **Auto-randomized seed** — pass `seed: -1` in `--args` (or use\r\n    `--randomize-seed` and omit the seed) to get a fresh seed per run.\r\n    The actual seed is logged to stderr.\r\n\r\n11. **`tracking` prompt** — first run of `comfy` may prompt for analytics.\r\n    Use `comfy --skip-prompt tracking disable` to skip non-interactively.\r\n    `comfyui_setup.sh` does this for you.\r\n\r\n## Verification Checklist\r\n\r\nUse `python3 scripts\u002Fhealth_check.py` to run the whole list at once. Manual:\r\n\r\n- [ ] `hardware_check.py` verdict is `ok` OR the user explicitly chose Comfy Cloud\r\n- [ ] `comfy --version` works (or `uvx --from comfy-cli comfy --help`)\r\n- [ ] `curl http:\u002F\u002FHOST:PORT\u002Fsystem_stats` returns JSON\r\n- [ ] `comfy model list` shows at least one checkpoint (local) OR\r\n      `\u002Fapi\u002Fexperiment\u002Fmodels\u002Fcheckpoints` returns models (cloud)\r\n- [ ] Workflow JSON is in API format\r\n- [ ] `check_deps.py` reports `is_ready: true` (or only `node_check_skipped`\r\n      on cloud free tier)\r\n- [ ] Test run with a small workflow completes; outputs land in `--output-dir`\r\n","# ComfyUI\r\n\r\nGenerate images, video, audio, and 3D content through ComfyUI using the\r\nofficial `comfy-cli` for setup\u002Flifecycle and direct REST\u002FWebSocket API\r\nfor workflow execution.\r\n\r\n## What's in this skill\r\n\r\n**Reference docs (`references\u002F`):**\r\n\r\n- `official-cli.md` — every `comfy ...` command, with flags\r\n- `rest-api.md` — REST + WebSocket endpoints (local + cloud), payload schemas\r\n- `workflow-format.md` — API-format JSON, common node types, param mapping\r\n- `template-integrity.md` — converting `comfyui-workflow-templates` from\r\n  editor format to API format: Reroute bypass, dotted dynamic-input keys\r\n  (`values.a`, `resize_type.width`), Cloud quirks (302 redirect, 1 concurrent\r\n  free-tier job, 1080p VRAM ceiling), Discord-compatible ffmpeg stitch.\r\n  Authored by [@purzbeats](https:\u002F\u002Fgithub.com\u002Fpurzbeats). Load this whenever\r\n  you're starting from an official template.\r\n\r\n**Scripts (`scripts\u002F`):**\r\n\r\n| Script | Purpose |\r\n|--------|---------|\r\n| `_common.py` | Shared HTTP, cloud routing, node catalogs (don't run directly) |\r\n| `hardware_check.py` | Probe GPU\u002FVRAM\u002Fdisk → recommend local vs Comfy Cloud |\r\n| `comfyui_setup.sh` | Hardware check + comfy-cli + ComfyUI install + launch + verify |\r\n| `extract_schema.py` | Read a workflow → list controllable params + model deps |\r\n| `check_deps.py` | Check workflow against running server → list missing nodes\u002Fmodels |\r\n| `auto_fix_deps.py` | Run check_deps then `comfy node install` \u002F `comfy model download` |\r\n| `run_workflow.py` | Inject params, submit, monitor, download outputs (HTTP or WS) |\r\n| `run_batch.py` | Submit a workflow N times with sweeps, parallel up to your tier |\r\n| `ws_monitor.py` | Real-time WebSocket viewer for executing jobs (live progress) |\r\n| `health_check.py` | Verification checklist runner — comfy-cli + server + models + smoke test |\r\n| `fetch_logs.py` | Pull traceback \u002F status messages for a given prompt_id |\r\n\r\n**Example workflows (`workflows\u002F`):** SD 1.5, SDXL, Flux Dev, SDXL img2img,\r\nSDXL inpaint, ESRGAN upscale, AnimateDiff video, Wan T2V. See\r\n`workflows\u002FREADME.md`.\r\n\r\n## When to Use\r\n\r\n- User asks to generate images with Stable Diffusion, SDXL, Flux, SD3, etc.\r\n- User wants to run a specific ComfyUI workflow file\r\n- User wants to chain generative steps (txt2img → upscale → face restore)\r\n- User needs ControlNet, inpainting, img2img, or other advanced pipelines\r\n- User asks to manage ComfyUI queue, check models, or install custom nodes\r\n- User wants video\u002Faudio\u002F3D generation via AnimateDiff, Hunyuan, Wan, AudioCraft, etc.\r\n\r\n## Architecture: Two Layers\r\n\r\n```\r\n┌─────────────────────────────────────────────────────┐\r\n│ Layer 1: comfy-cli (official lifecycle tool)        │\r\n│   Setup, server lifecycle, custom nodes, models     │\r\n│   → comfy install \u002F launch \u002F stop \u002F node \u002F model    │\r\n└─────────────────────────┬───────────────────────────┘\r\n                          │\r\n┌─────────────────────────▼───────────────────────────┐\r\n│ Layer 2: REST\u002FWebSocket API + skill scripts         │\r\n│   Workflow execution, param injection, monitoring   │\r\n│   POST \u002Fapi\u002Fprompt, GET \u002Fapi\u002Fview, WS \u002Fws           │\r\n│   → run_workflow.py, run_batch.py, ws_monitor.py    │\r\n└─────────────────────────────────────────────────────┘\r\n```\r\n\r\n**Why two layers?** The official CLI is excellent for installation and server\r\nmanagement but has minimal workflow execution support. The REST\u002FWS API fills\r\nthat gap — the scripts handle param injection, execution monitoring, and\r\noutput download that the CLI doesn't do.\r\n\r\n## Quick Start\r\n\r\n### Detect environment\r\n\r\n```bash\r\n# What's available?\r\ncommand -v comfy >\u002Fdev\u002Fnull 2>&1 && echo \"comfy-cli: installed\"\r\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats 2>\u002Fdev\u002Fnull && echo \"server: running\"\r\n\r\n# Can this machine run ComfyUI locally? (GPU\u002FVRAM\u002Fdisk check)\r\npython3 scripts\u002Fhardware_check.py\r\n```\r\n\r\nIf nothing is installed, see **Setup & Onboarding** below — but always run the\r\nhardware check first.\r\n\r\n### One-line health check\r\n\r\n```bash\r\npython3 scripts\u002Fhealth_check.py\r\n# → JSON: comfy_cli on PATH? server reachable? at least one checkpoint? smoke-test passes?\r\n```\r\n\r\n## Core Workflow\r\n\r\n### Step 1: Get a workflow JSON in API format\r\n\r\nWorkflows must be in API format (each node has `class_type`). They come from:\r\n\r\n- ComfyUI web UI → **Workflow → Export (API)** (newer UI) or\r\n  the legacy \"Save (API Format)\" button (older UI)\r\n- This skill's `workflows\u002F` directory (ready-to-run examples)\r\n- Community downloads (civitai, Reddit, Discord) — usually editor format,\r\n  must be loaded into ComfyUI then re-exported\r\n\r\nEditor format (top-level `nodes` and `links` arrays) is **not directly\r\nexecutable**. The scripts detect this and tell you to re-export.\r\n\r\n### Step 2: See what's controllable\r\n\r\n```bash\r\npython3 scripts\u002Fextract_schema.py workflow_api.json --summary-only\r\n# → {\"parameter_count\": 12, \"has_negative_prompt\": true, \"has_seed\": true, ...}\r\n\r\npython3 scripts\u002Fextract_schema.py workflow_api.json\r\n# → full schema with parameters, model deps, embedding refs\r\n```\r\n\r\n### Step 3: Run with parameters\r\n\r\n```bash\r\n# Local (defaults to http:\u002F\u002F127.0.0.1:8188)\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflow_api.json \\\r\n  --args '{\"prompt\": \"a beautiful sunset over mountains\", \"seed\": -1, \"steps\": 30}' \\\r\n  --output-dir .\u002Foutputs\r\n\r\n# Cloud (export API key once; uses correct \u002Fapi routing automatically)\r\nexport COMFY_CLOUD_API_KEY=\"comfyui-...\"\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflow_api.json \\\r\n  --args '{\"prompt\": \"...\"}' \\\r\n  --host https:\u002F\u002Fcloud.comfy.org \\\r\n  --output-dir .\u002Foutputs\r\n\r\n# Real-time progress via WebSocket (requires `pip install websocket-client`)\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow flux_dev.json \\\r\n  --args '{\"prompt\": \"...\"}' \\\r\n  --ws\r\n\r\n# img2img \u002F inpaint: pass --input-image to upload + reference automatically\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow sdxl_img2img.json \\\r\n  --input-image image=.\u002Fphoto.png \\\r\n  --args '{\"prompt\": \"make it watercolor\", \"denoise\": 0.6}'\r\n\r\n# Batch \u002F sweep: 8 random seeds, parallel up to cloud tier limit\r\npython3 scripts\u002Frun_batch.py \\\r\n  --workflow sdxl.json \\\r\n  --args '{\"prompt\": \"abstract\"}' \\\r\n  --count 8 --randomize-seed --parallel 3 \\\r\n  --output-dir .\u002Foutputs\u002Fbatch\r\n```\r\n\r\n`-1` for `seed` (or omitting it with `--randomize-seed`) generates a fresh\r\nrandom seed per run.\r\n\r\n### Step 4: Present results\r\n\r\nThe scripts emit JSON to stdout describing every output file:\r\n\r\n```json\r\n{\r\n  \"status\": \"success\",\r\n  \"prompt_id\": \"abc-123\",\r\n  \"outputs\": [\r\n    {\"file\": \".\u002Foutputs\u002Fsdxl_00001_.png\", \"node_id\": \"9\",\r\n     \"type\": \"image\", \"filename\": \"sdxl_00001_.png\"}\r\n  ]\r\n}\r\n```\r\n\r\n## Decision Tree\r\n\r\n| User says | Tool | Command |\r\n|-----------|------|---------|\r\n| **Lifecycle (use comfy-cli)** | | |\r\n| \"install ComfyUI\" | comfy-cli | `bash scripts\u002Fcomfyui_setup.sh` |\r\n| \"start ComfyUI\" | comfy-cli | `comfy launch --background` |\r\n| \"stop ComfyUI\" | comfy-cli | `comfy stop` |\r\n| \"install X node\" | comfy-cli | `comfy node install \u003Cname>` |\r\n| \"download X model\" | comfy-cli | `comfy model download --url \u003Curl> --relative-path models\u002Fcheckpoints` |\r\n| \"list installed models\" | comfy-cli | `comfy model list` |\r\n| \"list installed nodes\" | comfy-cli | `comfy node show installed` |\r\n| **Execution (use scripts)** | | |\r\n| \"is everything ready?\" | script | `health_check.py` (optionally with `--workflow X --smoke-test`) |\r\n| \"what can I change in this workflow?\" | script | `extract_schema.py W.json` |\r\n| \"check if W's deps are met\" | script | `check_deps.py W.json` |\r\n| \"fix missing deps\" | script | `auto_fix_deps.py W.json` |\r\n| \"generate an image\" | script | `run_workflow.py --workflow W --args '{...}'` |\r\n| \"use this image\" (img2img) | script | `run_workflow.py --input-image image=.\u002Fx.png ...` |\r\n| \"8 variations with random seeds\" | script | `run_batch.py --count 8 --randomize-seed ...` |\r\n| \"show me live progress\" | script | `ws_monitor.py --prompt-id \u003Cid>` |\r\n| \"fetch the error from job X\" | script | `fetch_logs.py \u003Cprompt_id>` |\r\n| **Direct REST** | | |\r\n| \"what's in the queue?\" | REST | `curl http:\u002F\u002FHOST:8188\u002Fqueue` (local) or `--host https:\u002F\u002Fcloud.comfy.org` |\r\n| \"cancel that\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Finterrupt` |\r\n| \"free GPU memory\" | REST | `curl -X POST http:\u002F\u002FHOST:8188\u002Ffree` |\r\n\r\n## Setup & Onboarding\r\n\r\nWhen a user asks to set up ComfyUI, **the FIRST thing to do is ask whether\r\nthey want Comfy Cloud (hosted, zero install, API key) or Local (install\r\nComfyUI on their machine)**. Don't start running install commands or hardware\r\nchecks until they've answered.\r\n\r\n**Official docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\r\n**CLI docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\r\n**Cloud docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\r\n**Cloud API:** https:\u002F\u002Fdocs.comfy.org\u002Fdevelopment\u002Fcloud\u002Foverview\r\n\r\n### Step 0: Ask Local vs Cloud (ALWAYS FIRST)\r\n\r\nSuggested script:\r\n\r\n> \"Do you want to run ComfyUI locally on your machine, or use Comfy Cloud?\r\n>\r\n> - **Comfy Cloud** — hosted on RTX 6000 Pro GPUs, all common models pre-installed,\r\n>   zero setup. Requires an API key (paid subscription required to actually run\r\n>   workflows; free tier is read-only). Best if you don't have a capable GPU.\r\n> - **Local** — free, but your machine MUST meet the hardware requirements:\r\n>   - NVIDIA GPU with **≥6 GB VRAM** (≥8 GB for SDXL, ≥12 GB for Flux\u002Fvideo), OR\r\n>   - AMD GPU with ROCm support (Linux), OR\r\n>   - Apple Silicon Mac (M1+) with **≥16 GB unified memory** (≥32 GB recommended).\r\n>   - Intel Macs and machines with no GPU will NOT work — use Cloud instead.\r\n>\r\n> Which would you like?\"\r\n\r\nRouting:\r\n\r\n- **Cloud** → skip to **Path A**.\r\n- **Local** → run hardware check first, then pick a path from Paths B–E based on the verdict.\r\n- **Unsure** → run the hardware check and let the verdict decide.\r\n\r\n### Step 1: Verify Hardware (ONLY if user chose local)\r\n\r\n```bash\r\npython3 scripts\u002Fhardware_check.py --json\r\n# Optional: also probe `torch` for actual CUDA\u002FMPS:\r\npython3 scripts\u002Fhardware_check.py --json --check-pytorch\r\n```\r\n\r\n| Verdict    | Meaning                                                       | Action |\r\n|------------|---------------------------------------------------------------|--------|\r\n| `ok`       | ≥8 GB VRAM (discrete) OR ≥32 GB unified (Apple Silicon)       | Local install — use `comfy_cli_flag` from report |\r\n| `marginal` | SD1.5 works; SDXL tight; Flux\u002Fvideo unlikely                  | Local OK for light workflows, else **Path A (Cloud)** |\r\n| `cloud`    | No usable GPU, \u003C6 GB VRAM, \u003C16 GB Apple unified, Intel Mac, Rosetta Python | **Switch to Cloud** unless user explicitly forces local |\r\n\r\nThe script also surfaces `wsl: true` (WSL2 with NVIDIA passthrough) and\r\n`rosetta: true` (x86_64 Python on Apple Silicon — must reinstall as ARM64).\r\n\r\nIf verdict is `cloud` but the user wants local, do not proceed silently.\r\nShow the `notes` array verbatim and ask whether they want to (a) switch to\r\nCloud or (b) force a local install (will OOM or be unusably slow on modern models).\r\n\r\n### Choosing an Installation Path\r\n\r\nUse the hardware check first. The table below is the fallback for when the\r\nuser has already told you their hardware:\r\n\r\n| Situation | Recommended Path |\r\n|-----------|------------------|\r\n| `verdict: cloud` from hardware check | **Path A: Comfy Cloud** |\r\n| No GPU \u002F want to try without commitment | **Path A: Comfy Cloud** |\r\n| Windows + NVIDIA + non-technical | **Path B: ComfyUI Desktop** |\r\n| Windows + NVIDIA + technical | **Path C: Portable** or **Path D: comfy-cli** |\r\n| Linux + any GPU | **Path D: comfy-cli** (easiest) |\r\n| macOS + Apple Silicon | **Path B: Desktop** or **Path D: comfy-cli** |\r\n| Headless \u002F server \u002F CI \u002F agents | **Path D: comfy-cli** |\r\n\r\nFor the fully automated path (hardware check → install → launch → verify):\r\n\r\n```bash\r\nbash scripts\u002Fcomfyui_setup.sh\r\n# Or with overrides:\r\nbash scripts\u002Fcomfyui_setup.sh --m-series --port=8190 --workspace=\u002Fdata\u002Fcomfy\r\n```\r\n\r\nIt runs `hardware_check.py` internally, refuses to install locally when the\r\nverdict is `cloud` (unless `--force-cloud-override`), picks the right\r\n`comfy-cli` flag, and prefers `pipx`\u002F`uvx` over global `pip` to avoid polluting\r\nsystem Python.\r\n\r\n---\r\n\r\n### Path A: Comfy Cloud (No Local Install)\r\n\r\nFor users without a capable GPU or who want zero setup. Hosted on RTX 6000 Pro.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fget_started\u002Fcloud\r\n\r\n1. Sign up at https:\u002F\u002Fcomfy.org\u002Fcloud\r\n2. Generate an API key at https:\u002F\u002Fplatform.comfy.org\u002Flogin\r\n3. Set the key:\r\n   ```bash\r\n   export COMFY_CLOUD_API_KEY=\"[REDACTED]\"\r\n   ```\r\n4. Run workflows:\r\n   ```bash\r\n   python3 scripts\u002Frun_workflow.py \\\r\n     --workflow workflows\u002Fflux_dev_txt2img.json \\\r\n     --args '{\"prompt\": \"...\"}' \\\r\n     --host https:\u002F\u002Fcloud.comfy.org \\\r\n     --output-dir .\u002Foutputs\r\n   ```\r\n\r\n**Pricing:** https:\u002F\u002Fwww.comfy.org\u002Fcloud\u002Fpricing\r\n**Concurrent jobs:** Free\u002FStandard 1, Creator 3, Pro 5. Free tier\r\n**cannot run workflows via API** — only browse models. Paid subscription\r\nrequired for `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fupload\u002F*`, `\u002Fapi\u002Fview`, etc.\r\n\r\n---\r\n\r\n### Path B: ComfyUI Desktop (Windows \u002F macOS)\r\n\r\nOne-click installer for non-technical users. Currently Beta.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fdesktop\r\n- **Windows (NVIDIA):** https:\u002F\u002Fdownload.comfy.org\u002Fwindows\u002Fnsis\u002Fx64\r\n- **macOS (Apple Silicon):** https:\u002F\u002Fcomfy.org\r\n\r\nLinux is **not supported** for Desktop — use Path D.\r\n\r\n---\r\n\r\n### Path C: ComfyUI Portable (Windows Only)\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fcomfyui_portable_windows\r\n\r\nDownload from https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI\u002Freleases, extract,\r\nrun `run_nvidia_gpu.bat`. Update via `update\u002Fupdate_comfyui_stable.bat`.\r\n\r\n---\r\n\r\n### Path D: comfy-cli (All Platforms — Recommended for Agents)\r\n\r\nThe official CLI is the best path for headless\u002Fautomated setups.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Fcomfy-cli\u002Fgetting-started\r\n\r\n#### Install comfy-cli\r\n\r\n```bash\r\n# Recommended:\r\npipx install comfy-cli\r\n# Or use uvx without installing:\r\nuvx --from comfy-cli comfy --help\r\n# Or (if pipx\u002Fuvx unavailable):\r\npip install --user comfy-cli\r\n```\r\n\r\nDisable analytics non-interactively:\r\n```bash\r\ncomfy --skip-prompt tracking disable\r\n```\r\n\r\n#### Install ComfyUI\r\n\r\n```bash\r\ncomfy --skip-prompt install --nvidia              # NVIDIA (CUDA)\r\ncomfy --skip-prompt install --amd                 # AMD (ROCm, Linux)\r\ncomfy --skip-prompt install --m-series            # Apple Silicon (MPS)\r\ncomfy --skip-prompt install --cpu                 # CPU only (slow)\r\ncomfy --skip-prompt install --nvidia --fast-deps  # uv-based dep resolution\r\n```\r\n\r\nDefault location: `~\u002Fcomfy\u002FComfyUI` (Linux), `~\u002FDocuments\u002Fcomfy\u002FComfyUI`\r\n(macOS\u002FWin). Override with `comfy --workspace \u002Fcustom\u002Fpath install`.\r\n\r\n#### Launch \u002F verify\r\n\r\n```bash\r\ncomfy launch --background                       # background daemon on :8188\r\ncomfy launch -- --listen 0.0.0.0 --port 8190    # LAN-accessible custom port\r\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats      # health check\r\n```\r\n\r\n---\r\n\r\n### Path E: Manual Install (Advanced \u002F Unsupported Hardware)\r\n\r\nFor Ascend NPU, Cambricon MLU, Intel Arc, or other unsupported hardware.\r\n\r\n**Docs:** https:\u002F\u002Fdocs.comfy.org\u002Finstallation\u002Fmanual_install\r\n\r\n```bash\r\ngit clone https:\u002F\u002Fgithub.com\u002Fcomfyanonymous\u002FComfyUI.git\r\ncd ComfyUI\r\npip install torch torchvision torchaudio --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu130\r\npip install -r requirements.txt\r\npython main.py\r\n```\r\n\r\n---\r\n\r\n### Post-Install: Download Models\r\n\r\n```bash\r\n# SDXL (general purpose, ~6.5 GB)\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstabilityai\u002Fstable-diffusion-xl-base-1.0\u002Fresolve\u002Fmain\u002Fsd_xl_base_1.0.safetensors\" \\\r\n  --relative-path models\u002Fcheckpoints\r\n\r\n# SD 1.5 (lighter, ~4 GB, good for 6 GB cards)\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fhuggingface.co\u002Fstable-diffusion-v1-5\u002Fstable-diffusion-v1-5\u002Fresolve\u002Fmain\u002Fv1-5-pruned-emaonly.safetensors\" \\\r\n  --relative-path models\u002Fcheckpoints\r\n\r\n# Flux Dev fp8 (smaller variant, ~12 GB)\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fhuggingface.co\u002FComfy-Org\u002Fflux1-dev\u002Fresolve\u002Fmain\u002Fflux1-dev-fp8.safetensors\" \\\r\n  --relative-path models\u002Fcheckpoints\r\n\r\n# CivitAI (set token first):\r\ncomfy model download \\\r\n  --url \"https:\u002F\u002Fcivitai.com\u002Fapi\u002Fdownload\u002Fmodels\u002F128713\" \\\r\n  --relative-path models\u002Fcheckpoints \\\r\n  --set-civitai-api-token \"YOUR_TOKEN\"\r\n```\r\n\r\nList installed: `comfy model list`.\r\n\r\n### Post-Install: Install Custom Nodes\r\n\r\n```bash\r\ncomfy node install comfyui-impact-pack             # popular utility pack\r\ncomfy node install comfyui-animatediff-evolved     # video generation\r\ncomfy node install comfyui-controlnet-aux          # ControlNet preprocessors\r\ncomfy node install comfyui-essentials              # common helpers\r\ncomfy node update all\r\ncomfy node install-deps --workflow=workflow.json   # install everything a workflow needs\r\n```\r\n\r\n### Post-Install: Verify\r\n\r\n```bash\r\npython3 scripts\u002Fhealth_check.py\r\n# → comfy_cli on PATH? server reachable? checkpoints? smoke test?\r\n\r\npython3 scripts\u002Fcheck_deps.py my_workflow.json\r\n# → are this workflow's nodes\u002Fmodels\u002Fembeddings installed?\r\n\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflows\u002Fsd15_txt2img.json \\\r\n  --args '{\"prompt\": \"test\", \"steps\": 4}' \\\r\n  --output-dir .\u002Ftest-outputs\r\n```\r\n\r\n## Image Upload (img2img \u002F Inpainting)\r\n\r\nThe simplest way is to use `--input-image` with `run_workflow.py`:\r\n\r\n```bash\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflows\u002Fsdxl_img2img.json \\\r\n  --input-image image=.\u002Fphoto.png \\\r\n  --args '{\"prompt\": \"make it cyberpunk\", \"denoise\": 0.6}'\r\n```\r\n\r\nThe flag uploads `photo.png`, then injects its server-side filename into\r\nwhatever schema parameter is named `image`. For inpainting, pass both:\r\n\r\n```bash\r\npython3 scripts\u002Frun_workflow.py \\\r\n  --workflow workflows\u002Fsdxl_inpaint.json \\\r\n  --input-image image=.\u002Fphoto.png \\\r\n  --input-image mask_image=.\u002Fmask.png \\\r\n  --args '{\"prompt\": \"fill with flowers\"}'\r\n```\r\n\r\nManual upload via REST:\r\n```bash\r\ncurl -X POST \"http:\u002F\u002F127.0.0.1:8188\u002Fupload\u002Fimage\" \\\r\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\r\n# Returns: {\"name\": \"photo.png\", \"subfolder\": \"\", \"type\": \"input\"}\r\n\r\n# Cloud equivalent:\r\ncurl -X POST \"https:\u002F\u002Fcloud.comfy.org\u002Fapi\u002Fupload\u002Fimage\" \\\r\n  -H \"X-API-Key:[REDACTED]\" \\\r\n  -F \"image=@photo.png\" -F \"type=input\" -F \"overwrite=true\"\r\n```\r\n\r\n## Cloud Specifics\r\n\r\n- **Base URL:** `https:\u002F\u002Fcloud.comfy.org`\r\n- **Auth:** `X-API-Key` header (or `?token=KEY` for WebSocket)\r\n- **API key:** set `$COMFY_CLOUD_API_KEY` once and the scripts pick it up automatically\r\n- **Output download:** `\u002Fapi\u002Fview` returns a 302 to a signed URL; the scripts\r\n  follow it and strip `X-API-Key` before fetching from the storage backend\r\n  (don't leak the API key to S3\u002FCloudFront).\r\n- **Endpoint differences from local ComfyUI:**\r\n  - `\u002Fapi\u002Fobject_info`, `\u002Fapi\u002Fqueue`, `\u002Fapi\u002Fuserdata` — **403 on free tier**;\r\n    paid only.\r\n  - `\u002Fhistory` is renamed to `\u002Fhistory_v2` on cloud (the scripts route\r\n    automatically).\r\n  - `\u002Fmodels\u002F\u003Cfolder>` is renamed to `\u002Fexperiment\u002Fmodels\u002F\u003Cfolder>` on cloud\r\n    (the scripts route automatically).\r\n  - `clientId` in WebSocket is currently ignored — all connections for a\r\n    user receive the same broadcast. Filter by `prompt_id` client-side.\r\n  - `subfolder` is accepted on uploads but ignored — cloud has a flat namespace.\r\n- **Concurrent jobs:** Free\u002FStandard: 1, Creator: 3, Pro: 5. Extras queue\r\n  automatically. Use `run_batch.py --parallel N` to saturate your tier.\r\n\r\n## Queue & System Management\r\n\r\n```bash\r\n# Local\r\ncurl -s http:\u002F\u002F127.0.0.1:8188\u002Fqueue | python3 -m json.tool\r\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Fqueue -d '{\"clear\": true}'    # cancel pending\r\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Finterrupt                      # cancel running\r\ncurl -X POST http:\u002F\u002F127.0.0.1:8188\u002Ffree \\\r\n  -H \"Content-Type: application\u002Fjson\" \\\r\n  -d '{\"unload_models\": true, \"free_memory\": true}'\r\n\r\n# Cloud — same paths under \u002Fapi\u002F, plus:\r\npython3 scripts\u002Ffetch_logs.py --tail-queue --host https:\u002F\u002Fcloud.comfy.org\r\n```\r\n\r\n## Pitfalls\r\n\r\n1. **API format required** — every script and the `\u002Fapi\u002Fprompt` endpoint expect\r\n   API-format workflow JSON. The scripts detect editor format (top-level\r\n   `nodes` and `links` arrays) and tell you to re-export via\r\n   \"Workflow → Export (API)\" (newer UI) or \"Save (API Format)\" (older UI).\r\n\r\n2. **Server must be running** — all execution requires a live server.\r\n   `comfy launch --background` starts one. Verify with\r\n   `curl http:\u002F\u002F127.0.0.1:8188\u002Fsystem_stats`.\r\n\r\n3. **Model names are exact** — case-sensitive, includes file extension.\r\n   `check_deps.py` does fuzzy matching (with\u002Fwithout extension and folder\r\n   prefix), but the workflow itself must use the canonical name. Use\r\n   `comfy model list` to discover what's installed.\r\n\r\n4. **Missing custom nodes** — \"class_type not found\" means a required node\r\n   isn't installed. `check_deps.py` reports which package to install;\r\n   `auto_fix_deps.py` runs the install for you.\r\n\r\n5. **Working directory** — `comfy-cli` auto-detects the ComfyUI workspace.\r\n   If commands fail with \"no workspace found\", use\r\n   `comfy --workspace \u002Fpath\u002Fto\u002FComfyUI \u003Ccommand>` or\r\n   `comfy set-default \u002Fpath\u002Fto\u002FComfyUI`.\r\n\r\n6. **Cloud free-tier API limits** — `\u002Fapi\u002Fprompt`, `\u002Fapi\u002Fview`, `\u002Fapi\u002Fupload\u002F*`,\r\n   `\u002Fapi\u002Fobject_info` all return 403 on free accounts. `health_check.py` and\r\n   `check_deps.py` handle this gracefully and surface a clear message.\r\n\r\n7. **Timeout for video\u002Faudio workflows** — auto-detected when an output node\r\n   is `VHS_VideoCombine`, `SaveVideo`, etc.; the default jumps from 300 s to\r\n   900 s. Override explicitly with `--timeout 1800`.\r\n\r\n8. **Path traversal in output filenames** — server-supplied filenames are\r\n   passed through `safe_path_join` to refuse anything escaping `--output-dir`.\r\n   Keep this protection on — workflows with custom save nodes can produce\r\n   arbitrary paths.\r\n\r\n9. **Workflow JSON is arbitrary code** — custom nodes run Python, so\r\n   submitting an unknown workflow has the same trust profile as `eval`.\r\n   Inspect workflows from untrusted sources before running.\r\n\r\n10. **Auto-randomized seed** — pass `seed: -1` in `--args` (or use\r\n    `--randomize-seed` and omit the seed) to get a fresh seed per run.\r\n    The actual seed is logged to stderr.\r\n\r\n11. **`tracking` prompt** — first run of `comfy` may prompt for analytics.\r\n    Use `comfy --skip-prompt tracking disable` to skip non-interactively.\r\n    `comfyui_setup.sh` does this for you.\r\n\r\n## Verification Checklist\r\n\r\nUse `python3 scripts\u002Fhealth_check.py` to run the whole list at once. Manual:\r\n\r\n- [ ] `hardware_check.py` verdict is `ok` OR the user explicitly chose Comfy Cloud\r\n- [ ] `comfy --version` works (or `uvx --from comfy-cli comfy --help`)\r\n- [ ] `curl http:\u002F\u002FHOST:PORT\u002Fsystem_stats` returns JSON\r\n- [ ] `comfy model list` shows at least one checkpoint (local) OR\r\n      `\u002Fapi\u002Fexperiment\u002Fmodels\u002Fcheckpoints` returns models (cloud)\r\n- [ ] Workflow JSON is in API format\r\n- [ ] `check_deps.py` reports `is_ready: true` (or only `node_check_skipped`\r\n      on cloud free tier)\r\n- [ ] Test run with a small workflow completes; outputs land in `--output-dir`\r\n",{"name":5,"setup":56,"author":58,"license":15,"version":62,"metadata":63,"platforms":76,"description":7,"compatibility":79,"prerequisites":80},{"help":57},"Run scripts\u002Fhardware_check.py FIRST to decide local vs Comfy Cloud; then scripts\u002Fcomfyui_setup.sh auto-installs locally (or use Cloud API key for platform.comfy.org).",[59,60,61],"kshitijk4poor","alt-glitch","purzbeats","5.1.0",{"hermes":64},{"tags":65,"category":70,"related_skills":73},[5,35,66,33,67,68,69,70,71,72],"stable-diffusion","sd3","wan-video","hunyuan-video","creative","generative-ai","video-generation",[74,75],"stable-diffusion-image-generation","image_gen",[50,77,78],"linux","windows","Requires ComfyUI (local, Comfy Desktop, or Comfy Cloud) and comfy-cli (auto-installed via pipx\u002Fuvx by the setup script).",{"commands":81},[82],"python3","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F14\u002F14280593ef4535291195b2db1b1e31b55e1da4bc40bec7543a151f867bc786fb",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":92,"prompt":102,"zipAvailable":103},[93,96,99],{"tool":94,"command":95},"npx","npx skills add zapabob\u002FSkills --skill comfyui",{"tool":97,"command":98},"bunx","bunx skills add zapabob\u002FSkills --skill comfyui",{"tool":100,"command":101},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill comfyui","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F14\u002F14280593ef4535291195b2db1b1e31b55e1da4bc40bec7543a151f867bc786fb\u002FSKILL.md",true,[],[106,130,165,189,216,233],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":51},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[112,113,116],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[108,118,50,49,119,77,78,47,120,121,122,43,123,124,125,126,83,127,128,129],"openclaw","github","search","https","social-media","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":147,"publishedAt":51},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[136,139,142,143,144],{"categoryNo":137,"categoryName":138,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},{"categoryNo":145,"categoryName":146,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000036","内容创作者",[148,149,150,151,50,152,77,153,78,154,155,156,157,158,159,160,161,162,163,164],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":172,"publishedAt":51},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[171],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[167,50,77,173,174,175,176,177,32,178,179,180,181,182,183,184,185,186,187,188],"openai","speech","multimodal","Transformers","ASR","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":198,"publishedAt":51},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[195],{"categoryNo":196,"categoryName":197,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[199,50,200,201,78,202,203,204,205,206,207,179,208,209,210,211,212,213,214,215],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":223,"publishedAt":51},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[222],{"categoryNo":114,"categoryName":115,"taxonomyType":21,"taxonomyTypeDesc":22},[218,50,224,119,77,225,226,227,228,229,230,124,125,231,232],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":234,"name":235,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":241,"publishedAt":51},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[239,240],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[242,243,244,77,245,173,246,247,248,176,249,43,250,251,252,253,254,255,256,257],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]