pixelkiln 0.46.0 → 0.47.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/README.md +5 -5
- package/dist/cli.js +14 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +14 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/docs/AGENTS.md +1 -1
- package/docs/ARCHITECTURE.md +21 -10
- package/docs/CHARACTERS.md +309 -0
- package/docs/CLI.md +24 -3
- package/docs/COMFYUI.md +68 -0
- package/docs/ENDPOINTS.md +33 -2
- package/docs/GENERATORS.md +6 -6
- package/docs/GETTING_STARTED.md +25 -1
- package/docs/MANIFEST.md +144 -437
- package/docs/PIXELLAB.md +8 -5
- package/docs/README.md +3 -2
- package/docs/RETRO_DIFFUSION.md +96 -2
- package/docs/SCENARIO.md +46 -0
- package/package.json +1 -1
- package/skills/pixelkiln/SKILL.md +7 -0
- package/skills/pixelkiln/references/pixellab.md +1 -1
package/docs/PIXELLAB.md
CHANGED
|
@@ -31,7 +31,7 @@ makes the choice clear:
|
|
|
31
31
|
"props": {
|
|
32
32
|
"generator": "map",
|
|
33
33
|
"outDir": "assets/generated/props",
|
|
34
|
-
"promptSuffix": "
|
|
34
|
+
"promptSuffix": "isolated pixel-art game asset"
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
"assets": {
|
|
@@ -124,7 +124,10 @@ packaging.
|
|
|
124
124
|
## What is outside this adapter
|
|
125
125
|
|
|
126
126
|
PixelLab offers more than PixelKiln currently exposes. Portraits, outfit
|
|
127
|
-
transfer, lip-sync, skeleton-driven animation
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
transfer, lip-sync, and skeleton-driven animation are not part of this
|
|
128
|
+
adapter. Characters, their states, and their animations are the `character`
|
|
129
|
+
generator, with all four creation engines (standard, v3, pro, pro-flash),
|
|
130
|
+
reference sprites, concept images, style anchors, mirrors, and every
|
|
131
|
+
`animate-character` control; see [Characters](./CHARACTERS.md). Use
|
|
132
|
+
the [manifest reference](./MANIFEST.md) for the fields PixelKiln supports
|
|
133
|
+
today.
|
package/docs/README.md
CHANGED
|
@@ -14,7 +14,7 @@ provider you are using. These Markdown files also render at
|
|
|
14
14
|
| [Set up ComfyUI](./COMFYUI.md) | Bind local still, revision, and atomic frame-set workflows with an explicit quality boundary. |
|
|
15
15
|
| [Set up Scenario](./SCENARIO.md) | Configure hosted models, two-part credentials, CU ceilings, and durable downloads. |
|
|
16
16
|
| [CLI reference](./CLI.md) | Every command and flag, including `gallery`, `edit`, and `tools`; offline and provider requirements; JSON output; exit codes. |
|
|
17
|
-
| [Manifest reference](./MANIFEST.md) | Every style and asset field, quality profiles,
|
|
17
|
+
| [Manifest reference](./MANIFEST.md) | Every shared style and asset field, palette enforcement, quality profiles, revisions, mounting, and schema validation. |
|
|
18
18
|
| [Mixed-provider projects](./MIXED_PROVIDERS.md) | Route styles to different providers, set separate budget ceilings, and resume safely from one lockfile. |
|
|
19
19
|
| [Agent workflows](./AGENTS.md) | Install the official skill and pair agent guidance with the deterministic CLI. |
|
|
20
20
|
|
|
@@ -22,7 +22,8 @@ provider you are using. These Markdown files also render at
|
|
|
22
22
|
|
|
23
23
|
| Guide | Use it for |
|
|
24
24
|
|---|---|
|
|
25
|
-
| [
|
|
25
|
+
| [Characters](./CHARACTERS.md) | A base in 4 or 8 directions from a prompt or your own sprite, states, loops, mirrors, the four PixelLab engines, and what each costs. |
|
|
26
|
+
| [Generators](./GENERATORS.md) | Choose between still, tile, character, hosted animation, and ComfyUI frame-set workflows. |
|
|
26
27
|
| [Environment provider benchmark](./PROVIDER_BENCHMARK.md) | Compare PixelLab, Retro Diffusion, and ComfyUI on buildings, backgrounds, cleanup, and native-grid recovery. |
|
|
27
28
|
| [Controlled asset revisions](./REVISIONS.md) | Use image-to-image/inpaint parents, masks, approval gates, side-by-side review, and ComfyUI bindings. |
|
|
28
29
|
| [Derived artifacts](./ARTIFACTS.md) | Refine, pack, mount, and export; provenance, approval gates, ownership, and crash recovery. |
|
package/docs/RETRO_DIFFUSION.md
CHANGED
|
@@ -93,8 +93,102 @@ Useful options under `providerOptions.retrodiffusion` include:
|
|
|
93
93
|
|
|
94
94
|
RD Pro and user still styles accept up to nine reference images. Advanced
|
|
95
95
|
animation and tile modes have narrower input rules. PixelKiln validates those
|
|
96
|
-
rules during planning. See
|
|
97
|
-
|
|
96
|
+
rules during planning. See [Manifest fields](#manifest-fields) below for complete
|
|
97
|
+
examples.
|
|
98
|
+
|
|
99
|
+
## Manifest fields
|
|
100
|
+
|
|
101
|
+
Retro Diffusion maps `map` and `pixflux` to still generation, `tiles` to its
|
|
102
|
+
tileset family, and `animation` to GIF or PNG-spritesheet generation. Durable
|
|
103
|
+
sources and lock outputs record `image/png` or `image/gif`, so recovery retains
|
|
104
|
+
the correct extension and validates the correct structure.
|
|
105
|
+
|
|
106
|
+
```jsonc
|
|
107
|
+
{
|
|
108
|
+
"name": "my-game",
|
|
109
|
+
"provider": "retrodiffusion",
|
|
110
|
+
"styles": {
|
|
111
|
+
"base": {
|
|
112
|
+
"generator": "map",
|
|
113
|
+
"outDir": "assets/generated/base",
|
|
114
|
+
"providerOptions": {
|
|
115
|
+
"retrodiffusion": {
|
|
116
|
+
"promptStyle": "rd_plus__default",
|
|
117
|
+
"numImages": 4,
|
|
118
|
+
"removeBg": true
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"assets": {
|
|
124
|
+
"anvil": { "prompt": "a compact blacksmith anvil" }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
`promptStyle` accepts a live Retro Diffusion still-style selector,
|
|
130
|
+
`numImages` accepts 1–16 candidates, and `removeBg` overrides
|
|
131
|
+
`noBackground`. The Retro Diffusion API accepts 16–512px output. Selected
|
|
132
|
+
styles can impose smaller limits. RD Pro and user styles accept up to nine
|
|
133
|
+
reference images. Costs are
|
|
134
|
+
planned in USD and checked again with Retro Diffusion's free authoritative
|
|
135
|
+
quote endpoint before the paid request is sent. Authenticated single-candidate
|
|
136
|
+
RD Fast and RD Plus paths have passed from quote through validated output and
|
|
137
|
+
recovery.
|
|
138
|
+
Multi-candidate, tileset, GIF, and spritesheet paths remain mock-tested, so the
|
|
139
|
+
adapter is still experimental.
|
|
140
|
+
|
|
141
|
+
Additional Retro Diffusion options are:
|
|
142
|
+
|
|
143
|
+
| Option | Meaning |
|
|
144
|
+
|---|---|
|
|
145
|
+
| `framesDuration` | Animation duration: `4`, `6`, `8`, `10`, `12`, or `16`. |
|
|
146
|
+
| `returnSpritesheet` | Return a PNG spritesheet instead of an animated GIF. |
|
|
147
|
+
| `extraPrompt` | Outside texture description for `rd_tile__tileset_advanced`. |
|
|
148
|
+
| `tileX` / `tileY` | Make supported still styles seamless on either axis. |
|
|
149
|
+
|
|
150
|
+
An animation style is declared explicitly:
|
|
151
|
+
|
|
152
|
+
```jsonc
|
|
153
|
+
{
|
|
154
|
+
"generator": "animation",
|
|
155
|
+
"size": 64,
|
|
156
|
+
"outDir": "assets/generated/animations",
|
|
157
|
+
"providerOptions": {
|
|
158
|
+
"retrodiffusion": {
|
|
159
|
+
"promptStyle": "rd_animation__any_animation",
|
|
160
|
+
"numImages": 1,
|
|
161
|
+
"framesDuration": 8,
|
|
162
|
+
"returnSpritesheet": false
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
The default output is `<assetId>.gif`; `returnSpritesheet: true` produces
|
|
169
|
+
`<assetId>.png`. Advanced animation styles require exactly one `styleImages`
|
|
170
|
+
input. PixelKiln currently limits animation batches to one so selection never
|
|
171
|
+
loses the output media type.
|
|
172
|
+
|
|
173
|
+
For a Wang-style tileset sheet:
|
|
174
|
+
|
|
175
|
+
```jsonc
|
|
176
|
+
{
|
|
177
|
+
"generator": "tiles",
|
|
178
|
+
"tileSize": 32,
|
|
179
|
+
"outDir": "assets/generated/tiles",
|
|
180
|
+
"providerOptions": {
|
|
181
|
+
"retrodiffusion": {
|
|
182
|
+
"promptStyle": "rd_tile__tileset",
|
|
183
|
+
"numImages": 1
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
`rd_tile__tileset_advanced` accepts `extraPrompt` and up to two style images;
|
|
190
|
+
`rd_tile__tile_variation` requires one style image. Provider-specific size and
|
|
191
|
+
input constraints are checked during the free planning phase.
|
|
98
192
|
|
|
99
193
|
## Current operational limits
|
|
100
194
|
|
package/docs/SCENARIO.md
CHANGED
|
@@ -144,6 +144,52 @@ its own selected `candidateIndex` alongside the chosen durable asset ID.
|
|
|
144
144
|
The committed [Scenario live smoke](../benchmarks/provider-scenario-smoke/README.md)
|
|
145
145
|
contains the manifest, lockfile, measured costs, and selected outputs.
|
|
146
146
|
|
|
147
|
+
## Manifest fields
|
|
148
|
+
|
|
149
|
+
Scenario uses hosted model IDs and requires a conservative Compute Unit ceiling
|
|
150
|
+
for every style:
|
|
151
|
+
|
|
152
|
+
```jsonc
|
|
153
|
+
{
|
|
154
|
+
"provider": "scenario",
|
|
155
|
+
"styles": {
|
|
156
|
+
"environment": {
|
|
157
|
+
"generator": "map",
|
|
158
|
+
"size": 512,
|
|
159
|
+
"outDir": "assets/generated/environment",
|
|
160
|
+
"providerOptions": {
|
|
161
|
+
"scenario": {
|
|
162
|
+
"modelId": "model_bfl-flux-2-dev",
|
|
163
|
+
"projectId": "project_example",
|
|
164
|
+
"numOutputs": 4,
|
|
165
|
+
"maxComputeUnits": 60,
|
|
166
|
+
"parameters": {
|
|
167
|
+
"guidance": 4,
|
|
168
|
+
"numInferenceSteps": 28
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"assets": {
|
|
175
|
+
"mountain-town": { "prompt": "a fortified mountain town" }
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
| Option | Meaning |
|
|
181
|
+
|---|---|
|
|
182
|
+
| `modelId` | Required Scenario endpoint model ID. |
|
|
183
|
+
| `maxComputeUnits` | Required positive per-asset offline ceiling and maximum accepted live quote. |
|
|
184
|
+
| `numOutputs` | One to four PNG candidates; defaults to one. |
|
|
185
|
+
| `projectId` | Optional Scenario ownership/routing project. |
|
|
186
|
+
| `parameters` | Additional model-specific JSON inputs. PixelKiln-owned request fields cannot be overridden. |
|
|
187
|
+
|
|
188
|
+
The current adapter supports `map`, dimensions from 128–2048px in multiples of
|
|
189
|
+
16, optional seed, and no style-image uploads. Every paid request is preceded
|
|
190
|
+
by an identical `dryRun=true` request. See [Set up Scenario](SCENARIO.md) for
|
|
191
|
+
credentials, cost semantics, recovery, and the paid live-test boundary.
|
|
192
|
+
|
|
147
193
|
## Review and recovery
|
|
148
194
|
|
|
149
195
|
One output moves directly to download. Two to four outputs enter the normal
|
package/package.json
CHANGED
|
@@ -40,6 +40,13 @@ hashes.
|
|
|
40
40
|
- When an asset declares `revision`, read the revision reference, require its
|
|
41
41
|
parent gate to pass, and never bypass a `blocked` plan. Generate or approve
|
|
42
42
|
the parent explicitly before re-planning the child.
|
|
43
|
+
- A character `state`, `animation`, `mirror`, or pro `styleCharacter` is a
|
|
44
|
+
dependent asset the same way: one `pixelkiln gen` runs the waves in order
|
|
45
|
+
and stops when the budget cannot cover the next one. Before declaring the
|
|
46
|
+
east-facing loop of a character, check whether a `mirror` of the west one
|
|
47
|
+
does the job for nothing; before drawing a base from text, ask whether the
|
|
48
|
+
user has a south-facing sprite to `reference` instead (1 generation on
|
|
49
|
+
`pro-flash` at 64px). Mirrors swap handedness.
|
|
43
50
|
- Treat every ComfyUI output as source material until it passes the native-grid,
|
|
44
51
|
final-palette, prompt-coverage, and human 1× checks in the ComfyUI reference.
|
|
45
52
|
A successful PNG or high-confidence grid result is not quality approval.
|
|
@@ -39,7 +39,7 @@ mislead, and ask PixelLab to `enhancePrompt`; a template loop takes
|
|
|
39
39
|
|
|
40
40
|
A loop costs per direction, and a sprite facing east is the sprite facing
|
|
41
41
|
west flipped. Declare the west loop and make the east one `{ "mirror":
|
|
42
|
-
"
|
|
42
|
+
"bot.walk.west" }`: PixelKiln flips it locally for nothing, in the wave
|
|
43
43
|
after the source lands. South and north cannot be mirrored. Eight directions
|
|
44
44
|
of one loop are then 5 generations, not 8.
|
|
45
45
|
|