Commit Graph
69 Commits
Author SHA1 Message Date
scraed 12c8035ffa Update the README news and index for v2.1.0 and refresh the Example_29 GIFs 2026-08-12 17:35:28 +08:00
scraed 6948b2c766 Retire sampler hyperparameters, add MinStepFrac, and rework the video mask union
Retire Beta/Friction/EarlyStop/InnerThreshold/InnerPatience/MinStepFrac
from all sampler nodes: the widgets are gone, the values are fixed
constants, and old prompts still validate via hidden inputs. A value
sanitizer falls back to defaults on invalid widget values, and the
frontend migrates old workflows by key-based widgets_values mapping
(LAYOUTS table) instead of positional arrays, so kept parameters
(PromptMode, Inpainting_mode) survive on old workflows.

MinStepFrac defaults to 1.0: the inner step size is pinned and the
inner-step count ramps linearly with the remaining noise fraction.

Video mask union: resample nearest-exact first, then a slice-level
sliding max-pool (experimental order) so the mask follows the painted
region's motion through the video.

Update Example_29 with the new output and re-export the workflow JSON.
2026-08-12 17:24:03 +08:00
scraed 2771dd17d0 Keep the original GIF previews for Example_29
The animated previews (InPainted gif and the combined showcase gif) stay
as the original versions; only the mp4 outputs are updated with the fixed
run.
2026-08-12 02:11:21 +08:00
scraed f145728829 Fix MiniMax H3 on ComfyUI 0.31+ (FLOW_AV model type) and update Example_29
MiniMaxH3 became ModelType.FLOW_AV in ComfyUI 0.31 (bdcb886a: audio
carriage redesign); our IS_FLOW checks only matched ModelType.FLOW, so H3
silently fell into the VE schedule branch and sampled garbage (corrupted
video, clipped audio). Treat FLOW_AV as a flow type via a version-safe
getattr tuple.

Example_29: replace the output with the fixed run (InPainted mp4/gif +
combined showcase), and re-export example_workflows JSON from the new
output's embedded metadata. Bump version to 2.0.1.
2026-08-12 01:49:50 +08:00
scraed 1e146fa465 Add the VideoMaskEditor node description picture to the README 2026-08-10 10:46:12 +08:00
scraed c70c8f926b Use GIF previews for the MiniMax H3 example in the README
GitHub cannot render mp4 files inline, so the Example_29 media is also
published as GIFs (480px wide, 62 frames, ~3.9 MB) and the README links
(news block and MiniMax H3 section) point at the GIFs; the mp4 files stay
in the folder for download.
2026-08-09 23:45:11 +08:00
scraed 6b04947fc6 Add a mask-visualization video to Example_29 and the README
Render the H3 example's actual interpolated mask sequence (from the 25
painted keyframes) as a red overlay on the input video, so the README can
show what was painted. The README's MiniMax H3 table now has three
columns (masked input / mask overlay / inpainted result), matching the
Wan example style.
2026-08-09 23:37:42 +08:00
scraed 8a491bfb94 Update the example InPainted drag-me PNGs with the new workflow outputs
The InPainted_Drag_Me_to_ComfyUI.png files of the converted examples are
replaced with the actual test-run outputs (which carry the workflow +
prompt tEXt chunks SaveImage embeds), so dragging them into ComfyUI loads
the new ImageEncode/ImageDecode workflows instead of the old encode chain.
Covers Examples 2, 7, 13, 14, 15, 20, 21, 23, 24, 25, 27, 28; verified
that every embedded workflow contains the new encode/decode nodes and has
no stale VAEEncode/SetLatentNoiseMask.
2026-08-09 23:26:28 +08:00
scraed d1ee798b60 Convert the remaining examples to ImageEncode/ImageDecode and finish the example set
- Qwen Image Edit upgraded to the 2509 model (qwen_image_edit_2509_fp8_e4m3fn)
  with TextEncodeQwenImageEditPlus multi-image conditioning; old 2508/2509
  pairs removed.
- New Z-Image base example (z_image_bf16, Example_25 input) using default
  LanPaint parameters (NumSteps 5, Lambda 5.0, StepSize 0.2, Friction 15);
  old turbo/base pairs removed.
- Renamed the converted examples to the *_EncodeDecode_Inpaint convention
  (fresh names force the workflow gallery to reload them) and generated
  preview jpgs from the test run outputs; superseded old pairs removed,
  Qwen_Image_Outpaint and wan2_2_T2I_Partial kept as distinct use cases.
- Fixed the Qwen Image example mask reference: Example_12's file has no
  alpha channel (it is an output example), so it now points at Example_13's
  masked input (7).
- Repositioned the ImageEncode/ImageDecode nodes next to the sampler in all
  converted workflows (the conversion agents had placed them far off-canvas).
