@melite/models-fibo2-edit 0.2.0-alpha → 0.2.2-alpha

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.
Files changed (2) hide show
  1. package/README.md +19 -10
  2. package/package.json +19 -7
package/README.md CHANGED
@@ -1,30 +1,39 @@
1
- ---
2
- description: Fibo 2.0 Edit — BRIA's image-editing model (the Comfy-Org repack); the third image-edit family, encoder-emitted latent, dev/edit-turbo lanes.
3
- kind: package-library
4
- ---
5
-
6
1
  # fibo2-edit
7
2
 
8
- fibo2-edit registers Fibo 2.0 Edit (form `form_edit`, label "Fibo 2.0 Edit", genre `image`): BRIA's licensed image-editing model, boarded from the Comfy-Org repack as the image-edit card's third family beside the two qwen-img-edit lanes. The lane: UNETLoader → CLIPLoader (combo `fibo2`) + VAELoader → TextEncodeFibo2 — ONE encoder call emits positive AND negative (an empty `negative_prompt` rides the model's trained null caption, so CFG works text-only), cites input images in-prompt as `<image_N>` (up to 16), and — with the VAE seat connected — splices reference latents into BOTH conditionings → KSampler on the encoder's own emitted latent (128-channel, trained size: the node's width/height stay 0 = the first input image's aspect at ~1MP) → decode and save under `<run>/edit`. With `input_mask` + `mask_mode: crop_stitch` the mask rides MaskToSEGS → DetailerForEach instead (no KSampler, no decode under it).
3
+ fibo2-edit registers Fibo 2.0 Edit (form `form_edit`, label "Fibo 2.0 Edit", genre `image`): BRIA's licensed image-editing model, boarded from the Comfy-Org repack as the image-edit card's third family beside the two qwen-img-edit lanes. The lane: UNETLoader → CLIPLoader (combo `fibo2`) + VAELoader → TextEncodeFibo2 — ONE encoder call emits positive AND negative (an empty `negative_prompt` rides the trained null caption — CFG works text-only), cites input images in-prompt as `<image_N>` (up to 16), and — with the VAE seat connected — splices reference latents into BOTH conditionings → KSampler on the encoder's own emitted latent (128-channel; the node's zero sizes mean the first input's aspect at ~1MP) → decode and save under `<run>/edit`. With `input_mask` + `mask_mode: crop_stitch` the mask rides MaskToSEGS → DetailerForEach instead (no KSampler, no decode under it).
9
4
 
10
5
  ## The BF16-encoder rule (upstream issue 17248, open)
11
6
 
12
- The INT8 Qwen3-VL text encoder fails on image-conditioned encoding. Every edit lane here encodes through the BF16 encoder (`qwen3vl_4b_bf16.safetensors`, provisioned); the INT8 encoder's seat is the text-only FLUX-shared use, and it is deliberately NOT provisioned — the manage rail never offers it for this family.
7
+ The INT8 Qwen3-VL text encoder fails on image-conditioned encoding. Every edit lane encodes through the BF16 encoder (`qwen3vl_4b_bf16.safetensors`, provisioned); the INT8 encoder's seat is the text-only FLUX-shared use, deliberately NOT provisioned — the manage rail never offers it for this family.
13
8
 
14
9
  ## Params and law
15
10
 
16
11
  Declared surface: `input_images`, `image1`, `image2`, `image3`, `reference_images`, `input_mask` (validation-only aliases the lane admits as wire keys), `prompt`, `negative_prompt`, `match_input_resolution` (the declared no-op, draft compatibility), `seed`, `steps`, `cfg`, `sampler`, `scheduler`. Laws: `prompt` is required (the instruction, not a description of the image); an anchor is required — the ordered `input_images` list or a legacy spelling; the image cap is 16 total, anchor included (`max_images`); no stated size exists (the encoder emits the latent — a draft stating width/height refuses field-named); the solver span stays steps 1–50. Defaults: 30 steps, `euler` / `simple`, cfg 5 — the dev lane's official pair.
17
12
 
18
- Variants: `dev` (30 steps CFG 5, the reference checkpoint) and `edit-turbo` (8 steps CFG 1, the distilled checkpoint), each with `int8_convrot` and `bf16` quant cells (8.4 GB / 16.5 GB unets). Every variant declares its `sampler_envelope`; the community 4-step turbo report is deliberately not pinned. NO Recipe group: nothing upstream canonical enough to pin, and a stamp-less Recipe group is exactly what recipe-rows LAW A refuses — a canned one-click lands with upstream truth.
13
+ Variants: `dev` (30 steps CFG 5, the reference checkpoint) and `edit-turbo` (8 steps CFG 1, the distilled checkpoint), each with `int8_convrot` and `bf16` quant cells (8.4 GB / 16.5 GB unets). Every variant declares its `sampler_envelope`; the community 4-step turbo report is deliberately not pinned. NO Recipe group — nothing upstream is canonical enough to pin, and a stamp-less Recipe group is what recipe-rows LAW A refuses: a canned one-click lands with upstream truth.
19
14
 
20
15
  ## Mod surface
21
16
 
22
- The DECL boards `mask` and `loras`. `./mods/mask` is the bare flavor whose region contract rides the crop_stitch detailer over the encoder conditioning; automatic inpainting with a named field refuses on every lane — no lane inpaints in place. `./mods/loras` is the seam with an empty row set (no first-party Fibo adapters); user files ride the same bag the pack registers.
17
+ The DECL boards `mask` and `loras`. `./mods/mask` is the bare flavor whose region contract rides the crop_stitch detailer over the encoder conditioning; automatic inpainting with a named field refuses on every lane — no lane inpaints in place. `./mods/loras` is the seam with an empty row set (no first-party Fibo adapters); user files ride the pack's bag.
18
+
19
+ ## Model Experience
20
+
21
+ #### What the model sees
22
+
23
+ TextEncodeFibo2 receives the instruction, negative, and the anchor images' spliced reference latents; KSampler receives the emitted latent and solver values.
24
+
25
+ #### Token effect
26
+
27
+ Zero-direct — the instruction rides the composed graph, never language-model context.
28
+
29
+ #### KV Cache effect
30
+
31
+ Independent — each edit is its own engine request.
23
32
 
24
33
  ## Known Limitations and Deferred Work
25
34
 
26
35
  - **INT8 encoder unusable for edits** — upstream issue 17248 (open): the int8 vision tower fails on image-conditioned encoding; BF16 encoder only, pinned in `lane_inputs.text_encoder`.
27
- - **Graph goldens deferred** — the golden driver's wiring gate judges against the recorded boot fixture (`tests/walls/fixtures/object_info.boot.json`), which predates `TextEncodeFibo2`; goldens land the day the engine hop re-records it. The branch pins ride `tests/action.spec.ts` structural asserts meanwhile.
36
+ - **Graph goldens deferred** — the golden driver's wiring gate judges against the recorded boot fixture (`tests/walls/fixtures/object_info.boot.json`), which predates `TextEncodeFibo2`; goldens land the day the engine re-records it. The branch pins ride `tests/action.spec.ts` structural asserts meanwhile.
28
37
  - **Facts rows pending the pin audit** — `model-facts.json` (the `fibo2-edit` card row + `core_node_types` entry for `comfy_extras/nodes_fibo2.py`) and the recorded engine's `engine_node_types` are the engine pin audit's writes; until they land the offered-cells and flows walls carry named pending reds.
29
38
  - **Live behavior unobserved** — not verified against the running model.
30
39
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@melite/models-fibo2-edit",
3
- "version": "0.2.0-alpha",
3
+ "version": "0.2.2-alpha",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "type": "module",
6
6
  "exports": {
@@ -19,12 +19,7 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@melite/comfyui-card-kit": "0.2.0-alpha"
23
- },
24
- "devDependencies": {
25
- "@types/node": "^22.20.0",
26
- "typescript": "^5.9.3",
27
- "@deepseek-ai/cordis": "^4.0.5"
22
+ "@melite/comfyui-card-kit": "0.2.2-alpha"
28
23
  },
29
24
  "files": [
30
25
  "lib/index.js",
@@ -34,10 +29,27 @@
34
29
  "peerDependencies": {
35
30
  "@deepseek-ai/cordis": "^4.0.5"
36
31
  },
32
+ "description": "Fibo 2.0 Edit — BRIA's image-editing model (the Comfy-Org repack); the third image-edit family, encoder-emitted latent, dev/edit-turbo lanes.",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "https://github.com/JayDataEngineer/melite.git",
36
+ "directory": "packages/models/fibo2-edit"
37
+ },
38
+ "keywords": [
39
+ "melite",
40
+ "comfyui",
41
+ "cordis",
42
+ "agent",
43
+ "media-generation",
44
+ "library"
45
+ ],
37
46
  "scripts": {
38
47
  "build": "tsc -p tsconfig.build-mods.json && tsc -p tsconfig.build.json",
39
48
  "typecheck": "tsc --noEmit"
40
49
  },
50
+ "engines": {
51
+ "node": ">=22.18.0"
52
+ },
41
53
  "publishConfig": {
42
54
  "access": "public"
43
55
  }