Files
DemonGatanjieu-Anomalous_Mo…/api/blocks/switch_midway.json
T
DemonGatanjieuandClaude Opus 5.5 62af348394 Hold the base's seed before a second pass; er_sde splits badly on Anima, not everywhere
From a picture check of the staged ways (another AI judged the pictures):

- The staged skill shows the base first so the user can pick it. With
  the sampler's seed moving after each run, adding the second pass and
  running again redrew a different base. The skill now says to hold the
  base's seed (control_after_generate fixed) before that first run.
- Split er_sde came out grainy on two Anima models but cleanly on Nova
  Anime XL (one seed each). The mid-way switch no longer says er_sde
  never splits: it keeps dpmpp_2m_sde_gpu on Anima and calls it the
  safe choice elsewhere. Its SDXL version ran for the first time (Nova
  Anime XL to MiaoMiao Harem v2.0, step 18 of 30, 41 s on 6 GB) and is
  recorded as tested.

No values changed. Full suite and structure check pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:53:06 +08:00

153 lines
5.9 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"job": "refine",
"want": "midway",
"rank": 7,
"short": "switch mid-way",
"title": {
"zh": "半途换模型接着画",
"en": "Switch models mid-way"
},
"about": {
"zh": "前面的步数用原模型定下构图,后面的步数换另一个模型接着画完,画风和细节跟着它走。",
"en": "The first steps keep the model's composition, then another model draws the rest, with its look and detail."
},
"source": {
"zh": "复现 Aaalice 双模型路线时用的接力(两个 KSampler Advanced 分段),本机三组对比验证过",
"en": "The relay used to reproduce the Aaalice two-model route (two KSampler Advanced parts), checked in three local comparisons"
},
"packs": {},
"nodes": {
"second_model": {
"class_type": "CheckpointLoaderSimple",
"like": "$loader",
"inputs": {}
},
"first": {
"class_type": "KSamplerAdvanced",
"like": "$sampler",
"inputs": {
"model": [
"$sampler.model",
"*"
],
"positive": [
"$sampler.positive",
"*"
],
"negative": [
"$sampler.negative",
"*"
],
"latent_image": [
"$sampler.latent_image",
"*"
],
"add_noise": "enable",
"start_at_step": 0,
"end_at_step": 21,
"return_with_leftover_noise": "enable"
}
},
"second": {
"class_type": "KSamplerAdvanced",
"replaces": "$sampler",
"inputs": {
"model": [
"second_model",
0
],
"latent_image": [
"first",
0
],
"add_noise": "disable",
"start_at_step": 21,
"end_at_step": 10000,
"return_with_leftover_noise": "disable"
}
}
},
"after": "The canvas's sampler became two: the first runs steps 0 to 21 on the canvas's model, the second (second_model, a new loader that starts as the same model) from step 21 to the end, and the picture goes on to the decode as before. set_model second_model to the other model the user wants, of the same family (it reuses the prompts). A LoRA on the first model (a style) is not on the second: add_lora it onto second_model too when the user wants it kept. 21 is 60% of 35 steps: with other steps set the first sampler's end_at_step and the second's start_at_step both to about 60% (earlier: more of the second model, later: more of the first). er_sde split cleanly on one SDXL model but came out grainy on Anima: on another family's er_sde, dpmpp_2m_sde_gpu or euler is the safe choice for both. For a picture drawn from an empty latent; then run_workflow.",
"notes": "KSampler Advanced: the first part returns its leftover noise, the second adds none and finishes it, so the two parts make one run of the steps. er_sde split, the same model in both parts, one seed each: grainy on two Anima models (Kirazuri all over, Harem 1.5 blotchy), clean on Nova Anime XL (SDXL); dpmpp_2m_sde_gpu and euler split cleanly. Tested on the user's route: Harem 1.5 for steps 0-21, Realskin 1.3 for 21-35, its style LoRA on both, 35 steps dpmpp_2m_sde_gpu beta; on SDXL: Nova Anime XL for steps 0-18, MiaoMiao Harem v2.0 for 18-30, dpmpp_2m_sde_gpu beta.",
"models": [],
"tested": {
"gpu": "RTX 4050 Laptop",
"vram_gb": 6,
"runs": [
{
"model": "Anima (Kirazuri → Realskin 1.3 at step 21)",
"size": "1216×832",
"seconds": 79
},
{
"model": "SDXL (Nova Anime XL → MiaoMiao Harem v2.0 at step 18 of 30)",
"size": "832×1216",
"seconds": 41
}
],
"date": "2026-11-03"
},
"variants": {
"anima": {
"nodes": {
"second_model": {
"class_type": "UNETLoader",
"like": "$loader",
"inputs": {}
},
"first": {
"class_type": "KSamplerAdvanced",
"like": "$sampler",
"inputs": {
"model": [
"$sampler.model",
"*"
],
"positive": [
"$sampler.positive",
"*"
],
"negative": [
"$sampler.negative",
"*"
],
"latent_image": [
"$sampler.latent_image",
"*"
],
"add_noise": "enable",
"start_at_step": 0,
"end_at_step": 21,
"return_with_leftover_noise": "enable",
"steps": 35,
"sampler_name": "dpmpp_2m_sde_gpu",
"scheduler": "beta"
}
},
"second": {
"class_type": "KSamplerAdvanced",
"replaces": "$sampler",
"inputs": {
"model": [
"second_model",
0
],
"latent_image": [
"first",
0
],
"add_noise": "disable",
"start_at_step": 21,
"end_at_step": 10000,
"return_with_leftover_noise": "disable",
"steps": 35,
"sampler_name": "dpmpp_2m_sde_gpu",
"scheduler": "beta"
}
}
},
"after": "The canvas's sampler became two, with the tested Anima sampling (35 steps, dpmpp_2m_sde_gpu, beta): the first runs steps 0 to 21 on the canvas's model, the second (second_model, a new UNET loader that starts as the same model) from step 21 to the end, and the picture goes on to the decode as before. set_model second_model to the other Anima model the user wants (it reuses the text encoder and prompts). A LoRA on the first model (a style) is not on the second: add_lora it onto second_model too when the user wants it kept (the tested route did). Move the switch with the first sampler's end_at_step and the second's start_at_step together (earlier: more of the second model, later: more of the first). Keep dpmpp_2m_sde_gpu: er_sde came out grainy split on two Anima models. For a picture drawn from an empty latent; then run_workflow."
}
}
}