- SD3.5 and HiDream examples removed on request.
- Example_29 now ships the H3 masked input video and the inpainted output
  video (InPainted_Drag_Me_to_ComfyUI.mp4).
2026-08-09 22:46:51 +08:00
scraed 59aa08dff0 Store masks inside exported videos and convert the example set to ImageEncode/ImageDecode
Mask-in-video (the masks now travel with the video file):
- New videometa module: write/read a JSON payload under the lanpaint-mask
  mp4 metadata tag via PyAV (stream copy, movflags=use_metadata_tags), so
  exporting produces a NEW file and the source is never modified.
- Two server routes: GET /lanpaint/video_mask_meta (read the payload back)
  and POST /lanpaint/export_mask_video (remux into input/<base>_masked.mp4).
- The mask editor exports the painted keyframes (base64 PNGs) + audio
  intervals into the video; loading a video with the tag auto-restores the
  masks (editor and node preview). A video without the tag clears the
  workflow's masks - the video is the source of truth. The export also
  offers a native save dialog (showSaveFilePicker) when available.
- The video widget upload now uses video_upload so MP4s are selectable in
  the file chooser (was image_upload).
- LanPaint_ImageEncode accepts 5D latents from video VAEs encoding a single
  image (e.g. the Hunyuan video VAE) - fixes the Hunyuan example.

