openclaw/extensions/comfy/openclaw.plugin.json

105 lines
2.9 KiB
JSON

{
"id": "comfy",
"enabledByDefault": true,
"providers": ["comfy"],
"providerAuthEnvVars": {
"comfy": ["COMFY_API_KEY", "COMFY_CLOUD_API_KEY"]
},
"contracts": {
"imageGenerationProviders": ["comfy"],
"musicGenerationProviders": ["comfy"],
"videoGenerationProviders": ["comfy"]
},
"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 }
}
}
}
}
}