pixelkiln 0.65.0 → 0.66.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/dist/cli.js +209 -17
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +209 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +252 -86
- package/dist/index.d.ts +252 -86
- package/dist/index.js +209 -17
- package/dist/index.js.map +1 -1
- package/docs/CHARACTERS.md +10 -0
- package/docs/GENERATORS.md +44 -0
- package/docs/MANIFEST.md +3 -2
- package/docs/REVISIONS.md +13 -0
- package/package.json +1 -1
- package/schema/manifest.schema.json +10 -2
- package/schema/recipe.schema.json +2 -1
- package/skills/pixelkiln/references/pixellab-roadmap.md +9 -6
- package/skills/pixelkiln/references/pixellab.md +10 -0
package/docs/CHARACTERS.md
CHANGED
|
@@ -120,6 +120,16 @@ is read again at submit time and refused if it changed since `plan`.
|
|
|
120
120
|
States, animations, and mirrors take their look from their parent and
|
|
121
121
|
cannot carry a reference.
|
|
122
122
|
|
|
123
|
+
A `pro-flash` base's reference can be an image PixelKiln drew with the
|
|
124
|
+
[`imageProFlash`](./GENERATORS.md#imageproflash) generator: point `reference`
|
|
125
|
+
at that asset's downloaded file. When the file is byte-for-byte the output of
|
|
126
|
+
an `imageProFlash` lock entry, submit sends PixelLab that image's
|
|
127
|
+
`source_image_id` instead of uploading the same pixels, and the character is
|
|
128
|
+
drawn from the exact image PixelLab already holds. The price is the same
|
|
129
|
+
either way (the rotations only); the difference is that nothing is
|
|
130
|
+
re-encoded. Generate and fetch the still before planning the character, so
|
|
131
|
+
the file exists. An `objectPro` base's reference is handled the same way.
|
|
132
|
+
|
|
123
133
|
### Concept images and style anchors (pro)
|
|
124
134
|
|
|
125
135
|
The pro engine has two more ways in. `concept` on a base names a concept
|
package/docs/GENERATORS.md
CHANGED
|
@@ -17,6 +17,7 @@ account; [ENDPOINTS.md](./ENDPOINTS.md) contains the detailed experiments.
|
|
|
17
17
|
| A character facing 4 or 8 directions, its poses, and its animations | `character` | 1 per base (standard), 20–40 per pose, 1 per template loop | one set of directions, or one ordered loop |
|
|
18
18
|
| UI chrome — panels, buttons, health bars, toolbars | `uiAsset` | 20 generations (measured once, at 256x192) | 1 composited image |
|
|
19
19
|
| One UI element from a description, 16px and up, optionally guided by a concept image | `uiElement` | 20–40 generations (unmeasured) | 1 image |
|
|
20
|
+
| A styled still on the Pro Flash model, or the south sprite a Pro Flash character will rotate | `imageProFlash` | 5–9 generations (PixelLab's provisional quote) | 1 image |
|
|
20
21
|
|
|
21
22
|
Start with `map` unless a required capability points elsewhere. Forty `map`
|
|
22
23
|
re-rolls cost the same as one 64×64 `1dir` call.
|
|
@@ -404,6 +405,49 @@ price at an area well above where `1dir`/`tiles` would bill the ceiling.
|
|
|
404
405
|
Left as an over-read for `--budget` until a second size is measured; see
|
|
405
406
|
[ENDPOINTS.md](./ENDPOINTS.md) for the full writeup.
|
|
406
407
|
|
|
408
|
+
## `imageProFlash`
|
|
409
|
+
|
|
410
|
+
`imageProFlash` wraps PixelLab's `/create-image-pro-flash`: one native
|
|
411
|
+
pixel-art image on the Pro Flash model, the same model the `character` and
|
|
412
|
+
`objectPro` `pro-flash` engines draw with, as a plain still. It sits between
|
|
413
|
+
`pixflux`/`map` (1 generation, no style reference) and `imagePro` (a flat 40):
|
|
414
|
+
|
|
415
|
+
```jsonc
|
|
416
|
+
{
|
|
417
|
+
"styles": {
|
|
418
|
+
"stills": {
|
|
419
|
+
"generator": "imageProFlash",
|
|
420
|
+
"styleImages": [{ "path": "refs/house-style.png" }],
|
|
421
|
+
"styleTraits": { "palette": true, "outline": true, "detail": false, "shading": true },
|
|
422
|
+
"outDir": "art/stills"
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
"assets": {
|
|
426
|
+
"knight": { "prompt": "a knight in blue armor, facing the viewer", "width": 64, "height": 64 }
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
- Sizes run 16 to 256 per side in multiples of 4, and can be non-square.
|
|
432
|
+
PixelLab's native sizes (24, 32, 32×48, 64, 96×64, 96) are its most
|
|
433
|
+
reliable; other sizes are its "custom (beta)" range.
|
|
434
|
+
- One `styleImages` entry is the style image, and `styleTraits` choose what
|
|
435
|
+
it lends (palette, outline, detail, shading; each on by default), the same
|
|
436
|
+
switches a `pro-flash` character base takes. Traits without a style image
|
|
437
|
+
are refused.
|
|
438
|
+
- One call returns one image, recorded straight away. The lock also records
|
|
439
|
+
PixelLab's `image_id` and `source_image_id` for it: a Pro Flash `character`
|
|
440
|
+
or `objectPro` base whose `reference` is this image's downloaded file
|
|
441
|
+
reuses it by that id instead of uploading the same pixels again (see
|
|
442
|
+
[Characters](./CHARACTERS.md#starting-from-your-own-sprite)).
|
|
443
|
+
- **Cost:** 5 generations up to 96px on the longer side, 6 up to 208px, 9
|
|
444
|
+
beyond, from PixelLab's own `/pro-flash/cost` quotes, which PixelLab calls
|
|
445
|
+
provisional. The billed amount on the finished job is what the lock keeps.
|
|
446
|
+
|
|
447
|
+
The same model also edits and inpaints: `"engine": "pro-flash"` on an
|
|
448
|
+
`image-to-image` or `inpaint` revision; see
|
|
449
|
+
[Controlled asset revisions](./REVISIONS.md#pixellab).
|
|
450
|
+
|
|
407
451
|
## `uiElement`
|
|
408
452
|
|
|
409
453
|
`uiElement` wraps PixelLab's `/generate-ui-v2` ("Generate UI (Pro)"): one UI
|
package/docs/MANIFEST.md
CHANGED
|
@@ -116,7 +116,7 @@ One asset using the fields most projects reach for:
|
|
|
116
116
|
|---|---|---|
|
|
117
117
|
| `extends` | style id | Optional parent style. The child inherits resolved settings but must declare its own `outDir`. |
|
|
118
118
|
| `provider` | top-level default | Provider registry id for this style. Assets cannot override it. |
|
|
119
|
-
| `generator` | `map` | `map`, `1dir`, `pixflux`, `tiles`, `terrain`, `isometricTile`, `imagePro`, `character`, `objectPro`, `uiAsset`, `uiElement`, or provider-specific `animation`/`frames`. See [GENERATORS.md](./GENERATORS.md). |
|
|
119
|
+
| `generator` | `map` | `map`, `1dir`, `pixflux`, `tiles`, `terrain`, `isometricTile`, `imagePro`, `character`, `objectPro`, `uiAsset`, `uiElement`, `imageProFlash`, or provider-specific `animation`/`frames`. See [GENERATORS.md](./GENERATORS.md). |
|
|
120
120
|
| `outDir` | string, required | Output directory relative to the manifest. |
|
|
121
121
|
| `promptPrefix` | `""` | Prepended to every participating asset prompt. |
|
|
122
122
|
| `promptSuffix` | `""` | Appended to every participating asset prompt. |
|
|
@@ -144,7 +144,7 @@ One asset using the fields most projects reach for:
|
|
|
144
144
|
| `isometric` | `false` | `character` only. Draw `standard` bases and every loop in isometric view. |
|
|
145
145
|
| `enhancePrompt` | `false` | `character` only, `v3` bases. Let PixelLab expand the prompt into a fuller one before drawing. |
|
|
146
146
|
| `styleCharacter` | | `character` only, `pro` bases. The asset id of a generated 8-direction character in this style whose look bases drawn from text or a concept follow. An asset may override it. |
|
|
147
|
-
| `styleTraits` | all true | `character`
|
|
147
|
+
| `styleTraits` | all true | `character` `pro-flash` bases and `imageProFlash` styles, with a style image. `{ palette, outline, detail, shading }` booleans: which traits the style image lends. |
|
|
148
148
|
| `mount` | object | Stable-cell sheet placement; documented below. |
|
|
149
149
|
| `quality` | object | Optional native-grid, final-palette, and human-approval contract; documented below. |
|
|
150
150
|
| `tags` | string array, `[]` | Tags inherited by every generated provider object in the style. |
|
|
@@ -481,6 +481,7 @@ their own page: [Characters](./CHARACTERS.md) and
|
|
|
481
481
|
| `lastFrame` | string | `animate`/`animate-pixminimax`: manifest-relative image pinning where the motion ends, turning an open-ended animation into an interpolation. `interpolate`: required, the ending keyframe (the parent is the start); it must match the parent's size. |
|
|
482
482
|
| `direction` | enum | `animate-pixminimax` only. The sprite's facing, used only alongside `enhancePrompt`. |
|
|
483
483
|
| `enhancePrompt` | boolean | `animate`/`animate-pixminimax` only. Lets the provider expand the prompt into a fuller motion description first, for an extra documented +0.05-generation surcharge. |
|
|
484
|
+
| `engine` | enum | `image-to-image`/`inpaint` only. `pro-flash` draws the edit with PixelLab's Pro Flash edit or inpaint endpoint instead of the default Pro one: 5–9 generations instead of 20–40, 32 to 256px per side in multiples of 4, no `strength`. Omit for the default. |
|
|
484
485
|
|
|
485
486
|
The parent may use committed `source`, downloaded generated output, or a
|
|
486
487
|
current approved quality output. Parent and mask hashes participate in the
|
package/docs/REVISIONS.md
CHANGED
|
@@ -399,6 +399,19 @@ approval gate before shipping. See the
|
|
|
399
399
|
|
|
400
400
|
## PixelLab
|
|
401
401
|
|
|
402
|
+
`"engine": "pro-flash"` on an `image-to-image` or `inpaint` revision sends it to
|
|
403
|
+
PixelLab's Pro Flash tier instead: `/edit-image-pro-flash` (a text edit at the
|
|
404
|
+
source's own size; the canvas never grows) or `/inpaint-image-pro-flash`
|
|
405
|
+
(replaces only the mask's white pixels and keeps the rest exactly). It is the
|
|
406
|
+
same model the `imageProFlash` generator and the `pro-flash` character engine
|
|
407
|
+
use, priced on the same provisional Pro Flash tier (5 generations up to 96px,
|
|
408
|
+
6 up to 208px, 9 beyond) instead of the 20–40 of the default Pro endpoints.
|
|
409
|
+
Sources must be 32 to 256px per side in multiples of 4; `strength` is refused,
|
|
410
|
+
since neither endpoint has one. The finished job is read the same way as the
|
|
411
|
+
default endpoints'. PixelLab also offers reference-image edits, a
|
|
412
|
+
`context_image` around an inpaint, and inpaint output layers; none is modeled
|
|
413
|
+
yet.
|
|
414
|
+
|
|
402
415
|
PixelLab needs no bindings: `image-to-image` calls `/edit-images-v2`,
|
|
403
416
|
`inpaint` calls `/inpaint-v3`, both as a plain background job polled the same
|
|
404
417
|
way as every other PixelLab submission. `reduce-colors` calls `/reduce-colors`
|
package/package.json
CHANGED
|
@@ -46,7 +46,8 @@
|
|
|
46
46
|
"isometricTile",
|
|
47
47
|
"objectPro",
|
|
48
48
|
"uiAsset",
|
|
49
|
-
"uiElement"
|
|
49
|
+
"uiElement",
|
|
50
|
+
"imageProFlash"
|
|
50
51
|
],
|
|
51
52
|
"default": "map"
|
|
52
53
|
},
|
|
@@ -503,7 +504,8 @@
|
|
|
503
504
|
"isometricTile",
|
|
504
505
|
"objectPro",
|
|
505
506
|
"uiAsset",
|
|
506
|
-
"uiElement"
|
|
507
|
+
"uiElement",
|
|
508
|
+
"imageProFlash"
|
|
507
509
|
],
|
|
508
510
|
"default": "map"
|
|
509
511
|
},
|
|
@@ -1079,6 +1081,12 @@
|
|
|
1079
1081
|
},
|
|
1080
1082
|
"enhancePrompt": {
|
|
1081
1083
|
"type": "boolean"
|
|
1084
|
+
},
|
|
1085
|
+
"engine": {
|
|
1086
|
+
"type": "string",
|
|
1087
|
+
"enum": [
|
|
1088
|
+
"pro-flash"
|
|
1089
|
+
]
|
|
1082
1090
|
}
|
|
1083
1091
|
},
|
|
1084
1092
|
"required": [
|
|
@@ -326,12 +326,15 @@ quote/identity lookup — not billed):**
|
|
|
326
326
|
exactly, reassuring cross-validation of the quote endpoint even though it
|
|
327
327
|
is a quote, not a bill.
|
|
328
328
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
329
|
+
**Now modeled, in part:** the `imageProFlash` generator wraps `create`
|
|
330
|
+
(style image + `styleTraits`, 16–256px in multiples of 4), and a revision's
|
|
331
|
+
`"engine": "pro-flash"` sends `image-to-image` to `edit` (text method) and
|
|
332
|
+
`inpaint` to `inpaint`. A still's `source_image_id` is recorded and reused
|
|
333
|
+
when a Pro Flash character or object base's `reference` is that still's exact
|
|
334
|
+
file (issue #145). Still unmodeled: `edit`'s `"reference"` method, the
|
|
335
|
+
`use_color_palette_correction` flag, inpaint's `output_method` choice and the
|
|
336
|
+
`context_image` + `bounding_box` mechanism. Costs use the provisional quotes
|
|
337
|
+
above; none has been billed live yet.
|
|
335
338
|
|
|
336
339
|
## Map Workshop (scene composition)
|
|
337
340
|
|
|
@@ -27,6 +27,7 @@ providers, or before any PixelLab account operation.
|
|
|
27
27
|
| `character` | A character in 4 or 8 directions, its poses (`state`), and its loops (`animation`) | 1 per standard base, 6 per pro-flash base at 64px (1 from a `reference`), 20–40 per pose, 1 per template loop per direction |
|
|
28
28
|
| `uiAsset` | A UI panel, button, health bar, or other chrome, from precise `pieces` and/or named `elements` | **20 generations, measured once** (256×192); the borrowed canvas-tier estimate still predicts 40 |
|
|
29
29
|
| `uiElement` | One UI element (button, slot, bar, dialogue box) from the prompt, 16px and up, with an optional concept image | 20–40 generations, **unmeasured** |
|
|
30
|
+
| `imageProFlash` | A styled still on the Pro Flash model (style image + `styleTraits`), 16–256px in multiples of 4; also the natural source for a Pro Flash character's south sprite | 5–9 generations, PixelLab's provisional quote |
|
|
30
31
|
|
|
31
32
|
`tiles` is not limited to top-down ground: `tileType` selects the projection
|
|
32
33
|
(`isometric` — the API default —, `oblique`, `hex`, `hex_pointy`, `octagon`,
|
|
@@ -258,6 +259,15 @@ widgets under `uiAsset`'s 192px floor. Unmeasured: the plan borrows the
|
|
|
258
259
|
20/25/40 canvas tiers, and the completed job's shape has not been observed
|
|
259
260
|
live.
|
|
260
261
|
|
|
262
|
+
`imageProFlash` wraps `/create-image-pro-flash`, the Pro Flash model as a plain
|
|
263
|
+
still: priced 5 up to 96px, 6 up to 208px, 9 beyond (PixelLab's own
|
|
264
|
+
provisional `/pro-flash/cost` quotes). Its lock entry keeps PixelLab's
|
|
265
|
+
`source_image_id`; a Pro Flash character or object base whose `reference` is
|
|
266
|
+
byte-for-byte that still's file is sent the id instead of the upload (same
|
|
267
|
+
price, no re-encode). The same model edits and inpaints through a revision's
|
|
268
|
+
`"engine": "pro-flash"` (`image-to-image`/`inpaint` only, 32–256px in multiples
|
|
269
|
+
of 4, no `strength`), at the Pro Flash tier instead of the Pro endpoints' 20–40.
|
|
270
|
+
|
|
261
271
|
Do not confuse pixelkiln's `map` generator with PixelLab's own "Map
|
|
262
272
|
Workshop": `map` returns one static prop, icon, or building in a single
|
|
263
273
|
generation with no scene, canvas, or placement concept. Map Workshop (scene
|