Example set conversion (one example per supported model, new files, old
pairs removed after being superseded):
- New *ImageEncode/*EncodeDecode example workflows for SDXL, Flux.1,
  Flux.2 Dev, Flux2 Klein, SD3.5, Hunyuan, Ideogram4, Krea2, Qwen Edit,
  Qwen Image, Z-Image, Wan 2.2 and MiniMax H3 (AV), all using
  LanPaint_ImageEncode/ImageDecode instead of VAEEncode +
  SetLatentNoiseMask + VAEDecode + MaskBlend; every example references its
  own example folder's masked input (hash-verified); preview jpgs generated
  from the test runs; the H3 example ships its output mp4 as a preview.
- HiDream example removed on request; Example_29 added with the H3 masked
  input video.

Fixes along the way: normalize node input.link/output.links fields against
the links arrays in all converted workflows (the frontend renders
null-link nodes as disconnected); stale Inpainting_mode widget removed from
the Flux.2 sampler; Lambda defaults 5.0 (first-order scheme); torchaudio
resample test assertion relaxed (edge ringing); the videometa tests updated
to the final export signature.
2026-08-09 20:41:45 +08:00
scraed c9c79988f1 Update Krea2 example with latest output and workflow 2026-06-28 10:48:50 +08:00
scraed 8b630eb6eb Update Flux2 Klein inpainting example with reference conditioning workflow 2026-06-27 23:42:01 +08:00
scraed 840c962fc9 Add Krea2 Turbo inpainting support with Example_28
- Add Krea2 banner, example section, and documentation to README
- Add new Example_28 with Krea2 LanPaint KSampler workflow
- Add workflow JSON and preview to example_workflows/
2026-06-27 17:45:09 +08:00
scraed b71f8e59b4 Add Ideogram4 inpainting support with Example_27
- Add Ideogram4 banner, example section, and documentation to README
- Add new Example_27 with Ideogram4 LanPaint Custom Sampler Advanced workflow
- Add workflow JSON to example_workflows/
- Fix widgets_values in Example_23 and Example_24 InPainted images
2026-06-27 11:21:11 +08:00
scraed 6a0f424f28 Add Anima inpainting example and workflow updates
Add Anima (Example_26) inpainting/outpainting support: update README with Anima example and changelog entry, add three example images (Original, Masked, Inpainted). Modify example_workflows/Qwen_Image_Inpaint.json to restructure and extend the node graph (add VAE/encode/decode, mask/image scaling/conversion, mask blending, updated links and node ids) and bump frontendVersion/node metadata for compatibility. Update .gitignore to ignore Claude-related files. Replace the Example_13 inpainted image binary with an updated version.
2026-05-21 11:26:35 +08:00
scraed f3ef9dedf9 update Klein workflow for resizing problem 2026-03-23 19:24:39 +08:00
scraed 84b63adb11 replace flux example mask for bug fixing 2026-02-07 12:15:29 +08:00
scraed 725fb2ba37 Replace Klein example image 2026-02-07 11:56:03 +08:00
scraed a984dcb118 Fix flux klein example workflow 2026-02-02 23:48:33 +08:00
scraed 8a72294f27 Z Image Base support 2026-01-30 00:45:20 +08:00
scraed 72cb484c40 Add Flux 2 Klein inpainting example and workflow
Added a new image inpainting example for Flux 2 Klein, including workflow JSON, sample images (original, masked, inpainted), and updated README with documentation and links. This provides users with a reference workflow and visual results for the Flux 2 Klein model.
2026-01-18 00:39:22 +08:00
charrywhite 9479106c1d Fix Flux2 Dev Inpaint workflow size bug 2026-01-10 12:43:40 +08:00
charrywhite 4cc30f8a1d Fix Flux2.Dev Inpainting Workflow MaskBlend Bug 2026-01-10 11:41:53 +08:00
charrywhite 83f557ff4c Support Flux.2 Dev Inpainting 2026-01-06 22:42:07 +08:00
scraed 565087e8f8 fix z image resize error for inpaint 2025-12-15 18:15:15 +08:00
scraed 3581d6c217 outpaint example 2025-12-04 14:58:16 +08:00
scraed 469012d183 Z image update 2025-12-04 14:17:29 +08:00
scraed 6d624e7e1e support Wan 2.2 5B 2025-11-17 16:04:48 +08:00
scraed 3d5aa3a3fa Add Hunyuan supports
Added new example workflows for Hunyuan, including images and JSON workflow files. Updated README with Hunyuan T2I inpainting instructions and links. Increased default LanPaint step size to 0.2 in nodes and advanced sampler, and refactored scale_latent_inpaint logic in lanpaint.py for improved compatibility.
2025-10-16 15:59:13 +08:00
charrywhite 6109df6591 Upload a 41frames outpaint workflows 2025-10-03 22:32:19 +08:00
charrywhite c048230250 Update Original Video (Fix to 40 frames, fps=12) 2025-10-02 21:48:44 +08:00
charrywhite 80d55a47b0 Add 81 frames example 2025-10-02 21:31:19 +08:00
charrywhite 79db1765e3 Add video inpainting (Beta) 2025-10-02 21:13:43 +08:00
scraed a097b9c9b2 Update LanPaintQwen_04.jpg example image
Replaces the existing LanPaintQwen_04.jpg in the examples directory with a new version. This may reflect updated content or improved image quality.
2025-09-24 18:40:25 +08:00
scraed e653f45103 Support 2509 2025-09-24 18:27:11 +08:00
scraed c5aa0116d5 Add Example 16 for partial inpainting with reference
Added a new example (Example 16) demonstrating partial inpainting using reference images. Updated README with instructions and links for the new example, and added related images to the examples directory.
2025-09-18 15:40:22 +08:00
scraed c265bcc989 Add Wan2.2 inpainting example and bump version
Added a new example for Wan2.2 inpainting with image and workflow links in the README. Updated project version to 1.3.2 in pyproject.toml.
2025-09-17 15:55:28 +08:00
scraed b8973c570b Support Wan 2.2 Txt 2 Img 2025-09-17 15:46:11 +08:00
scraed 1b50a90424 qwen edit resize fix 2025-09-07 13:07:17 +08:00
scraed f2cc70fed3 Update inpainted example image
Replaces the InPainted_Drag_Me_to_ComfyUI.png file in Example_14 with a new version. This may reflect updated visual content or corrections to the example image.
2025-08-25 11:11:09 +08:00
scraed b8e140f7aa Comment out unused model_sigmas initialization
The initialization of model_sigmas in KSamplerX0Inpaint was commented out to remove warning. Also remove group nodes from example workflow
2025-08-22 10:34:51 +08:00
scraed ba506f2654 Add new Qwen edit example and update README
Added Example_14 images and LanPaintQwen_03.jpg to showcase the masked Qwen edit workflow. Updated README with new example references and instructions for using the ComfyUI Qwen Image Edit workflow.
2025-08-22 00:17:40 +08:00
scraed cd62e71467 Update LanPaintQwen_01.jpg example image
Replaces the existing LanPaintQwen_01.jpg in the examples directory with a new version.
2025-08-18 17:19:02 +08:00
scraed 7bdbab75e6 Update LanPaintQwen_01.jpg 2025-08-18 15:35:01 +08:00
scraed 3f8eb2552f Update README and add new Qwen inpainting examples
Enhanced README with details and links for Qwen Image workflows and added new example images for Qwen inpainting and outpainting in Example_12 and Example_13 directories. Also included a sample result image for Qwen inpainting.
2025-08-18 15:27:12 +08:00
scraed 7aeb6e535f Add Qwen image support and new inpainting examples
Updated the README to announce Qwen image support and provide usage instructions. Added new example images and workflow files for Qwen inpainting in the examples directory.
2025-08-08 14:09:53 +08:00
scraed 61c19ac31d update algorithm with better outpaint 2025-06-21 12:56:36 +08:00
scraed c3ae2c644d update coefficients 2025-06-16 20:03:25 +08:00
scraed 23ad6e47fd add new masked blend node 2025-06-05 16:21:46 +08:00
scraed 05386f98d3 replace outdated flux picture 2025-06-03 11:49:40 +08:00