feat: initial ComfyUI workflow templates extension

- 40 workflow templates (text-to-image, image-to-video, image-to-image,
  text-to-music, upscaling, advanced, nsfw)
- Color-coded placeholder preview images using Pillow
- Template-only extension (no custom nodes)
- Preview generation script for future workflow additions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-26 09:16:45 +01:00
commit d6dfdd72e2
86 changed files with 43550 additions and 0 deletions

View File

@@ -0,0 +1,335 @@
{
"last_node_id": 8,
"last_link_id": 10,
"nodes": [
{
"id": 1,
"type": "LoadImage",
"pos": [50, 100],
"size": [350, 100],
"flags": {},
"order": 0,
"mode": 0,
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [1],
"slot_index": 0
},
{
"name": "MASK",
"type": "MASK",
"links": null,
"slot_index": 1
}
],
"properties": {
"Node name for S&R": "LoadImage"
},
"widgets_values": ["input_image.png", "image"],
"title": "API Input Image"
},
{
"id": 2,
"type": "CheckpointLoaderSimple",
"pos": [50, 250],
"size": [350, 100],
"flags": {},
"order": 1,
"mode": 0,
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [2],
"slot_index": 0
},
{
"name": "CLIP",
"type": "CLIP",
"links": [3, 4],
"slot_index": 1
},
{
"name": "VAE",
"type": "VAE",
"links": [5],
"slot_index": 2
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": ["sd_xl_base_1.0.safetensors"],
"title": "SDXL Checkpoint Loader"
},
{
"id": 3,
"type": "CLIPTextEncode",
"pos": [450, 100],
"size": [400, 200],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 3
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [6],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": ["high quality, detailed, sharp"],
"title": "API Positive Prompt"
},
{
"id": 4,
"type": "CLIPTextEncode",
"pos": [450, 350],
"size": [400, 200],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 4
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [7],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": ["blurry, low quality"],
"title": "API Negative Prompt"
},
{
"id": 8,
"type": "UpscaleModelLoader",
"pos": [50, 400],
"size": [350, 100],
"flags": {},
"order": 4,
"mode": 0,
"outputs": [
{
"name": "UPSCALE_MODEL",
"type": "UPSCALE_MODEL",
"links": [10],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "UpscaleModelLoader"
},
"widgets_values": ["RealESRGAN_x2.pth"],
"title": "Upscale Model Loader"
},
{
"id": 5,
"type": "UltimateSDUpscale",
"pos": [900, 100],
"size": [315, 100],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 1
},
{
"name": "model",
"type": "MODEL",
"link": 2
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 6
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 7
},
{
"name": "vae",
"type": "VAE",
"link": 5
},
{
"name": "upscale_model",
"type": "UPSCALE_MODEL",
"link": 10
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [8, 9],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "UltimateSDUpscale"
},
"widgets_values": [2, 42, "randomize", 20, 8.0, "dpmpp_2m", "karras", 0.3, "Linear", 512, 512, 8, 32, "None", 1.0, 64, 8, 16, true, false],
"title": "Ultimate SD Upscale (2x)"
},
{
"id": 6,
"type": "PreviewImage",
"pos": [1270, 100],
"size": [315, 100],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 8
}
],
"properties": {
"Node name for S&R": "PreviewImage"
},
"title": "Preview Output"
},
{
"id": 7,
"type": "SaveImage",
"pos": [1270, 400],
"size": [315, 100],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 9
}
],
"properties": {
"Node name for S&R": "SaveImage"
},
"widgets_values": ["ultimate_upscale_output"],
"title": "API Image Output"
}
],
"links": [
[1, 1, 0, 5, 0, "IMAGE"],
[2, 2, 0, 5, 1, "MODEL"],
[3, 2, 1, 3, 0, "CLIP"],
[4, 2, 1, 4, 0, "CLIP"],
[5, 2, 2, 5, 4, "VAE"],
[6, 3, 0, 5, 2, "CONDITIONING"],
[7, 4, 0, 5, 3, "CONDITIONING"],
[8, 5, 0, 6, 0, "IMAGE"],
[9, 5, 0, 7, 0, "IMAGE"],
[10, 8, 0, 5, 5, "UPSCALE_MODEL"]
],
"groups": [],
"config": {},
"extra": {
"workflow_info": {
"name": "Ultimate SD Upscale Production",
"version": "1.1.0",
"description": "Professional upscaling with Ultimate SD Upscale. Combines AI upscaling with diffusion refinement for superior detail and quality.",
"category": "upscaling",
"tags": ["ultimate-sd-upscale", "upscaling", "enhancement", "production"],
"requirements": {
"models": ["stable-diffusion-xl-base-1.0", "RealESRGAN"],
"custom_nodes": ["ComfyUI_UltimateSDUpscale"],
"vram_min": "18GB"
},
"parameters": {
"input_image": {
"node_id": 1,
"type": "image",
"required": true
},
"positive_prompt": {
"node_id": 3,
"widget_index": 0,
"type": "string",
"default": "high quality, detailed, sharp",
"description": "Enhancement prompt"
},
"negative_prompt": {
"node_id": 4,
"widget_index": 0,
"type": "string",
"default": "blurry, low quality",
"description": "Qualities to avoid"
},
"upscale_model": {
"node_id": 8,
"widget_index": 0,
"type": "string",
"default": "RealESRGAN_x2.pth",
"options": ["RealESRGAN_x2.pth", "RealESRGAN_x4.pth"],
"description": "Upscale model to use"
},
"upscale_by": {
"node_id": 5,
"widget_index": 0,
"type": "float",
"default": 2,
"min": 0.05,
"max": 4,
"description": "Upscale factor"
},
"denoise": {
"node_id": 5,
"widget_index": 6,
"type": "float",
"default": 0.3,
"description": "Refinement strength"
},
"tile_width": {
"node_id": 5,
"widget_index": 8,
"type": "integer",
"default": 512,
"description": "Tile width for processing"
},
"tile_height": {
"node_id": 5,
"widget_index": 9,
"type": "integer",
"default": 512,
"description": "Tile height for processing"
}
},
"performance": {
"avg_generation_time": "60-120 seconds (depending on input size)",
"vram_usage": "~16-20GB"
}
}
},
"version": 0.4
}