Skip to content

comfy.workflow.json

The versioned manifest every workflow package ships. specVersion is 1 (legacy string nodePacks) or 2 (rich pack objects). Consumers must reject manifests whose contract they don't understand.

JSON Schema: schema/comfy.workflow.schema.json, also @stepupgaming/comfy-workflows/schema.

Minimal example

json
{
  "specVersion": 1,
  "name": "text-to-image",
  "title": "Text to Image",
  "entry": "./workflow.ir.json",
  "parameters": {
    "checkpoint": { "type": "string", "required": true },
    "prompt": { "type": "string", "required": true },
    "seed": { "type": "integer", "required": true }
  },
  "outputs": [{ "name": "image", "type": "IMAGE" }],
  "requires": {
    "nodeClasses": [
      "CheckpointLoaderSimple",
      "CLIPTextEncode",
      "KSampler",
      "VAEDecode",
      "SaveImage"
    ],
    "nodePacks": [],
    "models": []
  }
}

Fields

  • specVersion (1 | 2, required)
  • name (string, required) — machine identity
  • title (string, required)
  • entry (string, required) — package-relative path to IR. Absolute paths and ../ escapes rejected.
  • description
  • parameters — keyed by name. type (int/float/string/boolean/combo; "integer" aliases int), required, optional default, options, description. Must cohere with the IR template.
  • outputs{ name, type }[], must match graph output decls
  • requires.nodeClasses — must match classes used in IR (cwf pack fails on omit or stale)
  • requires.nodePacks — v1 strings / v2 objects. See Custom nodes
  • requires.models{ kind, name, optional? }. Reported, never downloaded
  • coreVersion — semver range of @stepupgaming/comfy-workflows. During 0.x: ^0.<minor>.0
  • compatibilityminComfyUIVersion, notes

Packages

Released under the MIT License. Unofficial project. Not affiliated with or endorsed by Comfy Org.