feat: select the VNCCS PoseStudio LoRA with VNCCS_LORA (#12)
Routes ③ and ④ use VNCCS_QI2_PoseStudioV1.1.safetensors as a fixed name. To use V2, users had to edit two scripts, and git pull then conflicts. - run_pose_transfer.py and run_vnccs_ui.py read VNCCS_LORA. - doctor.py checks the same file name. - The default stays V1.1. Route ③'s --lora flag still takes precedence. - Document the variable in install/setup.md and CHANGELOG.md.
This commit is contained in:
1 parent
5fa2aa12eb
commit
8e4adf0017
5 files changed
+16
-4
No files matched your search
@@ -4,6 +4,14 @@ Notable changes to this package. Format follows [Keep a Changelog](https://keepa
|
||||
versions are git tags. The package ships as a skill, not a library, so versions mark
|
||||
documented, reproducible states of the scripts + docs rather than an API contract.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- `VNCCS_LORA` environment variable: choose the VNCCS PoseStudio LoRA file for routes ③ and ④
|
||||
(`run_pose_transfer.py`, `run_vnccs_ui.py`) and for the `doctor.py` LoRA check. The default is
|
||||
still `VNCCS_QI2_PoseStudioV1.1.safetensors`. Route ③'s `--lora` flag still takes precedence.
|
||||
|
||||
## [1.1.0] — 2026-10-20
|
||||
|
||||
Since 1.0.0: a new browser-free route, a self-check script, macOS and Windows support, and a
|
||||
|
||||
+3
-1
@@ -173,7 +173,9 @@ python3 scripts/run_vnccs_ui.py --pose "squatting leaning back" \
|
||||
环境变量(脚本内置默认值,按需覆盖):
|
||||
`COMFYUI_URL`、`COMFYUI_INPUT`、`COMFYUI_OUTPUT`、`POSELAB`(本包根)、
|
||||
`QWEN_POSE_WORKFLOWS`(Qwen 工作流目录)、`VNCCS_WF_FILE`(VNCCS 工作流文件)、
|
||||
`VNCCS_POSELIB`(VNCCS 节点自带 PoseLibrary 目录)、`VNCCS_UI_OUT`(输出目录)。
|
||||
`VNCCS_POSELIB`(VNCCS 节点自带 PoseLibrary 目录)、`VNCCS_UI_OUT`(输出目录)、
|
||||
`VNCCS_LORA`(路线③④用的 VNCCS PoseStudio LoRA 文件名,默认 `VNCCS_QI2_PoseStudioV1.1.safetensors`;
|
||||
换 V2 时设成 `VNCCS_QI2_PoseStudioV2.safetensors`,路线③的 `--lora` 优先于它)。
|
||||
其中 `COMFYUI_INPUT` / `COMFYUI_OUTPUT` / `VNCCS_POSELIB` 默认从 `$COMFY` 推导;
|
||||
未设 `$COMFY` 时用 `~/ComfyUI`。
|
||||
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ KNOWN_LORAS = [
|
||||
"thesealpacas-nsfw-v2.safetensors",
|
||||
"nsfw-posture-v3.safetensors",
|
||||
"qwen21-nsfw-image-edit.safetensors",
|
||||
"VNCCS_QI2_PoseStudioV1.1.safetensors",
|
||||
os.environ.get("VNCCS_LORA", "VNCCS_QI2_PoseStudioV1.1.safetensors"),
|
||||
]
|
||||
PACKAGE_FILES = [
|
||||
"workflows/qwen21_t2i.json",
|
||||
|
||||
@@ -20,6 +20,7 @@ from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
@@ -28,7 +29,8 @@ from qwen_pose_test import run, upload_image, MediaLockError # noqa: E402
|
||||
|
||||
DEFAULT_PROMPT = ("replace the pose of <image 2> with the pose of <image 1>. "
|
||||
"keep the character of <image 2>")
|
||||
DEFAULT_LORA = "VNCCS_QI2_PoseStudioV1.1.safetensors"
|
||||
# VNCCS_LORA swaps the PoseStudio LoRA file (e.g. V2) without editing the script; --lora still wins
|
||||
DEFAULT_LORA = os.environ.get("VNCCS_LORA", "VNCCS_QI2_PoseStudioV1.1.safetensors")
|
||||
|
||||
|
||||
def _parse() -> argparse.Namespace:
|
||||
|
||||
@@ -48,7 +48,7 @@ VNCCS_LIB = Path(os.environ.get("VNCCS_POSELIB", str(_COMFY / "custom_nodes" / "
|
||||
COMFY_INPUT = Path(os.environ.get("COMFYUI_INPUT", str(_COMFY / "input")))
|
||||
COMFY_OUTPUT = Path(os.environ.get("COMFYUI_OUTPUT", str(_COMFY / "output")))
|
||||
OUT = Path(os.environ.get("VNCCS_UI_OUT", str(_PKG_DIR / "outputs" / "vnccs_ui")))
|
||||
VNCCS_LORA = "VNCCS_QI2_PoseStudioV1.1.safetensors"
|
||||
VNCCS_LORA = os.environ.get("VNCCS_LORA", "VNCCS_QI2_PoseStudioV1.1.safetensors")
|
||||
URL = os.environ.get("COMFYUI_URL", "http://127.0.0.1:8188")
|
||||
|
||||
# aliases used by the phase4b runs, kept so old commands still work
|
||||
|
||||
Reference in new issue
Block a user