pixelkiln 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PROVIDERS.md +80 -50
- package/README.md +24 -13
- package/dist/cli.js +1347 -897
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +694 -242
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +95 -5
- package/dist/index.d.ts +95 -5
- package/dist/index.js +655 -204
- package/dist/index.js.map +1 -1
- package/docs/AGENTS.md +7 -5
- package/docs/ARCHITECTURE.md +15 -6
- package/docs/CLI.md +6 -4
- package/docs/COMFYUI.md +191 -0
- package/docs/GETTING_STARTED.md +14 -7
- package/docs/LIBRARY.md +9 -7
- package/docs/MANIFEST.md +54 -8
- package/docs/PROVIDER_BENCHMARK.md +46 -8
- package/docs/README.md +3 -2
- package/docs/RETRO_DIFFUSION.md +1 -1
- package/examples/comfyui/README.md +24 -0
- package/examples/comfyui/pixelkiln.manifest.json +35 -0
- package/examples/comfyui/workflow-api.json +59 -0
- package/package.json +2 -1
- package/schema/manifest.schema.json +4 -4
- package/skills/pixelkiln/SKILL.md +5 -3
- package/skills/pixelkiln/references/comfyui.md +46 -0
- package/skills/pixelkiln/references/mixed-providers.md +15 -7
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/manifest.schema.json",
|
|
3
|
+
"name": "pixelkiln-comfyui-smoke",
|
|
4
|
+
"provider": "comfyui",
|
|
5
|
+
"styles": {
|
|
6
|
+
"smoke": {
|
|
7
|
+
"generator": "map",
|
|
8
|
+
"outDir": "output/smoke",
|
|
9
|
+
"promptPrefix": "pixel art game asset",
|
|
10
|
+
"promptSuffix": "isolated on a plain background, crisp silhouette, limited color palette",
|
|
11
|
+
"seed": 31415,
|
|
12
|
+
"providerOptions": {
|
|
13
|
+
"comfyui": {
|
|
14
|
+
"workflowFile": "workflow-api.json",
|
|
15
|
+
"outputNodeId": "9",
|
|
16
|
+
"numImages": 1,
|
|
17
|
+
"bindings": {
|
|
18
|
+
"prompt": { "nodeId": "6", "input": "text" },
|
|
19
|
+
"width": { "nodeId": "5", "input": "width" },
|
|
20
|
+
"height": { "nodeId": "5", "input": "height" },
|
|
21
|
+
"batchSize": { "nodeId": "5", "input": "batch_size" },
|
|
22
|
+
"seed": { "nodeId": "3", "input": "seed" }
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"assets": {
|
|
29
|
+
"anvil": {
|
|
30
|
+
"prompt": "a compact blacksmith anvil",
|
|
31
|
+
"width": 256,
|
|
32
|
+
"height": 256
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"3": {
|
|
3
|
+
"class_type": "KSampler",
|
|
4
|
+
"inputs": {
|
|
5
|
+
"seed": 31415,
|
|
6
|
+
"steps": 24,
|
|
7
|
+
"cfg": 7,
|
|
8
|
+
"sampler_name": "euler_ancestral",
|
|
9
|
+
"scheduler": "normal",
|
|
10
|
+
"denoise": 1,
|
|
11
|
+
"model": ["4", 0],
|
|
12
|
+
"positive": ["6", 0],
|
|
13
|
+
"negative": ["7", 0],
|
|
14
|
+
"latent_image": ["5", 0]
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"4": {
|
|
18
|
+
"class_type": "CheckpointLoaderSimple",
|
|
19
|
+
"inputs": {
|
|
20
|
+
"ckpt_name": "v1-5-pruned-emaonly-fp16.safetensors"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"5": {
|
|
24
|
+
"class_type": "EmptyLatentImage",
|
|
25
|
+
"inputs": {
|
|
26
|
+
"width": 256,
|
|
27
|
+
"height": 256,
|
|
28
|
+
"batch_size": 1
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"6": {
|
|
32
|
+
"class_type": "CLIPTextEncode",
|
|
33
|
+
"inputs": {
|
|
34
|
+
"text": "pixel art game asset",
|
|
35
|
+
"clip": ["4", 1]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"7": {
|
|
39
|
+
"class_type": "CLIPTextEncode",
|
|
40
|
+
"inputs": {
|
|
41
|
+
"text": "photograph, text, watermark, signature, blurry",
|
|
42
|
+
"clip": ["4", 1]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"8": {
|
|
46
|
+
"class_type": "VAEDecode",
|
|
47
|
+
"inputs": {
|
|
48
|
+
"samples": ["3", 0],
|
|
49
|
+
"vae": ["4", 2]
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"9": {
|
|
53
|
+
"class_type": "SaveImage",
|
|
54
|
+
"inputs": {
|
|
55
|
+
"filename_prefix": "pixelkiln/comfyui-smoke",
|
|
56
|
+
"images": ["8", 0]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pixelkiln",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Manifest-driven pixel-art generation, review, recovery, and packaging with deterministic provenance.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
"game-assets",
|
|
81
81
|
"pixellab",
|
|
82
82
|
"retro-diffusion",
|
|
83
|
+
"comfyui",
|
|
83
84
|
"image-generation",
|
|
84
85
|
"asset-pipeline",
|
|
85
86
|
"generative",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"size": {
|
|
35
35
|
"type": "integer",
|
|
36
|
-
"minimum":
|
|
37
|
-
"maximum":
|
|
36
|
+
"minimum": 16,
|
|
37
|
+
"maximum": 8192
|
|
38
38
|
},
|
|
39
39
|
"view": {
|
|
40
40
|
"type": "string"
|
|
@@ -191,12 +191,12 @@
|
|
|
191
191
|
"width": {
|
|
192
192
|
"type": "integer",
|
|
193
193
|
"minimum": 16,
|
|
194
|
-
"maximum":
|
|
194
|
+
"maximum": 8192
|
|
195
195
|
},
|
|
196
196
|
"height": {
|
|
197
197
|
"type": "integer",
|
|
198
198
|
"minimum": 16,
|
|
199
|
-
"maximum":
|
|
199
|
+
"maximum": 8192
|
|
200
200
|
},
|
|
201
201
|
"size": {
|
|
202
202
|
"type": "integer",
|
|
@@ -50,7 +50,9 @@ Read only the reference needed for the current decision:
|
|
|
50
50
|
- For Retro Diffusion styles, USD budgets, environment assets, animation, or
|
|
51
51
|
experimental limits, read
|
|
52
52
|
[references/retro-diffusion.md](references/retro-diffusion.md).
|
|
53
|
-
-
|
|
53
|
+
- For a self-hosted ComfyUI workflow, node bindings, local cost semantics, or
|
|
54
|
+
portable output recovery, read [references/comfyui.md](references/comfyui.md).
|
|
55
|
+
- When one game or repository needs more than one provider, read
|
|
54
56
|
[references/mixed-providers.md](references/mixed-providers.md).
|
|
55
57
|
|
|
56
58
|
`FakeProvider` is the deterministic test adapter. Do not describe Retro
|
|
@@ -58,6 +60,6 @@ Diffusion as production-ready until representative multi-candidate, tileset,
|
|
|
58
60
|
GIF, and spritesheet live smoke tests pass.
|
|
59
61
|
|
|
60
62
|
When working in the PixelKiln repository, consult `docs/GETTING_STARTED.md` for
|
|
61
|
-
the full workflow,
|
|
62
|
-
|
|
63
|
+
the full workflow, the matching provider setup guide, `docs/CLI.md` for flags,
|
|
64
|
+
`docs/MANIFEST.md` for the schema, and
|
|
63
65
|
`docs/RECOVERY.md` before account adoption, salvage, discard, or purge.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# ComfyUI
|
|
2
|
+
|
|
3
|
+
Read this reference before operating a PixelKiln manifest whose provider is
|
|
4
|
+
`comfyui`.
|
|
5
|
+
|
|
6
|
+
ComfyUI is self-hosted and needs no provider credential. Never assume the
|
|
7
|
+
server is running or reachable. `pixelkiln doctor --dry-run` validates the
|
|
8
|
+
workflow and bindings offline; `pixelkiln doctor` checks the configured server
|
|
9
|
+
through its read-only system-stats route. The default URL is
|
|
10
|
+
`http://127.0.0.1:8188`; `COMFYUI_BASE_URL` overrides it. Do not advise exposing
|
|
11
|
+
an unauthenticated ComfyUI server to a public network.
|
|
12
|
+
|
|
13
|
+
The style's `providerOptions.comfyui` must name a committed API-format workflow,
|
|
14
|
+
one image output node, the expected candidate count, and bindings for prompt,
|
|
15
|
+
width, height, and batch size. A seed binding is required when the style
|
|
16
|
+
declares a seed. Node IDs and model filenames are workflow-specific. Check the
|
|
17
|
+
exported JSON instead of guessing them.
|
|
18
|
+
|
|
19
|
+
Planning parses and hashes the workflow file without contacting ComfyUI. A
|
|
20
|
+
workflow content change makes affected assets stale. The adapter supports only
|
|
21
|
+
the `map` generator, PNG output from one node, 1–16 candidates, and dimensions
|
|
22
|
+
from 16–4096px. Manifest `styleImages` and `palette` are unsupported; those
|
|
23
|
+
controls belong in the workflow.
|
|
24
|
+
|
|
25
|
+
For the tested higher-quality pixel-art stack, use SDXL Base 1.0 as
|
|
26
|
+
`sd_xl_base_1.0.safetensors` and Pixel Art XL as
|
|
27
|
+
`pixel-art-xl.safetensors`. The repository's
|
|
28
|
+
`benchmarks/provider-environments/comfyui/` project names both files and uses
|
|
29
|
+
core nodes only. Its workflows sample at 1024×1024, then use `ImageScale` with
|
|
30
|
+
`nearest-exact`; width and height bindings point to the scale node so the saved
|
|
31
|
+
PNG still matches the manifest dimensions. The isolated workflow uses LoRA
|
|
32
|
+
strength 1.0, while the environment workflow uses 0.85. Read
|
|
33
|
+
`docs/COMFYUI.md` for download links, checksums, licenses, and measured limits.
|
|
34
|
+
|
|
35
|
+
The plan reports `0 free` and generation uses `--budget 0`. Explain that this
|
|
36
|
+
means no metered API charge. Hardware, electricity, hosting, and model licenses
|
|
37
|
+
can still cost money.
|
|
38
|
+
|
|
39
|
+
The lockfile records a prompt ID, output node, workflow hash, and portable
|
|
40
|
+
`comfyui://` source. Restore from the validated content cache first. If the
|
|
41
|
+
cache is missing, the current ComfyUI server must still retain the history
|
|
42
|
+
output so PixelKiln can resolve the portable source.
|
|
43
|
+
|
|
44
|
+
For the complete setup, quality stack, benchmark, and troubleshooting, use
|
|
45
|
+
`docs/COMFYUI.md` or
|
|
46
|
+
<https://pixelkiln.griffen.codes/docs/comfyui>.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Mixed-provider projects
|
|
2
2
|
|
|
3
|
-
Read this reference when one game or repository needs assets from
|
|
4
|
-
|
|
3
|
+
Read this reference when one game or repository needs assets from PixelLab,
|
|
4
|
+
Retro Diffusion, ComfyUI, or another combination of providers.
|
|
5
5
|
|
|
6
6
|
One manifest selects one top-level `provider`. Do not add undocumented
|
|
7
7
|
per-style provider fields: the current CLI constructs one account adapter for a
|
|
@@ -15,6 +15,8 @@ art/
|
|
|
15
15
|
pixelkiln.pixellab.lock.json
|
|
16
16
|
pixelkiln.retrodiffusion.manifest.json
|
|
17
17
|
pixelkiln.retrodiffusion.lock.json
|
|
18
|
+
pixelkiln.comfyui.manifest.json
|
|
19
|
+
pixelkiln.comfyui.lock.json
|
|
18
20
|
pixelkiln.workspace.json
|
|
19
21
|
```
|
|
20
22
|
|
|
@@ -26,18 +28,24 @@ pixelkiln gen --manifest art/pixelkiln.pixellab.manifest.json --lock art/pixelki
|
|
|
26
28
|
|
|
27
29
|
pixelkiln plan --manifest art/pixelkiln.retrodiffusion.manifest.json --lock art/pixelkiln.retrodiffusion.lock.json
|
|
28
30
|
pixelkiln gen --manifest art/pixelkiln.retrodiffusion.manifest.json --lock art/pixelkiln.retrodiffusion.lock.json --budget <usd>
|
|
31
|
+
|
|
32
|
+
pixelkiln plan --manifest art/pixelkiln.comfyui.manifest.json --lock art/pixelkiln.comfyui.lock.json
|
|
33
|
+
pixelkiln gen --manifest art/pixelkiln.comfyui.manifest.json --lock art/pixelkiln.comfyui.lock.json --budget 0
|
|
29
34
|
```
|
|
30
35
|
|
|
31
|
-
Register
|
|
36
|
+
Register every manifest in the workspace catalog so aggregate status and claim
|
|
32
37
|
checks see the whole project. A mixed-provider warning is expected because it
|
|
33
38
|
prevents account-wide commands from silently assuming one backend.
|
|
34
39
|
|
|
35
40
|
Package each manifest's reviewed outputs independently, or use `pixelkiln pack
|
|
36
41
|
--inputs <file> --out <path>` with an explicit JSON list when the final sheet
|
|
37
|
-
must combine files from
|
|
38
|
-
generation counts
|
|
42
|
+
must combine files from multiple providers. Never merge their lockfiles or add
|
|
43
|
+
generation counts, USD, and `free` plans. Each entry must retain the provider
|
|
44
|
+
that produced it.
|
|
39
45
|
|
|
40
46
|
A practical split is PixelLab for prompt-sensitive buildings and mature account
|
|
41
47
|
recovery, then Retro Diffusion for environment-styled backdrops, clean cutouts,
|
|
42
|
-
or native animation.
|
|
43
|
-
|
|
48
|
+
or native animation. ComfyUI fits private work, local models, and custom graph
|
|
49
|
+
control, but its result depends on the exact workflow, model, nodes, and
|
|
50
|
+
hardware. The committed hosted-provider benchmark is evidence for tendencies,
|
|
51
|
+
not a guarantee. Run one representative asset before expanding any batch.
|