mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:00:42 +00:00
269 lines
7.5 KiB
JSON
269 lines
7.5 KiB
JSON
{
|
|
"id": "comfy",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"enabledByDefault": true,
|
|
"providers": ["comfy"],
|
|
"providerAuthEnvVars": {
|
|
"comfy": ["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 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|