UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

439 lines (438 loc) 9.59 kB
{ "id": "comfy", "activation": { "onStartup": false }, "enabledByDefault": true, "providers": [ "comfy" ], "setup": { "providers": [ { "id": "comfy", "envVars": [ "COMFY_API_KEY", "COMFY_CLOUD_API_KEY" ] } ] }, "providerAuthChoices": [ { "provider": "comfy", "method": "cloud-api-key", "choiceId": "comfy-cloud-api-key", "choiceLabel": "Comfy Cloud API key", "choiceHint": "Required for cloud workflows", "groupId": "comfy", "groupLabel": "ComfyUI", "groupHint": "Local or cloud workflows", "optionKey": "comfyApiKey", "cliFlag": "--comfy-api-key", "cliOption": "--comfy-api-key <key>", "cliDescription": "Comfy Cloud API key", "onboardingScopes": [ "image-generation" ] } ], "contracts": { "imageGenerationProviders": [ "comfy" ], "musicGenerationProviders": [ "comfy" ], "videoGenerationProviders": [ "comfy" ] }, "imageGenerationProviderMetadata": { "comfy": { "configSignals": [ { "rootPath": "plugins.entries.comfy.config", "overlayPath": "image", "mode": { "path": "mode", "default": "local", "allowed": [ "local" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId" ] }, { "rootPath": "models.providers.comfy", "overlayPath": "image", "mode": { "path": "mode", "default": "local", "allowed": [ "local" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId" ] }, { "rootPath": "plugins.entries.comfy.config", "overlayPath": "image", "mode": { "path": "mode", "allowed": [ "cloud" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId", "apiKey" ] }, { "rootPath": "models.providers.comfy", "overlayPath": "image", "mode": { "path": "mode", "allowed": [ "cloud" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId", "apiKey" ] } ] } }, "musicGenerationProviderMetadata": { "comfy": { "configSignals": [ { "rootPath": "plugins.entries.comfy.config", "overlayPath": "music", "mode": { "path": "mode", "default": "local", "allowed": [ "local" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId" ] }, { "rootPath": "models.providers.comfy", "overlayPath": "music", "mode": { "path": "mode", "default": "local", "allowed": [ "local" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId" ] }, { "rootPath": "plugins.entries.comfy.config", "overlayPath": "music", "mode": { "path": "mode", "allowed": [ "cloud" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId", "apiKey" ] }, { "rootPath": "models.providers.comfy", "overlayPath": "music", "mode": { "path": "mode", "allowed": [ "cloud" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId", "apiKey" ] } ] } }, "videoGenerationProviderMetadata": { "comfy": { "configSignals": [ { "rootPath": "plugins.entries.comfy.config", "overlayPath": "video", "mode": { "path": "mode", "default": "local", "allowed": [ "local" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId" ] }, { "rootPath": "models.providers.comfy", "overlayPath": "video", "mode": { "path": "mode", "default": "local", "allowed": [ "local" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId" ] }, { "rootPath": "plugins.entries.comfy.config", "overlayPath": "video", "mode": { "path": "mode", "allowed": [ "cloud" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId", "apiKey" ] }, { "rootPath": "models.providers.comfy", "overlayPath": "video", "mode": { "path": "mode", "allowed": [ "cloud" ] }, "requiredAny": [ "workflow", "workflowPath" ], "required": [ "promptNodeId", "apiKey" ] } ] } }, "configSchema": { "type": "object", "additionalProperties": false, "properties": { "mode": { "type": "string", "enum": [ "local", "cloud" ] }, "baseUrl": { "type": "string" }, "apiKey": { "type": [ "string", "object" ] }, "allowPrivateNetwork": { "type": "boolean" }, "workflowPath": { "type": "string" }, "workflow": { "type": "object" }, "promptNodeId": { "type": "string" }, "promptInputName": { "type": "string" }, "inputImageNodeId": { "type": "string" }, "inputImageInputName": { "type": "string" }, "outputNodeId": { "type": "string" }, "pollIntervalMs": { "type": "integer", "minimum": 100 }, "timeoutMs": { "type": "integer", "minimum": 1000 }, "image": { "type": "object", "additionalProperties": false, "properties": { "workflowPath": { "type": "string" }, "workflow": { "type": "object" }, "promptNodeId": { "type": "string" }, "promptInputName": { "type": "string" }, "inputImageNodeId": { "type": "string" }, "inputImageInputName": { "type": "string" }, "outputNodeId": { "type": "string" }, "pollIntervalMs": { "type": "integer", "minimum": 100 }, "timeoutMs": { "type": "integer", "minimum": 1000 } } }, "video": { "type": "object", "additionalProperties": false, "properties": { "workflowPath": { "type": "string" }, "workflow": { "type": "object" }, "promptNodeId": { "type": "string" }, "promptInputName": { "type": "string" }, "inputImageNodeId": { "type": "string" }, "inputImageInputName": { "type": "string" }, "outputNodeId": { "type": "string" }, "pollIntervalMs": { "type": "integer", "minimum": 100 }, "timeoutMs": { "type": "integer", "minimum": 1000 } } }, "music": { "type": "object", "additionalProperties": false, "properties": { "workflowPath": { "type": "string" }, "workflow": { "type": "object" }, "promptNodeId": { "type": "string" }, "promptInputName": { "type": "string" }, "outputNodeId": { "type": "string" }, "pollIntervalMs": { "type": "integer", "minimum": 100 }, "timeoutMs": { "type": "integer", "minimum": 1000 } } } } } }