Workflow JSON
Workflow JSON
Get Started
- Introduction
- Installation
- Getting Started
Core Concepts
- Workflow
- Models
- Custom Nodes
- ComfyUI Server
Advanced Examples
Develop Custom Nodes
- Overview
- Walkthrough
- Server side (Python)
- Client side (Javascript)
- Workflow templates
Registry
Specifications
- Workflow JSON
Community
Tips and tricks
Workflow JSON
Workflow JSON
JSON schema for a ComfyUI workflow.
The workflow JSON is defined using JSON Schema. Changes to this schema will be discussed in the rfcs repo.
Version 1.0 (Latest)
ComfyUI Workflow v1.0
{
"$ref": "#/definitions/ComfyWorkflow1_0",
"definitions": {
"ComfyWorkflow1_0": {
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"config": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"links_ontop": {
"type": "boolean"
},
"align_to_grid": {
"type": "boolean"
}
},
"additionalProperties": true
}
]
},
{
"type": "null"
}
]
},
"state": {
"type": "object",
"properties": {
"lastGroupid": {
"type": "number"
},
"lastNodeId": {
"type": "number"
},
"lastLinkId": {
"type": "number"
},
"lastRerouteId": {
"type": "number"
}
},
"additionalProperties": true
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"bounding": {
"type": "array",
"minItems": 4,
"maxItems": 4,
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
},
"color": {
"type": "string"
},
"font_size": {
"type": "number"
},
"locked": {
"type": "boolean"
}
},
"required": [
"title",
"bounding"
],
"additionalProperties": true
}
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"type": {
"type": "string"
},
"pos": {
"anyOf": [
{
"type": "object",
"properties": {
"0": {
"type": "number"
},
"1": {
"type": "number"
}
},
"required": [
"0",
"1"
],
"additionalProperties": true
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
]
},
"size": {
"anyOf": [
{
"type": "object",
"properties": {
"0": {
"type": "number"
},
"1": {
"type": "number"
}
},
"required": [
"0",
"1"
],
"additionalProperties": true
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
]
},
"flags": {
"type": "object",
"properties": {
"collapsed": {
"type": "boolean"
},
"pinned": {
"type": "boolean"
},
"allow_interaction": {
"type": "boolean"
},
"horizontal": {
"type": "boolean"
},
"skip_repeated_outputs": {
"type": "boolean"
}
},
"additionalProperties": true
},
"order": {
"type": "number"
},
"mode": {
"type": "number"
},
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "number"
}
]
},
"link": {
"type": [
"number",
"null"
]
},
"slot_index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
}
},
"required": [
"name",
"type"
],
"additionalProperties": true
}
},
"outputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "number"
}
]
},
"links": {
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
},
"slot_index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
}
},
"required": [
"name",
"type"
],
"additionalProperties": true
}
},
"properties": {
"type": "object",
"properties": {
"Node name for S&R": {
"type": "string"
}
},
"additionalProperties": true
},
"widgets_values": {
"anyOf": [
{
"type": "array"
},
{
"type": "object",
"additionalProperties": {}
}
]
},
"color": {
"type": "string"
},
"bgcolor": {
"type": "string"
}
},
"required": [
"id",
"type",
"pos",
"size",
"flags",
"order",
"mode",
"properties"
],
"additionalProperties": true
}
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"origin_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"origin_slot": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"target_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"target_slot": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
]
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "number"
}
]
},
"parentId": {
"type": "number"
}
},
"required": [
"id",
"origin_id",
"origin_slot",
"target_id",
"target_slot",
"type"
],
"additionalProperties": true
}
},
"reroutes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"parentId": {
"type": "number"
},
"pos": {
"anyOf": [
{
"type": "object",
"properties": {
"0": {
"type": "number"
},
"1": {
"type": "number"
}
},
"required": [
"0",
"1"
],
"additionalProperties": true
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
]
},
"linkIds": {
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"pos"
],
"additionalProperties": true
}
},
"extra": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "object",
"properties": {
"ds": {
"type": "object",
"properties": {
"scale": {
"type": "number"
},
"offset": {
"anyOf": [
{
"type": "object",
"properties": {
"0": {
"type": "number"
},
"1": {
"type": "number"
}
},
"required": [
"0",
"1"
],
"additionalProperties": true
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
]
}
},
"required": [
"scale",
"offset"
],
"additionalProperties": true
},
"info": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"author": {
"type": "string"
},
"description": {
"type": "string"
},
"version": {
"type": "string"
},
"created": {
"type": "string"
},
"modified": {
"type": "string"
},
"software": {
"type": "string"
}
},
"required": [
"name",
"author",
"description",
"version",
"created",
"modified",
"software"
],
"additionalProperties": true
},
"linkExtensions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"parentId": {
"type": "number"
}
},
"required": [
"id",
"parentId"
],
"additionalProperties": true
}
},
"reroutes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"parentId": {
"type": "number"
},
"pos": {
"anyOf": [
{
"type": "object",
"properties": {
"0": {
"type": "number"
},
"1": {
"type": "number"
}
},
"required": [
"0",
"1"
],
"additionalProperties": true
},
{
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
]
},
"linkIds": {
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"pos"
],
"additionalProperties": true
}
}
},
"additionalProperties": true
}
]
},
{
"type": "null"
}
]
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"hash": {
"type": "string"
},
"hash_type": {
"type": "string"
},
"directory": {
"type": "string"
}
},
"required": [
"name",
"url",
"directory"
],
"additionalProperties": false
}
}
},
"required": [
"version",
"state",
"nodes"
],
"additionalProperties": true
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}
Older versions
Was this page helpful?
On this page