ComfyPilotComfyPilot
工作流 / 图像 / MiniMax Showrunner: Pro-Grade Video Director | 专业级视频导演.
MiniMax Showrunner: Pro-Grade Video Director | 专业级视频导演.

MiniMax Showrunner: Pro-Grade Video Director | 专业级视频导演.

MiniMax Showrunner: Pro-Grade Video Director | 专业级视频导演.

Comfy Manager is SLOW to upload. sometimes a day or so. If you get ANY missing nodes, just get them from my repo Here: https://github.com/lonecatone23All LC Notes now translate to the following:English, 中文, 繁體中文, Русский…

图像 67 个节点 455 次使用 lonecatone23 653 KB

下载工作流 JSON 查看官方来源

下载后把文件拖进 ComfyUI 窗口即可打开。

需要的权重

这个工作流引用了 1 个权重文件,其中 0 个能在本站模型库里找到。

MMH3 Showrunner V3.1.json 模型库暂未收录

节点构成

LCNote × 8
LCLabel × 8
SetNode × 7
GetNode × 7
LCLoraLoader × 2
LCNotify × 2
LCMiniMaxH3PipeV2 × 2
LCPreviewVideo × 2
LCShowText × 2
LCOptimizer × 2
LCOptimizerVideo × 1
LCSizePad × 1
LCFrameInterpolate × 1
LCSaveVideo × 1
LCLoadVideo × 1
LCSeed × 1

官方标注的模型

krea2RealVae_v10.safetensorskrea2_identity_edit_v2.safetensorsminimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensorsminimax_h3_fl2va_bf16.safetensorsqwen3VL-4B - Instruct-Heretic_v10.safetensorsrife426.pthtaeh3.safetensors

工作流 JSON

和上面「下载工作流 JSON」是同一份文件。

1{
2 "id": "2737e609-6b64-45aa-bc2c-bd0e3991e0fc",
3 "revision": 0,
4 "last_node_id": 260,
5 "last_link_id": 472,
6 "nodes": [
7 {
8 "id": 4,
9 "type": "LCOptimizerVideo",
10 "pos": [
11 1050,
12 1540
13 ],
14 "size": [
15 330,
16 588
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [],
22 "outputs": [
23 {
24 "name": "model",
25 "type": "MODEL",
26 "links": [
27 170
28 ]
29 },
30 {
31 "name": "clip",
32 "type": "CLIP",
33 "links": [
34 51
35 ]
36 },
37 {
38 "name": "vae",
39 "type": "VAE",
40 "links": [
41 52
42 ]
43 },
44 {
45 "name": "audio_vae",
46 "type": "VAE",
47 "links": [
48 53
49 ]
50 },
51 {
52 "name": "latent_upscaler",
53 "type": "LATENT_UPSCALE_MODEL",
54 "links": null
55 },
56 {
57 "name": "summary",
58 "type": "STRING",
59 "links": null
60 }
61 ],
62 "properties": {
63 "cnr_id": "ComfyUI_LC123_nodes",
64 "ver": "3c9f557ff893beead91e4369a66b67a4f8a17164",
65 "Node name for S&R": "LCOptimizerVideo",
66 "ue_properties": {
67 "widget_ue_connectable": [],
68 "input_ue_unconnectable": [],
69 "version": "7.8"
70 }
71 },
72 "widgets_values": [
73 "MiniMax H3 FL2VA",
74 "Optimal",
75 "MiniMax\\minimax_h3_fl2va_bf16.safetensors",
76 "★ Recommended",
77 "★ Recommended",
78 "★ Recommended",
79 "★ Recommended",
80 "★ Recommended",
81 "Auto",
82 "auto",
83 "auto",
84 "auto",
85 "off",
86 "auto",
87 "",
88 "auto",
89 ""
90 ],
91 "widgets_values_named": {
92 "base_model": "MiniMax H3 FL2VA",
93 "goal": "Optimal",
94 "model_file": "MiniMax\\minimax_h3_fl2va_bf16.safetensors",
95 "text_encoder": "★ Recommended",
96 "vae": "★ Recommended",
97 "audio_vae": "★ Recommended",
98 "latent_upscaler": "★ Recommended",
99 "lora": "★ Recommended",
100 "speed_ups": "Auto",
101 "attention": "auto",
102 "fp16_accumulation": "auto",
103 "step_cache": "auto",
104 "torch_compile": "off",
105 "clip_type": "auto",
106 "spectrum": "",
107 "veda": "auto",
108 "lc_optimizer_face": ""
109 },
110 "color": "#2E4A3B",
111 "bgcolor": "#2E4A3B"
112 },
113 {
114 "id": 13,
115 "type": "LCNote",
116 "pos": [
117 -20,
118 1050
119 ],
120 "size": [
121 970,
122 2210
123 ],
124 "flags": [],
125 "order": 1,
126 "mode": 0,
127 "inputs": [],
128 "outputs": [],
129 "title": "Notes 📝",
130 "properties": {
131 "lc_note": {
132 "source": "en",
133 "texts": {
134 "en": {
135 "text": "## Lonecat's H3 Showrunner 🎬\n\n---\n\n@[card: Follow me](https://civitai.com/user/lonecatone23)\n\n@[card: Follow me](https://www.instagram.com/synth.studio.models/)\n\n@[card: Get my stuff here](https://github.com/lonecatone23)\n\n@[card: Get my models here](https://huggingface.co/Lonecatone23)\n\n\n@[card: Buy me a ☕](https://ko-fi.com/lonecatone)\n\n### This is many hours of work. If you enjoy it, please 👍 like, 💬 comment, and feel free to ⚡ tip 😉\n\n---\n\n## 📦 Models & LoRAs\n\n💡 The **LC Optimizer** nodes pick the right file for your card (★ Recommended). The links are for downloading them.\n\n**MiniMax H3 🎥** (the movie)\n- [minimax_h3_fl2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors) (doesn't need an RTX 50 card)\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors)\n- [taeh3.safetensors](https://github.com/madebyollin/taehv/raw/main/safetensors/taeh3.safetensors) (the full 22.7 MB one, for the Live Preview, goes in `vae_approx`)\n\n**MiniMax H3 LoRAs**\n- [minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors) at 1.0: 8 steps, cfg 1. Talking comes out cleanest with it.\n- [MMH3 Realism Slider](https://civitai.com/models/3014078) (LoRA loader)\n- mvmt_h3_lora_v1_500 (LoRA loader)\n\n**Krea 2 🖼️** (cast, places, props and storyboard pictures)\n- [Krealism V3.1](https://civitai.com/models/2786809/krealism?modelVersionId=3347802) (any format)\n- [qwen3vl_4b Heretic](https://civitai.red/api/download/models/3066989?fileId=2945735) text encoder, or the stock [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n- [krea2RealVae_v10.safetensors](https://huggingface.co/artsyww/KREA2REALVAE/resolve/main/krea2RealVae_v10.safetensors)\n- [krea2_identity_edit_v2.safetensors](https://huggingface.co/conradlocke/krea2-identity-edit/resolve/main/krea2_identity_edit_v2.safetensors?download=true) with the [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) nodes\n\n**MOSS Image 🗺️** (storyboard layout)\n- [moss_image_sft_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors)\n- [qwen3.5_9b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors)\n- [flux2-vae_small.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/vae/flux2-vae_small.safetensors) (MOSS needs this VAE)\n\n**Story writer ✨** (optional)\n- [Qwen3-VL-8B-Instruct-abliterated-v2 GGUF](https://huggingface.co/prithivMLmods/Qwen3-VL-8B-Instruct-abliterated-v2-GGUF) (Q8_0) and its **mmproj**, in `models/LLM`.\n- 💡 **Vision Assistant → Models** downloads it with one click.\n\n**Downloads by themselves the first time** (a yellow message tells you, **Stop** cancels)\n- **BiRefNet** (takes the background off cast and prop pictures) and **RIFE 4.26**.\n- **RTX Super Resolution** needs an NVIDIA RTX card.\n- Face check (optional): `face_detection_yunet_2023mar.onnx` + `face_recognition_sface_2021dec.onnx` from the [OpenCV zoo](https://github.com/opencv/opencv_zoo) in `models/facerestore`. Without them Make skips the face match.\n\n---\n\n# ✋ Read this first\n\n- **What this does:** you write a short movie on one node (who is in it, where it happens, and every shot), make a picture for each person and place, and press **Run**. It renders the shots one after another with MiniMax H3 and joins them into one movie with sound and dialogue.\n- **Do the steps in order.** Every step uses what the step before it made. Skipping ahead is the fastest way to get strangers in random rooms.\n- **💡 The guided tour:** open **Vision Assistant** (the left sidebar) → **Tour**. It lights up each part of the workflow in order and marks the settings that matter. Use it alongside this note.\n- 🛑🚫 **Don't bypass nodes by hand.** **Cards & Storyboard 🃏** is bypassed on the inside on purpose. The **✨** buttons switch on what they need and put it back.\n- ⚠️ This is a **long job** on a **big model**. 32 GB of VRAM is comfortable at 960 x 544. Less works, just slower.\n\n## The basics\n- **This workflow saves every step.** \n - If you create images, video sections, etc., you can 💾 save the project, work on a different project, and come back to it or redo a section at any time.\n - **Nothing is lost:** what finished stays finished.\n- **Pictures and the movie are separate Runs:**\n - **Pictures:** press **✨** on a card's picture slot (steps 2 and 3). The Story switches on the part of **Cards & Storyboard 🃏** that makes it, keeps **Make 🎥** off, runs once and puts everything back.\n - **Movie:** press **Run** (step 4). **Make** renders every shot that isn't made yet.\n - ⚠️ **Make has to be off while a picture is made.** A new picture changes the shots that use it, and Make would render them again on the same Run. ✨ does that for you.\n- **Save💾** Everything is saved in a **project** folder named on the Story node. Close ComfyUI, come back tomorrow, and it's all still there.\n\n**🎨Post processing**\n- Leave these switches off until you are ready to use it\n- It processes the entire movie all at once and it is heavy, so I would not let it just run.\n- Keep **Make 🎥** on (don't bypass it).\n\n---\n\n## ⚙️ Settings\n\n- **megapixels**: 0.82 = 1216 x 672 (16:9). 0.52 (960 x 544) is faster, but faces in wide shots get very small.\n - Keep one size for the whole project. Change it anyway and the next Run makes every shot made at the old size again, in order (the 📐 size line lists them).\n - 💡 Don't stress too much over quality here. Push out decent, but 1 MP just slows down what you can upscale in the end.\n- **Steps**: 12 with the turbo LoRA at 0.7 (the **Stock int8 + turbo LoRA 0.7** row in **Optimal setups and times ⏱️**). 8 with turbo at 1.0 is faster and a little softer. No turbo is slower and not better in my tests.\n- **LC Seed**: the seed generator is the starting seed for H3 (each new shot) and the storyboard (MOSS and Krea 2: seed + shot number).\n - Every made shot keeps its own seed with its take, and ↻ (remake) always picks a new one.\n - The card pictures and post processing have their own seeds. Leave it alone.\n- **Models & LoRAs**: the LC Optimizer picks the H3 files for your card. \n - I suggest leaving it on **★ Recommended**.\n - I've tested it on other models. 10EROS works well, Singularity has voice issues. \n - LoRAs. Your mileage will vary. \n- **Storyboard creator Models & Settings**: the models that make the pictures.\n - **Card Model (Krea2)** with the **Character or Style LoRA** makes the cast, outfit, place and prop pictures, and redraws the storyboard frames with the **🪪 Edit LoRA**.\n - **Storyboard model 📖 (MOSS)** lays the shots out from your boxes.\n - Leave both on **★ Recommended** unless you have your own.\n\n\n---\n\n## Step 1: 🎬 Write the story\n\nEverything happens on the big **LC H3 Story** node. It has five lists: **🎭 Cast**, **👗 Outfits**, **📍 Places**, **👜 Props** and **🎞 Shots**.\n\n- ✋ **The H3 prompt shows the shot's lines.** Make wraps the people, pictures and sound around them when the shot is made. Open a shot's **H3 prompt** to read it.\n - **↻** builds it again right now, so you see what will be sent before you spend time rendering.\n - **✎ Edit** lets you write it yourself. Your text is sent as written, and the cards stop changing it until you press **↶ Back to automatic**.\n- **project name** (top): the folder everything is saved in, `output/LC_H3/<name>/`. Name it first. **📂** opens a saved project, **💾** saves now (every Run saves too). **💾 Save as** keeps a variant under a new name: the made shots come along and the original stays as it is.\n- **📐 size** (under the project name): the size this project is made at (the last Run), with its aspect ratio. Shots made at another size are listed (⚠) and made again on the next Run.\n- **The look of the whole movie** (top line): a few words for the film style (\"cinematic, soft natural light, shallow depth of field\"). It goes into every shot.\n\n### 🖼 Picture slots\n- Cast, outfit, place, 🌐 360, prop, 🖼 start and 🏁 end all work the same way.\n - Click a slot or drop a picture on it. **📚 Library** has ready-made ones, **⬆ Upload…** takes a file.\n - **✨** makes one for you (steps 2 and 3).\n - **↶** brings back the picture before this one. The last 8 are kept.\n - **✂** crops what the card uses of a picture (a head and shoulders out of a full-length photo, just the coat of an outfit).\n - **×** empties the slot (**↻** on a start or end frame).\n\n### ✨ Write the story (optional)\n- Type a short pitch (\"Nova and Anika meet for coffee, Anika tells a story that goes too far, Nova leaves\") and press **✨ Write the story**. A local model fills in the look, cast, places and shots once.\n- After that it's plain text you edit. It never writes again unless you press the button again (which replaces the cards; pictures and voices on cards with the same name stay).\n- Needs the **Story writer model** above. Pick it in the dropdown next to the button.\n- **🔞 NSFW** (in the ✨ Write box, off by default): lets the writer write adult scenes, the same rule as LC Vision's NSFW style tag. Off, it writes the way it always has. Saved with the project.\n\n\n### 🎭 Cast: one card per person\n- **Name**: start with a capital letter. Shots find people by this exact name.\n- **who**: woman, man, girl, boy, person, cat, dog. It tells people apart in the prompt.\n- **look**: one line, the words H3 follows most. Describe the head and hair, then stop: age, face, eyes, freckles, skin, hair (length too). \"mid twenties, a soft oval face, green eyes, light freckles, long wavy blonde hair\". Never clothes: they go in the outfit picture.\n - ⚠️ No body words either (breasts, curvy, figure). Next to a bare-shouldered headshot they can make H3 leave the clothes off. The Story warns you (👗). The outfit picture shows the body.\n- **face picture**: a headshot, made in step 2 (✨ on the slot), or yours (click the square or drop a picture on it). The background is automatically removed and the face is placed on a plain grey background to prevent it from bleeding into the scene or outfit.\n - Headshot means head and hair. No shoulders, no clothes: clothes in a headshot beat every outfit picture.\n- **👗 outfit picture**: what they wear from their first shot, head to toe. Made in step 2 (✨ on the 👗 slot), or yours.\n - **outfit notes**: the whole outfit in detail. The picture is made from it, and H3 reads only its first piece of clothing as the outfit's name (\"dark blue jumpsuit\"). Start with the main piece and its color.\n- **🎤 voice** (optional): a 2 to 15 s clip of how they sound. H3 copies the voice, not the words.\n- **📋** copies the name and look to paste into another workflow.\n\n### 👗 Outfits: the clothes, one card per outfit\n- ✋ **Everyone needs clothes from somewhere.** The headshot carries none. Give each person a 👗 outfit picture on their cast card. With none, they get different clothes in every shot, and the Story warns you (👗).\n- An outfit card is a change of clothes.\n - It can also be a state of dress: \"naked\", \"topless, black jeans\", \"wrapped in a white towel\". H3 gets it as written.\n- **name**: a simple name: \"red cocktail dress\", \"yoga outfit\", \"gym clothes\". With a picture, it's all H3 reads about the outfit.\n - Never a list of pieces. Shoes and pants in the words pull close-ups wide (the Story warns you).\n- **who wears it**: the person.\n- **description**: the whole outfit head to toe, in detail, **a color for every item**, with the shade: \"an off the shoulder grey cutoff sweatshirt, high waisted black leggings with a cross stitch band, white Nike gym shoes\". Only the picture is made from it.\n - Layers outside first, with \"over\". Patterns name their colors (\"floral blouse in pale peach and green\"). Fabric helps (denim, silk, knit, leather).\n- **picture**: made in step 2 (✨ on the slot: the person who wears it, head to toe, on plain grey), or yours. It carries every detail the name doesn't say.\n- **How it plays:**\n - Everyone starts in their cast card's 👗 outfit. To change, pick another on a shot with **👗**, or name it in the action (\"Nova comes back in the red dress\"). They stay in it from that shot on.\n - Each shot gets \"wearing <name>\" in the prompt and the outfit picture. Close-ups stay close: no pants or shoes in the words.\n - Tested: a one-strap red dress with silver details came through from the picture alone, named just \"red dress\".\n - ⚠️ **Mismatched reference**: a cut back to an earlier camera opens on that shot's first frame, and a wide takes its room from the place's first wide. If that frame shows other clothes, people or props, the Story warns you. Pin a start frame, or give the scene its own place card.\n\n### 📍 Places: one card per location\n- **name**: \"the cafe\". Shots pick their place by this name.\n- **sound**: sounds you can hear, nothing else: \"rain on the glass, cups clinking, footsteps\".\n - ✋ **Never write who speaks** (\"nobody speaks\", \"no voices\"). Naming speech makes H3 speak: the same silent shot talked in French and English with it and was silent without it. The Story adds \"Nobody speaks.\" to a shot with no line by itself.\n- **description**: what is there: the room, the furniture, the light.\n- **room picture**: the place, **empty**. Made in step 2 (✨ on the slot), or yours.\n- **🌐 360** (recommended): **one** panorama of the whole room (step 2, ✨ on the 🌐 slot). You don't make a picture per shot: the Story cuts each shot's view out of it by itself.\n - **Set it once:** turn the small viewer under the place until it shows what your wide shot shows (**📷 the wide shot faces**). That is \"front\". Every angle counts from there: 90 = right side of the room, -90 = left, 180 = behind the camera.\n - **Close-ups and medium shots get their view automatically.** One across the table from someone who already has an angle gets the reverse angle (+180), so the two of them have opposite sides of the room behind them. The others face the way the wide shot faces.\n - **Want a different angle?** Press **🌐** on the shot card and drag the view. Your angle always wins over the automatic one.\n - The view is cut as a flat picture (in the project's `views/` folder) and used as that shot's background, by Make and by the storyboard.\n - Wide shots use the room picture and the anchor, unless you aim them with 🌐 too.\n- **📌 anchors**: frames that keep this room the same across cuts. Empty at first: see **📌 Anchors** below.\n\n### 👜 Props: one card per object that matters\n- Only for an object that must look the same in every shot (the red umbrella, the letter, the ring).\n- **name**: \"the red umbrella\". ✋ Use these **exact words** in a shot's action, and that shot gets the prop's picture.\n- **description**: what it looks like.\n- **picture**: made in step 2 (✨ on the slot), or yours. It goes on plain grey like the cast.\n\n\n**💡 Need something simple?** \n- Every cast, outfit, prop and 🌐 360 slot has a 📚 Library tab in its picture picker: 102 ready-made pictures (30 cast headshots, 32 seasonal outfits, 24 props, 16 360 panoramas). Browse them all: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n\n### 🎞 Shots: one card per shot, top to bottom is the movie\n- **framing**: how close the camera is.\n - **wide shot**: the whole room and everyone in it. Start a scene with one.\n - 💡 A face in a wide shot is only about 45 to 75 px wide and H3 draws in 16 px blocks, so faces and mouths can garble. Use a **medium shot**, **two-shot** or **over the shoulder** when a face or a line matters.\n - **side view**, **two-shot**: two people in frame.\n - **medium shot**: waist up. **close-up**: face and shoulders. **extreme close-up**: the face.\n - **over the shoulder**, **from behind**, **custom** (you describe it in the action).\n- **who it's on**: the person the camera is on, **everyone**, or **nobody**.\n - **nobody**: an empty shot, the place alone (a ship coming out of hyperspace, an empty street). No faces are sent, and only a voiceover can speak.\n- **move**: still, slow push-in, slow pull back, pan, tracking, orbit, handheld. Still is the safest.\n- **✂ cut / 🎞 keep rolling**:\n - **cut**: a new shot. It gets the faces, the room and the anchor. Use it almost always.\n - **keep rolling**: no cut, the camera carries straight on from the end of the shot before. The faces and the room carry on from those frames, so it gets **no pictures**.\n - One exception: people who walk in (out of an empty shot, or someone new) get their face and outfit pictures, or H3 invents their faces.\n - 🔒 A keep rolling card **locks** the framing, the place, the 🌐 angle, the outfits, the 🖼 start frame and the 📐 boxes to the shot it rolls from (greyed out, \"🔒 from shot N\"). **Who is in it** stays yours: people can walk in.\n - Need a new framing or place? Change the shot it rolls from, or make this one a **cut**. H3 can't carry on into a new framing: it cuts by itself to a room it invents.\n- **where**: the place. Empty = the same place as the shot before.\n- **seconds**: empty (**auto**) fits the action and the line. Type a number to set it. A line that can't fit stretches the shot.\n- **action**: what happens before the line. Short sentences, present tense, one thing each.\n- **speaker** + **line**: who talks, and the words exactly as they say them. One line per shot.\n- **after**: what happens after the line (optional).\n - 💡 The action plays before the line. Something that should happen once she has spoken (the cup arriving after she orders) goes here.\n- **🌐** (optional): aim this shot's camera inside the place's 360 panorama yourself. Close-ups get an angle automatically; this overrides it. **behind** is what is behind the person in words (\"the arched windows\"). H3 follows words over pictures, so fill it in.\n- **🖼 start** / **🏁 end**: the first or last frame of the shot (✨ in step 3, or yours). H3 copies a start frame exactly.\n - 🖼 start is for cuts. A keep rolling shot starts from the shot before (its slot is greyed out).\n - **🏁 end**: pin one only when the action ends on it (\"she stops at the door\"). A person who gets there early stands frozen.\n- **📐**: draw boxes for who stands where (and props), on the shot's 🌐 angle. The storyboard uses them in step 3.\n- **🎛 LoRA for this shot**: any LoRA for this shot only (a character, an outfit, a backdrop, a style, an action), on top of the LoRAs in the pipe. The next cut starts without it.\n - Pick it the same way as in the LC LoRA Loader: the folder picker, ◀ strength ▶, and **ℹ** for its trigger words. **✕** takes it off.\n - keep rolling uses the LoRAs of the shot it rolls from (🔒). A new LoRA mid-roll jumps at the join.\n - 💡 Character LoRAs: put the trigger word (usually the name) in the cast look and the action. One per person. A man and a woman with their own LoRAs held both faces; two women in one shot tend to blend, so give each her own close-up.\n - 💡 Name the outfit. A LoRA trained on less clothing brings less clothing unless a card says what they wear.\n- **H3 prompt**: under each card, the shot's lines (see the top of this step). The Story's **warnings** (🛑 must fix, ⚠️ should look at) sit there too.\n- **↑ ↓** move a shot up or down the list. **auto** (next to **seconds**, once you typed a number) puts the length back to automatic.\n- **max_shot_seconds** (on the node, 20): the longest shot made in one go. Longer shots are made in parts that carry on from each other.\n\n---\n\n## ✍️ Prompting:\n### 📖 **The full guide:** [H3 Showrunner Prompting Guide](https://github.com/lonecatone23/ComfyUI_LC_AV_nodes/blob/main/docs/showrunner/PROMPTING_GUIDE.md)\n\n### The short version:\n\n- **Looks**: one line each, head and hair only. Say the hair length, or H3 picks one.\n- **Outfits**: a simple name on the card (\"gym clothes\"). The details go in its description, a color with a shade for every item: \"faded olive jacket over a cream t-shirt\".\n- **Close-ups**: don't name the other person in the action. \"Anika stares at Nova\" made H3 cut to Nova halfway through Anika's close-up. \"Anika stares across the table\" kept her the whole shot. The Story warns you (⚠️).\n- **Count props once**: \"Each of them holds one cup.\" Or extras show up.\n- **Name the prop like its card**: the card says \"the red umbrella\", the action says \"Nova opens the red umbrella.\"\n- **Close-ups across a table**: \"Seen straight on from across the table, nobody in the foreground: the table edge runs along the bottom of the frame, her body square to the camera, eyes just past the lens to the left.\" Then say what is behind her.\n- **No mouth actions during a line**: drinking or eating while talking loses the lips. The Story puts the cups down for you, but write the sip after the line.\n- **Say what happens, not what doesn't**: \"Nova sits still and listens\", not \"Nova doesn't move\".\n\n---\n\n## Step 2: 📸 Make the pictures\n\n- Press **✨** on a picture slot. The picture lands on its card by itself.\n - ✋ **Name the card first.** A blank name never writes over a picture.\n - If the slot already has a picture, ✨ asks first. The old one is kept: **↶** brings it back (the last 8 are kept).\n- What each slot makes:\n - **cast card, headshot slot**: head and hair, calm neutral face, no clothes, on plain grey (1024 x 1024).\n - **cast card, 👗 slot**: the person head to toe in their outfit, from the **outfit notes** (896 x 1152).\n - **outfit card**: its **description** on the person who wears it, head to toe, on plain grey (896 x 1152). Nobody wears it: an invisible mannequin.\n - **place card, room slot**: the room, empty, the whole space in view (1344 x 768).\n - **place card, 🌐 slot**: the room all the way round (2:1) for the 360 view.\n - **prop card**: the object alone, on plain grey (1024 x 1024).\n- ✋ **Cast, outfit and prop pictures always end up on plain grey**: drafted here or dropped in yourself, the background comes off (BiRefNet). A card's own background, props and expression leak into every shot it's in.\n- 💡 Not happy? Press **✨** again: the seed changes every time. **↶** goes back to the one before.\n- 💡 **Neutral faces only.** A smiling card gives you a smiling actor in every shot. It's not a hard lock, but it pulls.\n- 💡 **360 panorama**: one per place. Make a few and keep one with a level horizon and nobody in it, then set **📷 the wide shot faces** on the place card once.\n- 💡 **More control?** An art style or a size goes on **LC H3 Story Card Prompt** inside **Cards & Storyboard 🃏**. ✨ uses what is set there.\n- 📚 **Or skip making them:** every cast, outfit, prop and 🌐 360 slot has a **📚 Library** tab in its picture picker: 102 ready-made pictures (30 cast headshots, 32 seasonal outfits, 24 props, 16 360 panoramas).\n - Click one: it downloads once and lands on the card. An empty card gets its name and text too.\n - Browse them all: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n---\n\n## Step 3: 🗺️ Storyboard (optional, recommended)\n\nThe first frame of each shot, built from your cards, so every shot starts with the right people in the right room.\n\n- On each shot card, press **📐** and draw a box for each person (and prop) where they should be. The boxes sit on the shot's 🌐 angle, so you place people on the view the shot will use. Pick who each box is.\n- Press **✨** on the shot's **🖼 start** slot. **MOSS** lays the shot out from the boxes, then **Krea 2 Identity Edit** redraws it sharp with your cast cards. It lands in the slot.\n - **🏁 end** works the same for the frame a shot lands on.\n - One ✨ per frame.\n- A later wide shot in a place you've already shown is built from the first wide shot's frame, so the room, the table and the camera side stay put.\n - ✋ **Box only who changes** (Nova coming back in the red dress). Everyone boxed is drawn again, and their face can drift.\n- ✋ **The start frame is the action's first moment.** Nova already seated in the frame + \"Nova comes back and sits down\" gave a second Nova walking in. Box her where she comes from, or write the action from where the frame is.\n- ✋ **H3 copies a start frame exactly.** A soft or wrong picture makes a soft or wrong shot. Press **✨** again for a new one, or **↶** for the one before.\n\n---\n\n## Step 4: 🎥 Make the movie\n\n- Press **Run**. **Make** renders every shot that isn't made yet.\n- One Run makes the whole movie, shot after shot, and joins it as it goes. 1 shot or 20.\n- **Stop** ends it with nothing left in the queue. Run again and it picks up where it stopped.\n- **The board** (under the shots on the Story node):\n - ✅ made, ✏️ changed since it was made, 🔒 locked.\n - ▶ plays a shot: its own part, without the second and a half it carries over from the shot before.\n - ↻ makes **that one shot** again with a new seed, then stops. Nothing after it is touched (the old take is kept in `takes/`).\n - 💡 A keep rolling shot right after it won't join smoothly until you ↻ it too.\n - 🔒 locks a keeper so nothing remakes it.\n - 🎬 plays the whole movie. **⟳** looks for new takes.\n- **Long story?** ▾ next to a shot's number folds it to one line (▸ all / ▾ all in the 🎞 Shots header). The project bar (name, 📂, 💾) stays pinned at the top while you scroll.\n- **Changed a shot?** It turns ✏️. Run remakes only the ✏️ shots, the rest stay.\n- **info** (Make's text output) after every shot:\n - **face match**: 0.55 and up = same person, 0.40 to 0.55 = close, under 0.40 = someone else. Redo it.\n - **join**: how smooth each keep-rolling join is.\n\n### 📌 Anchors: keeping the room the same\n- **What it is:** a still frame of a place, saved on the place card's **📌 anchors** row. It shows H3 the room as it must stay: the furniture, the windows, who sits where.\n- **Why:** on every cut H3 builds the room again. Without something to copy, the café gets a new counter, the table moves, and people swap seats.\n- **Automatic** (Make's **hold_scene** on, the default): the first wide shot made in a place becomes its anchor. Every later cut there with **two or more people** gets it. A close-up of one person gets the room picture or its 360 view instead.\n- **Your own** (better): play a made shot on the board (▶), pause on a frame where the room and everyone in it look right, press **📌 Room anchor**. The button turns green and says which anchor it added. It lands in that place's anchors row and replaces the automatic one. The **+** square in the row takes any picture.\n- **🖼 Start shot N here** (same player): this frame becomes the **next** shot's 🖼 start frame, so the next shot opens exactly on it. A keep rolling next shot becomes a cut.\n - 💡 📌 only remembers the room. It never starts a shot. To start a shot on a frame, use 🖼.\n- **Cutting back** to a setup you've already shown (same place, framing and person) opens on that shot's first frame by itself, so the camera, room and people match. Remake the first one and the cut-back is marked ✏️ too.\n- Keep-rolling shots never get an anchor: they carry on from the frames before them.\n- A storyboard start frame (step 3) beats an anchor: H3 copies it exactly. Anchors matter most for shots without one.\n- × on an anchor removes it.\n\n---\n\n## Step 5: 🎞️ Post Processing (when the movie is done)\n\n### ⚠️ It will not save unless **Save Video 💾** is switched on!\n- Keep **Make** on: with every shot made it just hands over the finished movie. Nothing renders again.\n- Turn on what you want in the panel, in this order:\n - **Load Video**: needed for everything below.\n - **Frame Interpolate** 24 → 48: about half the jitter for a sliver of detail. Under a minute.\n - **RTX Super Resolution**: **deblur** sharpens soft edges at the same size. Set **mode** to **upscale** for 2x instead. Needs an NVIDIA RTX card.\n - **Save Video 💾**: nothing saves without it.\n - **Audio Volume** and **Audio EQ**: louder or quieter, and a simple 3-band EQ for the voices. Leave them off if the sound is fine.\n\n---\n\n### File Storage Locations\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors\n│ │ ├── Krealism V3.1\n│ │ └── moss_image_sft_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│ │ ├── qwen3vl_4b Heretic (or qwen3vl_4b_fp8_scaled)\n│ │ └── qwen3.5_9b_int8_convrot.safetensors\n│ ├── 📂 vae/\n│ │ ├── minimax_h3_video_vae_int8_convrot.safetensors\n│ │ ├── minimax_h3_audio_vae_fp32.safetensors\n│ │ ├── krea2RealVae_v10.safetensors\n│ │ └── flux2-vae_small.safetensors\n│ ├── 📂 vae_approx/\n│ │ └── taeh3.safetensors\n│ ├── 📂 loras/\n│ │ ├── 📂 MiniMax/\n│ │ │ ├── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors\n│ │ │ ├── MMH3-RealismSlider-V1.safetensors\n│ │ │ └── mvmt_h3_lora_v1_500.safetensors\n│ │ └── 📂 Krea 2/\n│ │ └── krea2_identity_edit_v2.safetensors\n│ ├── 📂 LLM/\n│ │ └── Qwen3-VL-8B-Instruct-abliterated-v2 GGUF (+ its mmproj)\n│ ├── 📂 background_removal/\n│ │ └── BiRefNet-general.safetensors (downloads on first use)\n│ ├── 📂 facerestore/\n│ │ └── yunet + sface .onnx (optional)\n│ └── 📂 rife/ (downloads on first use)\n├── 📂 input/\n│ └── 📂 lc_h3_refs/\n│ └── 📂 <project>/\n│ ├── cast_, place_, pano_, prop_ pictures\n│ └── start_ and end_ frames\n└── 📂 output/\n └── 📂 LC_H3/\n └── 📂 <project>/\n ├── story.json, plan.json\n ├── <project>.mp4 (the finished movie)\n ├── 📂 views/ (the 360 angles)\n └── 📂 takes/\n ├── seg_001.mp4, seg_002.mp4, etc.\n └── old takes (nothing is ever deleted)\n```\n\n---\n\n*\"True Nothing is. Permitted Everything is\"*- Yoda Auditore, **Assassin's Wars**"
136 },
137 "zh": {
138 "text": "## Lonecat's H3 Showrunner 🎬\n\n---\n\n@[card: 关注我](https://civitai.com/user/lonecatone23)\n\n@[card: 关注我](https://www.instagram.com/synth.studio.models/)\n\n@[card: 获取我的作品](https://github.com/lonecatone23)\n\n@[card: 获取我的模型](https://huggingface.co/Lonecatone23)\n\n\n@[card: 请我喝杯 ☕](https://ko-fi.com/lonecatone)\n\n### 这是很多个小时的心血。如果你喜欢,请 👍 点赞、💬 评论,也欢迎 ⚡ 打赏 😉\n\n---\n\n## 📦 Models & LoRAs(模型和 LoRA)\n\n💡 **LC Optimizer** 节点会为你的显卡挑选合适的文件(★ Recommended)。下面的链接用来下载它们。\n\n**MiniMax H3 🎥**(影片)\n- [minimax_h3_fl2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors)(不需要 RTX 50 显卡)\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors)\n- [taeh3.safetensors](https://github.com/madebyollin/taehv/raw/main/safetensors/taeh3.safetensors)(完整的 22.7 MB 版本,给实时预览用,放在 `vae_approx`)\n\n**MiniMax H3 LoRAs**\n- [minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors) 强度 1.0:8 步,cfg 1。用它说话效果最干净。\n- [MMH3 Realism Slider](https://civitai.com/models/3014078)(LoRA loader)\n- mvmt_h3_lora_v1_500(LoRA loader)\n\n**Krea 2 🖼️**(角色、地点、道具和故事板图片)\n- [Krealism V3.1](https://civitai.com/models/2786809/krealism?modelVersionId=3347802)(任意格式)\n- [qwen3vl_4b Heretic](https://civitai.red/api/download/models/3066989?fileId=2945735) 文本编码器,或原版 [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n- [krea2RealVae_v10.safetensors](https://huggingface.co/artsyww/KREA2REALVAE/resolve/main/krea2RealVae_v10.safetensors)\n- [krea2_identity_edit_v2.safetensors](https://huggingface.co/conradlocke/krea2-identity-edit/resolve/main/krea2_identity_edit_v2.safetensors?download=true) 配合 [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) 节点\n\n**MOSS Image 🗺️**(故事板布局)\n- [moss_image_sft_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors)\n- [qwen3.5_9b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors)\n- [flux2-vae_small.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/vae/flux2-vae_small.safetensors)(MOSS 需要这个 VAE)\n\n**Story writer ✨**(可选)\n- [Qwen3-VL-8B-Instruct-abliterated-v2 GGUF](https://huggingface.co/prithivMLmods/Qwen3-VL-8B-Instruct-abliterated-v2-GGUF)(Q8_0)和它的 **mmproj**,放在 `models/LLM`。\n- 💡 **Vision Assistant → Models** 一键下载。\n\n**首次使用时会自动下载**(会有黄色提示,**Stop** 可以取消)\n- **BiRefNet**(去掉角色和道具图片的背景)和 **RIFE 4.26**。\n- **RTX Super Resolution** 需要 NVIDIA RTX 显卡。\n- 人脸检查(可选):来自 [OpenCV zoo](https://github.com/opencv/opencv_zoo) 的 `face_detection_yunet_2023mar.onnx` + `face_recognition_sface_2021dec.onnx`,放在 `models/facerestore`。没有它们的话,Make 会跳过人脸比对。\n\n---\n\n# ✋ 先读这里\n\n- **它能做什么:** 你在一个节点上写一部短片(谁出场、在哪里发生、每一个镜头),为每个人物和地点做一张图片,然后按 **Run**。它用 MiniMax H3 一个接一个地渲染镜头,再拼成一部带声音和对白的影片。\n- **按顺序做每一步。** 每一步都要用到上一步做出的东西。跳步是让陌生人出现在随机房间里的最快办法。\n- **💡 导览:** 打开 **Vision Assistant**(左侧边栏)→ **Tour**。它会按顺序点亮工作流的每个部分,并标出重要的设置。和这份说明一起用。\n- 🛑🚫 **不要手动绕过节点。** **Cards & Storyboard 🃏** 里面是特意设成 bypass 的。**✨** 按钮会打开它需要的部分,用完再恢复。\n- ⚠️ 这是用**大模型**跑的**长任务**。960 x 544 下 32 GB 的 VRAM 比较宽裕。更少也能跑,只是更慢。\n\n## 基础\n- **这个工作流会保存每一步。**\n - 如果你做了图片、视频片段等,可以 💾 保存项目,去做别的项目,随时回来继续或重做某个部分。\n - **什么都不会丢:** 做完的就是做完了。\n- **图片和影片是分开的 Run:**\n - **图片:** 在卡片的图片槽位上按 **✨**(第 2 步和第 3 步)。Story 会打开 **Cards & Storyboard 🃏** 里负责制作它的部分,让 **Make 🎥** 保持关闭,运行一次,然后把一切恢复原样。\n - **影片:** 按 **Run**(第 4 步)。**Make** 会渲染所有还没做的镜头。\n - ⚠️ **做图片时 Make 必须关闭。** 新图片会改变用到它的镜头,Make 会在同一次 Run 里把它们重新渲染。✨ 会自动帮你处理。\n- **保存💾** 所有内容都保存在 Story 节点上命名的**项目**文件夹里。关掉 ComfyUI,明天再回来,东西都还在。\n\n**🎨后期处理**\n- 准备好用之前,先把这些开关关着\n- 它一次处理整部影片,很吃资源,所以我不会让它就这么跟着跑。\n- 让 **Make 🎥** 保持打开(不要 bypass 它)。\n\n---\n\n## ⚙️ 设置\n\n- **megapixels**:0.82 = 1216 x 672(16:9)。0.52(960 x 544)更快,但 wide shot 里的脸会变得很小。\n - 整个项目保持同一个尺寸。如果还是改了,下一次 Run 会按顺序把所有用旧尺寸做的镜头重做一遍(📐 size 那一行会列出它们)。\n - 💡 不用太纠结这里的画质。出得还行就够了,1 MP 只会拖慢速度,而这些最后都可以放大。\n- **Steps**:配合强度 0.7 的 turbo LoRA 用 12(**最佳设置和时间 ⏱️** 里的 **原版 int8 + turbo LoRA 0.7** 那一行)。turbo 强度 1.0 配 8 步更快,画面稍软一点。不用 turbo 更慢,在我的测试里也没有更好。\n- **LC Seed**:种子生成器是 H3(每个新镜头)和故事板(MOSS 和 Krea 2:seed + 镜头编号)的起始种子。\n - 每个做好的镜头都会和它的 take 一起保留自己的种子,↻(重做)总是会换一个新的。\n - 卡片图片和后期处理有自己的种子。不用管它。\n- **Models & LoRAs**:LC Optimizer 为你的显卡挑选 H3 文件。\n - 我建议保持 **★ Recommended**。\n - 我在其他模型上也测试过。10EROS 效果不错,Singularity 有声音问题。\n - LoRA:效果因人而异。\n- **Storyboard creator Models & Settings**:生成图片的模型。\n - 带 **Character or Style LoRA** 的 **Card Model (Krea2)** 负责做角色、服装、地点和道具图片,并用 **🪪 Edit LoRA** 重画故事板的帧。\n - **Storyboard model 📖 (MOSS)** 根据你画的框排出镜头布局。\n - 除非你有自己的模型,两个都保持 **★ Recommended**。\n\n\n---\n\n## 第 1 步:🎬 写故事\n\n所有事都在大大的 **LC H3 Story** 节点上完成。它有五个列表:**🎭 Cast**(角色)、**👗 Outfits**(服装)、**📍 Places**(地点)、**👜 Props**(道具)和 **🎞 Shots**(镜头)。\n\n- ✋ **H3 prompt 显示镜头的文本。** 制作镜头时,Make 会在外面加上人物、图片和声音。打开镜头的 **H3 prompt** 就能读到。\n - **↻** 会马上重新生成一次,这样你在花时间渲染之前就能看到会发送什么。\n - **✎ Edit** 让你自己写。你的文本会原样发送,卡片不会再改它,直到你按 **↶ Back to automatic**。\n- **project name**(顶部):保存所有内容的文件夹,`output/LC_H3/<name>/`。先给它起名。**📂** 打开已保存的项目,**💾** 立即保存(每次 Run 也会保存)。**💾 Save as** 用新名字保存一个变体:做好的镜头会一起带过去,原项目保持不变。\n- **📐 size**(项目名下面):这个项目现在用的尺寸(最后一次 Run),以及它的宽高比。用别的尺寸做的镜头会被列出来(⚠),并在下一次 Run 时重做。\n- **整部影片的风格**(顶部那一行):几个描述影片风格的词(\"cinematic, soft natural light, shallow depth of field\")。它会进入每个镜头。\n\n### 🖼 图片槽位\n- Cast、outfit、place、🌐 360、prop、🖼 start 和 🏁 end 的用法都一样。\n - 点一个槽位,或把图片拖上去。**📚 Library** 里有现成的,**⬆ Upload…** 可以选文件。\n - **✨** 帮你做一张(第 2 步和第 3 步)。\n - **↶** 换回这张之前的图片。最近 8 张会保留。\n - **✂** 裁出卡片要用的那部分(从全身照里裁出头和肩膀,或者只要服装的外套)。\n - **×** 清空槽位(开始帧或结束帧上是 **↻**)。\n\n### ✨ Write the story(写故事,可选)\n- 输入一段简短的梗概(\"Nova and Anika meet for coffee, Anika tells a story that goes too far, Nova leaves\"),然后按 **✨ Write the story**。本地模型会一次性填好风格、角色、地点和镜头。\n- 之后它就是你自己编辑的纯文本。除非你再按一次按钮,它不会再写(再按会替换卡片;同名卡片上的图片和声音会保留)。\n- 需要上面的 **Story writer 模型**。在按钮旁边的下拉菜单里选它。\n- **🔞 NSFW**(在 ✨ Write 框里,默认关闭):让写作模型可以写成人场景,规则和 LC Vision 的 NSFW style tag 一样。关闭时照常写。随项目保存。\n\n\n### 🎭 Cast:每个人一张卡\n- **Name**:首字母大写。镜头靠这个名字精确地找到人。\n- **who**:woman, man, girl, boy, person, cat, dog。它让提示词里的人互相区分开。\n- **look**:一行,是 H3 最听从的词。写头部和头发,然后就停:年龄、脸、眼睛、雀斑、皮肤、发型(包括长度)。\"mid twenties, a soft oval face, green eyes, light freckles, long wavy blonde hair\"。绝不写衣服:衣服放在服装图片里。\n- **face picture**:一张头像,在第 2 步做(槽位上的 ✨),或者用你自己的(点方框或把图片拖上去)。背景会自动去掉,脸会放在纯灰背景上,防止背景渗进场景或服装里。\n - 头像指的是头和头发。不要肩膀,不要衣服:头像里的衣服会压过所有服装图片。\n - ⚠️ 也不要写身材相关的词(breasts, curvy, figure)。和露肩的头像放在一起时,它们可能让 H3 不给人穿衣服。Story 会警告你(👗)。身材交给服装图片来表现。\n- **👗 outfit picture**:他们从第一个镜头起穿的衣服,从头到脚。在第 2 步做(👗 槽位上的 ✨),或者用你自己的。\n - **outfit notes**:整套服装的详细描述。图片根据它生成,而 H3 只读其中第一件衣服,当作这套服装的名字(\"dark blue jumpsuit\")。先写主要的那件和它的颜色。\n- **🎤 voice**(可选):一段 2 到 15 秒、能听出他们声音的录音。H3 复制的是声音,不是说的内容。\n- **📋** 复制名字和 look,可以粘贴到别的工作流里。\n\n### 👗 Outfits:衣服,每套服装一张卡\n- ✋ **每个人的衣服都得有个来源。** 头像不带衣服。给每个人的角色卡配一张 👗 服装图片。没有的话,他们每个镜头都会穿不同的衣服,Story 会警告你(👗)。\n- 服装卡就是换一套衣服。\n - 也可以是一种穿着状态:\"naked\"、\"topless, black jeans\"、\"wrapped in a white towel\"。H3 会照写的内容收到。\n- **name**:一个简单的名字:\"red cocktail dress\"、\"yoga outfit\"、\"gym clothes\"。有图片的话,H3 对这套服装读到的就只有它。\n - 不要写成一串单品。词里写鞋子和裤子会把 close-up 拉成远景(Story 会警告你)。\n- **who wears it**:穿它的人。\n- **description**:整套服装从头到脚的详细描述,**每件都写颜色**,包括深浅:\"an off the shoulder grey cutoff sweatshirt, high waisted black leggings with a cross stitch band, white Nike gym shoes\"。只用来生成图片。\n - 分层从最外面写起,用 \"over\"。图案要写出颜色(\"floral blouse in pale peach and green\")。写上面料有帮助(denim, silk, knit, leather)。\n- **picture**:在第 2 步做(槽位上的 ✨:穿它的人,从头到脚,纯灰背景),或者用你自己的。它带有名字没说的每个细节。\n- **实际效果:**\n - 每个人一开始都穿角色卡的 👗 服装。要换装,就在某个镜头上选另一套 **👗**,或者在 action 里写出它(\"Nova comes back in the red dress\")。他们从那个镜头起一直穿着。\n - 每个镜头的提示词里会加上 \"wearing <name>\",并带上服装图片。Close-up 保持 close-up:词里不要有裤子或鞋子。\n - 测试过:一条带银色细节的单肩红裙,只靠图片就还原了出来,名字只写了 \"red dress\"。\n - ⚠️ **Mismatched reference**:切回到之前的某个机位时,会从那个镜头的第一帧开始,wide shot 的房间取自该地点的第一个 wide。如果那一帧里出现了别的衣服、人或道具,Story 会警告你。固定一个 start frame,或者给这个场景单独做一张地点卡。\n\n### 📍 Places:每个地点一张卡\n- **name**:\"the cafe\"。镜头靠这个名字选地点。\n- **sound**:能听到的声音,别的都不要写:\"rain on the glass, cups clinking, footsteps\"。\n - ✋ **绝不要写谁在说话**(\"nobody speaks\"、\"no voices\")。一提到说话,H3 就会说话:同一个无声镜头,写了它就用法语和英语说话,不写就安静。没有台词的镜头,Story 会自己加上 \"Nobody speaks.\"。\n- **description**:里面有什么:房间、家具、光线。\n- **room picture**:这个地点,**空无一人**。在第 2 步做(槽位上的 ✨),或者用你自己的。\n- **🌐 360**(推荐):整个房间的**一张**全景图(第 2 步,🌐 槽位上的 ✨)。你不用为每个镜头做图:Story 会自己从里面裁出每个镜头的视角。\n - **设一次就行:** 转动地点下面的小预览器,直到它显示的就是你的 wide shot 看到的画面(**📷 the wide shot faces**)。那就是\"正前方\"。所有角度都从这里算:90 = 房间右侧,-90 = 左侧,180 = 摄影机背后。\n - **Close-up 和 medium shot 会自动得到视角。** 隔着桌子拍、而对面那个人已经有角度时,会得到反打角度(+180),这样两人身后是房间相对的两侧。其他镜头朝向 wide shot 的方向。\n - **想要别的角度?** 在镜头卡上按 **🌐** 拖动视角。你的角度永远优先于自动角度。\n - 视角会裁成一张平面图片(在项目的 `views/` 文件夹里),作为那个镜头的背景,Make 和故事板都会用。\n - Wide shot 用房间图片和 anchor,除非你也用 🌐 去对准它们。\n- **📌 anchors**:让这个房间在切镜之间保持一致的帧。一开始是空的:见下面的 **📌 Anchors**。\n\n### 👜 Props:每个重要物件一张卡\n- 只用于每个镜头里都必须一样的物件(红伞、信、戒指)。\n- **name**:\"the red umbrella\"。✋ 在镜头的 action 里用这些**完全相同的词**,那个镜头就会拿到道具图片。\n- **description**:它的样子。\n- **picture**:在第 2 步做(槽位上的 ✨),或者用你自己的。和角色一样放在纯灰背景上。\n\n\n**💡 需要简单点的?**\n- 每个角色、服装、道具和 🌐 360 槽位的选图窗口里都有 📚 Library 标签:102 张现成的图片(30 张角色头像、32 套四季服装、24 个道具、16 张 360 全景)。全部浏览:[Hugging Face 上的 LC H3 Library](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n\n### 🎞 Shots:每个镜头一张卡,从上到下就是影片\n- **framing**:摄影机有多近。\n - **wide shot**:整个房间和里面所有人。用它开始一场戏。\n - 💡 wide shot 里的脸只有大约 45 到 75 px 宽,而 H3 以 16 px 的块来画,所以脸和嘴可能会乱。脸或台词重要时,用 **medium shot**、**two-shot** 或 **over the shoulder**。\n - **side view**、**two-shot**:画面里两个人。\n - **medium shot**:腰部以上。**close-up**:脸和肩膀。**extreme close-up**:脸。\n - **over the shoulder**、**from behind**、**custom**(在 action 里自己描述)。\n- **who it's on**:摄影机对着的人、**everyone**(所有人)或 **nobody**(没有人)。\n - **nobody**:空镜头,只有地点本身(飞船跃出超空间、一条空荡荡的街)。不会发送任何人脸,只有旁白可以说话。\n- **move**:still, slow push-in, slow pull back, pan, tracking, orbit, handheld。still 最稳。\n- **✂ cut / 🎞 keep rolling**:\n - **cut**:新镜头。它会拿到人脸、房间和 anchor。几乎都用它。\n - **keep rolling**:不切,摄影机直接从上一个镜头的结尾接着拍。人脸和房间都从那些帧接下去,所以它**不拿任何图片**。\n - 一个例外:走进画面的人(从空镜头里走进来,或者新出场的人)会拿到他们的人脸和服装图片,不然 H3 会给他们编一张脸。\n - 🔒 keep rolling 卡会把 framing、地点、🌐 角度、服装、🖼 start 帧和 📐 框都**锁定**为它接续的那个镜头(变灰,显示 \"🔒 from shot N\")。**谁在画面里**仍然由你决定:可以有人走进来。\n - 需要新的 framing 或地点?改它接续的那个镜头,或者把这个镜头改成 **cut**。H3 没法接着拍进一个新的 framing:它会自己切到一个它编出来的房间。\n- **where**:地点。留空 = 和上一个镜头同一个地点。\n- **seconds**:留空(**auto**)会配合 action 和台词。输入数字就固定时长。放不下的台词会把镜头拉长。\n- **action**:台词之前发生的事。短句、现在时、每句一件事。\n- **speaker** + **line**:谁说话,以及他们说的原话。每个镜头一句台词。\n- **after**:台词之后发生的事(可选)。\n - 💡 action 在台词之前播放。要在她说完之后才发生的事(点单之后杯子才送到)写在这里。\n- **🌐**(可选):自己在地点的 360 全景里对准这个镜头的摄影机。close-up 会自动得到角度;这个会覆盖它。**behind** 是用文字写出这个人身后有什么(\"the arched windows\")。H3 听文字多过看图片,所以要填上。\n- **🖼 start** / **🏁 end**:镜头的第一帧或最后一帧(第 3 步的 ✨,或者用你自己的)。H3 会原样复制 start 帧。\n - **🏁 end**:只有当 action 正好结束在那里时才固定一张(\"she stops at the door\")。提前到的人会僵站着。\n - 🖼 start 用于 cut。keep rolling 镜头从上一个镜头开始(它的槽位是灰的)。\n- **📐**:在镜头的 🌐 角度上,画框决定谁站在哪里(还有道具)。故事板在第 3 步会用到。\n- **🎛 LoRA for this shot**:只用在这个镜头的任意 LoRA(角色、服装、背景、风格、动作),叠加在 pipe 里的 LoRA 之上。下一个 cut 不再带它。\n - 选法和 LC LoRA Loader 一样:文件夹选择器、◀ 强度 ▶,以及看触发词的 **ℹ**。**✕** 移除它。\n - keep rolling 用它接着的那个镜头的 LoRA(🔒)。中途换 LoRA,接缝处会跳。\n - 💡 角色 LoRA:把触发词(通常是名字)写进角色外观和动作里。每人一个。一男一女各用自己的 LoRA 时,两张脸都保住了;两个女性在同一个镜头里容易混在一起,给她们各自的特写。\n - 💡 写明服装。用较少衣物训练的 LoRA 会带来较少的衣物,除非卡片写明他们穿什么。\n- **H3 prompt**:每张卡下面,显示镜头的文本(见本步骤开头)。Story 的**警告**(🛑 必须修,⚠️ 应该看看)也在那里。\n- **↑ ↓** 把镜头在列表里上移或下移。**auto**(输入数字后出现在 **seconds** 旁边)把时长恢复成自动。\n- **max_shot_seconds**(在节点上,20):一次做出的最长镜头。更长的镜头会分成几段,一段接一段地做。\n\n---\n\n## ✍️ 提示词:\n### 📖 **完整指南:** [H3 Showrunner 提示词指南](https://github.com/lonecatone23/ComfyUI_LC_AV_nodes/blob/main/docs/showrunner/PROMPTING_GUIDE.md)\n\n### 简短版:\n\n- **Looks**:每人一行,只写头和头发。写明头发长度,不然 H3 会自己挑。\n- **Outfits**:卡片上用简单的名字(\"gym clothes\")。细节写在 description 里,每件都写带深浅的颜色:\"faded olive jacket over a cream t-shirt\"。\n- **Close-up**:不要在 action 里写另一个人的名字。\"Anika stares at Nova\" 让 H3 在 Anika 的 close-up 拍到一半时切到了 Nova。\"Anika stares across the table\" 让整个镜头都停在她身上。Story 会警告你(⚠️)。\n- **道具只数一次**:\"Each of them holds one cup.\" 不然会多出来。\n- **道具名和卡片一致**:卡片写 \"the red umbrella\",action 就写 \"Nova opens the red umbrella.\"\n- **隔着桌子的 close-up**:\"Seen straight on from across the table, nobody in the foreground: the table edge runs along the bottom of the frame, her body square to the camera, eyes just past the lens to the left.\" 然后写她身后有什么。\n- **说台词时不要有嘴部动作**:边说话边喝或吃会丢掉口型。Story 会帮你把杯子放下,但喝一口要写在台词之后。\n- **写发生了什么,不写没发生什么**:\"Nova sits still and listens\",不要写 \"Nova doesn't move\"。\n\n---\n\n## 第 2 步:📸 做图片\n\n- 在图片槽位上按 **✨**。图片会自己落到它的卡片上。\n - ✋ **先给卡片起名。** 空名字永远不会覆盖图片。\n - 如果槽位里已经有图片,✨ 会先问你。旧的会保留:**↶** 可以换回来(最近 8 张会保留)。\n- 每个槽位会做出什么:\n - **cast 卡,头像槽位**:头和头发,平静的中性表情,不带衣服,纯灰背景(1024 x 1024)。\n - **cast 卡,👗 槽位**:根据 **outfit notes**,这个人穿着他们的服装,从头到脚(896 x 1152)。\n - **outfit 卡**:它的 **description** 穿在穿它的人身上,从头到脚,纯灰背景(896 x 1152)。没人穿它:用隐形人台。\n - **place 卡,room 槽位**:房间,空无一人,整个空间都在画面里(1344 x 768)。\n - **place 卡,🌐 槽位**:房间一整圈(2:1),用于 360 视角。\n - **prop 卡**:物件单独出现,纯灰背景(1024 x 1024)。\n- ✋ **角色、服装和道具图片最终都会在纯灰背景上**:无论是这里生成的还是你自己拖进去的,背景都会被去掉(BiRefNet)。卡片自带的背景、道具和表情会渗进它出现的每个镜头。\n- 💡 不满意?再按一次 **✨**:每次种子都会变。**↶** 回到上一张。\n- 💡 **只用中性表情。** 卡片上在笑,每个镜头里的演员都会笑。这不是硬锁定,但会往那边拉。\n- 💡 **360 panorama**:每个地点一张。多做几张,留一张地平线水平、没有人的,然后在地点卡上设一次 **📷 the wide shot faces**。\n- 💡 **想要更多控制?** 画风或尺寸放在 **Cards & Storyboard 🃏** 里面的 **LC H3 Story Card Prompt** 上。✨ 会用那里设定的内容。\n- 📚 **或者不用自己做:** 每个角色、服装、道具和 🌐 360 图片槽的选图窗口里都有 **📚 Library** 标签:102 张现成的图片(30 张角色头像、32 套四季服装、24 个道具、16 张 360 全景)。\n - 点一张:只下载一次,然后直接放到卡片上。空卡片还会自动填好名字和文字。\n - 全部浏览:[Hugging Face 上的 LC H3 Library](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n---\n\n## 第 3 步:🗺️ Storyboard(可选,推荐)\n\n每个镜头的第一帧,用你的卡片搭出来,这样每个镜头一开始就是对的人在对的房间里。\n\n- 在每张镜头卡上按 **📐**,在每个人(和道具)应该在的位置画一个框。这些框画在镜头的 🌐 角度上,所以你是在这个镜头会用的视角上摆放人物。选好每个框是谁。\n- 在镜头的 **🖼 start** 槽位上按 **✨**。**MOSS** 按框排好镜头布局,然后 **Krea 2 Identity Edit** 用你的角色卡把它重新画清楚。结果会落到槽位里。\n - **🏁 end** 的用法一样,用于镜头最终落在的那一帧。\n - 每帧按一次 ✨。\n- 在已经出现过的地点里,之后的 wide shot 会以第一个 wide shot 的帧为基础来搭,所以房间、桌子和摄影机那一侧都不变。\n - ✋ **只框出有变化的人**(Nova 换上红裙子回来)。每个被框的人都会重画,脸可能会跑偏。\n- ✋ **start 帧就是 action 的第一个瞬间。** 帧里 Nova 已经坐着 + \"Nova comes back and sits down\",结果出现了第二个 Nova 走进来。把她框在她过来的地方,或者按帧里的状态来写 action。\n- ✋ **H3 会原样复制 start 帧。** 图片糊或不对,镜头就糊或不对。再按一次 **✨** 重做一张,或者按 **↶** 换回上一张。\n\n---\n\n## 第 4 步:🎥 做影片\n\n- 按 **Run**。**Make** 会渲染所有还没做的镜头。\n- 一次 Run 做完整部影片,一个镜头接一个,边做边拼。1 个镜头还是 20 个都一样。\n- **Stop** 会结束它,队列里什么都不留。再 Run 一次就从停下的地方继续。\n- **分镜板**(Story 节点上镜头的下方):\n - ✅ 已做好,✏️ 做好后改过,🔒 已锁定。\n - ▶ 播放一个镜头:只播它自己的部分,不含它从上一个镜头接过来的那一秒半。\n - ↻ 用新种子重做**这一个镜头**,然后停下。它后面的镜头都不会动(旧的 take 保留在 `takes/`)。\n - 💡 紧跟在它后面的 keep rolling 镜头不会顺畅衔接,直到你也对它按 ↻。\n - 🔒 锁住满意的镜头,这样不会被重做。\n - 🎬 播放整部影片。**⟳** 查找新的 take。\n- **故事很长?** 镜头编号旁边的 ▾ 把它折叠成一行(🎞 Shots 标题栏里有 ▸ all / ▾ all)。滚动时,项目栏(名字、📂、💾)一直固定在顶部。\n- **改了某个镜头?** 它会变成 ✏️。Run 只会重做 ✏️ 的镜头,其余保持不变。\n- **info**(Make 的文本输出)每个镜头之后会显示:\n - **face match**:0.55 以上 = 同一个人,0.40 到 0.55 = 接近,低于 0.40 = 换了个人。重做。\n - **join**:每个 keep rolling 衔接有多顺。\n\n### 📌 Anchors:让房间保持一致\n- **它是什么:** 一个地点的静帧,保存在地点卡的 **📌 anchors** 那一行。它让 H3 看到房间必须保持的样子:家具、窗户、谁坐在哪里。\n- **为什么:** 每次 cut,H3 都会重新搭房间。没有东西可以照着做的话,咖啡馆会换个新吧台,桌子会移动,人会换座位。\n- **自动**(Make 的 **hold_scene** 打开,默认):在一个地点做出的第一个 wide shot 会成为它的 anchor。之后在那里**两人或以上**的 cut 都会用到它。单人 close-up 则用房间图片或它的 360 视角。\n- **你自己选**(更好):在分镜板上播放一个做好的镜头(▶),停在房间和里面所有人都对的那一帧,按 **📌 Room anchor**。按钮会变绿,并显示它加了哪个 anchor。它会落到那个地点的 anchors 行里,并替换自动的那个。行里的 **+** 方框可以放任何图片。\n- **🖼 Start shot N here**(同一个播放器):这一帧会成为**下一个**镜头的 🖼 start 帧,所以下一个镜头正好从这一帧开始。如果下一个镜头是 keep rolling,它会变成 cut。\n - 💡 📌 只记住房间,从不作为镜头的开头。想让镜头从某一帧开始,用 🖼。\n- **切回**已经出现过的机位(同一地点、framing 和人物)时,会自动从那个镜头的第一帧开始,这样摄影机、房间和人物都对得上。重做第一个镜头,切回的镜头也会被标成 ✏️。\n- keep rolling 镜头永远不拿 anchor:它们从前面的帧接下去。\n- 故事板的 start 帧(第 3 步)优先于 anchor:H3 会原样复制它。anchor 对没有 start 帧的镜头最重要。\n- anchor 上的 × 会删除它。\n\n---\n\n## 第 5 步:🎞️ 后期处理(影片做完之后)\n\n### ⚠️ 不打开 **Save Video 💾** 就不会保存!\n- 保持 **Make** 打开:所有镜头都做好时,它只是把成片交出来。不会重新渲染任何东西。\n- 在面板里按这个顺序打开你想要的:\n - **Load Video**:下面所有东西都需要它。\n - **Frame Interpolate** 24 → 48:抖动大约减半,只损失一点点细节。一分钟以内。\n - **RTX Super Resolution**:**deblur** 在同样大小下让发软的边缘更锐利。想要 2x 放大就把 **mode** 设为 **upscale**。需要 NVIDIA RTX 显卡。\n - **Save Video 💾**:不开就什么都不保存。\n - **Audio Volume** 和 **Audio EQ**:调大或调小音量,以及给人声用的简单三段均衡。声音没问题就别开。\n\n---\n\n### 文件存放位置\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors\n│ │ ├── Krealism V3.1\n│ │ └── moss_image_sft_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│ │ ├── qwen3vl_4b Heretic (or qwen3vl_4b_fp8_scaled)\n│ │ └── qwen3.5_9b_int8_convrot.safetensors\n│ ├── 📂 vae/\n│ │ ├── minimax_h3_video_vae_int8_convrot.safetensors\n│ │ ├── minimax_h3_audio_vae_fp32.safetensors\n│ │ ├── krea2RealVae_v10.safetensors\n│ │ └── flux2-vae_small.safetensors\n│ ├── 📂 vae_approx/\n│ │ └── taeh3.safetensors\n│ ├── 📂 loras/\n│ │ ├── 📂 MiniMax/\n│ │ │ ├── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors\n│ │ │ ├── MMH3-RealismSlider-V1.safetensors\n│ │ │ └── mvmt_h3_lora_v1_500.safetensors\n│ │ └── 📂 Krea 2/\n│ │ └── krea2_identity_edit_v2.safetensors\n│ ├── 📂 LLM/\n│ │ └── Qwen3-VL-8B-Instruct-abliterated-v2 GGUF (+ its mmproj)\n│ ├── 📂 background_removal/\n│ │ └── BiRefNet-general.safetensors (downloads on first use)\n│ ├── 📂 facerestore/\n│ │ └── yunet + sface .onnx (optional)\n│ └── 📂 rife/ (downloads on first use)\n├── 📂 input/\n│ └── 📂 lc_h3_refs/\n│ └── 📂 <project>/\n│ ├── cast_, place_, pano_, prop_ pictures\n│ └── start_ and end_ frames\n└── 📂 output/\n └── 📂 LC_H3/\n └── 📂 <project>/\n ├── story.json, plan.json\n ├── <project>.mp4 (the finished movie)\n ├── 📂 views/ (the 360 angles)\n └── 📂 takes/\n ├── seg_001.mp4, seg_002.mp4, etc.\n └── old takes (nothing is ever deleted)\n```\n\n---\n\n*\"True Nothing is. Permitted Everything is\"*- Yoda Auditore, **Assassin's Wars**",
139 "src": "378b4411",
140 "srcTitle": "Notes 📝"
141 },
142 "ja": {
143 "text": "## Lonecat's H3 Showrunner 🎬\n\n---\n\n@[card: フォローしてね](https://civitai.com/user/lonecatone23)\n\n@[card: フォローしてね](https://www.instagram.com/synth.studio.models/)\n\n@[card: 私の作品はこちら](https://github.com/lonecatone23)\n\n@[card: 私のモデルはこちら](https://huggingface.co/Lonecatone23)\n\n\n@[card: ☕をおごってね](https://ko-fi.com/lonecatone)\n\n### 何時間もかけて作っています。気に入ったら 👍 いいね、💬 コメント、そして ⚡ チップもお気軽にどうぞ 😉\n\n---\n\n## 📦 Models & LoRAs\n\n💡 **LC Optimizer** ノードがあなたのカードに合ったファイルを選びます(★ Recommended)。リンクはダウンロード用です。\n\n**MiniMax H3 🎥**(映画本体)\n- [minimax_h3_fl2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors)(RTX 50 カードでなくても使えます)\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors)\n- [taeh3.safetensors](https://github.com/madebyollin/taehv/raw/main/safetensors/taeh3.safetensors)(22.7 MB の完全版、ライブプレビュー用、`vae_approx` に置きます)\n\n**MiniMax H3 LoRAs**\n- [minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors) を 1.0 で:8 steps、cfg 1。セリフはこれが一番きれいに出ます。\n- [MMH3 Realism Slider](https://civitai.com/models/3014078)(LoRA loader)\n- mvmt_h3_lora_v1_500(LoRA loader)\n\n**Krea 2 🖼️**(キャスト、場所、小道具、ストーリーボードの画像)\n- [Krealism V3.1](https://civitai.com/models/2786809/krealism?modelVersionId=3347802)(どの形式でも OK)\n- [qwen3vl_4b Heretic](https://civitai.red/api/download/models/3066989?fileId=2945735) テキストエンコーダー、または標準の [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n- [krea2RealVae_v10.safetensors](https://huggingface.co/artsyww/KREA2REALVAE/resolve/main/krea2RealVae_v10.safetensors)\n- [krea2_identity_edit_v2.safetensors](https://huggingface.co/conradlocke/krea2-identity-edit/resolve/main/krea2_identity_edit_v2.safetensors?download=true) と [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) ノード\n\n**MOSS Image 🗺️**(ストーリーボードのレイアウト)\n- [moss_image_sft_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors)\n- [qwen3.5_9b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors)\n- [flux2-vae_small.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/vae/flux2-vae_small.safetensors)(MOSS にはこの VAE が必要です)\n\n**Story writer ✨**(任意)\n- [Qwen3-VL-8B-Instruct-abliterated-v2 GGUF](https://huggingface.co/prithivMLmods/Qwen3-VL-8B-Instruct-abliterated-v2-GGUF)(Q8_0)とその **mmproj** を `models/LLM` に。\n- 💡 **Vision Assistant → Models** からワンクリックでダウンロードできます。\n\n**初回に自動でダウンロードされるもの**(黄色いメッセージでお知らせ、**Stop** でキャンセル)\n- **BiRefNet**(キャストと小道具の画像から背景を取り除きます)と **RIFE 4.26**。\n- **RTX Super Resolution** には NVIDIA RTX カードが必要です。\n- 顔チェック(任意):[OpenCV zoo](https://github.com/opencv/opencv_zoo) の `face_detection_yunet_2023mar.onnx` + `face_recognition_sface_2021dec.onnx` を `models/facerestore` に。ない場合、Make は顔の照合をスキップします。\n\n---\n\n# ✋ まずこれを読んでください\n\n- **何をするもの?** 1 つのノードに短い映画を書き(誰が出て、どこで起きて、すべてのショット)、人物と場所ごとに画像を作り、**Run** を押します。MiniMax H3 でショットを順番にレンダリングし、音声とセリフ付きの 1 本の映画につなぎます。\n- **ステップは順番どおりに。** 各ステップは前のステップで作ったものを使います。飛ばすと、知らない人が適当な部屋にいる映像への最短ルートです。\n- **💡 ガイドツアー:** **Vision Assistant**(左のサイドバー)→ **Tour** を開いてください。ワークフローの各部分を順番にハイライトし、大事な設定に印を付けます。このノートと一緒に使ってください。\n- 🛑🚫 **ノードを手動でバイパスしないでください。** **Cards & Storyboard 🃏** は内部が意図的にバイパスされています。**✨** ボタンが必要なものをオンにして、あとで元に戻します。\n- ⚠️ これは**大きなモデル**での**長時間のジョブ**です。960 x 544 なら VRAM 32 GB で余裕があります。それ以下でも動きますが、遅くなります。\n\n## The basics\n- **このワークフローはすべてのステップを保存します。**\n - 画像や動画のセクションなどを作ったら、💾 プロジェクトを保存して別のプロジェクトで作業し、いつでも戻ってきたり、セクションをやり直したりできます。\n - **何も失われません:** 完成したものは完成したままです。\n- **画像とムービーは別々の Run です:**\n - **画像:** カードの画像スロットの **✨** を押します(ステップ 2 と 3)。Story が **Cards & Storyboard 🃏** のうち画像を作る部分をオンにし、**Make 🎥** はオフのまま、1 回 Run して、すべてを元に戻します。\n - **ムービー:** **Run** を押します(ステップ 4)。**Make** がまだ作っていないショットをすべてレンダリングします。\n - ⚠️ **画像を作っている間は Make をオフに。** 新しい画像はそれを使うショットを変えるので、Make が同じ Run でそれらをもう一度レンダリングしてしまいます。✨ が自動でそうしてくれます。\n- **保存💾** すべては Story ノードで名前を付けた**プロジェクト**フォルダに保存されます。ComfyUI を閉じて明日戻ってきても、全部そのまま残っています。\n\n**🎨Post processing(後処理)**\n- 使う準備ができるまで、これらのスイッチはオフのままに\n- 映画全体を一度に処理するので重く、私なら放っておいて勝手に走らせたりしません。\n- **Make 🎥** はオンのままにしてください(バイパスしないでください)。\n\n---\n\n## ⚙️ Settings\n\n- **megapixels**:0.82 = 1216 x 672(16:9)。0.52(960 x 544)のほうが速いですが、ワイドショットの顔がとても小さくなります。\n - プロジェクト全体で 1 つのサイズを使ってください。それでも変えると、次の Run で古いサイズで作ったショットをすべて順番に作り直します(📐 size の行に一覧が出ます)。\n - 💡 ここで品質を気にしすぎないでください。そこそこで出しておけば十分で、1 MP は最後にアップスケールできるものを遅くするだけです。\n- **Steps**:turbo LoRA を 0.7 にして 12(**最適な設定と時間 ⏱️** の **標準 int8 + turbo LoRA 0.7** の行)。turbo 1.0 で 8 だと速く、少しだけ柔らかくなります。turbo なしは遅くなるだけで、私のテストでは良くなりませんでした。\n- **LC Seed**:シードジェネレーターは H3(新しいショットごと)とストーリーボード(MOSS と Krea 2:seed + ショット番号)の開始シードです。\n - 作ったショットはテイクごとに自分のシードを保持し、↻(作り直し)は常に新しいシードを選びます。\n - カードの画像と後処理には独自のシードがあります。触らないでください。\n- **Models & LoRAs**:LC Optimizer があなたのカードに合った H3 のファイルを選びます。\n - **★ Recommended** のままにするのがおすすめです。\n - 他のモデルでもテストしました。10EROS はうまく動き、Singularity は声に問題があります。\n - LoRA は、結果は人それぞれです。\n- **Storyboard creator Models & Settings**:画像を作るモデルです。\n - **Card Model (Krea2)** と **Character or Style LoRA** が、キャスト、衣装、場所、小道具の画像を作り、**🪪 Edit LoRA** でストーリーボードのフレームを描き直します。\n - **Storyboard model 📖 (MOSS)** がボックスからショットをレイアウトします。\n - 自分のモデルがない限り、どちらも **★ Recommended** のままにしてください。\n\n\n---\n\n## Step 1: 🎬 ストーリーを書く\n\nすべては大きな **LC H3 Story** ノードで行います。5 つのリストがあります:**🎭 Cast**、**👗 Outfits**、**📍 Places**、**👜 Props**、**🎞 Shots**。\n\n- ✋ **H3 prompt にはショットの文章が出ます。** ショットを作るとき、Make が人物、画像、音をその周りに加えます。ショットの **H3 prompt** を開くと読めます。\n - **↻** で今すぐ組み立て直すので、レンダリングに時間をかける前に、何が送られるかを確認できます。\n - **✎ Edit** で自分で書けます。書いたテキストはそのまま送られ、**↶ Back to automatic** を押すまで、カードがそれを変えることはありません。\n- **project name**(上部):すべてが保存されるフォルダ `output/LC_H3/<name>/`。最初に名前を付けてください。**📂** で保存したプロジェクトを開き、**💾** で今すぐ保存します(Run のたびにも保存されます)。**💾 Save as** で新しい名前のバリエーションを残せます:作ったショットも一緒に移り、元はそのままです。\n- **📐 size**(project name の下):このプロジェクトを作っているサイズ(最後の Run)と、そのアスペクト比。別のサイズで作られたショットは一覧で表示され(⚠)、次の Run で作り直されます。\n- **映画全体のルック**(一番上の行):映像スタイルを数語で(\"cinematic, soft natural light, shallow depth of field\")。すべてのショットに入ります。\n\n### 🖼 Picture slots\n- キャスト、衣装、場所、🌐 360、小道具、🖼 start、🏁 end はすべて同じ使い方です。\n - スロットをクリックするか、画像をドロップします。**📚 Library** に用意済みの画像があり、**⬆ Upload…** でファイルを渡せます。\n - **✨** で自動で作れます(ステップ 2 と 3)。\n - **↶** でこの画像の前の画像に戻せます。直近の 8 枚が残ります。\n - **✂** でカードが使う範囲を切り抜きます(全身写真から頭と肩、衣装ならコートだけ、など)。\n - **×** でスロットを空にします(start や end のフレームでは **↻**)。\n\n### ✨ ストーリーを書く(任意)\n- 短いあらすじを入力して(\"Nova and Anika meet for coffee, Anika tells a story that goes too far, Nova leaves\")**✨ Write the story** を押します。ローカルモデルがルック、キャスト、場所、ショットを一度だけ埋めます。\n- その後はあなたが編集するただのテキストです。もう一度ボタンを押さない限り、二度と書き込みません(押すとカードが置き換わります。同じ名前のカードの画像と声は残ります)。\n- 上の **Story writer model** が必要です。ボタンの横のドロップダウンで選んでください。\n- **🔞 NSFW**(✨ Write の画面内、既定はオフ):ライターが大人向けのシーンを書けるようにします。LC Vision の NSFW style tag と同じルールです。オフならいつも通りに書きます。プロジェクトと一緒に保存されます。\n\n\n### 🎭 Cast:1 人につき 1 枚のカード\n- **Name**:大文字で始めてください。ショットはこの名前そのままで人物を探します。\n- **who**:woman、man、girl、boy、person、cat、dog。プロンプトの中で人物を区別します。\n- **look**:1 行で、H3 が一番よく従う言葉です。頭と髪だけを書いて、そこで止めてください:年齢、顔、目、そばかす、肌、髪(長さも)。\"mid twenties, a soft oval face, green eyes, light freckles, long wavy blonde hair\"。服は絶対に書かないでください:服は outfit picture に入ります。\n - ⚠️ 体を表す言葉もなしです(breasts、curvy、figure)。肩を出したヘッドショットと並ぶと、H3 が服を着せないことがあります。Story が警告します(👗)。体は outfit picture が見せます。\n- **face picture**:ステップ 2 で作ったヘッドショット(スロットの ✨)、または自分の画像(四角をクリックするか、画像をドロップ)。背景は自動で取り除かれ、顔は無地のグレーの背景に置かれるので、シーンや衣装ににじみ出ません。\n - ヘッドショットは頭と髪だけです。肩も服もなし:ヘッドショットに服が入ると、どの outfit picture よりも優先されてしまいます。\n- **👗 outfit picture**:最初のショットから着ている服を、頭からつま先まで。ステップ 2 で作るか(👗 スロットの ✨)、自分の画像。\n - **outfit notes**:衣装全体の詳細。画像はこれから作られ、H3 は最初の服 1 点だけを衣装の名前として読みます(\"dark blue jumpsuit\")。メインの服とその色から書き始めてください。\n- **🎤 voice**(任意):その人の声の 2 から 15 秒のクリップ。H3 は声をまねますが、言葉はまねません。\n- **📋** で名前と look をコピーして、別のワークフローに貼り付けられます。\n\n### 👗 Outfits:服、衣装 1 つにつき 1 枚のカード\n- ✋ **全員、どこかから服をもらう必要があります。** ヘッドショットには服がありません。各人のキャストカードに 👗 outfit picture を付けてください。ないと、ショットごとに違う服になり、Story が警告します(👗)。\n- 衣装カードは着替えです。\n - 服の状態でもかまいません:\"naked\"、\"topless, black jeans\"、\"wrapped in a white towel\"。H3 には書いた通りに届きます。\n- **name**:シンプルな名前で:\"red cocktail dress\"、\"yoga outfit\"、\"gym clothes\"。画像があれば、H3 が衣装について読むのはこれだけです。\n - パーツの羅列は絶対にしないでください。言葉に靴やパンツがあると、クローズアップが引きになってしまいます(Story が警告します)。\n- **who wears it**:着る人。\n- **description**:頭からつま先までの衣装全体を詳しく、**すべてのアイテムに色を**、色合いまで:\"an off the shoulder grey cutoff sweatshirt, high waisted black leggings with a cross stitch band, white Nike gym shoes\"。画像を作るためだけに使われます。\n - 重ね着は外側から、\"over\" で。柄はその色を書きます(\"floral blouse in pale peach and green\")。素材も効きます(denim、silk、knit、leather)。\n- **picture**:ステップ 2 で作るか(スロットの ✨:着る人を頭からつま先まで、無地のグレーの上)、自分の画像。name が言わない細部をすべて持ちます。\n- **どう使われるか:**\n - 全員、キャストカードの 👗 outfit から始まります。着替えるには、ショットで **👗** から別の衣装を選ぶか、アクションで名前を出します(\"Nova comes back in the red dress\")。そのショットからはその衣装のままです。\n - 各ショットのプロンプトに \"wearing <name>\" と衣装の画像が入ります。クローズアップは寄りのまま:言葉にパンツや靴は入れないでください。\n - テスト済み:片方の肩紐の赤いドレス(銀の飾り付き)が、\"red dress\" という名前だけで画像から正しく再現されました。\n - ⚠️ **Mismatched reference**:以前のカメラに戻るカットは、そのショットの最初のフレームから始まり、ワイドショットは場所の最初のワイドから部屋を取ります。そのフレームに別の服、人、小道具が映っていると、Story が警告します。開始フレームを固定するか、そのシーンに専用の place カードを付けてください。\n\n### 📍 Places:場所 1 つにつき 1 枚のカード\n- **name**:\"the cafe\"。ショットはこの名前で場所を選びます。\n- **sound**:聞こえる音だけ、ほかは書かない:\"rain on the glass, cups clinking, footsteps\"。\n - ✋ **誰が話すかは絶対に書かないでください**(\"nobody speaks\"、\"no voices\")。話すことに触れると H3 が話し出します:同じ無音のショットが、これを書くとフランス語や英語で話し、書かないと無音でした。セリフのないショットには、Story が自動で \"Nobody speaks.\" を加えます。\n- **description**:そこにあるもの:部屋、家具、光。\n- **room picture**:その場所、**誰もいない状態**。ステップ 2 で作るか(スロットの ✨)、自分の画像。\n- **🌐 360**(おすすめ):部屋全体の**1 枚**のパノラマ(ステップ 2、🌐 スロットの ✨)。ショットごとに画像を作る必要はありません:Story が各ショットの視点をそこから自動で切り出します。\n - **一度だけ設定:** 場所の下にある小さなビューアーを回して、ワイドショットに映るものと同じ向きにします(**📷 the wide shot faces**)。それが「正面」です。すべての角度はそこから数えます:90 = 部屋の右側、-90 = 左側、180 = カメラの後ろ。\n - **クローズアップとミディアムショットは自動で視点が決まります。** すでに角度を持っている人とテーブルを挟んだショットは逆の角度(+180)になるので、2 人の背後には部屋の反対側が映ります。それ以外はワイドショットと同じ向きです。\n - **別の角度にしたい?** ショットカードの **🌐** を押して視点をドラッグしてください。あなたの角度が常に自動の角度より優先されます。\n - 視点は平面の画像として切り出され(プロジェクトの `views/` フォルダ)、Make とストーリーボードの両方でそのショットの背景に使われます。\n - ワイドショットは room picture とアンカーを使います。🌐 で向きを決めた場合は別です。\n- **📌 anchors**:カットをまたいでこの部屋を同じに保つフレーム。最初は空です:下の **📌 Anchors** を参照。\n\n### 👜 Props:大事な物 1 つにつき 1 枚のカード\n- すべてのショットで同じ見た目でなければならない物だけ(赤い傘、手紙、指輪)。\n- **name**:\"the red umbrella\"。✋ ショットのアクションで**この言葉そのまま**を使うと、そのショットに小道具の画像が入ります。\n- **description**:どんな見た目か。\n- **picture**:ステップ 2 で作るか(スロットの ✨)、自分の画像。キャストと同じく無地のグレーの上に置かれます。\n\n\n**💡 シンプルなものでいいなら?**\n- キャスト、衣装、小道具、🌐 360 の各スロットのピッカーに 📚 Library タブがあります:用意済みの画像が 102 枚(キャストのヘッドショット 30、季節の衣装 32、小道具 24、360 パノラマ 16)。一覧を見る:[LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n\n### 🎞 Shots:1 ショットにつき 1 枚のカード、上から下がそのまま映画\n- **framing**:カメラの近さ。\n - **wide shot**:部屋全体とそこにいる全員。シーンはこれで始めてください。\n - 💡 ワイドショットの顔は幅がわずか 45 から 75 px ほどで、H3 は 16 px のブロックで描くため、顔や口が崩れることがあります。顔やセリフが大事なときは、**medium shot**、**two-shot**、**over the shoulder** を使ってください。\n - **side view**、**two-shot**:2 人がフレームに入ります。\n - **medium shot**:腰から上。**close-up**:顔と肩。**extreme close-up**:顔。\n - **over the shoulder**、**from behind**、**custom**(アクションで説明します)。\n- **who it's on**:カメラが映す人、**everyone**、または **nobody**。\n - **nobody**:誰もいないショット、場所だけ(ハイパースペースから出てくる宇宙船、誰もいない通り)。顔は送られず、話せるのはボイスオーバーだけです。\n- **move**:still、slow push-in、slow pull back、pan、tracking、orbit、handheld。still が一番安全です。\n- **✂ cut / 🎞 keep rolling**:\n - **cut**:新しいショット。顔、部屋、アンカーをもらいます。ほぼいつもこれを使ってください。\n - **keep rolling**:カットなし、カメラは前のショットの終わりからそのまま続けます。顔と部屋はそのフレームから続くので、**画像はもらいません**。\n - 例外が 1 つ:入ってくる人(誰もいないショットのあと、または新しい人)は顔と outfit の画像をもらいます。そうしないと H3 が顔を作ってしまいます。\n - 🔒 keep rolling のカードは、framing、場所、🌐 の角度、衣装、🖼 start フレーム、📐 のボックスを、続けている元のショットに**ロック**します(グレー表示、\"🔒 from shot N\")。**誰が映るか**は自由に決められます:人が入ってきてもかまいません。\n - 新しい framing や場所にしたい? 続けている元のショットを変えるか、このショットを **cut** にしてください。H3 は新しい framing へは続けられず、勝手に、自分で作った部屋へカットします。\n- **where**:場所。空 = 前のショットと同じ場所。\n- **seconds**:空(**auto**)ならアクションとセリフに合わせます。数字を入れるとその長さになります。収まらないセリフはショットを延ばします。\n- **action**:セリフの前に起きること。短い文、現在形、1 文に 1 つのこと。\n- **speaker** + **line**:誰が話すか、そして話すとおりの言葉。1 ショットに 1 行。\n- **after**:セリフの後に起きること(任意)。\n - 💡 アクションはセリフの前に流れます。彼女が話し終えてから起きてほしいこと(注文したあとにカップが届く、など)はここに書きます。\n- **🌐**(任意):場所の 360 パノラマの中で、このショットのカメラの向きを自分で決めます。クローズアップには自動で角度が付きますが、これが優先されます。**behind** はその人の背後にあるものを言葉で(\"the arched windows\")。H3 は画像より言葉に従うので、書いておいてください。\n- **🖼 start** / **🏁 end**:ショットの最初または最後のフレーム(ステップ 3 の ✨、または自分の画像)。H3 は start フレームをそのまま再現します。\n - 🖼 start はカット用です。keep rolling のショットは前のショットから始まります(スロットはグレー表示)。\n - **🏁 end**:アクションがそこで終わるときだけ固定してください(\"she stops at the door\")。早く着いた人は固まって立ったままになります。\n- **📐**:誰がどこに立つか(と小道具)をボックスで描きます。ショットの 🌐 の角度の上に描きます。ステップ 3 でストーリーボードが使います。\n- **🎛 LoRA for this shot**:このショットだけに使う任意の LoRA(キャラクター、衣装、背景、スタイル、アクション)。pipe の LoRA の上に重ねます。次の cut からは外れます。\n - 選び方は LC LoRA Loader と同じです:フォルダーピッカー、◀ 強さ ▶、トリガーワードを見る **ℹ**。**✕** で外します。\n - keep rolling は、続いている元のショットの LoRA を使います(🔒)。途中で LoRA を変えると、つなぎ目で跳びます。\n - 💡 キャラクター LoRA:トリガーワード(たいてい名前)をキャストの外見とアクションに書きます。1 人に 1 つ。男性と女性がそれぞれ自分の LoRA を使うと、両方の顔が保たれました。女性 2 人を同じショットに入れると混ざりやすいので、それぞれのクローズアップにしてください。\n - 💡 衣装を書いてください。服の少ない画像で学習した LoRA は、カードに服が書かれていないと服を減らします。\n- **H3 prompt**:各カードの下に、ショットの文章が出ます(このステップの最初を参照)。Story の**警告**(🛑 必ず直す、⚠️ 確認したほうがいい)もここに出ます。\n- **↑ ↓** でショットをリストの上下に動かします。**auto**(**seconds** の隣、数字を入れたあと)で長さを自動に戻します。\n- **max_shot_seconds**(ノード上、20):一度に作る最長のショット。それより長いショットは、互いに続く複数のパートに分けて作られます。\n\n---\n\n## ✍️ プロンプトの書き方:\n### 📖 **完全ガイド:** [H3 Showrunner Prompting Guide](https://github.com/lonecatone23/ComfyUI_LC_AV_nodes/blob/main/docs/showrunner/PROMPTING_GUIDE.md)\n\n### 短く言うと:\n\n- **Looks**:それぞれ 1 行で、頭と髪だけ。髪の長さを書かないと、H3 が勝手に決めます。\n- **Outfits**:カードにはシンプルな名前(\"gym clothes\")。詳細は description に、すべてのアイテムに色合い付きの色を:\"faded olive jacket over a cream t-shirt\"。\n- **クローズアップ**:アクションで相手の名前を出さないでください。\"Anika stares at Nova\" だと、Anika のクローズアップの途中で H3 が Nova にカットしました。\"Anika stares across the table\"(Anika はテーブルの向こうを見つめる)なら、ショットの最後まで彼女のままでした。Story が警告します(⚠️)。\n- **小道具の数は一度だけ書く**:\"Each of them holds one cup.\" そうしないと余分なものが出てきます。\n- **小道具はカードと同じ名前で**:カードが \"the red umbrella\" なら、アクションは \"Nova opens the red umbrella.\"\n- **テーブル越しのクローズアップ**:\"Seen straight on from across the table, nobody in the foreground: the table edge runs along the bottom of the frame, her body square to the camera, eyes just past the lens to the left.\" そのあと彼女の背後に何があるかを書きます。\n- **セリフ中に口を使う動作はなし**:話しながら飲んだり食べたりすると口の動きが崩れます。Story がカップを置かせてくれますが、ひと口飲むのはセリフの後に書いてください。\n- **起きないことではなく、起きることを書く**:\"Nova sits still and listens\"、\"Nova doesn't move\" ではなく。\n\n---\n\n## Step 2: 📸 画像を作る\n\n- 画像スロットの **✨** を押します。画像は自動でカードに入ります。\n - ✋ **先にカードに名前を付けてください。** 名前が空のままだと、画像が上書きされることはありません。\n - スロットにすでに画像がある場合、✨ は先に確認します。古い画像は残ります:**↶** で戻せます(直近の 8 枚が残ります)。\n- 各スロットが作るもの:\n - **キャストカードのヘッドショットスロット**:頭と髪、落ち着いた無表情、服なし、無地のグレーの上(1024 x 1024)。\n - **キャストカードの 👗 スロット**:**outfit notes** から作る、衣装を着た頭からつま先までの人物(896 x 1152)。\n - **衣装カード**:その **description** の服を、着る人に着せて頭からつま先まで、無地のグレーの上(896 x 1152)。誰も着ない場合は見えないマネキン。\n - **場所カードの room スロット**:誰もいない部屋、空間全体が見える状態(1344 x 768)。\n - **場所カードの 🌐 スロット**:360 の視点用に、部屋をぐるりと一周したもの(2:1)。\n - **小道具カード**:物だけ、無地のグレーの上(1024 x 1024)。\n- ✋ **キャスト、衣装、小道具の画像は必ず無地のグレーになります**:ここで作っても自分でドロップしても、背景は取り除かれます(BiRefNet)。カード自体の背景、小道具、表情は、それが出るすべてのショットに漏れ出します。\n- 💡 気に入らない?もう一度 **✨** を押してください:シードは毎回変わります。**↶** で前の画像に戻れます。\n- 💡 **無表情だけ。** 笑顔のカードだと、すべてのショットで笑顔の役者になります。完全な固定ではありませんが、引っ張られます。\n- 💡 **360 panorama**:場所ごとに 1 枚。何枚か作って、水平線がまっすぐで誰もいないものを残し、場所カードで **📷 the wide shot faces** を一度だけ設定してください。\n- 💡 **もっと細かく制御したい?** 画風やサイズは **Cards & Storyboard 🃏** の中の **LC H3 Story Card Prompt** に設定します。✨ はそこでの設定を使います。\n- 📚 **自分で作らなくても OK:** キャスト、衣装、小道具、🌐 360 の各画像スロットのピッカーに **📚 Library** タブがあります。用意済みの画像が 102 枚(キャストのヘッドショット 30、季節の衣装 32、小道具 24、360 パノラマ 16)。\n - 1 枚クリックすると、1 回だけダウンロードされてカードに入ります。空のカードには名前とテキストも入ります。\n - 一覧を見る:[LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n---\n\n## Step 3: 🗺️ ストーリーボード(任意、おすすめ)\n\n各ショットの最初のフレームをカードから作るので、どのショットも正しい人が正しい部屋にいる状態から始まります。\n\n- 各ショットカードで **📐** を押し、人物(と小道具)ごとにいてほしい場所へボックスを描きます。ボックスはショットの 🌐 の角度の上にあるので、そのショットが実際に使う視点の上に人を配置できます。各ボックスが誰かを選びます。\n- ショットの **🖼 start** スロットの **✨** を押します。**MOSS** がボックスからショットをレイアウトし、**Krea 2 Identity Edit** がキャストカードを使ってシャープに描き直します。結果はスロットに入ります。\n - ショットが着地するフレームも、**🏁 end** で同じようにできます。\n - ✨ 1 回につき 1 フレーム。\n- すでに見せた場所での後のワイドショットは、最初のワイドショットのフレームから作られるので、部屋、テーブル、カメラの側がそのまま保たれます。\n - ✋ **変わる人だけをボックスで囲んでください**(赤いドレスで戻ってくる Nova)。囲んだ人は全員描き直されるので、顔がずれることがあります。\n- ✋ **start フレームはアクションの最初の瞬間です。** フレームですでに座っている Nova + \"Nova comes back and sits down\" だと、2 人目の Nova が歩いて入ってきました。彼女が来る場所にボックスを置くか、フレームの状態からアクションを書いてください。\n- ✋ **H3 は start フレームをそのまま再現します。** ぼやけた画像や間違った画像は、ぼやけた、または間違ったショットになります。**✨** をもう一度押して新しく作るか、**↶** で前の画像に戻してください。\n\n---\n\n## Step 4: 🎥 映画を作る\n\n- **Run** を押します。**Make** がまだ作っていないショットをすべてレンダリングします。\n- 1 回の Run で映画全体を、ショットを順番に作り、作りながらつないでいきます。1 ショットでも 20 でも。\n- **Stop** でキューに何も残さず終わります。もう一度 Run すると、止まったところから再開します。\n- **ボード**(Story ノードのショットの下):\n - ✅ 作成済み、✏️ 作成後に変更あり、🔒 ロック中。\n - ▶ でショットを再生:そのショット自身の部分だけで、前のショットから引き継ぐ 1.5 秒は含みません。\n - ↻ で**そのショット 1 つだけ**を新しいシードで作り直し、そこで止まります。その後のショットには触れません(古いテイクは `takes/` に残ります)。\n - 💡 すぐ後に keep rolling のショットがあると、それも ↻ するまでなめらかにつながりません。\n - 🔒 で残したいものをロックし、何も作り直さないようにします。\n - 🎬 で映画全体を再生。**⟳** で新しいテイクを探します。\n- **長いストーリー?** ショット番号の横の ▾ で 1 行にたたみます(🎞 Shots の見出しに ▸ all / ▾ all)。プロジェクトバー(名前、📂、💾)はスクロールしても上部に固定されたままです。\n- **ショットを変えた?** ✏️ になります。Run は ✏️ のショットだけを作り直し、残りはそのままです。\n- **info**(Make のテキスト出力)がショットごとに出ます:\n - **face match**:0.55 以上 = 同じ人、0.40 から 0.55 = 近い、0.40 未満 = 別人。やり直してください。\n - **join**:keep rolling のつなぎがそれぞれどれだけなめらかか。\n\n### 📌 Anchors:部屋を同じに保つ\n- **何か:** 場所の静止フレームで、場所カードの **📌 anchors** の行に保存されます。部屋がどうあるべきかを H3 に見せます:家具、窓、誰がどこに座るか。\n- **なぜ:** カットのたびに H3 は部屋を作り直します。まねするものがないと、カフェのカウンターが変わり、テーブルが動き、人が席を入れ替わります。\n- **自動**(Make の **hold_scene** がオン、デフォルト):その場所で最初に作ったワイドショットがアンカーになります。その場所で後に続く、**2 人以上**がいるカットはすべてそれをもらいます。1 人のクローズアップは代わりに room picture か 360 の視点をもらいます。\n- **自分で選ぶ**(こちらのほうが良い):ボードで作ったショットを再生し(▶)、部屋と全員が正しく見えるフレームで一時停止して **📌 Room anchor** を押します。ボタンが緑になり、どのアンカーを追加したかを表示します。その場所の anchors の行に入り、自動のものと置き換わります。行の **+** の四角にはどんな画像でも入れられます。\n- **🖼 Start shot N here**(同じプレーヤー):このフレームが**次の**ショットの 🖼 start フレームになり、次のショットはちょうどそこから始まります。次のショットが keep rolling ならカットになります。\n - 💡 📌 は部屋を覚えるだけで、ショットを始めることはありません。あるフレームからショットを始めるなら 🖼 を使ってください。\n- すでに見せたセットアップ(同じ場所、framing、人物)に**カットで戻る**と、自動でそのショットの最初のフレームから始まるので、カメラ、部屋、人物が一致します。最初のショットを作り直すと、戻りのカットも ✏️ になります。\n- keep rolling のショットはアンカーをもらいません:前のフレームから続くからです。\n- ストーリーボードの start フレーム(ステップ 3)はアンカーより優先されます:H3 はそれをそのまま再現します。アンカーが一番効くのは、start フレームのないショットです。\n- アンカーの × で削除します。\n\n---\n\n## Step 5: 🎞️ Post Processing(映画ができたら)\n\n### ⚠️ **Save Video 💾** をオンにしないと保存されません!\n- **Make** はオンのままに:すべてのショットができていれば、完成した映画を渡すだけです。何も再レンダリングされません。\n- パネルで使いたいものをこの順番でオンにします:\n - **Load Video**:以下のすべてに必要です。\n - **Frame Interpolate** 24 → 48:ほんの少しのディテールと引き換えに、ガタつきが約半分に。1 分以内。\n - **RTX Super Resolution**:**deblur** は同じサイズのままぼやけたエッジをシャープにします。2x にしたいなら **mode** を **upscale** に。NVIDIA RTX カードが必要です。\n - **Save Video 💾**:これがないと何も保存されません。\n - **Audio Volume** と **Audio EQ**:音量の上げ下げと、声のためのシンプルな 3 バンド EQ。音に問題がなければオフのままで。\n\n---\n\n### ファイルの保存場所\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors\n│ │ ├── Krealism V3.1\n│ │ └── moss_image_sft_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│ │ ├── qwen3vl_4b Heretic (or qwen3vl_4b_fp8_scaled)\n│ │ └── qwen3.5_9b_int8_convrot.safetensors\n│ ├── 📂 vae/\n│ │ ├── minimax_h3_video_vae_int8_convrot.safetensors\n│ │ ├── minimax_h3_audio_vae_fp32.safetensors\n│ │ ├── krea2RealVae_v10.safetensors\n│ │ └── flux2-vae_small.safetensors\n│ ├── 📂 vae_approx/\n│ │ └── taeh3.safetensors\n│ ├── 📂 loras/\n│ │ ├── 📂 MiniMax/\n│ │ │ ├── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors\n│ │ │ ├── MMH3-RealismSlider-V1.safetensors\n│ │ │ └── mvmt_h3_lora_v1_500.safetensors\n│ │ └── 📂 Krea 2/\n│ │ └── krea2_identity_edit_v2.safetensors\n│ ├── 📂 LLM/\n│ │ └── Qwen3-VL-8B-Instruct-abliterated-v2 GGUF (+ its mmproj)\n│ ├── 📂 background_removal/\n│ │ └── BiRefNet-general.safetensors (downloads on first use)\n│ ├── 📂 facerestore/\n│ │ └── yunet + sface .onnx (optional)\n│ └── 📂 rife/ (downloads on first use)\n├── 📂 input/\n│ └── 📂 lc_h3_refs/\n│ └── 📂 <project>/\n│ ├── cast_, place_, pano_, prop_ pictures\n│ └── start_ and end_ frames\n└── 📂 output/\n └── 📂 LC_H3/\n └── 📂 <project>/\n ├── story.json, plan.json\n ├── <project>.mp4 (the finished movie)\n ├── 📂 views/ (the 360 angles)\n └── 📂 takes/\n ├── seg_001.mp4, seg_002.mp4, etc.\n └── old takes (nothing is ever deleted)\n```\n\n---\n\n*\"True Nothing is. Permitted Everything is\"*- Yoda Auditore, **Assassin's Wars**",
144 "src": "378b4411",
145 "srcTitle": "Notes 📝"
146 },
147 "ko": {
148 "text": "## Lonecat의 H3 Showrunner 🎬\n\n---\n\n@[card: 팔로우하기](https://civitai.com/user/lonecatone23)\n\n@[card: 팔로우하기](https://www.instagram.com/synth.studio.models/)\n\n@[card: 제 작업물 받기](https://github.com/lonecatone23)\n\n@[card: 제 모델 받기](https://huggingface.co/Lonecatone23)\n\n\n@[card: 커피 한 잔 사주기 ☕](https://ko-fi.com/lonecatone)\n\n### 많은 시간을 들인 작업이에요. 마음에 드셨다면 👍 좋아요, 💬 댓글, 그리고 ⚡ 팁도 편하게 주세요 😉\n\n---\n\n## 📦 Models & LoRAs\n\n💡 **LC Optimizer** 노드가 그래픽카드에 맞는 파일을 골라 줘요 (★ Recommended). 아래 링크는 다운로드용이에요.\n\n**MiniMax H3 🎥** (영화)\n- [minimax_h3_fl2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors) (RTX 50 그래픽카드가 없어도 돼요)\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors)\n- [taeh3.safetensors](https://github.com/madebyollin/taehv/raw/main/safetensors/taeh3.safetensors) (22.7 MB 완전판, 라이브 미리보기용, `vae_approx`에 넣어요)\n\n**MiniMax H3 LoRAs**\n- [minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors) 1.0으로: 8 steps, cfg 1. 이걸 쓰면 대사가 가장 깨끗하게 나와요.\n- [MMH3 Realism Slider](https://civitai.com/models/3014078) (LoRA loader)\n- mvmt_h3_lora_v1_500 (LoRA loader)\n\n**Krea 2 🖼️** (출연진, 장소, 소품, 스토리보드 이미지)\n- [Krealism V3.1](https://civitai.com/models/2786809/krealism?modelVersionId=3347802) (어떤 포맷이든)\n- [qwen3vl_4b Heretic](https://civitai.red/api/download/models/3066989?fileId=2945735) 텍스트 인코더, 또는 기본 [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n- [krea2RealVae_v10.safetensors](https://huggingface.co/artsyww/KREA2REALVAE/resolve/main/krea2RealVae_v10.safetensors)\n- [krea2_identity_edit_v2.safetensors](https://huggingface.co/conradlocke/krea2-identity-edit/resolve/main/krea2_identity_edit_v2.safetensors?download=true)와 [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) 노드\n\n**MOSS Image 🗺️** (스토리보드 레이아웃)\n- [moss_image_sft_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors)\n- [qwen3.5_9b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors)\n- [flux2-vae_small.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/vae/flux2-vae_small.safetensors) (MOSS는 이 VAE가 필요해요)\n\n**Story writer ✨** (선택)\n- [Qwen3-VL-8B-Instruct-abliterated-v2 GGUF](https://huggingface.co/prithivMLmods/Qwen3-VL-8B-Instruct-abliterated-v2-GGUF) (Q8_0)와 그 **mmproj**를 `models/LLM`에.\n- 💡 **Vision Assistant → Models**에서 클릭 한 번으로 받을 수 있어요.\n\n**처음 쓸 때 저절로 다운로드돼요** (노란 메시지로 알려 주고, **Stop**으로 취소해요)\n- **BiRefNet** (출연진과 소품 이미지의 배경을 지워요)와 **RIFE 4.26**.\n- **RTX Super Resolution**은 NVIDIA RTX 그래픽카드가 필요해요.\n- 얼굴 확인 (선택): [OpenCV zoo](https://github.com/opencv/opencv_zoo)의 `face_detection_yunet_2023mar.onnx` + `face_recognition_sface_2021dec.onnx`를 `models/facerestore`에. 없으면 Make가 얼굴 일치 확인을 건너뛰어요.\n\n---\n\n# ✋ 먼저 읽어 주세요\n\n- **이게 하는 일:** 노드 하나에 짧은 영화를 쓰고 (누가 나오는지, 어디서 일어나는지, 모든 샷), 사람과 장소마다 이미지를 만든 다음 **Run**을 눌러요. MiniMax H3로 샷을 하나씩 렌더하고, 소리와 대사가 있는 영화 하나로 이어 붙여요.\n- **단계를 순서대로 하세요.** 각 단계는 앞 단계에서 만든 걸 써요. 건너뛰면 낯선 사람이 아무 방에나 나오기 딱 좋아요.\n- **💡 가이드 투어:** **Vision Assistant** (왼쪽 사이드바) → **Tour**를 여세요. 워크플로우의 각 부분을 순서대로 비추고 중요한 설정을 표시해 줘요. 이 노트와 함께 쓰세요.\n- 🛑🚫 **노드를 수동으로 bypass하지 마세요.** **Cards & Storyboard 🃏**는 안쪽이 일부러 bypass되어 있어요. **✨** 버튼이 필요한 걸 켜고 다시 원래대로 돌려놔요.\n- ⚠️ **큰 모델**로 하는 **긴 작업**이에요. 960 x 544에서는 VRAM 32 GB면 여유로워요. 그보다 적어도 되지만 더 느려요.\n\n## 기본\n- **이 워크플로우는 모든 단계를 저장해요.**\n - 이미지, 영상 구간 등을 만들었다면 프로젝트를 💾 저장하고, 다른 프로젝트를 작업하다가 언제든 돌아오거나 한 구간을 다시 할 수 있어요.\n - **아무것도 잃지 않아요:** 끝난 건 끝난 그대로예요.\n- **이미지와 영화는 따로 Run해요:**\n - **이미지:** 카드의 이미지 슬롯에서 **✨**를 눌러요 (2단계와 3단계). Story가 그걸 만드는 **Cards & Storyboard 🃏**의 부분을 켜고, **Make 🎥**는 꺼 둔 채 한 번 실행한 다음 전부 원래대로 돌려놔요.\n - **영화:** **Run**을 눌러요 (4단계). **Make**가 아직 안 만든 샷을 모두 렌더해요.\n - ⚠️ **이미지를 만드는 동안 Make는 꺼 두세요.** 새 이미지는 그걸 쓰는 샷을 바꾸고, Make가 같은 Run에서 그 샷들을 다시 렌더해요. ✨가 이걸 자동으로 처리해요.\n- **저장💾** 모든 것이 Story 노드에서 이름 붙인 **프로젝트** 폴더에 저장돼요. ComfyUI를 닫고 내일 돌아와도 전부 그대로 있어요.\n\n**🎨후처리 (Post processing)**\n- 쓸 준비가 될 때까지 이 스위치들은 꺼 두세요\n- 영화 전체를 한 번에 처리하고 무거워서, 그냥 돌아가게 두지는 않을 거예요.\n- **Make 🎥**는 켜 두세요 (bypass하지 마세요).\n\n---\n\n## ⚙️ Settings\n\n- **megapixels**: 0.82 = 1216 x 672 (16:9). 0.52 (960 x 544)는 더 빠르지만, wide shot에서 얼굴이 아주 작아져요.\n - 프로젝트 전체에 한 크기를 유지하세요. 그래도 바꾸면 다음 Run에서 이전 크기로 만든 샷을 모두 순서대로 다시 만들어요 (📐 size 줄에 목록이 나와요).\n - 💡 여기서 품질에 너무 신경 쓰지 마세요. 괜찮은 정도로 뽑아내세요. 1 MP는 마지막에 업스케일할 수 있는 걸 느리게 만들 뿐이에요.\n- **Steps**: turbo LoRA 0.7과 함께 12 (**최적 설정과 시간 ⏱️**의 **기본 int8 + turbo LoRA 0.7** 줄). turbo 1.0에 8이면 더 빠르고 조금 더 부드러워요. turbo 없이는 더 느리고, 제 테스트에선 더 좋지도 않았어요.\n- **LC Seed**: 시드 생성기가 H3 (새 샷마다)와 스토리보드 (MOSS와 Krea 2: seed + 샷 번호)의 시작 시드예요.\n - 만든 샷은 테이크와 함께 각자의 시드를 유지하고, ↻ (다시 만들기)는 항상 새 시드를 골라요.\n - 카드 이미지와 후처리는 각자의 시드가 있어요. 그대로 두세요.\n- **Models & LoRAs**: LC Optimizer가 그래픽카드에 맞는 H3 파일을 골라요.\n - **★ Recommended**로 두는 걸 추천해요.\n - 다른 모델로도 테스트해 봤어요. 10EROS는 잘 되고, Singularity는 목소리에 문제가 있어요.\n - LoRA는 결과가 사람마다 다를 거예요.\n- **Storyboard creator Models & Settings**: 이미지를 만드는 모델들이에요.\n - **Card Model (Krea2)**와 **Character or Style LoRA**가 출연진, 의상, 장소, 소품 이미지를 만들고, **🪪 Edit LoRA**로 스토리보드 프레임을 다시 그려요.\n - **Storyboard model 📖 (MOSS)**가 박스대로 샷을 배치해요.\n - 직접 쓰는 게 없다면 둘 다 **★ Recommended**로 두세요.\n\n\n---\n\n## 1단계: 🎬 이야기 쓰기\n\n모든 것이 큰 **LC H3 Story** 노드에서 일어나요. 목록이 다섯 개 있어요: **🎭 Cast**, **👗 Outfits**, **📍 Places**, **👜 Props**, **🎞 Shots**.\n\n- ✋ **H3 prompt에는 샷의 문장이 보여요.** 샷을 만들 때 Make가 인물, 그림, 소리를 그 둘레에 더해요. 샷의 **H3 prompt**를 열어 읽어 보세요.\n - **↻**는 지금 바로 다시 만들어서, 렌더에 시간을 쓰기 전에 무엇이 전달될지 볼 수 있어요.\n - **✎ Edit**로 직접 쓸 수 있어요. 쓴 텍스트가 그대로 전달되고, **↶ Back to automatic**을 누를 때까지 카드가 그걸 바꾸지 않아요.\n- **project name** (맨 위): 모든 것이 저장되는 폴더, `output/LC_H3/<name>/`. 먼저 이름을 정하세요. **📂**는 저장된 프로젝트를 열고, **💾**는 지금 저장해요 (Run할 때마다 저장도 돼요). **💾 Save as**는 새 이름으로 변형본을 만들어요: 만든 샷은 같이 따라오고 원본은 그대로 남아요.\n- **📐 size** (project name 아래): 이 프로젝트를 만드는 크기 (마지막 Run)와 화면 비율이에요. 다른 크기로 만든 샷은 목록에 나오고 (⚠) 다음 Run에서 다시 만들어져요.\n- **영화 전체의 룩** (맨 윗줄): 영상 스타일을 몇 단어로 (\"cinematic, soft natural light, shallow depth of field\"). 모든 샷에 들어가요.\n\n### 🖼 Picture slots\n- Cast, outfit, place, 🌐 360, prop, 🖼 start, 🏁 end 모두 똑같이 작동해요.\n - 슬롯을 클릭하거나 이미지를 끌어다 놓으세요. **📚 Library**에는 미리 만든 게 있고, **⬆ Upload…**는 파일을 받아요.\n - **✨**가 하나 만들어 줘요 (2단계와 3단계).\n - **↶**는 이전 이미지를 되돌려요. 마지막 8개가 남아 있어요.\n - **✂**는 카드가 이미지에서 쓸 부분을 잘라요 (전신 사진에서 머리와 어깨만, 의상에서 코트만).\n - **×**는 슬롯을 비워요 (start나 end 프레임에서는 **↻**).\n\n### ✨ 이야기 쓰기 (선택)\n- 짧은 줄거리를 입력하고 (\"Nova and Anika meet for coffee, Anika tells a story that goes too far, Nova leaves\") **✨ Write the story**를 누르세요. 로컬 모델이 룩, 출연진, 장소, 샷을 한 번 채워 줘요.\n- 그 다음부터는 직접 고치는 일반 텍스트예요. 버튼을 다시 누르지 않는 한 다시 쓰지 않아요 (다시 누르면 카드를 교체해요. 같은 이름 카드의 이미지와 목소리는 남아요).\n- 위의 **Story writer 모델**이 필요해요. 버튼 옆 드롭다운에서 고르세요.\n- **🔞 NSFW** (✨ Write 창 안, 기본은 꺼짐): 작가 모델이 성인 장면을 쓸 수 있게 해요. LC Vision의 NSFW style tag와 같은 규칙이에요. 꺼 두면 평소처럼 써요. 프로젝트와 함께 저장돼요.\n\n\n### 🎭 Cast: 한 사람당 카드 하나\n- **Name**: 대문자로 시작하세요. 샷은 정확히 이 이름으로 사람을 찾아요.\n- **who**: woman, man, girl, boy, person, cat, dog. 프롬프트에서 사람들을 구별해 줘요.\n- **look**: 한 줄, H3가 가장 잘 따르는 단어들. 머리와 헤어까지만 쓰고 멈추세요: 나이, 얼굴, 눈, 주근깨, 피부, 머리 (길이도). \"mid twenties, a soft oval face, green eyes, light freckles, long wavy blonde hair\". 옷은 절대 넣지 마세요: 옷은 outfit 이미지에 들어가요.\n- **face picture**: 2단계에서 만든 얼굴 사진 (슬롯의 ✨), 또는 직접 가진 사진 (사각형을 클릭하거나 이미지를 끌어다 놓으세요). 배경은 자동으로 지워지고 얼굴은 단색 회색 배경 위에 놓여서, 장면이나 옷으로 번지지 않아요.\n - 얼굴 사진은 머리와 헤어까지예요. 어깨도 옷도 안 돼요: 얼굴 사진에 옷이 있으면 모든 outfit 이미지를 이겨요.\n - ⚠️ 몸에 관한 단어도 안 돼요 (breasts, curvy, figure). 어깨가 드러난 얼굴 사진 옆에 있으면 H3가 옷을 빼먹을 수 있어요. Story가 경고해 줘요 (👗). 몸은 outfit 이미지가 보여 줘요.\n- **👗 outfit picture**: 첫 샷부터 입고 있는 옷, 머리부터 발끝까지. 2단계에서 만들거나 (👗 슬롯의 ✨), 직접 가진 것.\n - **outfit notes**: 의상 전체를 자세히. 이것으로 이미지를 만들고, H3는 첫 번째 옷만 의상 이름으로 읽어요 (\"dark blue jumpsuit\"). 주된 옷과 그 색으로 시작하세요.\n- **🎤 voice** (선택): 그 사람 목소리의 2~15초 클립. H3는 말 내용이 아니라 목소리를 따라 해요.\n- **📋**는 이름과 look을 복사해서 다른 워크플로우에 붙여 넣을 수 있게 해요.\n\n### 👗 Outfits: 옷, 의상 하나당 카드 하나\n- ✋ **모두 어딘가에서 옷을 받아야 해요.** 얼굴 사진에는 옷이 없어요. 사람마다 cast 카드에 👗 outfit 이미지를 주세요. 없으면 샷마다 옷이 달라지고, Story가 경고해요 (👗).\n- outfit 카드는 갈아입는 옷이에요.\n - 옷차림 상태여도 돼요: \"naked\", \"topless, black jeans\", \"wrapped in a white towel\". H3에는 쓴 그대로 가요.\n- **name**: 단순한 이름으로: \"red cocktail dress\", \"yoga outfit\", \"gym clothes\". 이미지가 있으면 H3가 그 의상에 대해 읽는 건 이것뿐이에요.\n - 조각들을 나열하지 마세요. 단어에 신발과 바지가 들어가면 close-up이 wide로 끌려가요 (Story가 경고해요).\n- **who wears it**: 입는 사람.\n- **description**: 머리부터 발끝까지 의상 전체를 자세히, **모든 아이템에 색을**, 색조까지: \"an off the shoulder grey cutoff sweatshirt, high waisted black leggings with a cross stitch band, white Nike gym shoes\". 이것으로 이미지만 만들어요.\n - 겉옷부터, \"over\"로 겹쳐서. 무늬는 색을 말하세요 (\"floral blouse in pale peach and green\"). 소재도 도움이 돼요 (denim, silk, knit, leather).\n- **picture**: 2단계에서 만들거나 (슬롯의 ✨: 입는 사람, 머리부터 발끝까지, 단색 회색 위), 직접 가진 것. name이 말하지 않는 모든 디테일을 담아요.\n- **어떻게 작동하나:**\n - 모두 cast 카드의 👗 outfit으로 시작해요. 바꾸려면 **👗**가 있는 샷에서 다른 것을 고르거나, action에 이름을 쓰세요 (\"Nova comes back in the red dress\"). 그 샷부터 계속 그 옷을 입어요.\n - 각 샷의 프롬프트에 \"wearing <name>\"과 outfit 이미지가 들어가요. Close-up은 close-up으로 유지돼요: 단어에 바지나 신발을 넣지 마세요.\n - 테스트: 어깨끈 하나에 은색 디테일이 있는 빨간 드레스가 \"red dress\"라고만 불렀는데도 이미지만으로 그대로 나왔어요.\n - ⚠️ **Mismatched reference**: 이전 카메라로 돌아가는 컷은 그 샷의 첫 프레임에서 시작하고, wide는 장소의 첫 wide에서 공간을 가져와요. 그 프레임에 다른 옷, 사람, 소품이 보이면 Story가 경고해요. 시작 프레임을 고정하거나, 그 장면에 전용 place 카드를 주세요.\n\n### 📍 Places: 장소 하나당 카드 하나\n- **name**: \"the cafe\". 샷은 이 이름으로 장소를 골라요.\n- **sound**: 들리는 소리만, 다른 건 안 돼요: \"rain on the glass, cups clinking, footsteps\".\n - ✋ **누가 말하는지는 절대 쓰지 마세요** (\"nobody speaks\", \"no voices\"). 말을 언급하면 H3가 말을 해요: 똑같은 무음 샷이 이걸 넣었더니 프랑스어와 영어로 말했고, 뺐더니 조용했어요. 대사가 없는 샷에는 Story가 알아서 \"Nobody speaks.\"를 넣어요.\n- **description**: 거기 있는 것: 공간, 가구, 조명.\n- **room picture**: **비어 있는** 장소. 2단계에서 만들거나 (슬롯의 ✨), 직접 가진 것.\n- **🌐 360** (추천): 공간 전체의 파노라마 **하나** (2단계, 🌐 슬롯의 ✨). 샷마다 이미지를 만들 필요 없어요: Story가 각 샷의 시야를 거기서 알아서 잘라내요.\n - **한 번만 설정:** 장소 아래 작은 뷰어를 돌려서 wide shot이 보여 주는 장면이 나오게 하세요 (**📷 the wide shot faces**). 그게 \"정면\"이에요. 모든 각도는 거기서부터 세요: 90 = 공간의 오른쪽, -90 = 왼쪽, 180 = 카메라 뒤.\n - **close-up과 medium shot은 시야가 자동으로 정해져요.** 이미 각도가 있는 사람의 테이블 건너편 샷은 역각도 (+180)를 받아서, 두 사람 뒤에 공간의 반대쪽이 보여요. 나머지는 wide shot과 같은 방향을 봐요.\n - **다른 각도를 원하면?** 샷 카드의 **🌐**를 누르고 시야를 드래그하세요. 직접 정한 각도가 항상 자동보다 우선해요.\n - 시야는 평면 이미지로 잘라내져서 (프로젝트의 `views/` 폴더), Make와 스토리보드가 그 샷의 배경으로 써요.\n - wide shot은 room picture와 anchor를 써요. 🌐로 직접 맞추지 않는 한요.\n- **📌 anchors**: 컷이 바뀌어도 이 공간을 똑같이 유지하는 프레임. 처음엔 비어 있어요: 아래 **📌 Anchors**를 보세요.\n\n### 👜 Props: 중요한 물건 하나당 카드 하나\n- 모든 샷에서 똑같아 보여야 하는 물건에만 (빨간 우산, 편지, 반지).\n- **name**: \"the red umbrella\". ✋ 샷의 action에서 **정확히 이 단어**를 쓰면, 그 샷이 소품 이미지를 받아요.\n- **description**: 어떻게 생겼는지.\n- **picture**: 2단계에서 만들거나 (슬롯의 ✨), 직접 가진 것. cast처럼 단색 회색 위에 놓여요.\n\n\n**💡 간단한 게 필요하세요?**\n- 모든 cast, outfit, prop, 🌐 360 슬롯의 이미지 선택창에 📚 Library 탭이 있어요: 미리 만든 이미지 102장 (캐스트 얼굴 사진 30, 계절 의상 32, 소품 24, 360 파노라마 16). 전체 보기: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n\n### 🎞 Shots: 샷 하나당 카드 하나, 위에서 아래로가 영화예요\n- **framing**: 카메라가 얼마나 가까운지.\n - **wide shot**: 공간 전체와 거기 있는 모두. 장면을 이걸로 시작하세요.\n - 💡 wide shot의 얼굴은 폭이 45~75 px 정도밖에 안 되고 H3는 16 px 블록으로 그리기 때문에, 얼굴과 입이 뭉개질 수 있어요. 얼굴이나 대사가 중요하면 **medium shot**, **two-shot**, **over the shoulder**를 쓰세요.\n - **side view**, **two-shot**: 두 사람이 화면에.\n - **medium shot**: 허리 위. **close-up**: 얼굴과 어깨. **extreme close-up**: 얼굴.\n - **over the shoulder**, **from behind**, **custom** (action에서 직접 설명).\n- **who it's on**: 카메라가 비추는 사람, **everyone**, 또는 **nobody**.\n - **nobody**: 빈 샷, 장소만 나와요 (하이퍼스페이스에서 빠져나오는 우주선, 텅 빈 거리). 얼굴은 전달되지 않고, 보이스오버만 말할 수 있어요.\n- **move**: still, slow push-in, slow pull back, pan, tracking, orbit, handheld. still이 가장 안전해요.\n- **✂ cut / 🎞 keep rolling**:\n - **cut**: 새 샷. 얼굴, 공간, anchor를 받아요. 거의 항상 이걸 쓰세요.\n - **keep rolling**: 컷 없이, 카메라가 앞 샷의 끝에서 그대로 이어가요. 얼굴과 공간이 그 프레임에서 이어지니까 **이미지를 받지 않아요**.\n - 예외 하나: 걸어 들어오는 사람 (빈 샷에서, 또는 새로운 사람)은 얼굴과 outfit 이미지를 받아요. 안 그러면 H3가 얼굴을 지어내요.\n - 🔒 keep rolling 카드는 framing, 장소, 🌐 각도, 의상, 🖼 start 프레임, 📐 박스를 이어받는 샷에 **고정해요** (회색으로 표시, \"🔒 from shot N\"). **누가 나오는지**는 직접 정해요: 사람이 걸어 들어올 수 있어요.\n - 새 framing이나 장소가 필요하세요? 이어받는 샷을 바꾸거나, 이 샷을 **cut**으로 만드세요. H3는 새 framing으로 이어갈 수 없어요: 알아서 지어낸 공간으로 컷해 버려요.\n- **where**: 장소. 비우면 = 앞 샷과 같은 장소.\n- **seconds**: 비우면 (**auto**) action과 대사에 맞춰요. 숫자를 넣으면 그 길이로. 들어가지 않는 대사는 샷을 늘려요.\n- **action**: 대사 전에 일어나는 일. 짧은 문장, 현재형, 한 문장에 한 가지.\n- **speaker** + **line**: 누가 말하는지, 그리고 말하는 그대로의 대사. 샷 하나에 대사 하나.\n- **after**: 대사 후에 일어나는 일 (선택).\n - 💡 action은 대사 전에 재생돼요. 그녀가 말한 뒤에 일어나야 하는 일 (주문한 뒤에 컵이 나오는 것)은 여기에 쓰세요.\n- **🌐** (선택): 장소의 360 파노라마 안에서 이 샷의 카메라를 직접 맞춰요. close-up은 각도가 자동으로 정해지고, 이건 그걸 덮어써요. **behind**는 그 사람 뒤에 있는 것을 말로 (\"the arched windows\"). H3는 이미지보다 말을 따르니까 꼭 채우세요.\n- **🖼 start** / **🏁 end**: 샷의 첫 프레임 또는 마지막 프레임 (3단계의 ✨, 또는 직접 가진 것). H3는 start 프레임을 그대로 따라 해요.\n - **🏁 end**: action이 거기서 끝날 때만 고정하세요 (\"she stops at the door\"). 일찍 도착한 사람은 얼어붙은 채 서 있어요.\n - 🖼 start는 cut용이에요. keep rolling 샷은 앞 샷에서 시작해요 (슬롯이 회색으로 표시돼요).\n- **📐**: 누가 어디 서는지 (그리고 소품) 샷의 🌐 각도 위에 박스를 그려요. 스토리보드가 3단계에서 써요.\n- **🎛 LoRA for this shot**: 이 샷에만 쓰는 어떤 LoRA든(캐릭터, 의상, 배경, 스타일, 동작) pipe의 LoRA 위에 더해요. 다음 cut부터는 빠져요.\n - 고르는 방법은 LC LoRA Loader와 같아요: 폴더 선택기, ◀ 강도 ▶, 트리거 단어를 보는 **ℹ**. **✕**로 빼요.\n - keep rolling은 이어지는 앞 샷의 LoRA를 써요(🔒). 중간에 LoRA를 바꾸면 이음새에서 튀어요.\n - 💡 캐릭터 LoRA: 트리거 단어(보통 이름)를 출연진 외모와 동작에 넣으세요. 한 사람에 하나. 남자와 여자가 각자 LoRA를 쓰면 두 얼굴이 모두 유지됐어요. 여자 둘이 한 샷에 있으면 섞이기 쉬우니 각자 클로즈업을 주세요.\n - 💡 의상을 적으세요. 옷을 적게 입은 이미지로 학습한 LoRA는 카드에 옷이 적혀 있지 않으면 옷을 줄여요.\n- **H3 prompt**: 각 카드 아래에서 샷의 문장을 보여 줘요 (이 단계 맨 위를 보세요). Story의 **경고** (🛑 꼭 고치기, ⚠️ 확인해 보기)도 거기 있어요.\n- **↑ ↓**는 샷을 목록에서 위아래로 옮겨요. **auto** (숫자를 넣은 뒤 **seconds** 옆)는 길이를 다시 자동으로 돌려요.\n- **max_shot_seconds** (노드에서, 20): 한 번에 만드는 가장 긴 샷. 더 긴 샷은 서로 이어지는 여러 부분으로 만들어요.\n\n---\n\n## ✍️ 프롬프트 작성:\n### 📖 **전체 가이드:** [H3 Showrunner Prompting Guide](https://github.com/lonecatone23/ComfyUI_LC_AV_nodes/blob/main/docs/showrunner/PROMPTING_GUIDE.md)\n\n### 짧은 버전:\n\n- **Looks**: 한 사람당 한 줄, 머리와 헤어만. 머리 길이를 말하세요, 안 그러면 H3가 아무거나 골라요.\n- **Outfits**: 카드에는 단순한 이름 (\"gym clothes\"). 디테일은 description에, 모든 아이템에 색조까지 있는 색: \"faded olive jacket over a cream t-shirt\".\n- **Close-ups**: action에 상대방 이름을 쓰지 마세요. \"Anika stares at Nova\"는 Anika의 close-up 중간에 H3가 Nova로 컷해 버렸어요. \"Anika stares across the table\" (Anika가 테이블 건너편을 응시한다)는 샷 내내 Anika를 유지했어요. Story가 경고해 줘요 (⚠️).\n- **소품은 한 번 세기**: \"Each of them holds one cup.\" 안 그러면 여분이 나타나요.\n- **소품 이름은 카드와 똑같이**: 카드가 \"the red umbrella\"면, action은 \"Nova opens the red umbrella.\"\n- **테이블 건너편 close-up**: \"Seen straight on from across the table, nobody in the foreground: the table edge runs along the bottom of the frame, her body square to the camera, eyes just past the lens to the left.\" 그 다음 그녀 뒤에 뭐가 있는지 말하세요.\n- **대사 중엔 입 동작 금지**: 말하면서 마시거나 먹으면 입술이 사라져요. Story가 컵을 내려놓게 해 주지만, 마시는 건 대사 뒤에 쓰세요.\n- **일어나지 않는 것 말고 일어나는 것을 말하기**: \"Nova doesn't move\"가 아니라 \"Nova sits still and listens\".\n\n---\n\n## 2단계: 📸 이미지 만들기\n\n- 이미지 슬롯에서 **✨**를 누르세요. 이미지는 알아서 카드에 들어가요.\n - ✋ **먼저 카드에 이름을 붙이세요.** 이름이 비어 있으면 이미지를 덮어쓰지 않아요.\n - 슬롯에 이미 이미지가 있으면 ✨가 먼저 물어봐요. 이전 이미지는 남아 있어요: **↶**로 되돌려요 (마지막 8개가 남아 있어요).\n- 각 슬롯이 만드는 것:\n - **cast 카드, 얼굴 사진 슬롯**: 머리와 헤어, 차분한 무표정, 옷 없이, 단색 회색 위 (1024 x 1024).\n - **cast 카드, 👗 슬롯**: **outfit notes**로 만든, 의상을 입은 머리부터 발끝까지의 사람 (896 x 1152).\n - **outfit 카드**: **description**을 입는 사람에게, 머리부터 발끝까지, 단색 회색 위 (896 x 1152). 입는 사람이 없으면: 투명 마네킹.\n - **place 카드, room 슬롯**: 비어 있는 공간, 전체가 보이게 (1344 x 768).\n - **place 카드, 🌐 슬롯**: 360 시야용으로 공간을 한 바퀴 전부 (2:1).\n - **prop 카드**: 물건만 단독으로, 단색 회색 위 (1024 x 1024).\n- ✋ **cast, outfit, prop 이미지는 항상 단색 회색 위로 가요**: 여기서 만들든 직접 끌어다 놓든 배경이 지워져요 (BiRefNet). 카드 자체의 배경, 소품, 표정은 그 카드가 나오는 모든 샷으로 새어 나가요.\n- 💡 마음에 안 들면? **✨**를 다시 누르세요: 시드가 매번 바뀌어요. **↶**는 이전 걸로 돌아가요.\n- 💡 **무표정 얼굴만.** 웃는 카드는 모든 샷에서 웃는 배우를 줘요. 완전히 고정되는 건 아니지만 끌려가요.\n- 💡 **360 panorama**: 장소당 하나. 몇 개 만들어서 수평선이 평평하고 아무도 없는 걸 하나 고르고, place 카드에서 **📷 the wide shot faces**를 한 번 설정하세요.\n- 💡 **더 세밀하게 조절하려면?** 그림 스타일이나 크기는 **Cards & Storyboard 🃏** 안의 **LC H3 Story Card Prompt**에 넣어요. ✨가 거기 설정된 걸 써요.\n- 📚 **직접 만들지 않아도 돼요:** 모든 cast, outfit, prop, 🌐 360 슬롯의 이미지 선택창에 **📚 Library** 탭이 있어요: 미리 만든 이미지 102장 (캐스트 얼굴 사진 30, 계절 의상 32, 소품 24, 360 파노라마 16).\n - 하나를 클릭하면 한 번만 다운로드되어 카드에 들어가요. 빈 카드에는 이름과 텍스트도 채워져요.\n - 전체 보기: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n---\n\n## 3단계: 🗺️ Storyboard (선택, 추천)\n\n카드로 만든 각 샷의 첫 프레임이에요. 그래서 모든 샷이 맞는 공간에 맞는 사람들로 시작해요.\n\n- 각 샷 카드에서 **📐**를 누르고 사람마다 (그리고 소품마다) 있어야 할 자리에 박스를 그리세요. 박스는 샷의 🌐 각도 위에 놓여서, 샷이 실제로 쓸 시야 위에 사람을 배치해요. 박스마다 누구인지 고르세요.\n- 샷의 **🖼 start** 슬롯에서 **✨**를 누르세요. **MOSS**가 박스대로 샷을 배치하고, **Krea 2 Identity Edit**가 cast 카드로 선명하게 다시 그려요. 슬롯에 들어가요.\n - **🏁 end**도 샷이 도착하는 프레임에 똑같이 작동해요.\n - 프레임 하나당 ✨ 한 번.\n- 이미 보여 준 장소의 나중 wide shot은 첫 wide shot의 프레임으로 만들어져서, 공간, 테이블, 카메라 방향이 그대로 유지돼요.\n - ✋ **바뀌는 사람만 박스로** (빨간 드레스를 입고 돌아오는 Nova). 박스를 친 사람은 모두 다시 그려지고, 얼굴이 달라질 수 있어요.\n- ✋ **start 프레임은 action의 첫 순간이에요.** 프레임에 Nova가 이미 앉아 있는데 + \"Nova comes back and sits down\"을 쓰면 두 번째 Nova가 걸어 들어왔어요. 그녀가 오는 곳에 박스를 치거나, 프레임 상태에서부터 action을 쓰세요.\n- ✋ **H3는 start 프레임을 그대로 따라 해요.** 흐리거나 틀린 이미지는 흐리거나 틀린 샷을 만들어요. **✨**를 다시 눌러 새로 만들거나, **↶**로 이전 걸로 돌아가세요.\n\n---\n\n## 4단계: 🎥 영화 만들기\n\n- **Run**을 누르세요. **Make**가 아직 안 만든 샷을 모두 렌더해요.\n- Run 한 번이면 영화 전체를 샷 하나씩 만들고, 만드는 대로 이어 붙여요. 1샷이든 20샷이든.\n- **Stop**을 누르면 큐에 아무것도 남기지 않고 끝나요. 다시 Run하면 멈춘 곳부터 이어가요.\n- **보드** (Story 노드의 샷 아래):\n - ✅ 완성, ✏️ 만든 뒤 바뀜, 🔒 잠김.\n - ▶는 샷을 재생해요: 앞 샷에서 이어받는 1.5초를 뺀, 그 샷 자신의 부분만요.\n - ↻는 **그 샷 하나만** 새 시드로 다시 만들고 멈춰요. 그 뒤의 샷은 건드리지 않아요 (이전 테이크는 `takes/`에 남아요).\n - 💡 바로 뒤의 keep rolling 샷은 그것도 ↻하기 전까지 매끄럽게 이어지지 않아요.\n - 🔒는 마음에 드는 걸 잠가서 아무것도 다시 만들지 않게 해요.\n - 🎬는 영화 전체를 재생해요. **⟳**는 새 테이크를 찾아봐요.\n- **스토리가 긴가요?** 샷 번호 옆의 ▾는 그 샷을 한 줄로 접어요 (🎞 Shots 헤더의 ▸ all / ▾ all). 스크롤하는 동안 프로젝트 바 (이름, 📂, 💾)는 맨 위에 고정돼 있어요.\n- **샷을 바꿨나요?** ✏️로 바뀌어요. Run하면 ✏️ 샷만 다시 만들고, 나머지는 그대로예요.\n- **info** (Make의 텍스트 출력), 샷마다:\n - **face match**: 0.55 이상 = 같은 사람, 0.40~0.55 = 비슷함, 0.40 미만 = 다른 사람. 다시 하세요.\n - **join**: 각 keep rolling 이음새가 얼마나 매끄러운지.\n\n### 📌 Anchors: 공간을 똑같이 유지하기\n- **이게 뭔가요:** 장소의 정지 프레임으로, place 카드의 **📌 anchors** 줄에 저장돼요. H3에게 공간이 유지돼야 하는 모습을 보여 줘요: 가구, 창문, 누가 어디 앉는지.\n- **왜:** 컷마다 H3는 공간을 다시 만들어요. 따라 할 게 없으면 카페 카운터가 새로 생기고, 테이블이 움직이고, 사람들이 자리를 바꿔요.\n- **자동** (Make의 **hold_scene** 켜짐, 기본값): 한 장소에서 처음 만든 wide shot이 그 장소의 anchor가 돼요. 이후 그곳에서 **두 명 이상**이 나오는 컷은 모두 그걸 받아요. 한 사람의 close-up은 대신 room picture나 그 360 시야를 받아요.\n- **직접 고르기** (더 좋아요): 보드에서 만든 샷을 재생하고 (▶), 공간과 모두가 제대로 보이는 프레임에서 멈춘 다음 **📌 Room anchor**를 누르세요. 버튼이 초록색으로 바뀌고 어떤 anchor를 추가했는지 알려 줘요. 그 장소의 anchors 줄에 들어가서 자동 anchor를 대체해요. 줄의 **+** 사각형은 어떤 이미지든 받아요.\n- **🖼 Start shot N here** (같은 플레이어): 이 프레임이 **다음** 샷의 🖼 start 프레임이 돼서, 다음 샷이 정확히 이 프레임에서 시작해요. 다음 샷이 keep rolling이면 cut이 돼요.\n - 💡 📌는 공간만 기억해요. 샷을 시작하지는 않아요. 어떤 프레임에서 샷을 시작하려면 🖼를 쓰세요.\n- 이미 보여 준 구도로 **다시 컷하면** (같은 장소, framing, 사람) 그 샷의 첫 프레임에서 알아서 시작해서, 카메라, 공간, 사람이 맞아요. 첫 샷을 다시 만들면 다시 컷한 샷도 ✏️로 표시돼요.\n- keep rolling 샷은 anchor를 받지 않아요: 앞의 프레임에서 이어가요.\n- 스토리보드 start 프레임 (3단계)이 anchor보다 우선해요: H3가 그대로 따라 하니까요. anchor는 start 프레임이 없는 샷에서 가장 중요해요.\n- anchor의 ×는 그걸 지워요.\n\n---\n\n## 5단계: 🎞️ 후처리 (영화가 다 되면)\n\n### ⚠️ **Save Video 💾**를 켜지 않으면 저장되지 않아요!\n- **Make**는 켜 두세요: 모든 샷이 만들어져 있으면 완성된 영화를 넘겨주기만 해요. 아무것도 다시 렌더하지 않아요.\n- 패널에서 원하는 걸 이 순서대로 켜세요:\n - **Load Video**: 아래 모든 것에 필요해요.\n - **Frame Interpolate** 24 → 48: 디테일을 아주 조금 잃고 떨림이 절반 정도로 줄어요. 1분 이내.\n - **RTX Super Resolution**: **deblur**는 같은 크기로 흐릿한 가장자리를 선명하게 해요. 2x로 키우려면 **mode**를 **upscale**로 바꾸세요. NVIDIA RTX 카드가 필요해요.\n - **Save Video 💾**: 이게 없으면 아무것도 저장되지 않아요.\n - **Audio Volume**과 **Audio EQ**: 소리를 키우거나 줄이고, 목소리용 간단한 3밴드 EQ예요. 소리가 괜찮으면 꺼 두세요.\n\n---\n\n### 파일 저장 위치\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors\n│ │ ├── Krealism V3.1\n│ │ └── moss_image_sft_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│ │ ├── qwen3vl_4b Heretic (or qwen3vl_4b_fp8_scaled)\n│ │ └── qwen3.5_9b_int8_convrot.safetensors\n│ ├── 📂 vae/\n│ │ ├── minimax_h3_video_vae_int8_convrot.safetensors\n│ │ ├── minimax_h3_audio_vae_fp32.safetensors\n│ │ ├── krea2RealVae_v10.safetensors\n│ │ └── flux2-vae_small.safetensors\n│ ├── 📂 vae_approx/\n│ │ └── taeh3.safetensors\n│ ├── 📂 loras/\n│ │ ├── 📂 MiniMax/\n│ │ │ ├── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors\n│ │ │ ├── MMH3-RealismSlider-V1.safetensors\n│ │ │ └── mvmt_h3_lora_v1_500.safetensors\n│ │ └── 📂 Krea 2/\n│ │ └── krea2_identity_edit_v2.safetensors\n│ ├── 📂 LLM/\n│ │ └── Qwen3-VL-8B-Instruct-abliterated-v2 GGUF (+ its mmproj)\n│ ├── 📂 background_removal/\n│ │ └── BiRefNet-general.safetensors (downloads on first use)\n│ ├── 📂 facerestore/\n│ │ └── yunet + sface .onnx (optional)\n│ └── 📂 rife/ (downloads on first use)\n├── 📂 input/\n│ └── 📂 lc_h3_refs/\n│ └── 📂 <project>/\n│ ├── cast_, place_, pano_, prop_ pictures\n│ └── start_ and end_ frames\n└── 📂 output/\n └── 📂 LC_H3/\n └── 📂 <project>/\n ├── story.json, plan.json\n ├── <project>.mp4 (the finished movie)\n ├── 📂 views/ (the 360 angles)\n └── 📂 takes/\n ├── seg_001.mp4, seg_002.mp4, etc.\n └── old takes (nothing is ever deleted)\n```\n\n---\n\n*\"True Nothing is. Permitted Everything is\"*- Yoda Auditore, **Assassin's Wars**",
149 "src": "378b4411",
150 "srcTitle": "Notes 📝"
151 }
152 },
153 "titles": {
154 "en": "Notes 📝",
155 "zh": "说明 📝",
156 "ja": "Notes 📝",
157 "ko": "노트 📝"
158 }
159 },
160 "ue_properties": {
161 "widget_ue_connectable": [],
162 "version": "7.8",
163 "input_ue_unconnectable": []
164 }
165 },
166 "widgets_values": [
167 "English ✏️",
168 "## Lonecat's H3 Showrunner 🎬\n\n---\n\n@[card: Follow me](https://civitai.com/user/lonecatone23)\n\n@[card: Follow me](https://www.instagram.com/synth.studio.models/)\n\n@[card: Get my stuff here](https://github.com/lonecatone23)\n\n@[card: Get my models here](https://huggingface.co/Lonecatone23)\n\n\n@[card: Buy me a ☕](https://ko-fi.com/lonecatone)\n\n### This is many hours of work. If you enjoy it, please 👍 like, 💬 comment, and feel free to ⚡ tip 😉\n\n---\n\n## 📦 Models & LoRAs\n\n💡 The **LC Optimizer** nodes pick the right file for your card (★ Recommended). The links are for downloading them.\n\n**MiniMax H3 🎥** (the movie)\n- [minimax_h3_fl2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors) (doesn't need an RTX 50 card)\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors)\n- [taeh3.safetensors](https://github.com/madebyollin/taehv/raw/main/safetensors/taeh3.safetensors) (the full 22.7 MB one, for the Live Preview, goes in `vae_approx`)\n\n**MiniMax H3 LoRAs**\n- [minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors) at 1.0: 8 steps, cfg 1. Talking comes out cleanest with it.\n- [MMH3 Realism Slider](https://civitai.com/models/3014078) (LoRA loader)\n- mvmt_h3_lora_v1_500 (LoRA loader)\n\n**Krea 2 🖼️** (cast, places, props and storyboard pictures)\n- [Krealism V3.1](https://civitai.com/models/2786809/krealism?modelVersionId=3347802) (any format)\n- [qwen3vl_4b Heretic](https://civitai.red/api/download/models/3066989?fileId=2945735) text encoder, or the stock [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n- [krea2RealVae_v10.safetensors](https://huggingface.co/artsyww/KREA2REALVAE/resolve/main/krea2RealVae_v10.safetensors)\n- [krea2_identity_edit_v2.safetensors](https://huggingface.co/conradlocke/krea2-identity-edit/resolve/main/krea2_identity_edit_v2.safetensors?download=true) with the [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) nodes\n\n**MOSS Image 🗺️** (storyboard layout)\n- [moss_image_sft_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors)\n- [qwen3.5_9b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors)\n- [flux2-vae_small.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/vae/flux2-vae_small.safetensors) (MOSS needs this VAE)\n\n**Story writer ✨** (optional)\n- [Qwen3-VL-8B-Instruct-abliterated-v2 GGUF](https://huggingface.co/prithivMLmods/Qwen3-VL-8B-Instruct-abliterated-v2-GGUF) (Q8_0) and its **mmproj**, in `models/LLM`.\n- 💡 **Vision Assistant → Models** downloads it with one click.\n\n**Downloads by themselves the first time** (a yellow message tells you, **Stop** cancels)\n- **BiRefNet** (takes the background off cast and prop pictures) and **RIFE 4.26**.\n- **RTX Super Resolution** needs an NVIDIA RTX card.\n- Face check (optional): `face_detection_yunet_2023mar.onnx` + `face_recognition_sface_2021dec.onnx` from the [OpenCV zoo](https://github.com/opencv/opencv_zoo) in `models/facerestore`. Without them Make skips the face match.\n\n---\n\n# ✋ Read this first\n\n- **What this does:** you write a short movie on one node (who is in it, where it happens, and every shot), make a picture for each person and place, and press **Run**. It renders the shots one after another with MiniMax H3 and joins them into one movie with sound and dialogue.\n- **Do the steps in order.** Every step uses what the step before it made. Skipping ahead is the fastest way to get strangers in random rooms.\n- **💡 The guided tour:** open **Vision Assistant** (the left sidebar) → **Tour**. It lights up each part of the workflow in order and marks the settings that matter. Use it alongside this note.\n- 🛑🚫 **Don't bypass nodes by hand.** **Cards & Storyboard 🃏** is bypassed on the inside on purpose. The **✨** buttons switch on what they need and put it back.\n- ⚠️ This is a **long job** on a **big model**. 32 GB of VRAM is comfortable at 960 x 544. Less works, just slower.\n\n## The basics\n- **This workflow saves every step.** \n - If you create images, video sections, etc., you can 💾 save the project, work on a different project, and come back to it or redo a section at any time.\n - **Nothing is lost:** what finished stays finished.\n- **Pictures and the movie are separate Runs:**\n - **Pictures:** press **✨** on a card's picture slot (steps 2 and 3). The Story switches on the part of **Cards & Storyboard 🃏** that makes it, keeps **Make 🎥** off, runs once and puts everything back.\n - **Movie:** press **Run** (step 4). **Make** renders every shot that isn't made yet.\n - ⚠️ **Make has to be off while a picture is made.** A new picture changes the shots that use it, and Make would render them again on the same Run. ✨ does that for you.\n- **Save💾** Everything is saved in a **project** folder named on the Story node. Close ComfyUI, come back tomorrow, and it's all still there.\n\n**🎨Post processing**\n- Leave these switches off until you are ready to use it\n- It processes the entire movie all at once and it is heavy, so I would not let it just run.\n- Keep **Make 🎥** on (don't bypass it).\n\n---\n\n## ⚙️ Settings\n\n- **megapixels**: 0.82 = 1216 x 672 (16:9). 0.52 (960 x 544) is faster, but faces in wide shots get very small.\n - Keep one size for the whole project. Change it anyway and the next Run makes every shot made at the old size again, in order (the 📐 size line lists them).\n - 💡 Don't stress too much over quality here. Push out decent, but 1 MP just slows down what you can upscale in the end.\n- **Steps**: 12 with the turbo LoRA at 0.7 (the **Stock int8 + turbo LoRA 0.7** row in **Optimal setups and times ⏱️**). 8 with turbo at 1.0 is faster and a little softer. No turbo is slower and not better in my tests.\n- **LC Seed**: the seed generator is the starting seed for H3 (each new shot) and the storyboard (MOSS and Krea 2: seed + shot number).\n - Every made shot keeps its own seed with its take, and ↻ (remake) always picks a new one.\n - The card pictures and post processing have their own seeds. Leave it alone.\n- **Models & LoRAs**: the LC Optimizer picks the H3 files for your card. \n - I suggest leaving it on **★ Recommended**.\n - I've tested it on other models. 10EROS works well, Singularity has voice issues. \n - LoRAs. Your mileage will vary. \n- **Storyboard creator Models & Settings**: the models that make the pictures.\n - **Card Model (Krea2)** with the **Character or Style LoRA** makes the cast, outfit, place and prop pictures, and redraws the storyboard frames with the **🪪 Edit LoRA**.\n - **Storyboard model 📖 (MOSS)** lays the shots out from your boxes.\n - Leave both on **★ Recommended** unless you have your own.\n\n\n---\n\n## Step 1: 🎬 Write the story\n\nEverything happens on the big **LC H3 Story** node. It has five lists: **🎭 Cast**, **👗 Outfits**, **📍 Places**, **👜 Props** and **🎞 Shots**.\n\n- ✋ **The H3 prompt shows the shot's lines.** Make wraps the people, pictures and sound around them when the shot is made. Open a shot's **H3 prompt** to read it.\n - **↻** builds it again right now, so you see what will be sent before you spend time rendering.\n - **✎ Edit** lets you write it yourself. Your text is sent as written, and the cards stop changing it until you press **↶ Back to automatic**.\n- **project name** (top): the folder everything is saved in, `output/LC_H3/<name>/`. Name it first. **📂** opens a saved project, **💾** saves now (every Run saves too). **💾 Save as** keeps a variant under a new name: the made shots come along and the original stays as it is.\n- **📐 size** (under the project name): the size this project is made at (the last Run), with its aspect ratio. Shots made at another size are listed (⚠) and made again on the next Run.\n- **The look of the whole movie** (top line): a few words for the film style (\"cinematic, soft natural light, shallow depth of field\"). It goes into every shot.\n\n### 🖼 Picture slots\n- Cast, outfit, place, 🌐 360, prop, 🖼 start and 🏁 end all work the same way.\n - Click a slot or drop a picture on it. **📚 Library** has ready-made ones, **⬆ Upload…** takes a file.\n - **✨** makes one for you (steps 2 and 3).\n - **↶** brings back the picture before this one. The last 8 are kept.\n - **✂** crops what the card uses of a picture (a head and shoulders out of a full-length photo, just the coat of an outfit).\n - **×** empties the slot (**↻** on a start or end frame).\n\n### ✨ Write the story (optional)\n- Type a short pitch (\"Nova and Anika meet for coffee, Anika tells a story that goes too far, Nova leaves\") and press **✨ Write the story**. A local model fills in the look, cast, places and shots once.\n- After that it's plain text you edit. It never writes again unless you press the button again (which replaces the cards; pictures and voices on cards with the same name stay).\n- Needs the **Story writer model** above. Pick it in the dropdown next to the button.\n- **🔞 NSFW** (in the ✨ Write box, off by default): lets the writer write adult scenes, the same rule as LC Vision's NSFW style tag. Off, it writes the way it always has. Saved with the project.\n\n\n### 🎭 Cast: one card per person\n- **Name**: start with a capital letter. Shots find people by this exact name.\n- **who**: woman, man, girl, boy, person, cat, dog. It tells people apart in the prompt.\n- **look**: one line, the words H3 follows most. Describe the head and hair, then stop: age, face, eyes, freckles, skin, hair (length too). \"mid twenties, a soft oval face, green eyes, light freckles, long wavy blonde hair\". Never clothes: they go in the outfit picture.\n - ⚠️ No body words either (breasts, curvy, figure). Next to a bare-shouldered headshot they can make H3 leave the clothes off. The Story warns you (👗). The outfit picture shows the body.\n- **face picture**: a headshot, made in step 2 (✨ on the slot), or yours (click the square or drop a picture on it). The background is automatically removed and the face is placed on a plain grey background to prevent it from bleeding into the scene or outfit.\n - Headshot means head and hair. No shoulders, no clothes: clothes in a headshot beat every outfit picture.\n- **👗 outfit picture**: what they wear from their first shot, head to toe. Made in step 2 (✨ on the 👗 slot), or yours.\n - **outfit notes**: the whole outfit in detail. The picture is made from it, and H3 reads only its first piece of clothing as the outfit's name (\"dark blue jumpsuit\"). Start with the main piece and its color.\n- **🎤 voice** (optional): a 2 to 15 s clip of how they sound. H3 copies the voice, not the words.\n- **📋** copies the name and look to paste into another workflow.\n\n### 👗 Outfits: the clothes, one card per outfit\n- ✋ **Everyone needs clothes from somewhere.** The headshot carries none. Give each person a 👗 outfit picture on their cast card. With none, they get different clothes in every shot, and the Story warns you (👗).\n- An outfit card is a change of clothes.\n - It can also be a state of dress: \"naked\", \"topless, black jeans\", \"wrapped in a white towel\". H3 gets it as written.\n- **name**: a simple name: \"red cocktail dress\", \"yoga outfit\", \"gym clothes\". With a picture, it's all H3 reads about the outfit.\n - Never a list of pieces. Shoes and pants in the words pull close-ups wide (the Story warns you).\n- **who wears it**: the person.\n- **description**: the whole outfit head to toe, in detail, **a color for every item**, with the shade: \"an off the shoulder grey cutoff sweatshirt, high waisted black leggings with a cross stitch band, white Nike gym shoes\". Only the picture is made from it.\n - Layers outside first, with \"over\". Patterns name their colors (\"floral blouse in pale peach and green\"). Fabric helps (denim, silk, knit, leather).\n- **picture**: made in step 2 (✨ on the slot: the person who wears it, head to toe, on plain grey), or yours. It carries every detail the name doesn't say.\n- **How it plays:**\n - Everyone starts in their cast card's 👗 outfit. To change, pick another on a shot with **👗**, or name it in the action (\"Nova comes back in the red dress\"). They stay in it from that shot on.\n - Each shot gets \"wearing <name>\" in the prompt and the outfit picture. Close-ups stay close: no pants or shoes in the words.\n - Tested: a one-strap red dress with silver details came through from the picture alone, named just \"red dress\".\n - ⚠️ **Mismatched reference**: a cut back to an earlier camera opens on that shot's first frame, and a wide takes its room from the place's first wide. If that frame shows other clothes, people or props, the Story warns you. Pin a start frame, or give the scene its own place card.\n\n### 📍 Places: one card per location\n- **name**: \"the cafe\". Shots pick their place by this name.\n- **sound**: sounds you can hear, nothing else: \"rain on the glass, cups clinking, footsteps\".\n - ✋ **Never write who speaks** (\"nobody speaks\", \"no voices\"). Naming speech makes H3 speak: the same silent shot talked in French and English with it and was silent without it. The Story adds \"Nobody speaks.\" to a shot with no line by itself.\n- **description**: what is there: the room, the furniture, the light.\n- **room picture**: the place, **empty**. Made in step 2 (✨ on the slot), or yours.\n- **🌐 360** (recommended): **one** panorama of the whole room (step 2, ✨ on the 🌐 slot). You don't make a picture per shot: the Story cuts each shot's view out of it by itself.\n - **Set it once:** turn the small viewer under the place until it shows what your wide shot shows (**📷 the wide shot faces**). That is \"front\". Every angle counts from there: 90 = right side of the room, -90 = left, 180 = behind the camera.\n - **Close-ups and medium shots get their view automatically.** One across the table from someone who already has an angle gets the reverse angle (+180), so the two of them have opposite sides of the room behind them. The others face the way the wide shot faces.\n - **Want a different angle?** Press **🌐** on the shot card and drag the view. Your angle always wins over the automatic one.\n - The view is cut as a flat picture (in the project's `views/` folder) and used as that shot's background, by Make and by the storyboard.\n - Wide shots use the room picture and the anchor, unless you aim them with 🌐 too.\n- **📌 anchors**: frames that keep this room the same across cuts. Empty at first: see **📌 Anchors** below.\n\n### 👜 Props: one card per object that matters\n- Only for an object that must look the same in every shot (the red umbrella, the letter, the ring).\n- **name**: \"the red umbrella\". ✋ Use these **exact words** in a shot's action, and that shot gets the prop's picture.\n- **description**: what it looks like.\n- **picture**: made in step 2 (✨ on the slot), or yours. It goes on plain grey like the cast.\n\n\n**💡 Need something simple?** \n- Every cast, outfit, prop and 🌐 360 slot has a 📚 Library tab in its picture picker: 102 ready-made pictures (30 cast headshots, 32 seasonal outfits, 24 props, 16 360 panoramas). Browse them all: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n\n### 🎞 Shots: one card per shot, top to bottom is the movie\n- **framing**: how close the camera is.\n - **wide shot**: the whole room and everyone in it. Start a scene with one.\n - 💡 A face in a wide shot is only about 45 to 75 px wide and H3 draws in 16 px blocks, so faces and mouths can garble. Use a **medium shot**, **two-shot** or **over the shoulder** when a face or a line matters.\n - **side view**, **two-shot**: two people in frame.\n - **medium shot**: waist up. **close-up**: face and shoulders. **extreme close-up**: the face.\n - **over the shoulder**, **from behind**, **custom** (you describe it in the action).\n- **who it's on**: the person the camera is on, **everyone**, or **nobody**.\n - **nobody**: an empty shot, the place alone (a ship coming out of hyperspace, an empty street). No faces are sent, and only a voiceover can speak.\n- **move**: still, slow push-in, slow pull back, pan, tracking, orbit, handheld. Still is the safest.\n- **✂ cut / 🎞 keep rolling**:\n - **cut**: a new shot. It gets the faces, the room and the anchor. Use it almost always.\n - **keep rolling**: no cut, the camera carries straight on from the end of the shot before. The faces and the room carry on from those frames, so it gets **no pictures**.\n - One exception: people who walk in (out of an empty shot, or someone new) get their face and outfit pictures, or H3 invents their faces.\n - 🔒 A keep rolling card **locks** the framing, the place, the 🌐 angle, the outfits, the 🖼 start frame and the 📐 boxes to the shot it rolls from (greyed out, \"🔒 from shot N\"). **Who is in it** stays yours: people can walk in.\n - Need a new framing or place? Change the shot it rolls from, or make this one a **cut**. H3 can't carry on into a new framing: it cuts by itself to a room it invents.\n- **where**: the place. Empty = the same place as the shot before.\n- **seconds**: empty (**auto**) fits the action and the line. Type a number to set it. A line that can't fit stretches the shot.\n- **action**: what happens before the line. Short sentences, present tense, one thing each.\n- **speaker** + **line**: who talks, and the words exactly as they say them. One line per shot.\n- **after**: what happens after the line (optional).\n - 💡 The action plays before the line. Something that should happen once she has spoken (the cup arriving after she orders) goes here.\n- **🌐** (optional): aim this shot's camera inside the place's 360 panorama yourself. Close-ups get an angle automatically; this overrides it. **behind** is what is behind the person in words (\"the arched windows\"). H3 follows words over pictures, so fill it in.\n- **🖼 start** / **🏁 end**: the first or last frame of the shot (✨ in step 3, or yours). H3 copies a start frame exactly.\n - 🖼 start is for cuts. A keep rolling shot starts from the shot before (its slot is greyed out).\n - **🏁 end**: pin one only when the action ends on it (\"she stops at the door\"). A person who gets there early stands frozen.\n- **📐**: draw boxes for who stands where (and props), on the shot's 🌐 angle. The storyboard uses them in step 3.\n- **🎛 LoRA for this shot**: any LoRA for this shot only (a character, an outfit, a backdrop, a style, an action), on top of the LoRAs in the pipe. The next cut starts without it.\n - Pick it the same way as in the LC LoRA Loader: the folder picker, ◀ strength ▶, and **ℹ** for its trigger words. **✕** takes it off.\n - keep rolling uses the LoRAs of the shot it rolls from (🔒). A new LoRA mid-roll jumps at the join.\n - 💡 Character LoRAs: put the trigger word (usually the name) in the cast look and the action. One per person. A man and a woman with their own LoRAs held both faces; two women in one shot tend to blend, so give each her own close-up.\n - 💡 Name the outfit. A LoRA trained on less clothing brings less clothing unless a card says what they wear.\n- **H3 prompt**: under each card, the shot's lines (see the top of this step). The Story's **warnings** (🛑 must fix, ⚠️ should look at) sit there too.\n- **↑ ↓** move a shot up or down the list. **auto** (next to **seconds**, once you typed a number) puts the length back to automatic.\n- **max_shot_seconds** (on the node, 20): the longest shot made in one go. Longer shots are made in parts that carry on from each other.\n\n---\n\n## ✍️ Prompting:\n### 📖 **The full guide:** [H3 Showrunner Prompting Guide](https://github.com/lonecatone23/ComfyUI_LC_AV_nodes/blob/main/docs/showrunner/PROMPTING_GUIDE.md)\n\n### The short version:\n\n- **Looks**: one line each, head and hair only. Say the hair length, or H3 picks one.\n- **Outfits**: a simple name on the card (\"gym clothes\"). The details go in its description, a color with a shade for every item: \"faded olive jacket over a cream t-shirt\".\n- **Close-ups**: don't name the other person in the action. \"Anika stares at Nova\" made H3 cut to Nova halfway through Anika's close-up. \"Anika stares across the table\" kept her the whole shot. The Story warns you (⚠️).\n- **Count props once**: \"Each of them holds one cup.\" Or extras show up.\n- **Name the prop like its card**: the card says \"the red umbrella\", the action says \"Nova opens the red umbrella.\"\n- **Close-ups across a table**: \"Seen straight on from across the table, nobody in the foreground: the table edge runs along the bottom of the frame, her body square to the camera, eyes just past the lens to the left.\" Then say what is behind her.\n- **No mouth actions during a line**: drinking or eating while talking loses the lips. The Story puts the cups down for you, but write the sip after the line.\n- **Say what happens, not what doesn't**: \"Nova sits still and listens\", not \"Nova doesn't move\".\n\n---\n\n## Step 2: 📸 Make the pictures\n\n- Press **✨** on a picture slot. The picture lands on its card by itself.\n - ✋ **Name the card first.** A blank name never writes over a picture.\n - If the slot already has a picture, ✨ asks first. The old one is kept: **↶** brings it back (the last 8 are kept).\n- What each slot makes:\n - **cast card, headshot slot**: head and hair, calm neutral face, no clothes, on plain grey (1024 x 1024).\n - **cast card, 👗 slot**: the person head to toe in their outfit, from the **outfit notes** (896 x 1152).\n - **outfit card**: its **description** on the person who wears it, head to toe, on plain grey (896 x 1152). Nobody wears it: an invisible mannequin.\n - **place card, room slot**: the room, empty, the whole space in view (1344 x 768).\n - **place card, 🌐 slot**: the room all the way round (2:1) for the 360 view.\n - **prop card**: the object alone, on plain grey (1024 x 1024).\n- ✋ **Cast, outfit and prop pictures always end up on plain grey**: drafted here or dropped in yourself, the background comes off (BiRefNet). A card's own background, props and expression leak into every shot it's in.\n- 💡 Not happy? Press **✨** again: the seed changes every time. **↶** goes back to the one before.\n- 💡 **Neutral faces only.** A smiling card gives you a smiling actor in every shot. It's not a hard lock, but it pulls.\n- 💡 **360 panorama**: one per place. Make a few and keep one with a level horizon and nobody in it, then set **📷 the wide shot faces** on the place card once.\n- 💡 **More control?** An art style or a size goes on **LC H3 Story Card Prompt** inside **Cards & Storyboard 🃏**. ✨ uses what is set there.\n- 📚 **Or skip making them:** every cast, outfit, prop and 🌐 360 slot has a **📚 Library** tab in its picture picker: 102 ready-made pictures (30 cast headshots, 32 seasonal outfits, 24 props, 16 360 panoramas).\n - Click one: it downloads once and lands on the card. An empty card gets its name and text too.\n - Browse them all: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n---\n\n## Step 3: 🗺️ Storyboard (optional, recommended)\n\nThe first frame of each shot, built from your cards, so every shot starts with the right people in the right room.\n\n- On each shot card, press **📐** and draw a box for each person (and prop) where they should be. The boxes sit on the shot's 🌐 angle, so you place people on the view the shot will use. Pick who each box is.\n- Press **✨** on the shot's **🖼 start** slot. **MOSS** lays the shot out from the boxes, then **Krea 2 Identity Edit** redraws it sharp with your cast cards. It lands in the slot.\n - **🏁 end** works the same for the frame a shot lands on.\n - One ✨ per frame.\n- A later wide shot in a place you've already shown is built from the first wide shot's frame, so the room, the table and the camera side stay put.\n - ✋ **Box only who changes** (Nova coming back in the red dress). Everyone boxed is drawn again, and their face can drift.\n- ✋ **The start frame is the action's first moment.** Nova already seated in the frame + \"Nova comes back and sits down\" gave a second Nova walking in. Box her where she comes from, or write the action from where the frame is.\n- ✋ **H3 copies a start frame exactly.** A soft or wrong picture makes a soft or wrong shot. Press **✨** again for a new one, or **↶** for the one before.\n\n---\n\n## Step 4: 🎥 Make the movie\n\n- Press **Run**. **Make** renders every shot that isn't made yet.\n- One Run makes the whole movie, shot after shot, and joins it as it goes. 1 shot or 20.\n- **Stop** ends it with nothing left in the queue. Run again and it picks up where it stopped.\n- **The board** (under the shots on the Story node):\n - ✅ made, ✏️ changed since it was made, 🔒 locked.\n - ▶ plays a shot: its own part, without the second and a half it carries over from the shot before.\n - ↻ makes **that one shot** again with a new seed, then stops. Nothing after it is touched (the old take is kept in `takes/`).\n - 💡 A keep rolling shot right after it won't join smoothly until you ↻ it too.\n - 🔒 locks a keeper so nothing remakes it.\n - 🎬 plays the whole movie. **⟳** looks for new takes.\n- **Long story?** ▾ next to a shot's number folds it to one line (▸ all / ▾ all in the 🎞 Shots header). The project bar (name, 📂, 💾) stays pinned at the top while you scroll.\n- **Changed a shot?** It turns ✏️. Run remakes only the ✏️ shots, the rest stay.\n- **info** (Make's text output) after every shot:\n - **face match**: 0.55 and up = same person, 0.40 to 0.55 = close, under 0.40 = someone else. Redo it.\n - **join**: how smooth each keep-rolling join is.\n\n### 📌 Anchors: keeping the room the same\n- **What it is:** a still frame of a place, saved on the place card's **📌 anchors** row. It shows H3 the room as it must stay: the furniture, the windows, who sits where.\n- **Why:** on every cut H3 builds the room again. Without something to copy, the café gets a new counter, the table moves, and people swap seats.\n- **Automatic** (Make's **hold_scene** on, the default): the first wide shot made in a place becomes its anchor. Every later cut there with **two or more people** gets it. A close-up of one person gets the room picture or its 360 view instead.\n- **Your own** (better): play a made shot on the board (▶), pause on a frame where the room and everyone in it look right, press **📌 Room anchor**. The button turns green and says which anchor it added. It lands in that place's anchors row and replaces the automatic one. The **+** square in the row takes any picture.\n- **🖼 Start shot N here** (same player): this frame becomes the **next** shot's 🖼 start frame, so the next shot opens exactly on it. A keep rolling next shot becomes a cut.\n - 💡 📌 only remembers the room. It never starts a shot. To start a shot on a frame, use 🖼.\n- **Cutting back** to a setup you've already shown (same place, framing and person) opens on that shot's first frame by itself, so the camera, room and people match. Remake the first one and the cut-back is marked ✏️ too.\n- Keep-rolling shots never get an anchor: they carry on from the frames before them.\n- A storyboard start frame (step 3) beats an anchor: H3 copies it exactly. Anchors matter most for shots without one.\n- × on an anchor removes it.\n\n---\n\n## Step 5: 🎞️ Post Processing (when the movie is done)\n\n### ⚠️ It will not save unless **Save Video 💾** is switched on!\n- Keep **Make** on: with every shot made it just hands over the finished movie. Nothing renders again.\n- Turn on what you want in the panel, in this order:\n - **Load Video**: needed for everything below.\n - **Frame Interpolate** 24 → 48: about half the jitter for a sliver of detail. Under a minute.\n - **RTX Super Resolution**: **deblur** sharpens soft edges at the same size. Set **mode** to **upscale** for 2x instead. Needs an NVIDIA RTX card.\n - **Save Video 💾**: nothing saves without it.\n - **Audio Volume** and **Audio EQ**: louder or quieter, and a simple 3-band EQ for the voices. Leave them off if the sound is fine.\n\n---\n\n### File Storage Locations\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors\n│ │ ├── Krealism V3.1\n│ │ └── moss_image_sft_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│ │ ├── qwen3vl_4b Heretic (or qwen3vl_4b_fp8_scaled)\n│ │ └── qwen3.5_9b_int8_convrot.safetensors\n│ ├── 📂 vae/\n│ │ ├── minimax_h3_video_vae_int8_convrot.safetensors\n│ │ ├── minimax_h3_audio_vae_fp32.safetensors\n│ │ ├── krea2RealVae_v10.safetensors\n│ │ └── flux2-vae_small.safetensors\n│ ├── 📂 vae_approx/\n│ │ └── taeh3.safetensors\n│ ├── 📂 loras/\n│ │ ├── 📂 MiniMax/\n│ │ │ ├── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors\n│ │ │ ├── MMH3-RealismSlider-V1.safetensors\n│ │ │ └── mvmt_h3_lora_v1_500.safetensors\n│ │ └── 📂 Krea 2/\n│ │ └── krea2_identity_edit_v2.safetensors\n│ ├── 📂 LLM/\n│ │ └── Qwen3-VL-8B-Instruct-abliterated-v2 GGUF (+ its mmproj)\n│ ├── 📂 background_removal/\n│ │ └── BiRefNet-general.safetensors (downloads on first use)\n│ ├── 📂 facerestore/\n│ │ └── yunet + sface .onnx (optional)\n│ └── 📂 rife/ (downloads on first use)\n├── 📂 input/\n│ └── 📂 lc_h3_refs/\n│ └── 📂 <project>/\n│ ├── cast_, place_, pano_, prop_ pictures\n│ └── start_ and end_ frames\n└── 📂 output/\n └── 📂 LC_H3/\n └── 📂 <project>/\n ├── story.json, plan.json\n ├── <project>.mp4 (the finished movie)\n ├── 📂 views/ (the 360 angles)\n └── 📂 takes/\n ├── seg_001.mp4, seg_002.mp4, etc.\n └── old takes (nothing is ever deleted)\n```\n\n---\n\n*\"True Nothing is. Permitted Everything is\"*- Yoda Auditore, **Assassin's Wars**"
169 ],
170 "widgets_values_named": {
171 "language": "English ✏️",
172 "text": "## Lonecat's H3 Showrunner 🎬\n\n---\n\n@[card: Follow me](https://civitai.com/user/lonecatone23)\n\n@[card: Follow me](https://www.instagram.com/synth.studio.models/)\n\n@[card: Get my stuff here](https://github.com/lonecatone23)\n\n@[card: Get my models here](https://huggingface.co/Lonecatone23)\n\n\n@[card: Buy me a ☕](https://ko-fi.com/lonecatone)\n\n### This is many hours of work. If you enjoy it, please 👍 like, 💬 comment, and feel free to ⚡ tip 😉\n\n---\n\n## 📦 Models & LoRAs\n\n💡 The **LC Optimizer** nodes pick the right file for your card (★ Recommended). The links are for downloading them.\n\n**MiniMax H3 🎥** (the movie)\n- [minimax_h3_fl2va_pruned_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)\n- [qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors) (doesn't need an RTX 50 card)\n- [minimax_h3_video_vae_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_video_vae_int8_convrot.safetensors)\n- [minimax_h3_audio_vae_fp32.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/vae/minimax_h3_audio_vae_fp32.safetensors)\n- [taeh3.safetensors](https://github.com/madebyollin/taehv/raw/main/safetensors/taeh3.safetensors) (the full 22.7 MB one, for the Live Preview, goes in `vae_approx`)\n\n**MiniMax H3 LoRAs**\n- [minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors) at 1.0: 8 steps, cfg 1. Talking comes out cleanest with it.\n- [MMH3 Realism Slider](https://civitai.com/models/3014078) (LoRA loader)\n- mvmt_h3_lora_v1_500 (LoRA loader)\n\n**Krea 2 🖼️** (cast, places, props and storyboard pictures)\n- [Krealism V3.1](https://civitai.com/models/2786809/krealism?modelVersionId=3347802) (any format)\n- [qwen3vl_4b Heretic](https://civitai.red/api/download/models/3066989?fileId=2945735) text encoder, or the stock [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n- [krea2RealVae_v10.safetensors](https://huggingface.co/artsyww/KREA2REALVAE/resolve/main/krea2RealVae_v10.safetensors)\n- [krea2_identity_edit_v2.safetensors](https://huggingface.co/conradlocke/krea2-identity-edit/resolve/main/krea2_identity_edit_v2.safetensors?download=true) with the [comfyui-krea2edit](https://github.com/lbouaraba/comfyui-krea2edit) nodes\n\n**MOSS Image 🗺️** (storyboard layout)\n- [moss_image_sft_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/diffusion_models/moss_image_sft_int8_convrot.safetensors)\n- [qwen3.5_9b_int8_convrot.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/text_encoders/qwen3.5_9b_int8_convrot.safetensors)\n- [flux2-vae_small.safetensors](https://huggingface.co/Comfy-Org/MOSS-Image/resolve/main/vae/flux2-vae_small.safetensors) (MOSS needs this VAE)\n\n**Story writer ✨** (optional)\n- [Qwen3-VL-8B-Instruct-abliterated-v2 GGUF](https://huggingface.co/prithivMLmods/Qwen3-VL-8B-Instruct-abliterated-v2-GGUF) (Q8_0) and its **mmproj**, in `models/LLM`.\n- 💡 **Vision Assistant → Models** downloads it with one click.\n\n**Downloads by themselves the first time** (a yellow message tells you, **Stop** cancels)\n- **BiRefNet** (takes the background off cast and prop pictures) and **RIFE 4.26**.\n- **RTX Super Resolution** needs an NVIDIA RTX card.\n- Face check (optional): `face_detection_yunet_2023mar.onnx` + `face_recognition_sface_2021dec.onnx` from the [OpenCV zoo](https://github.com/opencv/opencv_zoo) in `models/facerestore`. Without them Make skips the face match.\n\n---\n\n# ✋ Read this first\n\n- **What this does:** you write a short movie on one node (who is in it, where it happens, and every shot), make a picture for each person and place, and press **Run**. It renders the shots one after another with MiniMax H3 and joins them into one movie with sound and dialogue.\n- **Do the steps in order.** Every step uses what the step before it made. Skipping ahead is the fastest way to get strangers in random rooms.\n- **💡 The guided tour:** open **Vision Assistant** (the left sidebar) → **Tour**. It lights up each part of the workflow in order and marks the settings that matter. Use it alongside this note.\n- 🛑🚫 **Don't bypass nodes by hand.** **Cards & Storyboard 🃏** is bypassed on the inside on purpose. The **✨** buttons switch on what they need and put it back.\n- ⚠️ This is a **long job** on a **big model**. 32 GB of VRAM is comfortable at 960 x 544. Less works, just slower.\n\n## The basics\n- **This workflow saves every step.** \n - If you create images, video sections, etc., you can 💾 save the project, work on a different project, and come back to it or redo a section at any time.\n - **Nothing is lost:** what finished stays finished.\n- **Pictures and the movie are separate Runs:**\n - **Pictures:** press **✨** on a card's picture slot (steps 2 and 3). The Story switches on the part of **Cards & Storyboard 🃏** that makes it, keeps **Make 🎥** off, runs once and puts everything back.\n - **Movie:** press **Run** (step 4). **Make** renders every shot that isn't made yet.\n - ⚠️ **Make has to be off while a picture is made.** A new picture changes the shots that use it, and Make would render them again on the same Run. ✨ does that for you.\n- **Save💾** Everything is saved in a **project** folder named on the Story node. Close ComfyUI, come back tomorrow, and it's all still there.\n\n**🎨Post processing**\n- Leave these switches off until you are ready to use it\n- It processes the entire movie all at once and it is heavy, so I would not let it just run.\n- Keep **Make 🎥** on (don't bypass it).\n\n---\n\n## ⚙️ Settings\n\n- **megapixels**: 0.82 = 1216 x 672 (16:9). 0.52 (960 x 544) is faster, but faces in wide shots get very small.\n - Keep one size for the whole project. Change it anyway and the next Run makes every shot made at the old size again, in order (the 📐 size line lists them).\n - 💡 Don't stress too much over quality here. Push out decent, but 1 MP just slows down what you can upscale in the end.\n- **Steps**: 12 with the turbo LoRA at 0.7 (the **Stock int8 + turbo LoRA 0.7** row in **Optimal setups and times ⏱️**). 8 with turbo at 1.0 is faster and a little softer. No turbo is slower and not better in my tests.\n- **LC Seed**: the seed generator is the starting seed for H3 (each new shot) and the storyboard (MOSS and Krea 2: seed + shot number).\n - Every made shot keeps its own seed with its take, and ↻ (remake) always picks a new one.\n - The card pictures and post processing have their own seeds. Leave it alone.\n- **Models & LoRAs**: the LC Optimizer picks the H3 files for your card. \n - I suggest leaving it on **★ Recommended**.\n - I've tested it on other models. 10EROS works well, Singularity has voice issues. \n - LoRAs. Your mileage will vary. \n- **Storyboard creator Models & Settings**: the models that make the pictures.\n - **Card Model (Krea2)** with the **Character or Style LoRA** makes the cast, outfit, place and prop pictures, and redraws the storyboard frames with the **🪪 Edit LoRA**.\n - **Storyboard model 📖 (MOSS)** lays the shots out from your boxes.\n - Leave both on **★ Recommended** unless you have your own.\n\n\n---\n\n## Step 1: 🎬 Write the story\n\nEverything happens on the big **LC H3 Story** node. It has five lists: **🎭 Cast**, **👗 Outfits**, **📍 Places**, **👜 Props** and **🎞 Shots**.\n\n- ✋ **The H3 prompt shows the shot's lines.** Make wraps the people, pictures and sound around them when the shot is made. Open a shot's **H3 prompt** to read it.\n - **↻** builds it again right now, so you see what will be sent before you spend time rendering.\n - **✎ Edit** lets you write it yourself. Your text is sent as written, and the cards stop changing it until you press **↶ Back to automatic**.\n- **project name** (top): the folder everything is saved in, `output/LC_H3/<name>/`. Name it first. **📂** opens a saved project, **💾** saves now (every Run saves too). **💾 Save as** keeps a variant under a new name: the made shots come along and the original stays as it is.\n- **📐 size** (under the project name): the size this project is made at (the last Run), with its aspect ratio. Shots made at another size are listed (⚠) and made again on the next Run.\n- **The look of the whole movie** (top line): a few words for the film style (\"cinematic, soft natural light, shallow depth of field\"). It goes into every shot.\n\n### 🖼 Picture slots\n- Cast, outfit, place, 🌐 360, prop, 🖼 start and 🏁 end all work the same way.\n - Click a slot or drop a picture on it. **📚 Library** has ready-made ones, **⬆ Upload…** takes a file.\n - **✨** makes one for you (steps 2 and 3).\n - **↶** brings back the picture before this one. The last 8 are kept.\n - **✂** crops what the card uses of a picture (a head and shoulders out of a full-length photo, just the coat of an outfit).\n - **×** empties the slot (**↻** on a start or end frame).\n\n### ✨ Write the story (optional)\n- Type a short pitch (\"Nova and Anika meet for coffee, Anika tells a story that goes too far, Nova leaves\") and press **✨ Write the story**. A local model fills in the look, cast, places and shots once.\n- After that it's plain text you edit. It never writes again unless you press the button again (which replaces the cards; pictures and voices on cards with the same name stay).\n- Needs the **Story writer model** above. Pick it in the dropdown next to the button.\n- **🔞 NSFW** (in the ✨ Write box, off by default): lets the writer write adult scenes, the same rule as LC Vision's NSFW style tag. Off, it writes the way it always has. Saved with the project.\n\n\n### 🎭 Cast: one card per person\n- **Name**: start with a capital letter. Shots find people by this exact name.\n- **who**: woman, man, girl, boy, person, cat, dog. It tells people apart in the prompt.\n- **look**: one line, the words H3 follows most. Describe the head and hair, then stop: age, face, eyes, freckles, skin, hair (length too). \"mid twenties, a soft oval face, green eyes, light freckles, long wavy blonde hair\". Never clothes: they go in the outfit picture.\n - ⚠️ No body words either (breasts, curvy, figure). Next to a bare-shouldered headshot they can make H3 leave the clothes off. The Story warns you (👗). The outfit picture shows the body.\n- **face picture**: a headshot, made in step 2 (✨ on the slot), or yours (click the square or drop a picture on it). The background is automatically removed and the face is placed on a plain grey background to prevent it from bleeding into the scene or outfit.\n - Headshot means head and hair. No shoulders, no clothes: clothes in a headshot beat every outfit picture.\n- **👗 outfit picture**: what they wear from their first shot, head to toe. Made in step 2 (✨ on the 👗 slot), or yours.\n - **outfit notes**: the whole outfit in detail. The picture is made from it, and H3 reads only its first piece of clothing as the outfit's name (\"dark blue jumpsuit\"). Start with the main piece and its color.\n- **🎤 voice** (optional): a 2 to 15 s clip of how they sound. H3 copies the voice, not the words.\n- **📋** copies the name and look to paste into another workflow.\n\n### 👗 Outfits: the clothes, one card per outfit\n- ✋ **Everyone needs clothes from somewhere.** The headshot carries none. Give each person a 👗 outfit picture on their cast card. With none, they get different clothes in every shot, and the Story warns you (👗).\n- An outfit card is a change of clothes.\n - It can also be a state of dress: \"naked\", \"topless, black jeans\", \"wrapped in a white towel\". H3 gets it as written.\n- **name**: a simple name: \"red cocktail dress\", \"yoga outfit\", \"gym clothes\". With a picture, it's all H3 reads about the outfit.\n - Never a list of pieces. Shoes and pants in the words pull close-ups wide (the Story warns you).\n- **who wears it**: the person.\n- **description**: the whole outfit head to toe, in detail, **a color for every item**, with the shade: \"an off the shoulder grey cutoff sweatshirt, high waisted black leggings with a cross stitch band, white Nike gym shoes\". Only the picture is made from it.\n - Layers outside first, with \"over\". Patterns name their colors (\"floral blouse in pale peach and green\"). Fabric helps (denim, silk, knit, leather).\n- **picture**: made in step 2 (✨ on the slot: the person who wears it, head to toe, on plain grey), or yours. It carries every detail the name doesn't say.\n- **How it plays:**\n - Everyone starts in their cast card's 👗 outfit. To change, pick another on a shot with **👗**, or name it in the action (\"Nova comes back in the red dress\"). They stay in it from that shot on.\n - Each shot gets \"wearing <name>\" in the prompt and the outfit picture. Close-ups stay close: no pants or shoes in the words.\n - Tested: a one-strap red dress with silver details came through from the picture alone, named just \"red dress\".\n - ⚠️ **Mismatched reference**: a cut back to an earlier camera opens on that shot's first frame, and a wide takes its room from the place's first wide. If that frame shows other clothes, people or props, the Story warns you. Pin a start frame, or give the scene its own place card.\n\n### 📍 Places: one card per location\n- **name**: \"the cafe\". Shots pick their place by this name.\n- **sound**: sounds you can hear, nothing else: \"rain on the glass, cups clinking, footsteps\".\n - ✋ **Never write who speaks** (\"nobody speaks\", \"no voices\"). Naming speech makes H3 speak: the same silent shot talked in French and English with it and was silent without it. The Story adds \"Nobody speaks.\" to a shot with no line by itself.\n- **description**: what is there: the room, the furniture, the light.\n- **room picture**: the place, **empty**. Made in step 2 (✨ on the slot), or yours.\n- **🌐 360** (recommended): **one** panorama of the whole room (step 2, ✨ on the 🌐 slot). You don't make a picture per shot: the Story cuts each shot's view out of it by itself.\n - **Set it once:** turn the small viewer under the place until it shows what your wide shot shows (**📷 the wide shot faces**). That is \"front\". Every angle counts from there: 90 = right side of the room, -90 = left, 180 = behind the camera.\n - **Close-ups and medium shots get their view automatically.** One across the table from someone who already has an angle gets the reverse angle (+180), so the two of them have opposite sides of the room behind them. The others face the way the wide shot faces.\n - **Want a different angle?** Press **🌐** on the shot card and drag the view. Your angle always wins over the automatic one.\n - The view is cut as a flat picture (in the project's `views/` folder) and used as that shot's background, by Make and by the storyboard.\n - Wide shots use the room picture and the anchor, unless you aim them with 🌐 too.\n- **📌 anchors**: frames that keep this room the same across cuts. Empty at first: see **📌 Anchors** below.\n\n### 👜 Props: one card per object that matters\n- Only for an object that must look the same in every shot (the red umbrella, the letter, the ring).\n- **name**: \"the red umbrella\". ✋ Use these **exact words** in a shot's action, and that shot gets the prop's picture.\n- **description**: what it looks like.\n- **picture**: made in step 2 (✨ on the slot), or yours. It goes on plain grey like the cast.\n\n\n**💡 Need something simple?** \n- Every cast, outfit, prop and 🌐 360 slot has a 📚 Library tab in its picture picker: 102 ready-made pictures (30 cast headshots, 32 seasonal outfits, 24 props, 16 360 panoramas). Browse them all: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n\n### 🎞 Shots: one card per shot, top to bottom is the movie\n- **framing**: how close the camera is.\n - **wide shot**: the whole room and everyone in it. Start a scene with one.\n - 💡 A face in a wide shot is only about 45 to 75 px wide and H3 draws in 16 px blocks, so faces and mouths can garble. Use a **medium shot**, **two-shot** or **over the shoulder** when a face or a line matters.\n - **side view**, **two-shot**: two people in frame.\n - **medium shot**: waist up. **close-up**: face and shoulders. **extreme close-up**: the face.\n - **over the shoulder**, **from behind**, **custom** (you describe it in the action).\n- **who it's on**: the person the camera is on, **everyone**, or **nobody**.\n - **nobody**: an empty shot, the place alone (a ship coming out of hyperspace, an empty street). No faces are sent, and only a voiceover can speak.\n- **move**: still, slow push-in, slow pull back, pan, tracking, orbit, handheld. Still is the safest.\n- **✂ cut / 🎞 keep rolling**:\n - **cut**: a new shot. It gets the faces, the room and the anchor. Use it almost always.\n - **keep rolling**: no cut, the camera carries straight on from the end of the shot before. The faces and the room carry on from those frames, so it gets **no pictures**.\n - One exception: people who walk in (out of an empty shot, or someone new) get their face and outfit pictures, or H3 invents their faces.\n - 🔒 A keep rolling card **locks** the framing, the place, the 🌐 angle, the outfits, the 🖼 start frame and the 📐 boxes to the shot it rolls from (greyed out, \"🔒 from shot N\"). **Who is in it** stays yours: people can walk in.\n - Need a new framing or place? Change the shot it rolls from, or make this one a **cut**. H3 can't carry on into a new framing: it cuts by itself to a room it invents.\n- **where**: the place. Empty = the same place as the shot before.\n- **seconds**: empty (**auto**) fits the action and the line. Type a number to set it. A line that can't fit stretches the shot.\n- **action**: what happens before the line. Short sentences, present tense, one thing each.\n- **speaker** + **line**: who talks, and the words exactly as they say them. One line per shot.\n- **after**: what happens after the line (optional).\n - 💡 The action plays before the line. Something that should happen once she has spoken (the cup arriving after she orders) goes here.\n- **🌐** (optional): aim this shot's camera inside the place's 360 panorama yourself. Close-ups get an angle automatically; this overrides it. **behind** is what is behind the person in words (\"the arched windows\"). H3 follows words over pictures, so fill it in.\n- **🖼 start** / **🏁 end**: the first or last frame of the shot (✨ in step 3, or yours). H3 copies a start frame exactly.\n - 🖼 start is for cuts. A keep rolling shot starts from the shot before (its slot is greyed out).\n - **🏁 end**: pin one only when the action ends on it (\"she stops at the door\"). A person who gets there early stands frozen.\n- **📐**: draw boxes for who stands where (and props), on the shot's 🌐 angle. The storyboard uses them in step 3.\n- **🎛 LoRA for this shot**: any LoRA for this shot only (a character, an outfit, a backdrop, a style, an action), on top of the LoRAs in the pipe. The next cut starts without it.\n - Pick it the same way as in the LC LoRA Loader: the folder picker, ◀ strength ▶, and **ℹ** for its trigger words. **✕** takes it off.\n - keep rolling uses the LoRAs of the shot it rolls from (🔒). A new LoRA mid-roll jumps at the join.\n - 💡 Character LoRAs: put the trigger word (usually the name) in the cast look and the action. One per person. A man and a woman with their own LoRAs held both faces; two women in one shot tend to blend, so give each her own close-up.\n - 💡 Name the outfit. A LoRA trained on less clothing brings less clothing unless a card says what they wear.\n- **H3 prompt**: under each card, the shot's lines (see the top of this step). The Story's **warnings** (🛑 must fix, ⚠️ should look at) sit there too.\n- **↑ ↓** move a shot up or down the list. **auto** (next to **seconds**, once you typed a number) puts the length back to automatic.\n- **max_shot_seconds** (on the node, 20): the longest shot made in one go. Longer shots are made in parts that carry on from each other.\n\n---\n\n## ✍️ Prompting:\n### 📖 **The full guide:** [H3 Showrunner Prompting Guide](https://github.com/lonecatone23/ComfyUI_LC_AV_nodes/blob/main/docs/showrunner/PROMPTING_GUIDE.md)\n\n### The short version:\n\n- **Looks**: one line each, head and hair only. Say the hair length, or H3 picks one.\n- **Outfits**: a simple name on the card (\"gym clothes\"). The details go in its description, a color with a shade for every item: \"faded olive jacket over a cream t-shirt\".\n- **Close-ups**: don't name the other person in the action. \"Anika stares at Nova\" made H3 cut to Nova halfway through Anika's close-up. \"Anika stares across the table\" kept her the whole shot. The Story warns you (⚠️).\n- **Count props once**: \"Each of them holds one cup.\" Or extras show up.\n- **Name the prop like its card**: the card says \"the red umbrella\", the action says \"Nova opens the red umbrella.\"\n- **Close-ups across a table**: \"Seen straight on from across the table, nobody in the foreground: the table edge runs along the bottom of the frame, her body square to the camera, eyes just past the lens to the left.\" Then say what is behind her.\n- **No mouth actions during a line**: drinking or eating while talking loses the lips. The Story puts the cups down for you, but write the sip after the line.\n- **Say what happens, not what doesn't**: \"Nova sits still and listens\", not \"Nova doesn't move\".\n\n---\n\n## Step 2: 📸 Make the pictures\n\n- Press **✨** on a picture slot. The picture lands on its card by itself.\n - ✋ **Name the card first.** A blank name never writes over a picture.\n - If the slot already has a picture, ✨ asks first. The old one is kept: **↶** brings it back (the last 8 are kept).\n- What each slot makes:\n - **cast card, headshot slot**: head and hair, calm neutral face, no clothes, on plain grey (1024 x 1024).\n - **cast card, 👗 slot**: the person head to toe in their outfit, from the **outfit notes** (896 x 1152).\n - **outfit card**: its **description** on the person who wears it, head to toe, on plain grey (896 x 1152). Nobody wears it: an invisible mannequin.\n - **place card, room slot**: the room, empty, the whole space in view (1344 x 768).\n - **place card, 🌐 slot**: the room all the way round (2:1) for the 360 view.\n - **prop card**: the object alone, on plain grey (1024 x 1024).\n- ✋ **Cast, outfit and prop pictures always end up on plain grey**: drafted here or dropped in yourself, the background comes off (BiRefNet). A card's own background, props and expression leak into every shot it's in.\n- 💡 Not happy? Press **✨** again: the seed changes every time. **↶** goes back to the one before.\n- 💡 **Neutral faces only.** A smiling card gives you a smiling actor in every shot. It's not a hard lock, but it pulls.\n- 💡 **360 panorama**: one per place. Make a few and keep one with a level horizon and nobody in it, then set **📷 the wide shot faces** on the place card once.\n- 💡 **More control?** An art style or a size goes on **LC H3 Story Card Prompt** inside **Cards & Storyboard 🃏**. ✨ uses what is set there.\n- 📚 **Or skip making them:** every cast, outfit, prop and 🌐 360 slot has a **📚 Library** tab in its picture picker: 102 ready-made pictures (30 cast headshots, 32 seasonal outfits, 24 props, 16 360 panoramas).\n - Click one: it downloads once and lands on the card. An empty card gets its name and text too.\n - Browse them all: [LC H3 Library on Hugging Face](https://huggingface.co/datasets/Lonecatone23/lc-h3-library)\n\n---\n\n## Step 3: 🗺️ Storyboard (optional, recommended)\n\nThe first frame of each shot, built from your cards, so every shot starts with the right people in the right room.\n\n- On each shot card, press **📐** and draw a box for each person (and prop) where they should be. The boxes sit on the shot's 🌐 angle, so you place people on the view the shot will use. Pick who each box is.\n- Press **✨** on the shot's **🖼 start** slot. **MOSS** lays the shot out from the boxes, then **Krea 2 Identity Edit** redraws it sharp with your cast cards. It lands in the slot.\n - **🏁 end** works the same for the frame a shot lands on.\n - One ✨ per frame.\n- A later wide shot in a place you've already shown is built from the first wide shot's frame, so the room, the table and the camera side stay put.\n - ✋ **Box only who changes** (Nova coming back in the red dress). Everyone boxed is drawn again, and their face can drift.\n- ✋ **The start frame is the action's first moment.** Nova already seated in the frame + \"Nova comes back and sits down\" gave a second Nova walking in. Box her where she comes from, or write the action from where the frame is.\n- ✋ **H3 copies a start frame exactly.** A soft or wrong picture makes a soft or wrong shot. Press **✨** again for a new one, or **↶** for the one before.\n\n---\n\n## Step 4: 🎥 Make the movie\n\n- Press **Run**. **Make** renders every shot that isn't made yet.\n- One Run makes the whole movie, shot after shot, and joins it as it goes. 1 shot or 20.\n- **Stop** ends it with nothing left in the queue. Run again and it picks up where it stopped.\n- **The board** (under the shots on the Story node):\n - ✅ made, ✏️ changed since it was made, 🔒 locked.\n - ▶ plays a shot: its own part, without the second and a half it carries over from the shot before.\n - ↻ makes **that one shot** again with a new seed, then stops. Nothing after it is touched (the old take is kept in `takes/`).\n - 💡 A keep rolling shot right after it won't join smoothly until you ↻ it too.\n - 🔒 locks a keeper so nothing remakes it.\n - 🎬 plays the whole movie. **⟳** looks for new takes.\n- **Long story?** ▾ next to a shot's number folds it to one line (▸ all / ▾ all in the 🎞 Shots header). The project bar (name, 📂, 💾) stays pinned at the top while you scroll.\n- **Changed a shot?** It turns ✏️. Run remakes only the ✏️ shots, the rest stay.\n- **info** (Make's text output) after every shot:\n - **face match**: 0.55 and up = same person, 0.40 to 0.55 = close, under 0.40 = someone else. Redo it.\n - **join**: how smooth each keep-rolling join is.\n\n### 📌 Anchors: keeping the room the same\n- **What it is:** a still frame of a place, saved on the place card's **📌 anchors** row. It shows H3 the room as it must stay: the furniture, the windows, who sits where.\n- **Why:** on every cut H3 builds the room again. Without something to copy, the café gets a new counter, the table moves, and people swap seats.\n- **Automatic** (Make's **hold_scene** on, the default): the first wide shot made in a place becomes its anchor. Every later cut there with **two or more people** gets it. A close-up of one person gets the room picture or its 360 view instead.\n- **Your own** (better): play a made shot on the board (▶), pause on a frame where the room and everyone in it look right, press **📌 Room anchor**. The button turns green and says which anchor it added. It lands in that place's anchors row and replaces the automatic one. The **+** square in the row takes any picture.\n- **🖼 Start shot N here** (same player): this frame becomes the **next** shot's 🖼 start frame, so the next shot opens exactly on it. A keep rolling next shot becomes a cut.\n - 💡 📌 only remembers the room. It never starts a shot. To start a shot on a frame, use 🖼.\n- **Cutting back** to a setup you've already shown (same place, framing and person) opens on that shot's first frame by itself, so the camera, room and people match. Remake the first one and the cut-back is marked ✏️ too.\n- Keep-rolling shots never get an anchor: they carry on from the frames before them.\n- A storyboard start frame (step 3) beats an anchor: H3 copies it exactly. Anchors matter most for shots without one.\n- × on an anchor removes it.\n\n---\n\n## Step 5: 🎞️ Post Processing (when the movie is done)\n\n### ⚠️ It will not save unless **Save Video 💾** is switched on!\n- Keep **Make** on: with every shot made it just hands over the finished movie. Nothing renders again.\n- Turn on what you want in the panel, in this order:\n - **Load Video**: needed for everything below.\n - **Frame Interpolate** 24 → 48: about half the jitter for a sliver of detail. Under a minute.\n - **RTX Super Resolution**: **deblur** sharpens soft edges at the same size. Set **mode** to **upscale** for 2x instead. Needs an NVIDIA RTX card.\n - **Save Video 💾**: nothing saves without it.\n - **Audio Volume** and **Audio EQ**: louder or quieter, and a simple 3-band EQ for the voices. Leave them off if the sound is fine.\n\n---\n\n### File Storage Locations\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 diffusion_models/\n│ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors\n│ │ ├── Krealism V3.1\n│ │ └── moss_image_sft_int8_convrot.safetensors\n│ ├── 📂 text_encoders/\n│ │ ├── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors\n│ │ ├── qwen3vl_4b Heretic (or qwen3vl_4b_fp8_scaled)\n│ │ └── qwen3.5_9b_int8_convrot.safetensors\n│ ├── 📂 vae/\n│ │ ├── minimax_h3_video_vae_int8_convrot.safetensors\n│ │ ├── minimax_h3_audio_vae_fp32.safetensors\n│ │ ├── krea2RealVae_v10.safetensors\n│ │ └── flux2-vae_small.safetensors\n│ ├── 📂 vae_approx/\n│ │ └── taeh3.safetensors\n│ ├── 📂 loras/\n│ │ ├── 📂 MiniMax/\n│ │ │ ├── minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors\n│ │ │ ├── MMH3-RealismSlider-V1.safetensors\n│ │ │ └── mvmt_h3_lora_v1_500.safetensors\n│ │ └── 📂 Krea 2/\n│ │ └── krea2_identity_edit_v2.safetensors\n│ ├── 📂 LLM/\n│ │ └── Qwen3-VL-8B-Instruct-abliterated-v2 GGUF (+ its mmproj)\n│ ├── 📂 background_removal/\n│ │ └── BiRefNet-general.safetensors (downloads on first use)\n│ ├── 📂 facerestore/\n│ │ └── yunet + sface .onnx (optional)\n│ └── 📂 rife/ (downloads on first use)\n├── 📂 input/\n│ └── 📂 lc_h3_refs/\n│ └── 📂 <project>/\n│ ├── cast_, place_, pano_, prop_ pictures\n│ └── start_ and end_ frames\n└── 📂 output/\n └── 📂 LC_H3/\n └── 📂 <project>/\n ├── story.json, plan.json\n ├── <project>.mp4 (the finished movie)\n ├── 📂 views/ (the 360 angles)\n └── 📂 takes/\n ├── seg_001.mp4, seg_002.mp4, etc.\n └── old takes (nothing is ever deleted)\n```\n\n---\n\n*\"True Nothing is. Permitted Everything is\"*- Yoda Auditore, **Assassin's Wars**"
173 },
174 "color": "#2E3A46",
175 "bgcolor": "#2E3A46"
176 },
177 {
178 "id": 14,
179 "type": "LCLoraLoader",
180 "pos": [
181 1390,
182 1690
183 ],
184 "size": [
185 510,
186 450
187 ],
188 "flags": [],
189 "order": 47,
190 "mode": 0,
191 "inputs": [
192 {
193 "name": "model",
194 "shape": 7,
195 "type": "MODEL",
196 "link": 171
197 },
198 {
199 "name": "clip",
200 "shape": 7,
201 "type": "CLIP",
202 "link": null
203 }
204 ],
205 "outputs": [
206 {
207 "name": "model",
208 "type": "MODEL",
209 "links": [
210 412
211 ]
212 },
213 {
214 "name": "clip",
215 "type": "CLIP",
216 "links": null
217 }
218 ],
219 "properties": {
220 "cnr_id": "ComfyUI_LC123_nodes",
221 "ver": "04041dbeb32cb1f3b8c269882da1d419d1242c61",
222 "Node name for S&R": "LCLoraLoader",
223 "ue_properties": {
224 "widget_ue_connectable": {
225 "lora_rows": true
226 },
227 "version": "7.8",
228 "input_ue_unconnectable": []
229 }
230 },
231 "widgets_values": [
232 "[{\"on\":false,\"lora\":\"MiniMax\\\\detailers\\\\MMH3-RealismSlider-V1.safetensors\",\"strength\":0.9},{\"on\":false,\"lora\":\"MiniMax\\\\detailers\\\\mvmt_h3_lora_v1_500.safetensors\",\"strength\":0.9}]",
233 ""
234 ],
235 "widgets_values_named": {
236 "lora_rows": "[{\"on\":false,\"lora\":\"MiniMax\\\\detailers\\\\MMH3-RealismSlider-V1.safetensors\",\"strength\":0.9},{\"on\":false,\"lora\":\"MiniMax\\\\detailers\\\\mvmt_h3_lora_v1_500.safetensors\",\"strength\":0.9}]",
237 "lc_lora_face": ""
238 },
239 "color": "#6e5032",
240 "bgcolor": "#6e5032"
241 },
242 {
243 "id": 20,
244 "type": "LCNotify",
245 "pos": [
246 2870,
247 2310
248 ],
249 "size": [
250 350,
251 130
252 ],
253 "flags": [],
254 "order": 45,
255 "mode": 0,
256 "inputs": [
257 {
258 "name": "any",
259 "shape": 7,
260 "type": "*",
261 "link": 246
262 }
263 ],
264 "outputs": [
265 {
266 "name": "any",
267 "type": "*",
268 "links": null
269 }
270 ],
271 "properties": {
272 "cnr_id": "ComfyUI_LC123_nodes",
273 "ver": "04041dbeb32cb1f3b8c269882da1d419d1242c61",
274 "Node name for S&R": "LCNotify",
275 "ue_properties": {
276 "widget_ue_connectable": [],
277 "input_ue_unconnectable": [],
278 "version": "7.8"
279 }
280 },
281 "widgets_values": [
282 "on empty queue",
283 0.5,
284 "bell.mp3",
285 null
286 ],
287 "widgets_values_named": {
288 "mode": "on empty queue",
289 "volume": 0.5,
290 "file": "bell.mp3",
291 "▶ preview": null
292 },
293 "color": "#649632",
294 "bgcolor": "#649632"
295 },
296 {
297 "id": 27,
298 "type": "LCSizePad",
299 "pos": [
300 1250,
301 940
302 ],
303 "size": [
304 320,
305 480
306 ],
307 "flags": [],
308 "order": 2,
309 "mode": 0,
310 "inputs": [],
311 "outputs": [
312 {
313 "name": "width",
314 "type": "INT",
315 "links": [
316 149
317 ]
318 },
319 {
320 "name": "height",
321 "type": "INT",
322 "links": [
323 150
324 ]
325 },
326 {
327 "name": "info",
328 "type": "STRING",
329 "links": []
330 },
331 {
332 "name": "megapixels",
333 "type": "FLOAT",
334 "links": null
335 }
336 ],
337 "properties": {
338 "cnr_id": "ComfyUI_LC123_nodes",
339 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
340 "Node name for S&R": "LCSizePad",
341 "ue_properties": {
342 "widget_ue_connectable": [],
343 "version": "7.8",
344 "input_ue_unconnectable": []
345 }
346 },
347 "widgets_values": [
348 "MiniMax H3",
349 "16:9",
350 0.82,
351 1216,
352 672,
353 null
354 ],
355 "widgets_values_named": {
356 "model": "MiniMax H3",
357 "aspect": "16:9",
358 "megapixels": 0.82,
359 "width": 1216,
360 "height": 672,
361 "⇄ portrait / landscape": null
362 },
363 "color": "#324b4b",
364 "bgcolor": "#324b4b"
365 },
366 {
367 "id": 31,
368 "type": "LCFrameInterpolate",
369 "pos": [
370 4290,
371 1530
372 ],
373 "size": [
374 320,
375 200
376 ],
377 "flags": [],
378 "order": 49,
379 "mode": 0,
380 "inputs": [
381 {
382 "name": "images",
383 "type": "IMAGE",
384 "link": 434
385 },
386 {
387 "name": "audio",
388 "shape": 7,
389 "type": "AUDIO",
390 "link": 68
391 },
392 {
393 "name": "source_fps",
394 "type": "FLOAT",
395 "widget": {
396 "name": "source_fps"
397 },
398 "link": 71
399 }
400 ],
401 "outputs": [
402 {
403 "name": "images",
404 "type": "IMAGE",
405 "links": [
406 377,
407 463
408 ]
409 },
410 {
411 "name": "fps",
412 "type": "FLOAT",
413 "links": [
414 191
415 ]
416 },
417 {
418 "name": "info",
419 "type": "STRING",
420 "links": []
421 }
422 ],
423 "title": "Frame Interpolate 🎞️",
424 "properties": {
425 "cnr_id": "ComfyUI_LC_AV_nodes",
426 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
427 "Node name for S&R": "LCFrameInterpolate",
428 "ue_properties": {
429 "widget_ue_connectable": [],
430 "version": "7.8",
431 "input_ue_unconnectable": []
432 }
433 },
434 "widgets_values": [
435 24,
436 48,
437 "rife426.pth",
438 0.12,
439 4
440 ],
441 "widgets_values_named": {
442 "source_fps": 24,
443 "target_fps": 48,
444 "model": "rife426.pth",
445 "scene_cut": 0.12,
446 "batch_size": 4
447 },
448 "color": "#1a5a7a",
449 "bgcolor": "#1a5a7a"
450 },
451 {
452 "id": 33,
453 "type": "LCSaveVideo",
454 "pos": [
455 4620,
456 1740
457 ],
458 "size": [
459 290,
460 550
461 ],
462 "flags": {
463 "collapsed": false
464 },
465 "order": 63,
466 "mode": 0,
467 "inputs": [
468 {
469 "name": "images",
470 "shape": 7,
471 "type": "IMAGE",
472 "link": 468
473 },
474 {
475 "name": "audio",
476 "shape": 7,
477 "type": "AUDIO",
478 "link": 440
479 },
480 {
481 "name": "av_pipe",
482 "shape": 7,
483 "type": "LC_AV_PIPE",
484 "link": null
485 },
486 {
487 "name": "metadata",
488 "shape": 7,
489 "type": "LC_SAVE_META,LC_SAVE_VIDEO_META",
490 "link": null
491 },
492 {
493 "name": "relay",
494 "shape": 7,
495 "type": "LC_RELAY",
496 "link": null
497 },
498 {
499 "name": "frame_rate",
500 "type": "FLOAT",
501 "widget": {
502 "name": "frame_rate"
503 },
504 "link": 378
505 },
506 {
507 "name": "filename_prefix",
508 "type": "STRING",
509 "widget": {
510 "name": "filename_prefix"
511 },
512 "link": 197
513 }
514 ],
515 "outputs": [
516 {
517 "name": "saved_as",
518 "type": "STRING",
519 "links": [
520 469,
521 471
522 ]
523 }
524 ],
525 "title": "Save Video 💾",
526 "properties": {
527 "cnr_id": "ComfyUI_LC_AV_nodes",
528 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
529 "Node name for S&R": "LCSaveVideo",
530 "ue_properties": {
531 "widget_ue_connectable": {
532 "frame_rate": true
533 },
534 "version": "7.8",
535 "input_ue_unconnectable": []
536 }
537 },
538 "widgets_values": [
539 48,
540 0,
541 "LC_H3/polished",
542 "video/h265-mp4",
543 "yuv420p",
544 19,
545 true,
546 false,
547 false,
548 true,
549 true
550 ],
551 "widgets_values_named": {
552 "frame_rate": 48,
553 "loop_count": 0,
554 "filename_prefix": "LC_H3/polished",
555 "format": "video/h265-mp4",
556 "pix_fmt": "yuv420p",
557 "crf": 19,
558 "save_metadata": true,
559 "civitai_still": false,
560 "pingpong": false,
561 "save_output": true,
562 "prune_outputs": true
563 },
564 "color": "#1a5a7a",
565 "bgcolor": "#1a5a7a"
566 },
567 {
568 "id": 34,
569 "type": "LCMiniMaxH3PipeV2",
570 "pos": [
571 1390,
572 2180
573 ],
574 "size": [
575 340,
576 710
577 ],
578 "flags": {
579 "collapsed": true
580 },
581 "order": 59,
582 "mode": 0,
583 "inputs": [
584 {
585 "name": "pipe",
586 "shape": 7,
587 "type": "LC_H3_PIPE_V2,LC_H3_PIPE,LC_PIPE",
588 "link": 152
589 },
590 {
591 "name": "fl2va_model",
592 "shape": 7,
593 "type": "MODEL",
594 "link": 413
595 },
596 {
597 "name": "fl2va_clip",
598 "shape": 7,
599 "type": "CLIP",
600 "link": 51
601 },
602 {
603 "name": "ref2va_model",
604 "shape": 7,
605 "type": "MODEL",
606 "link": null
607 },
608 {
609 "name": "ref2va_clip",
610 "shape": 7,
611 "type": "CLIP",
612 "link": null
613 },
614 {
615 "name": "video_vae",
616 "shape": 7,
617 "type": "VAE",
618 "link": 52
619 },
620 {
621 "name": "audio_vae",
622 "shape": 7,
623 "type": "VAE",
624 "link": 53
625 },
626 {
627 "name": "width",
628 "shape": 7,
629 "type": "INT",
630 "link": null
631 },
632 {
633 "name": "height",
634 "shape": 7,
635 "type": "INT",
636 "link": null
637 },
638 {
639 "name": "length",
640 "shape": 7,
641 "type": "INT",
642 "link": null
643 },
644 {
645 "name": "frame_rate",
646 "shape": 7,
647 "type": "INT",
648 "link": null
649 },
650 {
651 "name": "prompt",
652 "shape": 7,
653 "type": "STRING",
654 "link": null
655 },
656 {
657 "name": "total_steps",
658 "shape": 7,
659 "type": "INT",
660 "link": null
661 },
662 {
663 "name": "cfg",
664 "shape": 7,
665 "type": "FLOAT",
666 "link": null
667 },
668 {
669 "name": "seed",
670 "shape": 7,
671 "type": "INT",
672 "link": null
673 },
674 {
675 "name": "sampler_name",
676 "shape": 7,
677 "type": "COMBO",
678 "link": null
679 },
680 {
681 "name": "scheduler",
682 "shape": 7,
683 "type": "COMBO",
684 "link": null
685 },
686 {
687 "name": "ref_image_0",
688 "shape": 7,
689 "type": "IMAGE",
690 "link": null
691 },
692 {
693 "name": "ref_image_1",
694 "shape": 7,
695 "type": "IMAGE",
696 "link": null
697 },
698 {
699 "name": "ref_image_2",
700 "shape": 7,
701 "type": "IMAGE",
702 "link": null
703 },
704 {
705 "name": "ref_image_3",
706 "shape": 7,
707 "type": "IMAGE",
708 "link": null
709 },
710 {
711 "name": "ref_image_4",
712 "shape": 7,
713 "type": "IMAGE",
714 "link": null
715 },
716 {
717 "name": "ref_image_5",
718 "shape": 7,
719 "type": "IMAGE",
720 "link": null
721 },
722 {
723 "name": "ref_image_6",
724 "shape": 7,
725 "type": "IMAGE",
726 "link": null
727 },
728 {
729 "name": "ref_image_7",
730 "shape": 7,
731 "type": "IMAGE",
732 "link": null
733 },
734 {
735 "name": "ref_image_8",
736 "shape": 7,
737 "type": "IMAGE",
738 "link": null
739 },
740 {
741 "name": "ref_video_0",
742 "shape": 7,
743 "type": "IMAGE",
744 "link": null
745 },
746 {
747 "name": "ref_video_1",
748 "shape": 7,
749 "type": "IMAGE",
750 "link": null
751 },
752 {
753 "name": "ref_video_2",
754 "shape": 7,
755 "type": "IMAGE",
756 "link": null
757 },
758 {
759 "name": "ref_video_audio_0",
760 "shape": 7,
761 "type": "AUDIO",
762 "link": null
763 },
764 {
765 "name": "ref_video_audio_1",
766 "shape": 7,
767 "type": "AUDIO",
768 "link": null
769 },
770 {
771 "name": "ref_video_audio_2",
772 "shape": 7,
773 "type": "AUDIO",
774 "link": null
775 },
776 {
777 "name": "ref_audio_0",
778 "shape": 7,
779 "type": "AUDIO",
780 "link": null
781 },
782 {
783 "name": "ref_audio_1",
784 "shape": 7,
785 "type": "AUDIO",
786 "link": null
787 },
788 {
789 "name": "ref_audio_2",
790 "shape": 7,
791 "type": "AUDIO",
792 "link": null
793 }
794 ],
795 "outputs": [
796 {
797 "name": "pipe",
798 "type": "LC_H3_PIPE_V2",
799 "links": [
800 134
801 ]
802 }
803 ],
804 "properties": {
805 "cnr_id": "ComfyUI_LC123_nodes",
806 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
807 "Node name for S&R": "LCMiniMaxH3PipeV2",
808 "ue_properties": {
809 "widget_ue_connectable": [],
810 "input_ue_unconnectable": [],
811 "version": "7.8"
812 }
813 },
814 "color": "#707070",
815 "bgcolor": "#707070"
816 },
817 {
818 "id": 43,
819 "type": "LCLoadVideo",
820 "pos": [
821 3720,
822 1860
823 ],
824 "size": [
825 270,
826 120
827 ],
828 "flags": {
829 "collapsed": true
830 },
831 "order": 36,
832 "mode": 0,
833 "inputs": [
834 {
835 "name": "path",
836 "type": "STRING",
837 "widget": {
838 "name": "path"
839 },
840 "link": 146
841 }
842 ],
843 "outputs": [
844 {
845 "name": "images",
846 "type": "IMAGE",
847 "links": [
848 434,
849 458
850 ]
851 },
852 {
853 "name": "audio",
854 "type": "AUDIO",
855 "links": [
856 68,
857 439
858 ]
859 },
860 {
861 "name": "fps",
862 "type": "FLOAT",
863 "links": [
864 71
865 ]
866 },
867 {
868 "name": "frame_count",
869 "type": "INT",
870 "links": null
871 }
872 ],
873 "properties": {
874 "cnr_id": "ComfyUI_LC_AV_nodes",
875 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
876 "Node name for S&R": "LCLoadVideo",
877 "ue_properties": {
878 "widget_ue_connectable": [],
879 "input_ue_unconnectable": [],
880 "version": "7.8"
881 }
882 },
883 "widgets_values": [
884 ""
885 ],
886 "widgets_values_named": {
887 "path": ""
888 },
889 "color": "#1a5a7a",
890 "bgcolor": "#1a5a7a"
891 },
892 {
893 "id": 44,
894 "type": "LCPreviewVideo",
895 "pos": [
896 2870,
897 2480
898 ],
899 "size": [
900 770,
901 690
902 ],
903 "flags": [],
904 "order": 44,
905 "mode": 0,
906 "inputs": [
907 {
908 "name": "images",
909 "shape": 7,
910 "type": "IMAGE",
911 "link": null
912 },
913 {
914 "name": "audio",
915 "shape": 7,
916 "type": "AUDIO",
917 "link": null
918 },
919 {
920 "name": "path",
921 "shape": 7,
922 "type": "STRING",
923 "link": 245
924 }
925 ],
926 "outputs": [],
927 "title": "Preview Video 📺",
928 "properties": {
929 "cnr_id": "ComfyUI_LC_AV_nodes",
930 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
931 "Node name for S&R": "LCPreviewVideo",
932 "ue_properties": {
933 "widget_ue_connectable": [],
934 "input_ue_unconnectable": [],
935 "version": "7.8"
936 }
937 },
938 "widgets_values": [
939 24
940 ],
941 "widgets_values_named": {
942 "fps": 24
943 },
944 "color": "#1a5a7a",
945 "bgcolor": "#1a5a7a"
946 },
947 {
948 "id": 46,
949 "type": "LCSeed",
950 "pos": [
951 1580,
952 1160
953 ],
954 "size": [
955 320,
956 130
957 ],
958 "flags": [],
959 "order": 3,
960 "mode": 0,
961 "inputs": [],
962 "outputs": [
963 {
964 "name": "seed",
965 "type": "INT",
966 "links": [
967 75,
968 154,
969 424,
970 432
971 ]
972 }
973 ],
974 "properties": {
975 "cnr_id": "ComfyUI_LC123_nodes",
976 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
977 "Node name for S&R": "LCSeed",
978 "lc_seed_history": [
979 5756529856046254,
980 4011999371154041,
981 6434080129757624,
982 415684483543141,
983 1563187411462777,
984 5
985 ],
986 "ue_properties": {
987 "widget_ue_connectable": [],
988 "input_ue_unconnectable": [],
989 "version": "7.8"
990 }
991 },
992 "widgets_values": [
993 5756529856046254,
994 "",
995 "",
996 "— last used seeds —"
997 ],
998 "widgets_values_named": {
999 "base_seed": 5756529856046254,
1000 "🎲 Randomize Each Time": "",
1001 "🎲 New Fixed Random": "",
1002 "seed history": "— last used seeds —"
1003 },
1004 "color": "#822305",
1005 "bgcolor": "#822305"
1006 },
1007 {
1008 "id": 47,
1009 "type": "SetNode",
1010 "pos": [
1011 1580,
1012 1410
1013 ],
1014 "size": [
1015 210,
1016 60
1017 ],
1018 "flags": {
1019 "collapsed": true
1020 },
1021 "order": 35,
1022 "mode": 0,
1023 "inputs": [
1024 {
1025 "name": "INT",
1026 "type": "INT",
1027 "link": 75
1028 }
1029 ],
1030 "outputs": [
1031 {
1032 "name": "INT",
1033 "type": "INT",
1034 "links": null
1035 }
1036 ],
1037 "title": "Set_Seed",
1038 "properties": {
1039 "Node name for S&R": "SetNode",
1040 "aux_id": "kijai/ComfyUI-KJNodes",
1041 "previousName": "Seed",
1042 "ue_properties": {
1043 "widget_ue_connectable": [],
1044 "version": "7.8",
1045 "input_ue_unconnectable": []
1046 }
1047 },
1048 "widgets_values": [
1049 "Seed"
1050 ],
1051 "widgets_values_named": {
1052 "Constant": "Seed"
1053 },
1054 "color": "#1b4669",
1055 "bgcolor": "#29699c"
1056 },
1057 {
1058 "id": 49,
1059 "type": "LCSamplerScheduler",
1060 "pos": [
1061 1580,
1062 1010
1063 ],
1064 "size": [
1065 320,
1066 110
1067 ],
1068 "flags": [],
1069 "order": 4,
1070 "mode": 0,
1071 "inputs": [],
1072 "outputs": [
1073 {
1074 "name": "sampler_name",
1075 "type": "COMBO",
1076 "links": [
1077 156
1078 ]
1079 },
1080 {
1081 "name": "scheduler",
1082 "type": "COMBO",
1083 "links": [
1084 155
1085 ]
1086 }
1087 ],
1088 "properties": {
1089 "cnr_id": "ComfyUI_LC123_nodes",
1090 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
1091 "Node name for S&R": "LCSamplerScheduler",
1092 "ue_properties": {
1093 "widget_ue_connectable": [],
1094 "input_ue_unconnectable": [],
1095 "version": "7.8"
1096 }
1097 },
1098 "widgets_values": [
1099 "res_multistep",
1100 "simple"
1101 ],
1102 "widgets_values_named": {
1103 "sampler_name": "res_multistep",
1104 "scheduler": "simple"
1105 },
1106 "color": "#324b4b",
1107 "bgcolor": "#324b4b"
1108 },
1109 {
1110 "id": 72,
1111 "type": "SetNode",
1112 "pos": [
1113 2870,
1114 980
1115 ],
1116 "size": [
1117 210,
1118 60
1119 ],
1120 "flags": {
1121 "collapsed": true
1122 },
1123 "order": 40,
1124 "mode": 0,
1125 "inputs": [
1126 {
1127 "name": "LC_H3_REFS",
1128 "type": "LC_H3_REFS",
1129 "link": 238
1130 }
1131 ],
1132 "outputs": [
1133 {
1134 "name": "LC_H3_REFS",
1135 "type": "LC_H3_REFS",
1136 "links": null
1137 }
1138 ],
1139 "title": "Set_refs",
1140 "properties": {
1141 "Node name for S&R": "SetNode",
1142 "aux_id": "kijai/ComfyUI-KJNodes",
1143 "previousName": "refs",
1144 "ue_properties": {
1145 "widget_ue_connectable": [],
1146 "version": "7.8",
1147 "input_ue_unconnectable": []
1148 }
1149 },
1150 "widgets_values": [
1151 "refs"
1152 ],
1153 "widgets_values_named": {
1154 "Constant": "refs"
1155 }
1156 },
1157 {
1158 "id": 79,
1159 "type": "SetNode",
1160 "pos": [
1161 1390,
1162 2260
1163 ],
1164 "size": [
1165 230,
1166 60
1167 ],
1168 "flags": {
1169 "collapsed": true
1170 },
1171 "order": 61,
1172 "mode": 0,
1173 "inputs": [
1174 {
1175 "name": "LC_H3_PIPE_V2",
1176 "type": "LC_H3_PIPE_V2",
1177 "link": 134
1178 }
1179 ],
1180 "outputs": [
1181 {
1182 "name": "LC_H3_PIPE_V2",
1183 "type": "LC_H3_PIPE_V2",
1184 "links": null
1185 }
1186 ],
1187 "title": "Set_Layout pipe",
1188 "properties": {
1189 "Node name for S&R": "SetNode",
1190 "aux_id": "kijai/ComfyUI-KJNodes",
1191 "previousName": "Layout pipe",
1192 "ue_properties": {
1193 "widget_ue_connectable": [],
1194 "version": "7.8",
1195 "input_ue_unconnectable": []
1196 }
1197 },
1198 "widgets_values": [
1199 "Layout pipe"
1200 ],
1201 "widgets_values_named": {
1202 "Constant": "Layout pipe"
1203 }
1204 },
1205 {
1206 "id": 81,
1207 "type": "SetNode",
1208 "pos": [
1209 2870,
1210 940
1211 ],
1212 "size": [
1213 210,
1214 60
1215 ],
1216 "flags": {
1217 "collapsed": true
1218 },
1219 "order": 39,
1220 "mode": 0,
1221 "inputs": [
1222 {
1223 "name": "LC_H3_PLAN",
1224 "type": "LC_H3_PLAN",
1225 "link": 237
1226 }
1227 ],
1228 "outputs": [
1229 {
1230 "name": "LC_H3_PLAN",
1231 "type": "LC_H3_PLAN",
1232 "links": null
1233 }
1234 ],
1235 "title": "Set_Plan",
1236 "properties": {
1237 "Node name for S&R": "SetNode",
1238 "aux_id": "kijai/ComfyUI-KJNodes",
1239 "previousName": "Plan",
1240 "ue_properties": {
1241 "widget_ue_connectable": [],
1242 "version": "7.8",
1243 "input_ue_unconnectable": []
1244 }
1245 },
1246 "widgets_values": [
1247 "Plan"
1248 ],
1249 "widgets_values_named": {
1250 "Constant": "Plan"
1251 }
1252 },
1253 {
1254 "id": 88,
1255 "type": "SetNode",
1256 "pos": [
1257 3460,
1258 1110
1259 ],
1260 "size": [
1261 210,
1262 60
1263 ],
1264 "flags": {
1265 "collapsed": true
1266 },
1267 "order": 51,
1268 "mode": 0,
1269 "inputs": [
1270 {
1271 "name": "STRING",
1272 "type": "STRING",
1273 "link": 243
1274 }
1275 ],
1276 "outputs": [
1277 {
1278 "name": "STRING",
1279 "type": "STRING",
1280 "links": null
1281 }
1282 ],
1283 "title": "Set_Video Path",
1284 "properties": {
1285 "Node name for S&R": "SetNode",
1286 "aux_id": "kijai/ComfyUI-KJNodes",
1287 "previousName": "Video Path",
1288 "ue_properties": {
1289 "widget_ue_connectable": [],
1290 "version": "7.8",
1291 "input_ue_unconnectable": []
1292 }
1293 },
1294 "widgets_values": [
1295 "Video Path"
1296 ],
1297 "widgets_values_named": {
1298 "Constant": "Video Path"
1299 }
1300 },
1301 {
1302 "id": 89,
1303 "type": "GetNode",
1304 "pos": [
1305 3720,
1306 1940
1307 ],
1308 "size": [
1309 210,
1310 60
1311 ],
1312 "flags": {
1313 "collapsed": true
1314 },
1315 "order": 5,
1316 "mode": 0,
1317 "inputs": [],
1318 "outputs": [
1319 {
1320 "name": "STRING",
1321 "type": "STRING",
1322 "links": [
1323 146
1324 ]
1325 }
1326 ],
1327 "title": "Get_Video Path",
1328 "properties": {
1329 "Node name for S&R": "GetNode",
1330 "aux_id": "kijai/ComfyUI-KJNodes",
1331 "ue_properties": {
1332 "widget_ue_connectable": [],
1333 "version": "7.8",
1334 "input_ue_unconnectable": []
1335 }
1336 },
1337 "widgets_values": [
1338 "Video Path"
1339 ],
1340 "widgets_values_named": {
1341 "Constant": "Video Path"
1342 }
1343 },
1344 {
1345 "id": 92,
1346 "type": "LCMiniMaxH3PipeV2",
1347 "pos": [
1348 1580,
1349 1330
1350 ],
1351 "size": [
1352 200,
1353 710
1354 ],
1355 "flags": {
1356 "collapsed": true
1357 },
1358 "order": 37,
1359 "mode": 0,
1360 "inputs": [
1361 {
1362 "name": "pipe",
1363 "shape": 7,
1364 "type": "LC_H3_PIPE_V2,LC_H3_PIPE,LC_PIPE",
1365 "link": null
1366 },
1367 {
1368 "name": "fl2va_model",
1369 "shape": 7,
1370 "type": "MODEL",
1371 "link": null
1372 },
1373 {
1374 "name": "fl2va_clip",
1375 "shape": 7,
1376 "type": "CLIP",
1377 "link": null
1378 },
1379 {
1380 "name": "ref2va_model",
1381 "shape": 7,
1382 "type": "MODEL",
1383 "link": null
1384 },
1385 {
1386 "name": "ref2va_clip",
1387 "shape": 7,
1388 "type": "CLIP",
1389 "link": null
1390 },
1391 {
1392 "name": "video_vae",
1393 "shape": 7,
1394 "type": "VAE",
1395 "link": null
1396 },
1397 {
1398 "name": "audio_vae",
1399 "shape": 7,
1400 "type": "VAE",
1401 "link": null
1402 },
1403 {
1404 "name": "width",
1405 "shape": 7,
1406 "type": "INT",
1407 "link": 149
1408 },
1409 {
1410 "name": "height",
1411 "shape": 7,
1412 "type": "INT",
1413 "link": 150
1414 },
1415 {
1416 "name": "length",
1417 "shape": 7,
1418 "type": "INT",
1419 "link": null
1420 },
1421 {
1422 "name": "frame_rate",
1423 "shape": 7,
1424 "type": "INT",
1425 "link": null
1426 },
1427 {
1428 "name": "prompt",
1429 "shape": 7,
1430 "type": "STRING",
1431 "link": null
1432 },
1433 {
1434 "name": "total_steps",
1435 "shape": 7,
1436 "type": "INT",
1437 "link": 153
1438 },
1439 {
1440 "name": "cfg",
1441 "shape": 7,
1442 "type": "FLOAT",
1443 "link": null
1444 },
1445 {
1446 "name": "seed",
1447 "shape": 7,
1448 "type": "INT",
1449 "link": 154
1450 },
1451 {
1452 "name": "sampler_name",
1453 "shape": 7,
1454 "type": "COMBO",
1455 "link": 156
1456 },
1457 {
1458 "name": "scheduler",
1459 "shape": 7,
1460 "type": "COMBO",
1461 "link": 155
1462 },
1463 {
1464 "name": "ref_image_0",
1465 "shape": 7,
1466 "type": "IMAGE",
1467 "link": null
1468 },
1469 {
1470 "name": "ref_image_1",
1471 "shape": 7,
1472 "type": "IMAGE",
1473 "link": null
1474 },
1475 {
1476 "name": "ref_image_2",
1477 "shape": 7,
1478 "type": "IMAGE",
1479 "link": null
1480 },
1481 {
1482 "name": "ref_image_3",
1483 "shape": 7,
1484 "type": "IMAGE",
1485 "link": null
1486 },
1487 {
1488 "name": "ref_image_4",
1489 "shape": 7,
1490 "type": "IMAGE",
1491 "link": null
1492 },
1493 {
1494 "name": "ref_image_5",
1495 "shape": 7,
1496 "type": "IMAGE",
1497 "link": null
1498 },
1499 {
1500 "name": "ref_image_6",
1501 "shape": 7,
1502 "type": "IMAGE",
1503 "link": null
1504 },
1505 {
1506 "name": "ref_image_7",
1507 "shape": 7,
1508 "type": "IMAGE",
1509 "link": null
1510 },
1511 {
1512 "name": "ref_image_8",
1513 "shape": 7,
1514 "type": "IMAGE",
1515 "link": null
1516 },
1517 {
1518 "name": "ref_video_0",
1519 "shape": 7,
1520 "type": "IMAGE",
1521 "link": null
1522 },
1523 {
1524 "name": "ref_video_1",
1525 "shape": 7,
1526 "type": "IMAGE",
1527 "link": null
1528 },
1529 {
1530 "name": "ref_video_2",
1531 "shape": 7,
1532 "type": "IMAGE",
1533 "link": null
1534 },
1535 {
1536 "name": "ref_video_audio_0",
1537 "shape": 7,
1538 "type": "AUDIO",
1539 "link": null
1540 },
1541 {
1542 "name": "ref_video_audio_1",
1543 "shape": 7,
1544 "type": "AUDIO",
1545 "link": null
1546 },
1547 {
1548 "name": "ref_video_audio_2",
1549 "shape": 7,
1550 "type": "AUDIO",
1551 "link": null
1552 },
1553 {
1554 "name": "ref_audio_0",
1555 "shape": 7,
1556 "type": "AUDIO",
1557 "link": null
1558 },
1559 {
1560 "name": "ref_audio_1",
1561 "shape": 7,
1562 "type": "AUDIO",
1563 "link": null
1564 },
1565 {
1566 "name": "ref_audio_2",
1567 "shape": 7,
1568 "type": "AUDIO",
1569 "link": null
1570 }
1571 ],
1572 "outputs": [
1573 {
1574 "name": "pipe",
1575 "type": "LC_H3_PIPE_V2",
1576 "links": [
1577 151,
1578 430
1579 ]
1580 }
1581 ],
1582 "properties": {
1583 "cnr_id": "ComfyUI_LC123_nodes",
1584 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
1585 "Node name for S&R": "LCMiniMaxH3PipeV2",
1586 "ue_properties": {
1587 "widget_ue_connectable": [],
1588 "input_ue_unconnectable": [],
1589 "version": "7.8"
1590 }
1591 },
1592 "color": "#707070",
1593 "bgcolor": "#707070"
1594 },
1595 {
1596 "id": 93,
1597 "type": "SetNode",
1598 "pos": [
1599 1580,
1600 1370
1601 ],
1602 "size": [
1603 230,
1604 60
1605 ],
1606 "flags": {
1607 "collapsed": true
1608 },
1609 "order": 50,
1610 "mode": 0,
1611 "inputs": [
1612 {
1613 "name": "LC_H3_PIPE_V2",
1614 "type": "LC_H3_PIPE_V2",
1615 "link": 151
1616 }
1617 ],
1618 "outputs": [
1619 {
1620 "name": "LC_H3_PIPE_V2",
1621 "type": "LC_H3_PIPE_V2",
1622 "links": null
1623 }
1624 ],
1625 "title": "Set_Aspect Pipe",
1626 "properties": {
1627 "Node name for S&R": "SetNode",
1628 "aux_id": "kijai/ComfyUI-KJNodes",
1629 "previousName": "Aspect Pipe",
1630 "ue_properties": {
1631 "widget_ue_connectable": [],
1632 "version": "7.8",
1633 "input_ue_unconnectable": []
1634 }
1635 },
1636 "widgets_values": [
1637 "Aspect Pipe"
1638 ],
1639 "widgets_values_named": {
1640 "Constant": "Aspect Pipe"
1641 }
1642 },
1643 {
1644 "id": 94,
1645 "type": "GetNode",
1646 "pos": [
1647 1390,
1648 2220
1649 ],
1650 "size": [
1651 210,
1652 60
1653 ],
1654 "flags": {
1655 "collapsed": true
1656 },
1657 "order": 6,
1658 "mode": 0,
1659 "inputs": [],
1660 "outputs": [
1661 {
1662 "name": "LC_H3_PIPE_V2",
1663 "type": "LC_H3_PIPE_V2",
1664 "links": [
1665 152
1666 ]
1667 }
1668 ],
1669 "title": "Get_Aspect Pipe",
1670 "properties": {
1671 "Node name for S&R": "GetNode",
1672 "aux_id": "kijai/ComfyUI-KJNodes",
1673 "ue_properties": {
1674 "widget_ue_connectable": [],
1675 "version": "7.8",
1676 "input_ue_unconnectable": []
1677 }
1678 },
1679 "widgets_values": [
1680 "Aspect Pipe"
1681 ],
1682 "widgets_values_named": {
1683 "Constant": "Aspect Pipe"
1684 }
1685 },
1686 {
1687 "id": 95,
1688 "type": "LCSlider",
1689 "pos": [
1690 1580,
1691 940
1692 ],
1693 "size": [
1694 320,
1695 32
1696 ],
1697 "flags": [],
1698 "order": 7,
1699 "mode": 0,
1700 "inputs": [],
1701 "outputs": [
1702 {
1703 "label": " ",
1704 "name": "*",
1705 "type": "*",
1706 "links": [
1707 153
1708 ]
1709 }
1710 ],
1711 "title": "Steps",
1712 "properties": {
1713 "cnr_id": "ComfyUI_LC123_nodes",
1714 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
1715 "Node name for S&R": "LCSlider",
1716 "ue_properties": {
1717 "widget_ue_connectable": [],
1718 "input_ue_unconnectable": [],
1719 "version": "7.8"
1720 },
1721 "min": 4,
1722 "max": 25,
1723 "step": 1,
1724 "decimals": 0
1725 },
1726 "widgets_values": [
1727 12,
1728 4,
1729 25,
1730 1,
1731 0,
1732 ""
1733 ],
1734 "widgets_values_named": {
1735 "value": 12,
1736 "min": 4,
1737 "max": 25,
1738 "step": 1,
1739 "decimals": 0,
1740 "lc123_face": ""
1741 },
1742 "color": "#222",
1743 "bgcolor": "#000"
1744 },
1745 {
1746 "id": 97,
1747 "type": "MiniMaxH3TurboLoRA",
1748 "pos": [
1749 1390,
1750 1540
1751 ],
1752 "size": [
1753 510,
1754 110
1755 ],
1756 "flags": [],
1757 "order": 34,
1758 "mode": 0,
1759 "inputs": [
1760 {
1761 "name": "model",
1762 "type": "MODEL",
1763 "link": 170
1764 }
1765 ],
1766 "outputs": [
1767 {
1768 "name": "MODEL",
1769 "type": "MODEL",
1770 "links": [
1771 171
1772 ]
1773 }
1774 ],
1775 "properties": {
1776 "cnr_id": "comfyui-minimax-h3-turbo",
1777 "ver": "4274783a23afcfdbea3b4876cb79effd6c510785",
1778 "Node name for S&R": "MiniMaxH3TurboLoRA",
1779 "ue_properties": {
1780 "widget_ue_connectable": [],
1781 "input_ue_unconnectable": [],
1782 "version": "7.8"
1783 }
1784 },
1785 "widgets_values": [
1786 "MiniMax\\Utility\\minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors",
1787 0.7,
1788 false
1789 ],
1790 "widgets_values_named": {
1791 "lora_name": "MiniMax\\Utility\\minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors",
1792 "strength": 0.7,
1793 "low_vram": false
1794 },
1795 "color": "#919146",
1796 "bgcolor": "#7d7d32"
1797 },
1798 {
1799 "id": 99,
1800 "type": "LCImageLabel",
1801 "pos": [
1802 230,
1803 520
1804 ],
1805 "size": [
1806 311,
1807 311
1808 ],
1809 "flags": [],
1810 "order": 8,
1811 "mode": 0,
1812 "inputs": [],
1813 "outputs": [],
1814 "properties": {
1815 "imgW": 301,
1816 "imgH": 301,
1817 "angle": 0,
1818 "size": 301,
1819 "padding": 5,
1820 "borderWidth": 0,
1821 "borderColor": "#ffffff",
1822 "borderRadius": 0,
1823 "backgroundColor": "transparent",
1824 "bgTransparent": true,
1825 "syncImageRadius": true,
1826 "imageRadius": 0,
1827 "embeddedData": "data:image/webp;base64,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",
1828 "_w": 311,
1829 "_h": 311,
1830 "ue_properties": {
1831 "widget_ue_connectable": [],
1832 "version": "7.8",
1833 "input_ue_unconnectable": []
1834 }
1835 },
1836 "widgets_values": [
1837 "{\"filename\":\"Logo no background_00001_.png\",\"subfolder\":\"\"}"
1838 ],
1839 "widgets_values_named": {
1840 "_image_path": "{\"filename\":\"Logo no background_00001_.png\",\"subfolder\":\"\"}"
1841 },
1842 "color": "#fff0",
1843 "bgcolor": "#fff0"
1844 },
1845 {
1846 "id": 100,
1847 "type": "LCLabel",
1848 "pos": [
1849 540,
1850 580
1851 ],
1852 "size": [
1853 873,
1854 180
1855 ],
1856 "flags": [],
1857 "order": 9,
1858 "mode": 0,
1859 "inputs": [],
1860 "outputs": [],
1861 "properties": {
1862 "text": "Lonecat's",
1863 "font": "Georgia",
1864 "size": 150,
1865 "bold": true,
1866 "italic": false,
1867 "color": "#50e070",
1868 "align": "center",
1869 "outline": false,
1870 "outlineColor": "#000000",
1871 "outlineWidth": 4,
1872 "shadow": false,
1873 "shadowBlur": 10,
1874 "bg": false,
1875 "bgColor": "#324B4B",
1876 "radius": 12,
1877 "padding": 8,
1878 "angle": 0,
1879 "width": 873,
1880 "cnr_id": "ComfyUI_LC123_nodes",
1881 "ver": "24728b75a7291ed7d3ac57d6e23d906823392387",
1882 "Node name for S&R": "LCLabel",
1883 "_w": 873,
1884 "_h": 180,
1885 "ue_properties": {
1886 "widget_ue_connectable": [],
1887 "input_ue_unconnectable": [],
1888 "version": "7.8"
1889 }
1890 },
1891 "color": "#fff0",
1892 "bgcolor": "#fff0"
1893 },
1894 {
1895 "id": 101,
1896 "type": "LCLabel",
1897 "pos": [
1898 2110,
1899 590
1900 ],
1901 "size": [
1902 1091,
1903 180
1904 ],
1905 "flags": [],
1906 "order": 10,
1907 "mode": 0,
1908 "inputs": [],
1909 "outputs": [],
1910 "properties": {
1911 "text": "ShowRunner 🎬",
1912 "font": "Bebas Neue",
1913 "size": 150,
1914 "bold": true,
1915 "italic": false,
1916 "color": "#ffe63c",
1917 "align": "center",
1918 "outline": false,
1919 "outlineColor": "#000000",
1920 "outlineWidth": 4,
1921 "shadow": false,
1922 "shadowBlur": 10,
1923 "bg": false,
1924 "bgColor": "#324B4B",
1925 "radius": 12,
1926 "padding": 8,
1927 "angle": 0,
1928 "width": 1091,
1929 "cnr_id": "ComfyUI_LC123_nodes",
1930 "ver": "24728b75a7291ed7d3ac57d6e23d906823392387",
1931 "Node name for S&R": "LCLabel",
1932 "_w": 1091,
1933 "_h": 180,
1934 "ue_properties": {
1935 "widget_ue_connectable": [],
1936 "input_ue_unconnectable": [],
1937 "version": "7.8"
1938 }
1939 },
1940 "color": "#fff0",
1941 "bgcolor": "#fff0"
1942 },
1943 {
1944 "id": 102,
1945 "type": "LCLabel",
1946 "pos": [
1947 1400,
1948 580
1949 ],
1950 "size": [
1951 789,
1952 180
1953 ],
1954 "flags": [],
1955 "order": 11,
1956 "mode": 0,
1957 "inputs": [],
1958 "outputs": [],
1959 "properties": {
1960 "text": "Minimax H3",
1961 "font": "Ink Free",
1962 "size": 150,
1963 "bold": true,
1964 "italic": false,
1965 "color": "#ffffff",
1966 "align": "center",
1967 "outline": false,
1968 "outlineColor": "#000000",
1969 "outlineWidth": 4,
1970 "shadow": false,
1971 "shadowBlur": 10,
1972 "bg": false,
1973 "bgColor": "#324B4B",
1974 "radius": 12,
1975 "padding": 8,
1976 "angle": 0,
1977 "width": 790,
1978 "cnr_id": "ComfyUI_LC123_nodes",
1979 "ver": "24728b75a7291ed7d3ac57d6e23d906823392387",
1980 "Node name for S&R": "LCLabel",
1981 "_w": 789,
1982 "_h": 180,
1983 "ue_properties": {
1984 "widget_ue_connectable": [],
1985 "input_ue_unconnectable": [],
1986 "version": "7.8"
1987 }
1988 },
1989 "color": "#fff0",
1990 "bgcolor": "#fff0"
1991 },
1992 {
1993 "id": 103,
1994 "type": "LCLabel",
1995 "pos": [
1996 4070,
1997 590
1998 ],
1999 "size": [
2000 357,
2001 181
2002 ],
2003 "flags": [],
2004 "order": 12,
2005 "mode": 0,
2006 "inputs": [],
2007 "outputs": [],
2008 "properties": {
2009 "text": "V3.1\n",
2010 "font": "Comic Sans MS",
2011 "size": 150,
2012 "bold": true,
2013 "italic": false,
2014 "color": "#3cd8ff",
2015 "align": "center",
2016 "outline": false,
2017 "outlineColor": "#ff3232",
2018 "outlineWidth": 4,
2019 "shadow": false,
2020 "shadowBlur": 10,
2021 "bg": false,
2022 "bgColor": "#324B4B",
2023 "radius": 12,
2024 "padding": 8,
2025 "angle": 0,
2026 "width": 0,
2027 "cnr_id": "ComfyUI_LC123_nodes",
2028 "ver": "24728b75a7291ed7d3ac57d6e23d906823392387",
2029 "Node name for S&R": "LCLabel",
2030 "_w": 357,
2031 "_h": 181,
2032 "ue_properties": {
2033 "widget_ue_connectable": [],
2034 "input_ue_unconnectable": [],
2035 "version": "7.8"
2036 }
2037 },
2038 "color": "#fff0",
2039 "bgcolor": "#fff0"
2040 },
2041 {
2042 "id": 105,
2043 "type": "LCNote",
2044 "pos": [
2045 4400,
2046 900
2047 ],
2048 "size": [
2049 820,
2050 520
2051 ],
2052 "flags": [],
2053 "order": 13,
2054 "mode": 0,
2055 "inputs": [],
2056 "outputs": [],
2057 "title": "LC123 Settings ⚙️",
2058 "properties": {
2059 "lc_note": {
2060 "source": "en",
2061 "texts": {
2062 "en": {
2063 "text": "# LC123 Settings ⚙️\n\n**Where are they?** Open **Settings** (the gear), then **LC123 Settings ⚙️**. There are five sections: **Align**, **Connections**, **Notes**, **Optimization** and **Performance**.\n\n- 💡 Missing a setting? Restart ComfyUI, then press **Ctrl+F5** so the browser loads the new files.\n\n---\n\n### 📐 Align\n\n**Align tool**\n- Default: **On**\n- The switch for the whole tool. Off = no **Align** button (the LC logo) in the top toolbar and none of the features below.\n- With it on, the **Align** button turns Align on or off **for the open workflow**: light gray with the red flame = on, dark gray with a gray flame = off.\n - That on/off is saved in the workflow. Save it with Align on and it opens with Align on, even on a fresh ComfyUI.\n - Every workflow tab keeps its own. Switch tabs and the tool follows that tab (on in one, off in the other, no mix-ups).\n - Turning it on or off counts as a change to the workflow, so you get the unsaved dot.\n- Nodes snap to **Node lines**, groups snap to **Group lines**. A line lights up when you get close.\n- Works on the classic canvas and in **Nodes 2.0**.\n- **Snap distance** is ComfyUI's own **Snap to grid size** (Settings > Lite Graph > Canvas). Smaller grid = tighter snap. New lines land on that grid too.\n - **Shift** while dragging hands the drag to ComfyUI's own grid snap (no line snap). With **Always snap to grid** on, a line snap still wins on the axis it caught.\n\n**Rulers**\n- Default: **On**\n- Rulers on the top and left edge while Align is on:\n - **Left click** a ruler: adds a **Node line** (blue). Nodes snap to it.\n - **Right click** a ruler: adds a **Group line** (orange). Groups snap to it.\n - Click a line's marker again to remove it. Drag a marker to move it.\n- Lines save with the workflow.\n\n**Line reveal distance (px)**\n- Default: **120**\n- Lines stay invisible until the cursor or whatever you drag gets this close.\n\n**Also snap to other nodes and groups**\n- Default: **Off**\n- On = also snap to other nodes' edges and centers (no line is shown for those).\n\n---\n\n### 🔌 Connections\n\n**Connection FX**\n- Default: **Off**\n- While you drag a wire, every socket it can plug into glows in its socket color.\n- Get close and rings pulse out of the socket. Closer = bigger and brighter.\n- **Connection FX reach (px):** how close the cursor has to be before the rings start. Default 160.\n- **Connection FX zoomed-out glow (%):** zoomed out, every valid socket glows brighter so you can find it. Default 60.\n- Classic canvas only. With **Nodes 2.0** on it stays out of the way.\n\n---\n\n\n\n---\n\n### 🩺 Optimization\n\n**Optimization report**\n- One button. It pans the canvas by itself for a few seconds, times what every pack in the open workflow draws and runs, and scans their files.\n- You get a list of what slows your canvas down, biggest first, sorted into:\n - **That pack's own settings** (the exact setting name, where it lives and its current value)\n - **LC123 optimization settings**\n - **ComfyUI settings**\n - **Sidebar tabs**\n - **Required to function** (no setting, it is how that pack works)\n- Only node packs used in the open workflow are analyzed.\n- Every setting it suggests is checked against its current value:\n - ⚠️ big gain · ✅ worthwhile gain · 💡 small gain\n - ⚪ already set · ➖ does not apply · ℹ️ required, no setting for it\n- **Show last run:** the button at the top flips to the previous report. Each new run also shows what got faster and which fixes are done since last time.\n - Only the last run is kept (it survives a refresh). Each run replaces it.\n- Nothing is changed. (Keep the mouse still while it runs.)\n- 💡 Also in the right-click menu on the empty canvas.\n\n---\n\n### ⚡ Performance\n\nThese only change what you see on the canvas. Generation, VRAM, **Save Image** and every **IMAGE** output stay full resolution. (A lighter preview never means a lighter image.)\n\n| Setting | Default | What it does |\n|---|---|---|\n| **Remove wipe** | Off | Turns off the hover A/B wipe on LC image FX nodes. The last result still shows. |\n| **Half-resolution previews** | Off | Draws FX previews at half size. Less work while panning. |\n| **Clamp longest side** | Off | Shrinks on-node previews so the longest side fits **Max edge**. |\n| **Max edge (px)** | 768 | Only used when **Clamp longest side** is on. Range 256 to 2048. Try 512 on heavy graphs. |\n| **No preview when collapsed** | On | Collapsed FX nodes skip drawing their preview. |\n| **Hide FX on-node previews** | Off | Hides every LC image FX preview. |\n| **Recent colors** | On | Keeps your last 8 custom colors in the right-click **Colors** menu. Adds a Custom picker if Custom Scripts is not installed. |\n| **Skin Beauty full preview override** | On | **LC Skin Beauty** keeps a full-quality preview even with half-res or clamp on, so you can still zoom into skin. Wipe still follows **Remove wipe**. |\n| **LoRA loader info button** | On | Shows the ℹ button on each **LC LoRA Loader** row. Trigger words come from the LoRA file itself (no internet). Turn off to declutter. |\n| **Preview distance (px)** | 40 | Like node text, an on-node image switches off when you zoom out far enough that it is drawn smaller than this. Smaller previews switch off first. 0 = always draw. |\n\n**Never affected:** **LC Image Compare 🔎**, **LC Image Split 🖼️** and **LC Dynamic Overlay** keep their full preview and wipe no matter what (only **Preview distance** switches them off when zoomed far out).\n\n**Suggested setups**\n- **Normal use:** leave everything at default.\n- **Laggy graph:** turn on **Half-resolution previews** and **Clamp longest side** (Max edge 512). Keep **No preview when collapsed** on.\n- **Lightest canvas:** turn on **Hide FX on-node previews**. Use **Image Compare** or **Image Split** when you need to see a before/after.\n- 💡 Changes apply on the next redraw. Pan the canvas a little, no restart needed.\n\n---\n\n\"True Nothing is. Permitted Everything is\"- Yoda Auditore, Assassin's Wars\n\n"
2064 },
2065 "zh": {
2066 "text": "# LC123 Settings ⚙️\n\n**在哪里?** 打开 **Settings**(齿轮),然后找 **LC123 Settings ⚙️**。共有五个部分:**Align**、**Connections**、**Notes**、**Optimization** 和 **Performance**。\n\n- 💡 找不到某个设置?重启 ComfyUI,然后按 **Ctrl+F5**,让浏览器加载新文件。\n\n---\n\n### 📐 Align\n\n**Align tool**\n- 默认:**开**\n- 整个工具的总开关。关 = 顶部工具栏里没有 **Align** 按钮(LC 标志),下面所有功能也都没有。\n- 打开后,**Align** 按钮用来**为当前打开的工作流**开关 Align:浅灰色带红色火焰 = 开,深灰色带灰色火焰 = 关。\n - 这个开关状态会保存在工作流里。开着 Align 保存,之后即使在全新的 ComfyUI 里打开也是开着的。\n - 每个工作流标签页各自独立。切换标签页,工具会跟着该标签页走(一个开一个关,不会混)。\n - 开关会算作对工作流的修改,所以会出现未保存的小圆点。\n- 节点吸附到 **Node lines**,分组吸附到 **Group lines**。靠近时线会亮起来。\n- 在经典画布和 **Nodes 2.0** 中都能用。\n- **Snap distance** 就是 ComfyUI 自带的 **Snap to grid size**(Settings > Lite Graph > Canvas)。网格越小,吸附越紧。新线也会落在这个网格上。\n - 拖动时按 **Shift** 会把拖动交给 ComfyUI 自带的网格吸附(不吸附到线)。开启 **Always snap to grid** 时,在已被线吸住的那个轴上,线吸附仍然优先。\n\n**Rulers**\n- 默认:**开**\n- Align 开启时,顶部和左侧边缘会显示标尺:\n - 在标尺上**左键点击**:添加一条 **Node line**(蓝色)。节点会吸附到它。\n - 在标尺上**右键点击**:添加一条 **Group line**(橙色)。分组会吸附到它。\n - 再次点击线的标记可删除。拖动标记可移动。\n- 线会随工作流保存。\n\n**Line reveal distance (px)**\n- 默认:**120**\n- 线一直不可见,直到光标或你拖动的东西靠近到这个距离。\n\n**Also snap to other nodes and groups**\n- 默认:**关**\n- 开 = 还会吸附到其他节点的边缘和中心(这些不会显示线)。\n\n---\n\n### 🔌 Connections\n\n**Connection FX**\n- 默认:**关**\n- 拖动连线时,每个它能接入的接口都会以接口自己的颜色发光。\n- 靠近时,接口会向外脉冲出圆环。越近 = 越大越亮。\n- **Connection FX reach (px):** 光标要靠多近圆环才开始出现。默认 160。\n- **Connection FX zoomed-out glow (%):** 缩小视图时,每个有效接口会更亮,方便你找到。默认 60。\n- 仅限经典画布。开启 **Nodes 2.0** 时它会自动避开。\n\n---\n\n\n\n---\n\n### 🩺 Optimization\n\n**Optimization report**\n- 一个按钮。它会自己平移画布几秒钟,测量当前工作流里每个包的绘制和运行耗时,并扫描它们的文件。\n- 你会得到一份拖慢画布的清单,最慢的排最前,分为:\n - **该包自己的设置**(确切的设置名、所在位置和当前值)\n - **LC123 优化设置**\n - **ComfyUI 设置**\n - **侧边栏标签页**\n - **功能必需**(没有设置项,这个包本来就是这样工作的)\n- 只分析当前工作流里用到的节点包。\n- 它建议的每个设置都会对照当前值检查:\n - ⚠️ 收益很大 · ✅ 值得的收益 · 💡 收益较小\n - ⚪ 已设置 · ➖ 不适用 · ℹ️ 必需,没有对应设置\n- **Show last run:** 顶部的按钮可切换到上一份报告。每次新运行还会显示相比上次哪些变快了、哪些修复已经完成。\n - 只保留最近一次(刷新后仍在)。每次运行会替换它。\n- 不会更改任何东西。(运行期间请保持鼠标不动。)\n- 💡 在空白画布上右键菜单里也有。\n\n---\n\n### ⚡ Performance\n\n这些只改变你在画布上看到的内容。生成、VRAM、**Save Image** 以及每个 **IMAGE** 输出都保持完整分辨率。(预览变轻不代表图像变轻。)\n\n| 设置 | 默认 | 作用 |\n|---|---|---|\n| **Remove wipe** | 关 | 关闭 LC 图像 FX 节点上悬停的 A/B 擦除对比。最后一次的结果仍会显示。 |\n| **Half-resolution previews** | 关 | 以一半大小绘制 FX 预览。平移时负担更轻。 |\n| **Clamp longest side** | 关 | 缩小节点上的预览,让最长边适配 **Max edge**。 |\n| **Max edge (px)** | 768 | 仅在 **Clamp longest side** 开启时使用。范围 256 到 2048。重型图表可试 512。 |\n| **No preview when collapsed** | 开 | 折叠的 FX 节点不绘制预览。 |\n| **Hide FX on-node previews** | 关 | 隐藏所有 LC 图像 FX 预览。 |\n| **Recent colors** | 开 | 在右键 **Colors** 菜单里保留你最近的 8 个自定义颜色。如果没装 Custom Scripts,会补上一个 Custom 取色器。 |\n| **Skin Beauty full preview override** | 开 | 即使开了半分辨率或限制尺寸,**LC Skin Beauty** 仍保留完整质量预览,方便你放大看皮肤。Wipe 仍遵循 **Remove wipe**。 |\n| **LoRA loader info button** | 开 | 在每个 **LC LoRA Loader** 行上显示 ℹ 按钮。触发词来自 LoRA 文件本身(无需联网)。关闭可让界面更简洁。 |\n| **Preview distance (px)** | 40 | 和节点文字一样,当你缩小到节点上的图像绘制尺寸小于这个值时,它就会关闭。较小的预览先关闭。0 = 始终绘制。 |\n\n**从不受影响:** **LC Image Compare 🔎**、**LC Image Split 🖼️** 和 **LC Dynamic Overlay** 无论如何都保留完整预览和擦除对比(只有 **Preview distance** 会在缩得很小时把它们关闭)。\n\n**推荐方案**\n- **正常使用:** 全部保持默认。\n- **图表卡顿:** 开启 **Half-resolution previews** 和 **Clamp longest side**(Max edge 512)。保持 **No preview when collapsed** 开启。\n- **最轻量的画布:** 开启 **Hide FX on-node previews**。需要看前后对比时用 **Image Compare** 或 **Image Split**。\n- 💡 修改会在下次重绘时生效。稍微平移一下画布即可,无需重启。\n\n---\n\n\"True Nothing is. Permitted Everything is\"- Yoda Auditore, Assassin's Wars\n\n",
2067 "src": "37d6a0d9",
2068 "srcTitle": "LC123 Settings ⚙️"
2069 },
2070 "ja": {
2071 "text": "# LC123 Settings ⚙️\n\n**どこにある?** **Settings**(歯車)を開き、**LC123 Settings ⚙️** を選びます。**Align**、**Connections**、**Notes**、**Optimization**、**Performance** の5つのセクションがあります。\n\n- 💡 設定が見当たらない? ComfyUI を再起動してから **Ctrl+F5** を押し、ブラウザに新しいファイルを読み込ませてください。\n\n---\n\n### 📐 Align\n\n**Align tool**\n- デフォルト: **On**\n- ツール全体のスイッチです。Off = 上部ツールバーの **Align** ボタン(LC ロゴ)も、以下の機能もすべてなくなります。\n- オンにすると、**Align** ボタンで**開いているワークフロー**の Align をオン/オフできます。ライトグレーに赤い炎 = オン、ダークグレーにグレーの炎 = オフです。\n - そのオン/オフはワークフローに保存されます。Align をオンにして保存すれば、新しい ComfyUI でもオンで開きます。\n - ワークフローのタブごとに独立して保持されます。タブを切り替えると、ツールもそのタブに従います(片方でオン、もう片方でオフ、混ざることはありません)。\n - オン/オフの切り替えはワークフローの変更として扱われるので、未保存のドットが付きます。\n- ノードは **Node lines** に、グループは **Group lines** にスナップします。近づくとラインが光ります。\n- クラシックキャンバスでも **Nodes 2.0** でも動作します。\n- **Snap distance** は ComfyUI 自体の **Snap to grid size**(Settings > Lite Graph > Canvas)です。グリッドが小さいほどスナップが細かくなります。新しいラインもそのグリッドに乗ります。\n - ドラッグ中に **Shift** を押すと、ドラッグが ComfyUI 自体のグリッドスナップに切り替わります(ラインスナップなし)。**Always snap to grid** がオンの場合でも、ラインに捕まった軸ではラインスナップが優先されます。\n\n**Rulers**\n- デフォルト: **On**\n- Align がオンのとき、上端と左端にルーラーが表示されます:\n - ルーラーを**左クリック**: **Node line**(青)を追加します。ノードがスナップします。\n - ルーラーを**右クリック**: **Group line**(オレンジ)を追加します。グループがスナップします。\n - ラインのマーカーをもう一度クリックすると削除されます。マーカーをドラッグすると移動できます。\n- ラインはワークフローと一緒に保存されます。\n\n**Line reveal distance (px)**\n- デフォルト: **120**\n- カーソル、またはドラッグ中のものがこの距離まで近づくまで、ラインは見えません。\n\n**Also snap to other nodes and groups**\n- デフォルト: **Off**\n- On = 他のノードの端や中心にもスナップします(それらのラインは表示されません)。\n\n---\n\n### 🔌 Connections\n\n**Connection FX**\n- デフォルト: **Off**\n- ワイヤーをドラッグしている間、接続可能なすべてのソケットが、そのソケットの色で光ります。\n- 近づくと、ソケットからリングが波打ちます。近いほど大きく、明るくなります。\n- **Connection FX reach (px):** リングが出始めるまでにカーソルがどれだけ近づく必要があるかです。デフォルトは 160。\n- **Connection FX zoomed-out glow (%):** ズームアウトしたとき、有効なソケットがより明るく光るので見つけやすくなります。デフォルトは 60。\n- クラシックキャンバス専用です。**Nodes 2.0** がオンのときは邪魔をしません。\n\n---\n\n\n\n---\n\n### 🩺 Optimization\n\n**Optimization report**\n- ボタンが1つあります。キャンバスを数秒間自動でパンし、開いているワークフロー内の各パックの描画と実行にかかる時間を計測し、そのファイルをスキャンします。\n- キャンバスを重くしているものが、影響の大きい順にリストされ、次のように分類されます:\n - **そのパック自身の設定**(正確な設定名、その場所、現在の値)\n - **LC123 optimization settings**\n - **ComfyUI settings**\n - **Sidebar tabs**\n - **Required to function**(設定なし、そのパックの仕組み上必要なもの)\n- 開いているワークフローで使われているノードパックだけが分析されます。\n- 提案されるすべての設定は、現在の値と照合されます:\n - ⚠️ 大きな効果 · ✅ 価値のある効果 · 💡 小さな効果\n - ⚪ 設定済み · ➖ 該当なし · ℹ️ 必須、設定なし\n- **Show last run:** 上部のボタンで前回のレポートに切り替わります。新しい実行のたびに、前回から速くなった点と、完了した修正も表示されます。\n - 保持されるのは最後の実行だけです(更新しても残ります)。実行のたびに置き換わります。\n- 何も変更されません。(実行中はマウスを動かさないでください。)\n- 💡 空のキャンバスを右クリックしたメニューにもあります。\n\n---\n\n### ⚡ Performance\n\nこれらはキャンバス上の見た目だけを変えます。生成、VRAM、**Save Image**、すべての **IMAGE** 出力はフル解像度のままです。(プレビューが軽くなっても、画像が軽くなることはありません。)\n\n| Setting | Default | 機能 |\n|---|---|---|\n| **Remove wipe** | Off | LC image FX ノードのホバー A/B ワイプをオフにします。最後の結果は表示されたままです。 |\n| **Half-resolution previews** | Off | FX プレビューを半分のサイズで描画します。パン中の負荷が減ります。 |\n| **Clamp longest side** | Off | ノード上のプレビューを、長辺が **Max edge** に収まるよう縮小します。 |\n| **Max edge (px)** | 768 | **Clamp longest side** がオンのときだけ使われます。範囲は 256 から 2048。重いグラフでは 512 を試してください。 |\n| **No preview when collapsed** | On | 折りたたまれた FX ノードはプレビューを描画しません。 |\n| **Hide FX on-node previews** | Off | すべての LC image FX プレビューを非表示にします。 |\n| **Recent colors** | On | 右クリックの **Colors** メニューに、最後に使った8色のカスタムカラーを保持します。Custom Scripts がインストールされていない場合は、Custom ピッカーを追加します。 |\n| **Skin Beauty full preview override** | On | half-res や clamp がオンでも **LC Skin Beauty** はフル品質のプレビューを保つので、肌にズームインして確認できます。ワイプは引き続き **Remove wipe** に従います。 |\n| **LoRA loader info button** | On | **LC LoRA Loader** の各行に ℹ ボタンを表示します。トリガーワードは LoRA ファイル自体から取得します(インターネット不要)。オフにするとすっきりします。 |\n| **Preview distance (px)** | 40 | ノードのテキストと同じように、ノード上の画像は、この値より小さく描画されるほどズームアウトするとオフになります。小さいプレビューから先にオフになります。0 = 常に描画。 |\n\n**影響を受けないもの:** **LC Image Compare 🔎**、**LC Image Split 🖼️**、**LC Dynamic Overlay** は、何があってもフルプレビューとワイプを保ちます(大きくズームアウトしたときだけ **Preview distance** でオフになります)。\n\n**おすすめのセットアップ**\n- **通常使い:** すべてデフォルトのままにします。\n- **グラフが重いとき:** **Half-resolution previews** と **Clamp longest side**(Max edge 512)をオンにします。**No preview when collapsed** はオンのままにします。\n- **キャンバスを最軽量にする:** **Hide FX on-node previews** をオンにします。Before/After を見たいときは **Image Compare** か **Image Split** を使います。\n- 💡 変更は次の再描画で反映されます。キャンバスを少しパンするだけで、再起動は不要です。\n\n---\n\n\"True Nothing is. Permitted Everything is\"- Yoda Auditore, Assassin's Wars",
2072 "src": "37d6a0d9",
2073 "srcTitle": "LC123 Settings ⚙️"
2074 },
2075 "ko": {
2076 "text": "# LC123 Settings ⚙️\n\n**어디 있나요?** **Settings**(톱니바퀴)를 열고 **LC123 Settings ⚙️**로 가세요. 다섯 개 섹션이 있어요: **Align**, **Connections**, **Notes**, **Optimization**, **Performance**.\n\n- 💡 설정이 안 보이나요? ComfyUI를 재시작한 다음 **Ctrl+F5**를 눌러 브라우저가 새 파일을 불러오게 하세요.\n\n---\n\n### 📐 Align\n\n**Align tool**\n- 기본값: **On**\n- 도구 전체의 스위치예요. Off = 상단 툴바의 **Align** 버튼(LC 로고)과 아래 기능이 모두 사라져요.\n- 켜 두면 **Align** 버튼이 **열려 있는 워크플로우**에 대해 Align을 켜고 끄요: 빨간 불꽃이 있는 밝은 회색 = 켜짐, 회색 불꽃이 있는 어두운 회색 = 꺼짐.\n - 켜짐/꺼짐은 워크플로우에 저장돼요. Align을 켠 채로 저장하면 새 ComfyUI에서도 Align이 켜진 채로 열려요.\n - 워크플로우 탭마다 따로 기억해요. 탭을 바꾸면 도구도 그 탭을 따라가요 (한쪽은 켜짐, 다른 쪽은 꺼짐, 헷갈릴 일 없어요).\n - 켜고 끄는 것도 워크플로우 변경으로 쳐서, 저장 안 됨 표시 점이 떠요.\n- 노드는 **Node lines**에, 그룹은 **Group lines**에 스냅돼요. 가까워지면 선이 밝아져요.\n- 클래식 캔버스와 **Nodes 2.0**에서 모두 작동해요.\n- **Snap distance**는 ComfyUI 자체의 **Snap to grid size**(Settings > Lite Graph > Canvas)예요. 격자가 작을수록 더 촘촘하게 스냅돼요. 새 선도 그 격자에 맞춰져요.\n - 드래그하는 동안 **Shift**를 누르면 드래그가 ComfyUI 자체의 격자 스냅으로 넘어가요 (선 스냅 없음). **Always snap to grid**가 켜져 있어도, 선이 잡은 축에서는 선 스냅이 우선해요.\n\n**Rulers**\n- 기본값: **On**\n- Align이 켜져 있는 동안 위쪽과 왼쪽 가장자리에 눈금자가 나타나요:\n - 눈금자를 **왼쪽 클릭**: **Node line**(파랑)을 추가해요. 노드가 거기에 스냅돼요.\n - 눈금자를 **오른쪽 클릭**: **Group line**(주황)을 추가해요. 그룹이 거기에 스냅돼요.\n - 선의 마커를 다시 클릭하면 삭제돼요. 마커를 끌면 옮겨요.\n- 선은 워크플로우와 함께 저장돼요.\n\n**Line reveal distance (px)**\n- 기본값: **120**\n- 커서나 끌고 있는 대상이 이 거리까지 가까워질 때까지 선은 보이지 않아요.\n\n**Also snap to other nodes and groups**\n- 기본값: **Off**\n- On = 다른 노드의 가장자리와 중심에도 스냅돼요 (그쪽은 선이 표시되지 않아요).\n\n---\n\n### 🔌 Connections\n\n**Connection FX**\n- 기본값: **Off**\n- 선을 끄는 동안, 연결할 수 있는 모든 소켓이 자기 소켓 색으로 빛나요.\n- 가까이 가면 소켓에서 링이 퍼져 나와요. 가까울수록 더 크고 밝아요.\n- **Connection FX reach (px):** 링이 시작되려면 커서가 얼마나 가까워야 하는지. 기본값 160.\n- **Connection FX zoomed-out glow (%):** 줌 아웃하면 유효한 모든 소켓이 더 밝게 빛나서 찾기 쉬워요. 기본값 60.\n- 클래식 캔버스 전용이에요. **Nodes 2.0**이 켜져 있으면 작동하지 않아요.\n\n---\n\n\n\n---\n\n### 🩺 Optimization\n\n**Optimization report**\n- 버튼 하나예요. 캔버스를 몇 초 동안 알아서 이동시키면서, 열려 있는 워크플로우의 모든 팩이 그리고 실행하는 것의 시간을 재고 파일을 스캔해요.\n- 캔버스를 느리게 만드는 것의 목록이 큰 순서대로 나오고, 다음처럼 분류돼요:\n - **해당 팩 자체의 설정** (정확한 설정 이름, 위치, 현재 값)\n - **LC123 optimization settings**\n - **ComfyUI settings**\n - **사이드바 탭**\n - **작동에 필요한 것** (설정 없음, 그 팩이 원래 그렇게 작동해요)\n- 열려 있는 워크플로우에서 쓰는 노드 팩만 분석해요.\n- 제안하는 모든 설정은 현재 값과 대조해서 확인해요:\n - ⚠️ 큰 효과 · ✅ 할 만한 효과 · 💡 작은 효과\n - ⚪ 이미 설정됨 · ➖ 해당 없음 · ℹ️ 필수, 설정 없음\n- **Show last run:** 맨 위 버튼으로 이전 리포트로 전환해요. 새로 실행할 때마다 지난번 이후 무엇이 빨라졌고 어떤 수정이 끝났는지도 보여줘요.\n - 마지막 실행만 보관돼요 (새로고침해도 유지). 실행할 때마다 덮어써요.\n- 아무것도 바꾸지 않아요. (실행 중에는 마우스를 가만히 두세요.)\n- 💡 빈 캔버스를 우클릭한 메뉴에도 있어요.\n\n---\n\n### ⚡ Performance\n\n캔버스에 보이는 것만 바꿔요. 생성, VRAM, **Save Image**, 모든 **IMAGE** 출력은 전체 해상도 그대로예요. (가벼운 미리보기가 가벼운 이미지를 뜻하지는 않아요.)\n\n| 설정 | 기본값 | 기능 |\n|---|---|---|\n| **Remove wipe** | Off | LC 이미지 FX 노드의 hover A/B 와이프를 꺼요. 마지막 결과는 그대로 보여요. |\n| **Half-resolution previews** | Off | FX 미리보기를 절반 크기로 그려요. 캔버스를 움직일 때 부담이 줄어요. |\n| **Clamp longest side** | Off | 노드 위 미리보기를 줄여서 가장 긴 변이 **Max edge**에 맞게 해요. |\n| **Max edge (px)** | 768 | **Clamp longest side**가 켜져 있을 때만 사용돼요. 범위 256에서 2048. 무거운 그래프에서는 512를 써 보세요. |\n| **No preview when collapsed** | On | 접힌 FX 노드는 미리보기를 그리지 않아요. |\n| **Hide FX on-node previews** | Off | LC 이미지 FX 미리보기를 전부 숨겨요. |\n| **Recent colors** | On | 우클릭 **Colors** 메뉴에 최근 사용한 사용자 색 8개를 보관해요. Custom Scripts가 설치되어 있지 않으면 Custom 선택기를 추가해요. |\n| **Skin Beauty full preview override** | On | half-res나 clamp가 켜져 있어도 **LC Skin Beauty**는 전체 품질 미리보기를 유지해서 피부를 확대해서 볼 수 있어요. 와이프는 계속 **Remove wipe**를 따라요. |\n| **LoRA loader info button** | On | 각 **LC LoRA Loader** 행에 ℹ 버튼을 표시해요. 트리거 단어는 LoRA 파일 자체에서 가져와요 (인터넷 불필요). 깔끔하게 보려면 끄세요. |\n| **Preview distance (px)** | 40 | 노드 텍스트처럼, 노드 위 이미지는 이 값보다 작게 그려질 만큼 줌 아웃하면 꺼져요. 작은 미리보기부터 먼저 꺼져요. 0 = 항상 그림. |\n\n**영향받지 않는 것:** **LC Image Compare 🔎**, **LC Image Split 🖼️**, **LC Dynamic Overlay**는 어떤 설정이든 전체 미리보기와 와이프를 유지해요 (많이 줌 아웃했을 때 **Preview distance**만 이들을 꺼요).\n\n**추천 설정**\n- **일반 사용:** 전부 기본값으로 두세요.\n- **그래프가 버벅일 때:** **Half-resolution previews**와 **Clamp longest side**(Max edge 512)를 켜세요. **No preview when collapsed**는 켜 두세요.\n- **가장 가벼운 캔버스:** **Hide FX on-node previews**를 켜세요. before/after를 봐야 할 때는 **Image Compare**나 **Image Split**을 쓰세요.\n- 💡 변경은 다음 redraw 때 적용돼요. 캔버스를 살짝 움직이면 되고, 재시작은 필요 없어요.\n\n---\n\n\"True Nothing is. Permitted Everything is\"- Yoda Auditore, Assassin's Wars",
2077 "src": "37d6a0d9",
2078 "srcTitle": "LC123 Settings ⚙️"
2079 }
2080 },
2081 "titles": {
2082 "en": "LC123 Settings ⚙️",
2083 "zh": "LC123 Settings ⚙️",
2084 "ja": "LC123 Settings ⚙️",
2085 "ko": "LC123 Settings ⚙️"
2086 }
2087 },
2088 "ue_properties": {
2089 "widget_ue_connectable": [],
2090 "version": "7.8",
2091 "input_ue_unconnectable": []
2092 }
2093 },
2094 "widgets_values": [
2095 "English ✏️",
2096 "# LC123 Settings ⚙️\n\n**Where are they?** Open **Settings** (the gear), then **LC123 Settings ⚙️**. There are five sections: **Align**, **Connections**, **Notes**, **Optimization** and **Performance**.\n\n- 💡 Missing a setting? Restart ComfyUI, then press **Ctrl+F5** so the browser loads the new files.\n\n---\n\n### 📐 Align\n\n**Align tool**\n- Default: **On**\n- The switch for the whole tool. Off = no **Align** button (the LC logo) in the top toolbar and none of the features below.\n- With it on, the **Align** button turns Align on or off **for the open workflow**: light gray with the red flame = on, dark gray with a gray flame = off.\n - That on/off is saved in the workflow. Save it with Align on and it opens with Align on, even on a fresh ComfyUI.\n - Every workflow tab keeps its own. Switch tabs and the tool follows that tab (on in one, off in the other, no mix-ups).\n - Turning it on or off counts as a change to the workflow, so you get the unsaved dot.\n- Nodes snap to **Node lines**, groups snap to **Group lines**. A line lights up when you get close.\n- Works on the classic canvas and in **Nodes 2.0**.\n- **Snap distance** is ComfyUI's own **Snap to grid size** (Settings > Lite Graph > Canvas). Smaller grid = tighter snap. New lines land on that grid too.\n - **Shift** while dragging hands the drag to ComfyUI's own grid snap (no line snap). With **Always snap to grid** on, a line snap still wins on the axis it caught.\n\n**Rulers**\n- Default: **On**\n- Rulers on the top and left edge while Align is on:\n - **Left click** a ruler: adds a **Node line** (blue). Nodes snap to it.\n - **Right click** a ruler: adds a **Group line** (orange). Groups snap to it.\n - Click a line's marker again to remove it. Drag a marker to move it.\n- Lines save with the workflow.\n\n**Line reveal distance (px)**\n- Default: **120**\n- Lines stay invisible until the cursor or whatever you drag gets this close.\n\n**Also snap to other nodes and groups**\n- Default: **Off**\n- On = also snap to other nodes' edges and centers (no line is shown for those).\n\n---\n\n### 🔌 Connections\n\n**Connection FX**\n- Default: **Off**\n- While you drag a wire, every socket it can plug into glows in its socket color.\n- Get close and rings pulse out of the socket. Closer = bigger and brighter.\n- **Connection FX reach (px):** how close the cursor has to be before the rings start. Default 160.\n- **Connection FX zoomed-out glow (%):** zoomed out, every valid socket glows brighter so you can find it. Default 60.\n- Classic canvas only. With **Nodes 2.0** on it stays out of the way.\n\n---\n\n\n\n---\n\n### 🩺 Optimization\n\n**Optimization report**\n- One button. It pans the canvas by itself for a few seconds, times what every pack in the open workflow draws and runs, and scans their files.\n- You get a list of what slows your canvas down, biggest first, sorted into:\n - **That pack's own settings** (the exact setting name, where it lives and its current value)\n - **LC123 optimization settings**\n - **ComfyUI settings**\n - **Sidebar tabs**\n - **Required to function** (no setting, it is how that pack works)\n- Only node packs used in the open workflow are analyzed.\n- Every setting it suggests is checked against its current value:\n - ⚠️ big gain · ✅ worthwhile gain · 💡 small gain\n - ⚪ already set · ➖ does not apply · ℹ️ required, no setting for it\n- **Show last run:** the button at the top flips to the previous report. Each new run also shows what got faster and which fixes are done since last time.\n - Only the last run is kept (it survives a refresh). Each run replaces it.\n- Nothing is changed. (Keep the mouse still while it runs.)\n- 💡 Also in the right-click menu on the empty canvas.\n\n---\n\n### ⚡ Performance\n\nThese only change what you see on the canvas. Generation, VRAM, **Save Image** and every **IMAGE** output stay full resolution. (A lighter preview never means a lighter image.)\n\n| Setting | Default | What it does |\n|---|---|---|\n| **Remove wipe** | Off | Turns off the hover A/B wipe on LC image FX nodes. The last result still shows. |\n| **Half-resolution previews** | Off | Draws FX previews at half size. Less work while panning. |\n| **Clamp longest side** | Off | Shrinks on-node previews so the longest side fits **Max edge**. |\n| **Max edge (px)** | 768 | Only used when **Clamp longest side** is on. Range 256 to 2048. Try 512 on heavy graphs. |\n| **No preview when collapsed** | On | Collapsed FX nodes skip drawing their preview. |\n| **Hide FX on-node previews** | Off | Hides every LC image FX preview. |\n| **Recent colors** | On | Keeps your last 8 custom colors in the right-click **Colors** menu. Adds a Custom picker if Custom Scripts is not installed. |\n| **Skin Beauty full preview override** | On | **LC Skin Beauty** keeps a full-quality preview even with half-res or clamp on, so you can still zoom into skin. Wipe still follows **Remove wipe**. |\n| **LoRA loader info button** | On | Shows the ℹ button on each **LC LoRA Loader** row. Trigger words come from the LoRA file itself (no internet). Turn off to declutter. |\n| **Preview distance (px)** | 40 | Like node text, an on-node image switches off when you zoom out far enough that it is drawn smaller than this. Smaller previews switch off first. 0 = always draw. |\n\n**Never affected:** **LC Image Compare 🔎**, **LC Image Split 🖼️** and **LC Dynamic Overlay** keep their full preview and wipe no matter what (only **Preview distance** switches them off when zoomed far out).\n\n**Suggested setups**\n- **Normal use:** leave everything at default.\n- **Laggy graph:** turn on **Half-resolution previews** and **Clamp longest side** (Max edge 512). Keep **No preview when collapsed** on.\n- **Lightest canvas:** turn on **Hide FX on-node previews**. Use **Image Compare** or **Image Split** when you need to see a before/after.\n- 💡 Changes apply on the next redraw. Pan the canvas a little, no restart needed.\n\n---\n\n\"True Nothing is. Permitted Everything is\"- Yoda Auditore, Assassin's Wars\n\n"
2097 ],
2098 "widgets_values_named": {
2099 "language": "English ✏️",
2100 "text": "# LC123 Settings ⚙️\n\n**Where are they?** Open **Settings** (the gear), then **LC123 Settings ⚙️**. There are five sections: **Align**, **Connections**, **Notes**, **Optimization** and **Performance**.\n\n- 💡 Missing a setting? Restart ComfyUI, then press **Ctrl+F5** so the browser loads the new files.\n\n---\n\n### 📐 Align\n\n**Align tool**\n- Default: **On**\n- The switch for the whole tool. Off = no **Align** button (the LC logo) in the top toolbar and none of the features below.\n- With it on, the **Align** button turns Align on or off **for the open workflow**: light gray with the red flame = on, dark gray with a gray flame = off.\n - That on/off is saved in the workflow. Save it with Align on and it opens with Align on, even on a fresh ComfyUI.\n - Every workflow tab keeps its own. Switch tabs and the tool follows that tab (on in one, off in the other, no mix-ups).\n - Turning it on or off counts as a change to the workflow, so you get the unsaved dot.\n- Nodes snap to **Node lines**, groups snap to **Group lines**. A line lights up when you get close.\n- Works on the classic canvas and in **Nodes 2.0**.\n- **Snap distance** is ComfyUI's own **Snap to grid size** (Settings > Lite Graph > Canvas). Smaller grid = tighter snap. New lines land on that grid too.\n - **Shift** while dragging hands the drag to ComfyUI's own grid snap (no line snap). With **Always snap to grid** on, a line snap still wins on the axis it caught.\n\n**Rulers**\n- Default: **On**\n- Rulers on the top and left edge while Align is on:\n - **Left click** a ruler: adds a **Node line** (blue). Nodes snap to it.\n - **Right click** a ruler: adds a **Group line** (orange). Groups snap to it.\n - Click a line's marker again to remove it. Drag a marker to move it.\n- Lines save with the workflow.\n\n**Line reveal distance (px)**\n- Default: **120**\n- Lines stay invisible until the cursor or whatever you drag gets this close.\n\n**Also snap to other nodes and groups**\n- Default: **Off**\n- On = also snap to other nodes' edges and centers (no line is shown for those).\n\n---\n\n### 🔌 Connections\n\n**Connection FX**\n- Default: **Off**\n- While you drag a wire, every socket it can plug into glows in its socket color.\n- Get close and rings pulse out of the socket. Closer = bigger and brighter.\n- **Connection FX reach (px):** how close the cursor has to be before the rings start. Default 160.\n- **Connection FX zoomed-out glow (%):** zoomed out, every valid socket glows brighter so you can find it. Default 60.\n- Classic canvas only. With **Nodes 2.0** on it stays out of the way.\n\n---\n\n\n\n---\n\n### 🩺 Optimization\n\n**Optimization report**\n- One button. It pans the canvas by itself for a few seconds, times what every pack in the open workflow draws and runs, and scans their files.\n- You get a list of what slows your canvas down, biggest first, sorted into:\n - **That pack's own settings** (the exact setting name, where it lives and its current value)\n - **LC123 optimization settings**\n - **ComfyUI settings**\n - **Sidebar tabs**\n - **Required to function** (no setting, it is how that pack works)\n- Only node packs used in the open workflow are analyzed.\n- Every setting it suggests is checked against its current value:\n - ⚠️ big gain · ✅ worthwhile gain · 💡 small gain\n - ⚪ already set · ➖ does not apply · ℹ️ required, no setting for it\n- **Show last run:** the button at the top flips to the previous report. Each new run also shows what got faster and which fixes are done since last time.\n - Only the last run is kept (it survives a refresh). Each run replaces it.\n- Nothing is changed. (Keep the mouse still while it runs.)\n- 💡 Also in the right-click menu on the empty canvas.\n\n---\n\n### ⚡ Performance\n\nThese only change what you see on the canvas. Generation, VRAM, **Save Image** and every **IMAGE** output stay full resolution. (A lighter preview never means a lighter image.)\n\n| Setting | Default | What it does |\n|---|---|---|\n| **Remove wipe** | Off | Turns off the hover A/B wipe on LC image FX nodes. The last result still shows. |\n| **Half-resolution previews** | Off | Draws FX previews at half size. Less work while panning. |\n| **Clamp longest side** | Off | Shrinks on-node previews so the longest side fits **Max edge**. |\n| **Max edge (px)** | 768 | Only used when **Clamp longest side** is on. Range 256 to 2048. Try 512 on heavy graphs. |\n| **No preview when collapsed** | On | Collapsed FX nodes skip drawing their preview. |\n| **Hide FX on-node previews** | Off | Hides every LC image FX preview. |\n| **Recent colors** | On | Keeps your last 8 custom colors in the right-click **Colors** menu. Adds a Custom picker if Custom Scripts is not installed. |\n| **Skin Beauty full preview override** | On | **LC Skin Beauty** keeps a full-quality preview even with half-res or clamp on, so you can still zoom into skin. Wipe still follows **Remove wipe**. |\n| **LoRA loader info button** | On | Shows the ℹ button on each **LC LoRA Loader** row. Trigger words come from the LoRA file itself (no internet). Turn off to declutter. |\n| **Preview distance (px)** | 40 | Like node text, an on-node image switches off when you zoom out far enough that it is drawn smaller than this. Smaller previews switch off first. 0 = always draw. |\n\n**Never affected:** **LC Image Compare 🔎**, **LC Image Split 🖼️** and **LC Dynamic Overlay** keep their full preview and wipe no matter what (only **Preview distance** switches them off when zoomed far out).\n\n**Suggested setups**\n- **Normal use:** leave everything at default.\n- **Laggy graph:** turn on **Half-resolution previews** and **Clamp longest side** (Max edge 512). Keep **No preview when collapsed** on.\n- **Lightest canvas:** turn on **Hide FX on-node previews**. Use **Image Compare** or **Image Split** when you need to see a before/after.\n- 💡 Changes apply on the next redraw. Pan the canvas a little, no restart needed.\n\n---\n\n\"True Nothing is. Permitted Everything is\"- Yoda Auditore, Assassin's Wars\n\n"
2101 },
2102 "color": "#dc6946",
2103 "bgcolor": "#c85532"
2104 },
2105 {
2106 "id": 109,
2107 "type": "LCPreviewVideo",
2108 "pos": [
2109 4920,
2110 1530
2111 ],
2112 "size": [
2113 590,
2114 740
2115 ],
2116 "flags": [],
2117 "order": 62,
2118 "mode": 0,
2119 "inputs": [
2120 {
2121 "name": "images",
2122 "shape": 7,
2123 "type": "IMAGE",
2124 "link": 467
2125 },
2126 {
2127 "name": "audio",
2128 "shape": 7,
2129 "type": "AUDIO",
2130 "link": 441
2131 },
2132 {
2133 "name": "path",
2134 "shape": 7,
2135 "type": "STRING",
2136 "link": null
2137 },
2138 {
2139 "name": "fps",
2140 "type": "FLOAT",
2141 "widget": {
2142 "name": "fps"
2143 },
2144 "link": 193
2145 }
2146 ],
2147 "outputs": [],
2148 "title": "Preview Video 📺",
2149 "properties": {
2150 "cnr_id": "ComfyUI_LC_AV_nodes",
2151 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
2152 "Node name for S&R": "LCPreviewVideo",
2153 "ue_properties": {
2154 "widget_ue_connectable": [],
2155 "input_ue_unconnectable": [],
2156 "version": "7.8"
2157 }
2158 },
2159 "widgets_values": [
2160 24
2161 ],
2162 "widgets_values_named": {
2163 "fps": 24
2164 },
2165 "color": "#1a5a7a",
2166 "bgcolor": "#1a5a7a"
2167 },
2168 {
2169 "id": 113,
2170 "type": "LCAnySwitch",
2171 "pos": [
2172 3720,
2173 2060
2174 ],
2175 "size": [
2176 330,
2177 120
2178 ],
2179 "flags": {
2180 "collapsed": true
2181 },
2182 "order": 57,
2183 "mode": 0,
2184 "inputs": [
2185 {
2186 "label": "FLOAT",
2187 "name": "any_01",
2188 "shape": 7,
2189 "type": "FLOAT",
2190 "link": 191
2191 },
2192 {
2193 "label": "FLOAT",
2194 "name": "any_02",
2195 "shape": 7,
2196 "type": "FLOAT",
2197 "link": 192
2198 }
2199 ],
2200 "outputs": [
2201 {
2202 "label": "FLOAT",
2203 "name": "FLOAT",
2204 "type": "FLOAT",
2205 "links": [
2206 193,
2207 378
2208 ]
2209 }
2210 ],
2211 "title": "FPS Switch",
2212 "properties": {
2213 "cnr_id": "ComfyUI_LC123_nodes",
2214 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
2215 "Node name for S&R": "LCAnySwitch",
2216 "ue_properties": {
2217 "widget_ue_connectable": [],
2218 "input_ue_unconnectable": {
2219 "any_01": true,
2220 "any_02": true,
2221 "any_03": true,
2222 "any_04": true,
2223 "any_05": true,
2224 "any_06": true,
2225 "any_07": true,
2226 "any_08": true,
2227 "any_09": true,
2228 "any_10": true,
2229 "any_11": true,
2230 "any_12": true,
2231 "any_13": true,
2232 "any_14": true,
2233 "any_15": true,
2234 "any_16": true,
2235 "any_17": true,
2236 "any_18": true,
2237 "any_19": true,
2238 "any_20": true
2239 },
2240 "send_to_any": 0,
2241 "apply_to_unrepeated": 0,
2242 "version": "7.8"
2243 },
2244 "lc_w": 330,
2245 "lc_h": 120
2246 },
2247 "widgets_values": [
2248 2
2249 ],
2250 "widgets_values_named": {
2251 "inputcount": 2
2252 },
2253 "color": "#222",
2254 "bgcolor": "#000"
2255 },
2256 {
2257 "id": 114,
2258 "type": "Float",
2259 "pos": [
2260 3720,
2261 2020
2262 ],
2263 "size": [
2264 270,
2265 60
2266 ],
2267 "flags": {
2268 "collapsed": true
2269 },
2270 "order": 14,
2271 "mode": 0,
2272 "inputs": [],
2273 "outputs": [
2274 {
2275 "name": "FLOAT",
2276 "type": "FLOAT",
2277 "links": [
2278 192
2279 ]
2280 }
2281 ],
2282 "title": "fps (org) 24",
2283 "properties": {
2284 "cnr_id": "ComfyLiterals",
2285 "ver": "bdddb08ca82d90d75d97b1d437a652e0284a32ac",
2286 "Node name for S&R": "Float",
2287 "ue_properties": {
2288 "widget_ue_connectable": [],
2289 "input_ue_unconnectable": [],
2290 "version": "7.8"
2291 }
2292 },
2293 "widgets_values": [
2294 "24"
2295 ],
2296 "widgets_values_named": {
2297 "Number": "24"
2298 },
2299 "color": "#222",
2300 "bgcolor": "#000"
2301 },
2302 {
2303 "id": 115,
2304 "type": "LC Bypasser Panel",
2305 "pos": [
2306 3700,
2307 1530
2308 ],
2309 "size": [
2310 300,
2311 246
2312 ],
2313 "flags": [],
2314 "order": 66,
2315 "mode": 0,
2316 "inputs": [
2317 {
2318 "name": "hub",
2319 "type": "*",
2320 "link": 454
2321 }
2322 ],
2323 "outputs": [
2324 {
2325 "name": "OPT_CONNECTION",
2326 "type": "*",
2327 "links": null
2328 }
2329 ],
2330 "properties": {
2331 "ue_properties": {
2332 "widget_ue_connectable": [],
2333 "version": "7.8",
2334 "input_ue_unconnectable": []
2335 }
2336 },
2337 "widgets_values": [
2338 true,
2339 true,
2340 true,
2341 true,
2342 false,
2343 true,
2344 true,
2345 true
2346 ],
2347 "widgets_values_named": {
2348 "Enable 1": true,
2349 "Enable 2": true,
2350 "Enable 3": true,
2351 "Enable 4": true,
2352 "Enable 5": false,
2353 "Enable 6": true,
2354 "Enable 7": true,
2355 "Enable 8": true
2356 },
2357 "color": "#c87a2c",
2358 "bgcolor": "#b46618"
2359 },
2360 {
2361 "id": 116,
2362 "type": "LCNote",
2363 "pos": [
2364 3910,
2365 1880
2366 ],
2367 "size": [
2368 370,
2369 210
2370 ],
2371 "flags": [],
2372 "order": 15,
2373 "mode": 0,
2374 "inputs": [],
2375 "outputs": [],
2376 "title": "🎨 Post Processing",
2377 "properties": {
2378 "lc_note": {
2379 "source": "en",
2380 "texts": {
2381 "en": {
2382 "text": "\n# ⚠️🛑 Keep Make🎥 on!\n\n## Post Processing\n- ⚠️ This is not automatic\n- ⚠️ Don't bypass **Make**: with every shot made it hands over the finished movie\n- ⚠️ It will not Save unless turned on💾\n\n**Load Video**\n- If you do not load the video, it will not run\n- it will automatically load when on\n\n**LC Frame Interpolate 🎞️**\n- Doubles the frame rate from 24 to 48 for smoother videos.\n\n**LC RTX Super Resolution ⚡**\n- **deblur** sharpens soft edges at the same size. Set **mode** to **upscale** for 2x instead. Lower **strength** if it looks crunchy.\n- Under a minute. Needs an NVIDIA RTX card.\n\n**LC Audio Volume 🔊**\n- **volume**: 1 = as it is. Below 1 is quieter, above 1 is louder.\n\n**LC Audio EQ 3-Band 🎛️**\n- Low, mid and high bands. 0 dB = untouched, so only the bands you move change the sound.\n- 💡 A little mid boost (around 1000 Hz) makes voices clearer."
2383 },
2384 "zh": {
2385 "text": "\n# ⚠️🛑 保持 Make🎥 打开!\n\n## 后期处理\n- ⚠️ 这一步不是自动的\n- ⚠️ 不要 bypass **Make**:所有镜头都做好时,它会把成片交出来\n- ⚠️ 不打开💾就不会保存\n\n**Load Video**\n- 不加载视频就不会运行\n- 打开时会自动加载\n\n**LC Frame Interpolate 🎞️**\n- 把帧率从 24 翻倍到 48,让视频更流畅。\n\n**LC RTX Super Resolution ⚡**\n- **deblur** 在同样大小下让发软的边缘更锐利。想要 2x 就把 **mode** 设为 **upscale**。看起来太硬就调低 **strength**。\n- 一分钟以内。需要 NVIDIA RTX 显卡。\n\n**LC Audio Volume 🔊**\n- **volume**:1 = 原样。低于 1 更小声,高于 1 更大声。\n\n**LC Audio EQ 3-Band 🎛️**\n- 低、中、高三段。0 dB = 不改动,只有你调过的频段会改变声音。\n- 💡 中频稍微提一点(1000 Hz 左右)人声更清楚。",
2386 "src": "975532f7",
2387 "srcTitle": "🎨 Post Processing"
2388 },
2389 "ja": {
2390 "text": "\n# ⚠️🛑 Make🎥 はオンのままに!\n\n## Post Processing\n- ⚠️ 自動では実行されません\n- ⚠️ **Make** をバイパスしないでください:すべてのショットができていれば、完成した映画を渡します\n- ⚠️ 💾 をオンにしないと保存されません\n\n**Load Video**\n- 動画を読み込まないと動きません\n- オンにすると自動で読み込まれます\n\n**LC Frame Interpolate 🎞️**\n- フレームレートを 24 から 48 に倍にして、動画を滑らかにします。\n\n**LC RTX Super Resolution ⚡**\n- **deblur** は同じサイズのままぼやけたエッジをシャープにします。2x にしたいなら **mode** を **upscale** に。硬すぎるなら **strength** を下げてください。\n- 1 分以内。NVIDIA RTX カードが必要です。\n\n**LC Audio Volume 🔊**\n- **volume**:1 = そのまま。1 より下で小さく、上で大きくなります。\n\n**LC Audio EQ 3-Band 🎛️**\n- 低音・中音・高音の 3 バンド。0 dB = 変化なしなので、動かしたバンドだけ音が変わります。\n- 💡 中音(1000 Hz あたり)を少し上げると声がはっきりします。",
2391 "src": "975532f7",
2392 "srcTitle": "🎨 Post Processing"
2393 },
2394 "ko": {
2395 "text": "\n# ⚠️🛑 Make🎥를 켜 두세요!\n\n## 후처리\n- ⚠️ 자동으로 실행되지 않아요\n- ⚠️ **Make**를 bypass하지 마세요: 모든 샷이 만들어져 있으면 완성된 영화를 넘겨줘요\n- ⚠️ 💾를 켜지 않으면 저장되지 않아요\n\n**Load Video**\n- 영상을 불러오지 않으면 실행되지 않아요\n- 켜면 자동으로 불러와요\n\n**LC Frame Interpolate 🎞️**\n- 프레임레이트를 24에서 48로 두 배로 늘려 영상을 더 부드럽게 만들어요.\n\n**LC RTX Super Resolution ⚡**\n- **deblur**는 같은 크기로 흐릿한 가장자리를 선명하게 해요. 2x로 키우려면 **mode**를 **upscale**로 바꾸세요. 너무 딱딱해 보이면 **strength**를 낮추세요.\n- 1분 이내. NVIDIA RTX 그래픽카드가 필요해요.\n\n**LC Audio Volume 🔊**\n- **volume**: 1 = 그대로. 1보다 낮으면 작게, 높으면 크게.\n\n**LC Audio EQ 3-Band 🎛️**\n- 저음, 중음, 고음 3밴드. 0 dB = 그대로라서 움직인 밴드만 소리가 바뀌어요.\n- 💡 중음(1000 Hz 근처)을 조금 올리면 목소리가 또렷해져요.",
2396 "src": "975532f7",
2397 "srcTitle": "🎨 Post Processing"
2398 }
2399 },
2400 "titles": {
2401 "en": "🎨 Post Processing",
2402 "zh": "🎨 后期处理",
2403 "ja": "🎨 Post Processing",
2404 "ko": "🎨 후처리"
2405 }
2406 },
2407 "ue_properties": {
2408 "widget_ue_connectable": [],
2409 "version": "7.8",
2410 "input_ue_unconnectable": []
2411 }
2412 },
2413 "widgets_values": [
2414 "English ✏️",
2415 "\n# ⚠️🛑 Keep Make🎥 on!\n\n## Post Processing\n- ⚠️ This is not automatic\n- ⚠️ Don't bypass **Make**: with every shot made it hands over the finished movie\n- ⚠️ It will not Save unless turned on💾\n\n**Load Video**\n- If you do not load the video, it will not run\n- it will automatically load when on\n\n**LC Frame Interpolate 🎞️**\n- Doubles the frame rate from 24 to 48 for smoother videos.\n\n**LC RTX Super Resolution ⚡**\n- **deblur** sharpens soft edges at the same size. Set **mode** to **upscale** for 2x instead. Lower **strength** if it looks crunchy.\n- Under a minute. Needs an NVIDIA RTX card.\n\n**LC Audio Volume 🔊**\n- **volume**: 1 = as it is. Below 1 is quieter, above 1 is louder.\n\n**LC Audio EQ 3-Band 🎛️**\n- Low, mid and high bands. 0 dB = untouched, so only the bands you move change the sound.\n- 💡 A little mid boost (around 1000 Hz) makes voices clearer."
2416 ],
2417 "widgets_values_named": {
2418 "language": "English ✏️",
2419 "text": "\n# ⚠️🛑 Keep Make🎥 on!\n\n## Post Processing\n- ⚠️ This is not automatic\n- ⚠️ Don't bypass **Make**: with every shot made it hands over the finished movie\n- ⚠️ It will not Save unless turned on💾\n\n**Load Video**\n- If you do not load the video, it will not run\n- it will automatically load when on\n\n**LC Frame Interpolate 🎞️**\n- Doubles the frame rate from 24 to 48 for smoother videos.\n\n**LC RTX Super Resolution ⚡**\n- **deblur** sharpens soft edges at the same size. Set **mode** to **upscale** for 2x instead. Lower **strength** if it looks crunchy.\n- Under a minute. Needs an NVIDIA RTX card.\n\n**LC Audio Volume 🔊**\n- **volume**: 1 = as it is. Below 1 is quieter, above 1 is louder.\n\n**LC Audio EQ 3-Band 🎛️**\n- Low, mid and high bands. 0 dB = untouched, so only the bands you move change the sound.\n- 💡 A little mid boost (around 1000 Hz) makes voices clearer."
2420 },
2421 "color": "#2E3A46",
2422 "bgcolor": "#2E3A46"
2423 },
2424 {
2425 "id": 118,
2426 "type": "LCEasyFolder",
2427 "pos": [
2428 4620,
2429 1530
2430 ],
2431 "size": [
2432 280,
2433 170
2434 ],
2435 "flags": [],
2436 "order": 38,
2437 "mode": 0,
2438 "inputs": [
2439 {
2440 "name": "prefix",
2441 "type": "STRING",
2442 "widget": {
2443 "name": "prefix"
2444 },
2445 "link": 196
2446 }
2447 ],
2448 "outputs": [
2449 {
2450 "name": "filename_prefix",
2451 "type": "STRING",
2452 "links": [
2453 197
2454 ]
2455 }
2456 ],
2457 "properties": {
2458 "cnr_id": "ComfyUI_LC123_nodes",
2459 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
2460 "Node name for S&R": "LCEasyFolder",
2461 "ue_properties": {
2462 "widget_ue_connectable": [],
2463 "input_ue_unconnectable": [],
2464 "version": "7.8"
2465 }
2466 },
2467 "widgets_values": [
2468 "LCH3",
2469 "Test",
2470 "Post Processed",
2471 "none",
2472 "auto"
2473 ],
2474 "widgets_values_named": {
2475 "folder": "LCH3",
2476 "prefix": "Test",
2477 "suffix": "Post Processed",
2478 "timestamp": "none",
2479 "path_separator": "auto"
2480 },
2481 "color": "#432",
2482 "bgcolor": "#653"
2483 },
2484 {
2485 "id": 119,
2486 "type": "GetNode",
2487 "pos": [
2488 3720,
2489 1900
2490 ],
2491 "size": [
2492 210,
2493 60
2494 ],
2495 "flags": {
2496 "collapsed": true
2497 },
2498 "order": 16,
2499 "mode": 0,
2500 "inputs": [],
2501 "outputs": [
2502 {
2503 "name": "STRING",
2504 "type": "STRING",
2505 "links": [
2506 196
2507 ]
2508 }
2509 ],
2510 "title": "Get_Project Name",
2511 "properties": {
2512 "Node name for S&R": "GetNode",
2513 "aux_id": "kijai/ComfyUI-KJNodes",
2514 "ue_properties": {
2515 "widget_ue_connectable": [],
2516 "version": "7.8",
2517 "input_ue_unconnectable": []
2518 }
2519 },
2520 "widgets_values": [
2521 "Project Name"
2522 ],
2523 "widgets_values_named": {
2524 "Constant": "Project Name"
2525 },
2526 "color": "#232",
2527 "bgcolor": "#353"
2528 },
2529 {
2530 "id": 124,
2531 "type": "LCLabel",
2532 "pos": [
2533 2990,
2534 590
2535 ],
2536 "size": [
2537 1091,
2538 180
2539 ],
2540 "flags": [],
2541 "order": 17,
2542 "mode": 0,
2543 "inputs": [],
2544 "outputs": [],
2545 "properties": {
2546 "text": "Workflow",
2547 "font": "Permanent Marker",
2548 "size": 150,
2549 "bold": true,
2550 "italic": false,
2551 "color": "#999999",
2552 "align": "center",
2553 "outline": false,
2554 "outlineColor": "#000000",
2555 "outlineWidth": 4,
2556 "shadow": false,
2557 "shadowBlur": 10,
2558 "bg": false,
2559 "bgColor": "#324B4B",
2560 "radius": 12,
2561 "padding": 8,
2562 "angle": 0,
2563 "width": 1091,
2564 "cnr_id": "ComfyUI_LC123_nodes",
2565 "ver": "24728b75a7291ed7d3ac57d6e23d906823392387",
2566 "Node name for S&R": "LCLabel",
2567 "_w": 1091,
2568 "_h": 180,
2569 "ue_properties": {
2570 "widget_ue_connectable": [],
2571 "input_ue_unconnectable": [],
2572 "version": "7.8"
2573 }
2574 },
2575 "color": "#fff0",
2576 "bgcolor": "#fff0"
2577 },
2578 {
2579 "id": 143,
2580 "type": "SetNode",
2581 "pos": [
2582 2870,
2583 1020
2584 ],
2585 "size": [
2586 210,
2587 60
2588 ],
2589 "flags": {
2590 "collapsed": true
2591 },
2592 "order": 41,
2593 "mode": 0,
2594 "inputs": [
2595 {
2596 "name": "STRING",
2597 "type": "STRING",
2598 "link": 239
2599 }
2600 ],
2601 "outputs": [
2602 {
2603 "name": "STRING",
2604 "type": "STRING",
2605 "links": null
2606 }
2607 ],
2608 "title": "Set_Project Name",
2609 "properties": {
2610 "Node name for S&R": "SetNode",
2611 "aux_id": "kijai/ComfyUI-KJNodes",
2612 "previousName": "Project Name",
2613 "ue_properties": {
2614 "widget_ue_connectable": [],
2615 "version": "7.8",
2616 "input_ue_unconnectable": []
2617 }
2618 },
2619 "widgets_values": [
2620 "Project Name"
2621 ],
2622 "widgets_values_named": {
2623 "Constant": "Project Name"
2624 },
2625 "color": "#232",
2626 "bgcolor": "#353"
2627 },
2628 {
2629 "id": 148,
2630 "type": "LCLabel",
2631 "pos": [
2632 40,
2633 860
2634 ],
2635 "size": [
2636 221,
2637 103
2638 ],
2639 "flags": [],
2640 "order": 18,
2641 "mode": 0,
2642 "inputs": [],
2643 "outputs": [],
2644 "properties": {
2645 "text": "Notes:",
2646 "font": "Oswald",
2647 "size": 83,
2648 "bold": true,
2649 "italic": false,
2650 "color": "#ff3232",
2651 "align": "center",
2652 "outline": false,
2653 "outlineColor": "#000000",
2654 "outlineWidth": 4,
2655 "shadow": false,
2656 "shadowBlur": 10,
2657 "bg": false,
2658 "bgColor": "#324B4B",
2659 "radius": 12,
2660 "padding": 8,
2661 "angle": 0,
2662 "width": 0,
2663 "cnr_id": "ComfyUI_LC123_nodes",
2664 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
2665 "Node name for S&R": "LCLabel",
2666 "_w": 221,
2667 "_h": 103,
2668 "ue_properties": {
2669 "widget_ue_connectable": [],
2670 "input_ue_unconnectable": [],
2671 "version": "7.8"
2672 }
2673 },
2674 "color": "#fff0",
2675 "bgcolor": "#fff0"
2676 },
2677 {
2678 "id": 149,
2679 "type": "LCLabel",
2680 "pos": [
2681 280,
2682 870
2683 ],
2684 "size": [
2685 395,
2686 103
2687 ],
2688 "flags": [],
2689 "order": 19,
2690 "mode": 0,
2691 "inputs": [],
2692 "outputs": [],
2693 "properties": {
2694 "text": "Start Here",
2695 "font": "Bahnschrift",
2696 "size": 83,
2697 "bold": true,
2698 "italic": false,
2699 "color": "#ffffff",
2700 "align": "center",
2701 "outline": false,
2702 "outlineColor": "#000000",
2703 "outlineWidth": 4,
2704 "shadow": false,
2705 "shadowBlur": 10,
2706 "bg": false,
2707 "bgColor": "#324B4B",
2708 "radius": 12,
2709 "padding": 8,
2710 "angle": 0,
2711 "width": 0,
2712 "cnr_id": "ComfyUI_LC123_nodes",
2713 "ver": "4cfc8fdd4e96c82275a2b3db8fb903a9a3725942",
2714 "Node name for S&R": "LCLabel",
2715 "_w": 395,
2716 "_h": 103,
2717 "ue_properties": {
2718 "widget_ue_connectable": [],
2719 "input_ue_unconnectable": [],
2720 "version": "7.8"
2721 }
2722 },
2723 "color": "#fff0",
2724 "bgcolor": "#fff0"
2725 },
2726 {
2727 "id": 150,
2728 "type": "LCH3Story",
2729 "pos": [
2730 1940,
2731 900
2732 ],
2733 "size": [
2734 890,
2735 1390
2736 ],
2737 "flags": [],
2738 "order": 20,
2739 "mode": 0,
2740 "inputs": [],
2741 "outputs": [
2742 {
2743 "name": "plan",
2744 "type": "LC_H3_PLAN",
2745 "slot_index": 0,
2746 "links": [
2747 237
2748 ]
2749 },
2750 {
2751 "name": "refs",
2752 "type": "LC_H3_REFS",
2753 "slot_index": 1,
2754 "links": [
2755 238
2756 ]
2757 },
2758 {
2759 "name": "project_name",
2760 "type": "STRING",
2761 "slot_index": 2,
2762 "links": [
2763 239,
2764 419
2765 ]
2766 },
2767 {
2768 "name": "warnings",
2769 "type": "STRING",
2770 "slot_index": 3,
2771 "links": [
2772 295
2773 ]
2774 }
2775 ],
2776 "properties": {
2777 "cnr_id": "ComfyUI_LC_AV_nodes",
2778 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
2779 "Node name for S&R": "LCH3Story",
2780 "ue_properties": {
2781 "widget_ue_connectable": [],
2782 "version": "7.8",
2783 "input_ue_unconnectable": []
2784 },
2785 "lc_story_folded": [],
2786 "lcstMin": [
2787 "sbe620c",
2788 "s432a02",
2789 "s0db8d3",
2790 "sfe66e7",
2791 "s2cc179"
2792 ]
2793 },
2794 "widgets_values": [
2795 "{\"version\":1,\"project\":\"Uber run\",\"look\":\"cinematic sci-fi with cool blue and silver tones, vast space vistas, and sharp interior lighting\",\"cast\":[{\"id\":\"c9e726e\",\"name\":\"Alex\",\"who\":\"woman\",\"look\":\"mid twenties, tan, beautiful, blonde hair tied back in a high ponytail\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"cast_Alex_3.png\"},\"voice\":null,\"outfit_notes\":\"dark blue jumpsuit unzipped at the front to reveal cleavage, large breasts, bandoleer, knee high boots, fit\",\"prev\":{\"picture\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"cast_Alex_2.png\"}],\"outfit_picture\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"dress_Alex_2.png\"}]},\"outfit_picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"dress_Alex_3.png\"}},{\"id\":\"c636aef\",\"name\":\"Maya\",\"who\":\"woman\",\"look\":\"mid twenties, brunette hair in a high ponytail, red lipstick, medium breasts\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"cast_Maya_2.png\"},\"voice\":null,\"outfit_notes\":\"red and grey jumpsuit with cargo pockets, form fitting to show off her curves, combat boots with red laces\",\"outfit_picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"dress_Maya_3.png\"}}],\"outfits\":[],\"places\":[{\"id\":\"pdfd58a\",\"name\":\"space above planet\",\"description\":\"vast blackness, glowing planet below, distant moon\",\"sound\":\"engine hum fading, distant ship thrum\",\"picture\":null,\"anchors\":[],\"panorama\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"pano_space_above_planet.png\"},\"front\":{\"yaw\":0,\"pitch\":0,\"fov\":90}},{\"id\":\"pcb5f5a\",\"name\":\"ship interior\",\"description\":\"metallic walls, control panels, dim red and blue lights, cockpit, flight controls\",\"sound\":\"low hum, clinking gear\",\"picture\":null,\"anchors\":[],\"panorama\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"pano_ship_interior_2.png\"},\"front\":{\"yaw\":0,\"pitch\":0,\"fov\":90}},{\"id\":\"p296961\",\"name\":\"planet surface\",\"description\":\"rocky terrain, alien flora, ship landing gear down\",\"sound\":\"landing thrusters, wind howl, crunching metal\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"place_planet_surface.png\"},\"anchors\":[]},{\"id\":\"pugqhb0\",\"name\":\"Intersteller Town\",\"description\":\"rocky terrain, alien flora, large futuristic post apocolypse desert city with alien artifacts and a large red sign saying \\\"T.J. MAXX\\\" as well as a neon sign reading \\\"SALE. Today only\\\"\",\"sound\":\"\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"place_Intersteller_Town.png\"},\"anchors\":[],\"prev\":{\"picture\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"place_Intersteller_Town.png\"}]},\"panorama\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"pano_Intersteller_Town.png\"},\"front\":{\"yaw\":71,\"pitch\":12,\"fov\":110}}],\"props\":[],\"shots\":[{\"id\":\"s0a8794\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"space above planet\",\"action\":\"a lone ship streaks onto the frame\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"\"},{\"id\":\"sbe620c\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"tracking\",\"join\":\"roll\",\"where\":\"space above planet\",\"action\":\"ship descends toward planet surface\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"\"},{\"id\":\"s432a02\",\"framing\":\"two-shot\",\"subject\":\"everyone\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"ship interior\",\"action\":\"Alex looks at Maya, hands on controls\",\"speaker\":\"Alex\",\"line\":\"I hope we make it in time\",\"after\":\"Maya turns to her, calm\",\"seconds\":\"\",\"view\":{\"yaw\":-43,\"pitch\":-15,\"fov\":122.5,\"behind\":\"\",\"on\":true},\"boxes\":[{\"name\":\"Alex\",\"x\":0.0625,\"y\":0.1525,\"w\":0.2706,\"h\":0.8443},{\"name\":\"Maya\",\"x\":0.7259,\"y\":0.1784,\"w\":0.2352,\"h\":0.8147}],\"start\":null,\"prev\":{\"start\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"start_3_3.png\"},{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"start_3_2.png\"},{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"start_3.png\"}]}},{\"id\":\"s0db8d3\",\"framing\":\"two-shot\",\"subject\":\"everyone\",\"move\":\"still\",\"join\":\"roll\",\"where\":\"ship interior\",\"action\":\"Maya nods as she runs her hand through Alex's hair lovingly\",\"speaker\":\"Maya\",\"line\":\"Don't worry, we will. \",\"after\":\"Alex exhales and smiles, her shoulders relax\",\"seconds\":\"7\"},{\"id\":\"sfe66e7\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"planet surface\",\"action\":\"ship’s landing gear touches ground, thrusters roar down and shut off\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"7\"},{\"id\":\"s2cc179\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"still\",\"join\":\"roll\",\"where\":\"planet surface\",\"action\":\"The middle of the ship lowers and transforms to make a ramp. then a platform slides out to touch the ground and create a walkway\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"7\"},{\"id\":\"s18fcc8\",\"framing\":\"medium shot\",\"subject\":\"everyone\",\"move\":\"still\",\"join\":\"roll\",\"where\":\"planet surface\",\"action\":\"The ship shuts down. the engines silently let out steam. They both walk down the ramp, their breasts jiggling under their uniforms. They get to the ground and look around. \",\"speaker\":\"\",\"line\":\"\",\"after\":\"t\",\"seconds\":\"10\"},{\"id\":\"snvtrwk\",\"framing\":\"wide shot\",\"subject\":\"Maya\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"Intersteller Town\",\"action\":\"Maya turns around and faces the viewer. She points behind her to the upper right at the sign\",\"speaker\":\"Maya\",\"line\":\"See? We made it! Come on!\",\"after\":\"she turns and walks away\",\"seconds\":\"\",\"boxes\":[{\"name\":\"Maya\",\"x\":0.0565,\"y\":0.1531,\"w\":0.2675,\"h\":0.8469}],\"view\":{\"yaw\":-14,\"pitch\":11,\"fov\":121,\"behind\":\"\",\"on\":true},\"loras\":[{\"lora\":\"\",\"strength\":1}]}],\"pitch\":\"the scene opens inb space above a planet with a moon in the distance\\na ship appears out of hyperspace and flies by the camers, teh camera then follows the ship down to teh planet surface.\\n\\nCut to the crew inside. Two women, both mid twenties, a blonde and a brunette\\nThe blonde says \\\"I hoep we make it in time\\\"\\nThe brunette says \\\"Don;t worry.\\n\\ncut to teh ship landing on the planet\\nClose up of teh door to teh ship opening and the two womwn getting out\",\"model\":\"GGUF/mradermacher/Qwen3-VL-8B-Instruct-c_abliterated-v3-GGUF/Qwen3-VL-8B-Instruct-c_abliterated-v3.Q5_K_M.gguf\",\"saved\":1794438956.3861194}",
2796 20,
2797 ""
2798 ],
2799 "widgets_values_named": {
2800 "story": "{\"version\":1,\"project\":\"Uber run\",\"look\":\"cinematic sci-fi with cool blue and silver tones, vast space vistas, and sharp interior lighting\",\"cast\":[{\"id\":\"c9e726e\",\"name\":\"Alex\",\"who\":\"woman\",\"look\":\"mid twenties, tan, beautiful, blonde hair tied back in a high ponytail\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"cast_Alex_3.png\"},\"voice\":null,\"outfit_notes\":\"dark blue jumpsuit unzipped at the front to reveal cleavage, large breasts, bandoleer, knee high boots, fit\",\"prev\":{\"picture\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"cast_Alex_2.png\"}],\"outfit_picture\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"dress_Alex_2.png\"}]},\"outfit_picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"dress_Alex_3.png\"}},{\"id\":\"c636aef\",\"name\":\"Maya\",\"who\":\"woman\",\"look\":\"mid twenties, brunette hair in a high ponytail, red lipstick, medium breasts\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"cast_Maya_2.png\"},\"voice\":null,\"outfit_notes\":\"red and grey jumpsuit with cargo pockets, form fitting to show off her curves, combat boots with red laces\",\"outfit_picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"dress_Maya_3.png\"}}],\"outfits\":[],\"places\":[{\"id\":\"pdfd58a\",\"name\":\"space above planet\",\"description\":\"vast blackness, glowing planet below, distant moon\",\"sound\":\"engine hum fading, distant ship thrum\",\"picture\":null,\"anchors\":[],\"panorama\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"pano_space_above_planet.png\"},\"front\":{\"yaw\":0,\"pitch\":0,\"fov\":90}},{\"id\":\"pcb5f5a\",\"name\":\"ship interior\",\"description\":\"metallic walls, control panels, dim red and blue lights, cockpit, flight controls\",\"sound\":\"low hum, clinking gear\",\"picture\":null,\"anchors\":[],\"panorama\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"pano_ship_interior_2.png\"},\"front\":{\"yaw\":0,\"pitch\":0,\"fov\":90}},{\"id\":\"p296961\",\"name\":\"planet surface\",\"description\":\"rocky terrain, alien flora, ship landing gear down\",\"sound\":\"landing thrusters, wind howl, crunching metal\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"place_planet_surface.png\"},\"anchors\":[]},{\"id\":\"pugqhb0\",\"name\":\"Intersteller Town\",\"description\":\"rocky terrain, alien flora, large futuristic post apocolypse desert city with alien artifacts and a large red sign saying \\\"T.J. MAXX\\\" as well as a neon sign reading \\\"SALE. Today only\\\"\",\"sound\":\"\",\"picture\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"place_Intersteller_Town.png\"},\"anchors\":[],\"prev\":{\"picture\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"place_Intersteller_Town.png\"}]},\"panorama\":{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"pano_Intersteller_Town.png\"},\"front\":{\"yaw\":71,\"pitch\":12,\"fov\":110}}],\"props\":[],\"shots\":[{\"id\":\"s0a8794\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"space above planet\",\"action\":\"a lone ship streaks onto the frame\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"\"},{\"id\":\"sbe620c\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"tracking\",\"join\":\"roll\",\"where\":\"space above planet\",\"action\":\"ship descends toward planet surface\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"\"},{\"id\":\"s432a02\",\"framing\":\"two-shot\",\"subject\":\"everyone\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"ship interior\",\"action\":\"Alex looks at Maya, hands on controls\",\"speaker\":\"Alex\",\"line\":\"I hope we make it in time\",\"after\":\"Maya turns to her, calm\",\"seconds\":\"\",\"view\":{\"yaw\":-43,\"pitch\":-15,\"fov\":122.5,\"behind\":\"\",\"on\":true},\"boxes\":[{\"name\":\"Alex\",\"x\":0.0625,\"y\":0.1525,\"w\":0.2706,\"h\":0.8443},{\"name\":\"Maya\",\"x\":0.7259,\"y\":0.1784,\"w\":0.2352,\"h\":0.8147}],\"start\":null,\"prev\":{\"start\":[{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"start_3_3.png\"},{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"start_3_2.png\"},{\"type\":\"input\",\"subfolder\":\"lc_h3_refs/Uber run\",\"filename\":\"start_3.png\"}]}},{\"id\":\"s0db8d3\",\"framing\":\"two-shot\",\"subject\":\"everyone\",\"move\":\"still\",\"join\":\"roll\",\"where\":\"ship interior\",\"action\":\"Maya nods as she runs her hand through Alex's hair lovingly\",\"speaker\":\"Maya\",\"line\":\"Don't worry, we will. \",\"after\":\"Alex exhales and smiles, her shoulders relax\",\"seconds\":\"7\"},{\"id\":\"sfe66e7\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"planet surface\",\"action\":\"ship’s landing gear touches ground, thrusters roar down and shut off\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"7\"},{\"id\":\"s2cc179\",\"framing\":\"wide shot\",\"subject\":\"nobody\",\"move\":\"still\",\"join\":\"roll\",\"where\":\"planet surface\",\"action\":\"The middle of the ship lowers and transforms to make a ramp. then a platform slides out to touch the ground and create a walkway\",\"speaker\":\"\",\"line\":\"\",\"after\":\"\",\"seconds\":\"7\"},{\"id\":\"s18fcc8\",\"framing\":\"medium shot\",\"subject\":\"everyone\",\"move\":\"still\",\"join\":\"roll\",\"where\":\"planet surface\",\"action\":\"The ship shuts down. the engines silently let out steam. They both walk down the ramp, their breasts jiggling under their uniforms. They get to the ground and look around. \",\"speaker\":\"\",\"line\":\"\",\"after\":\"t\",\"seconds\":\"10\"},{\"id\":\"snvtrwk\",\"framing\":\"wide shot\",\"subject\":\"Maya\",\"move\":\"still\",\"join\":\"cut\",\"where\":\"Intersteller Town\",\"action\":\"Maya turns around and faces the viewer. She points behind her to the upper right at the sign\",\"speaker\":\"Maya\",\"line\":\"See? We made it! Come on!\",\"after\":\"she turns and walks away\",\"seconds\":\"\",\"boxes\":[{\"name\":\"Maya\",\"x\":0.0565,\"y\":0.1531,\"w\":0.2675,\"h\":0.8469}],\"view\":{\"yaw\":-14,\"pitch\":11,\"fov\":121,\"behind\":\"\",\"on\":true},\"loras\":[{\"lora\":\"\",\"strength\":1}]}],\"pitch\":\"the scene opens inb space above a planet with a moon in the distance\\na ship appears out of hyperspace and flies by the camers, teh camera then follows the ship down to teh planet surface.\\n\\nCut to the crew inside. Two women, both mid twenties, a blonde and a brunette\\nThe blonde says \\\"I hoep we make it in time\\\"\\nThe brunette says \\\"Don;t worry.\\n\\ncut to teh ship landing on the planet\\nClose up of teh door to teh ship opening and the two womwn getting out\",\"model\":\"GGUF/mradermacher/Qwen3-VL-8B-Instruct-c_abliterated-v3-GGUF/Qwen3-VL-8B-Instruct-c_abliterated-v3.Q5_K_M.gguf\",\"saved\":1794438956.3861194}",
2801 "max_shot_seconds": 20,
2802 "lc_story_face": ""
2803 },
2804 "color": "#1a5a7a",
2805 "bgcolor": "#0a0a0a"
2806 },
2807 {
2808 "id": 151,
2809 "type": "LCH3Make",
2810 "pos": [
2811 3680,
2812 940
2813 ],
2814 "size": [
2815 300,
2816 340
2817 ],
2818 "flags": [],
2819 "order": 43,
2820 "mode": 0,
2821 "inputs": [
2822 {
2823 "name": "plan",
2824 "type": "LC_H3_PLAN",
2825 "link": 240
2826 },
2827 {
2828 "name": "pipe",
2829 "type": "LC_H3_PIPE_V2",
2830 "link": 241
2831 },
2832 {
2833 "name": "refs",
2834 "shape": 7,
2835 "type": "LC_H3_REFS",
2836 "link": 242
2837 }
2838 ],
2839 "outputs": [
2840 {
2841 "name": "video",
2842 "type": "STRING",
2843 "links": [
2844 243
2845 ]
2846 },
2847 {
2848 "name": "audio",
2849 "type": "AUDIO",
2850 "links": null
2851 },
2852 {
2853 "name": "info",
2854 "type": "STRING",
2855 "links": [
2856 244
2857 ]
2858 }
2859 ],
2860 "properties": {
2861 "cnr_id": "ComfyUI_LC_AV_nodes",
2862 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
2863 "Node name for S&R": "LCH3Make",
2864 "ue_properties": {
2865 "widget_ue_connectable": [],
2866 "input_ue_unconnectable": [],
2867 "version": "7.8"
2868 }
2869 },
2870 "widgets_values": [
2871 "all remaining",
2872 2,
2873 16,
2874 "this + the CONTINUE ones after it",
2875 "cuts only",
2876 true,
2877 "clip",
2878 5,
2879 0,
2880 true,
2881 "sections (H3 trained)"
2882 ],
2883 "widgets_values_named": {
2884 "make": "all remaining",
2885 "index": 2,
2886 "crf": 16,
2887 "redo_after": "this + the CONTINUE ones after it",
2888 "refs_on": "cuts only",
2889 "hold_scene": true,
2890 "memory": "clip",
2891 "memory_gap": 5,
2892 "color_match": 0,
2893 "carry_on_line": true,
2894 "prompt_format": "sections (H3 trained)"
2895 },
2896 "color": "#1a5a7a",
2897 "bgcolor": "#1a5a7a"
2898 },
2899 {
2900 "id": 152,
2901 "type": "GetNode",
2902 "pos": [
2903 3450,
2904 980
2905 ],
2906 "size": [
2907 210,
2908 60
2909 ],
2910 "flags": {
2911 "collapsed": true
2912 },
2913 "order": 21,
2914 "mode": 0,
2915 "inputs": [],
2916 "outputs": [
2917 {
2918 "name": "LC_H3_PLAN",
2919 "type": "LC_H3_PLAN",
2920 "links": [
2921 240
2922 ]
2923 }
2924 ],
2925 "title": "Get_Plan",
2926 "properties": {
2927 "Node name for S&R": "GetNode",
2928 "aux_id": "kijai/ComfyUI-KJNodes",
2929 "ue_properties": {
2930 "widget_ue_connectable": [],
2931 "version": "7.8",
2932 "input_ue_unconnectable": []
2933 }
2934 },
2935 "widgets_values": [
2936 "Plan"
2937 ],
2938 "widgets_values_named": {
2939 "Constant": "Plan"
2940 }
2941 },
2942 {
2943 "id": 153,
2944 "type": "GetNode",
2945 "pos": [
2946 3450,
2947 1020
2948 ],
2949 "size": [
2950 210,
2951 60
2952 ],
2953 "flags": {
2954 "collapsed": true
2955 },
2956 "order": 22,
2957 "mode": 0,
2958 "inputs": [],
2959 "outputs": [
2960 {
2961 "name": "LC_H3_REFS",
2962 "type": "LC_H3_REFS",
2963 "links": [
2964 242
2965 ]
2966 }
2967 ],
2968 "title": "Get_refs",
2969 "properties": {
2970 "Node name for S&R": "GetNode",
2971 "aux_id": "kijai/ComfyUI-KJNodes",
2972 "ue_properties": {
2973 "widget_ue_connectable": [],
2974 "version": "7.8",
2975 "input_ue_unconnectable": []
2976 }
2977 },
2978 "widgets_values": [
2979 "refs"
2980 ],
2981 "widgets_values_named": {
2982 "Constant": "refs"
2983 }
2984 },
2985 {
2986 "id": 154,
2987 "type": "GetNode",
2988 "pos": [
2989 3450,
2990 1060
2991 ],
2992 "size": [
2993 210,
2994 60
2995 ],
2996 "flags": {
2997 "collapsed": true
2998 },
2999 "order": 23,
3000 "mode": 0,
3001 "inputs": [],
3002 "outputs": [
3003 {
3004 "name": "LC_H3_PIPE_V2",
3005 "type": "LC_H3_PIPE_V2",
3006 "links": [
3007 241
3008 ]
3009 }
3010 ],
3011 "title": "Get_Layout pipe",
3012 "properties": {
3013 "Node name for S&R": "GetNode",
3014 "aux_id": "kijai/ComfyUI-KJNodes",
3015 "ue_properties": {
3016 "widget_ue_connectable": [],
3017 "version": "7.8",
3018 "input_ue_unconnectable": []
3019 }
3020 },
3021 "widgets_values": [
3022 "Layout pipe"
3023 ],
3024 "widgets_values_named": {
3025 "Constant": "Layout pipe"
3026 }
3027 },
3028 {
3029 "id": 155,
3030 "type": "LCShowText",
3031 "pos": [
3032 4000,
3033 930
3034 ],
3035 "size": [
3036 360,
3037 490
3038 ],
3039 "flags": [],
3040 "order": 52,
3041 "mode": 0,
3042 "inputs": [
3043 {
3044 "name": "text",
3045 "type": "STRING",
3046 "link": 244
3047 }
3048 ],
3049 "outputs": [
3050 {
3051 "name": "text",
3052 "type": "STRING",
3053 "links": null
3054 }
3055 ],
3056 "title": "Make debug info",
3057 "properties": {
3058 "cnr_id": "ComfyUI_LC123_nodes",
3059 "ver": "b2c4c1f43c0fa571994b0ed553e4d6d3c266fc7b",
3060 "Node name for S&R": "LCShowText",
3061 "ue_properties": {
3062 "widget_ue_connectable": [],
3063 "input_ue_unconnectable": [],
3064 "version": "7.8"
3065 },
3066 "lc_display_text": "🎬 Every shot of Uber run is made, and none was changed since. Edit a shot (its tile on the Story turns ✏️) and Run to make it again, or ↻ a tile."
3067 },
3068 "widgets_values": [
3069 "🎬 Every shot of Uber run is made, and none was changed since. Edit a shot (its tile on the Story turns ✏️) and Run to make it again, or ↻ a tile."
3070 ],
3071 "widgets_values_named": {
3072 "text": "🎬 Every shot of Uber run is made, and none was changed since. Edit a shot (its tile on the Story turns ✏️) and Run to make it again, or ↻ a tile."
3073 },
3074 "color": "#222",
3075 "bgcolor": "#000"
3076 },
3077 {
3078 "id": 156,
3079 "type": "LCNote",
3080 "pos": [
3081 3440,
3082 1160
3083 ],
3084 "size": [
3085 220,
3086 260
3087 ],
3088 "flags": [],
3089 "order": 24,
3090 "mode": 0,
3091 "inputs": [],
3092 "outputs": [],
3093 "properties": {
3094 "lc_note": {
3095 "source": "en",
3096 "texts": {
3097 "en": {
3098 "text": "## LC H3 Make 🎥\n\n- Builds, samples and saves the shots of the **Story**, one after another, and joins them into the movie.\n- 💡 One Run makes the whole movie. **Stop** ends it with nothing left in the queue.\n\n**Settings ⚙️**\n- **make**: **all remaining** (the whole movie), **next segment** (one at a time) or **redo** (segment number **index** again).\n - 💡 Easier: ↻ on the shot's tile in the Story's board (that shot only).\n- **refs_on**: **cuts only** gives the smoothest joins.\n- **color_match**: 0 = off. 0.2 to 0.4 when a scene drifts warmer or cooler.\n- Size, steps, sampler and seed come from **⚙️ Settings** through the pipe."
3099 },
3100 "zh": {
3101 "text": "## LC H3 Make 🎥\n\n- 把 **Story** 的镜头一个接一个地搭建、采样、保存,再拼成影片。\n- 💡 一次 Run 做完整部影片。**Stop** 会结束它,队列里什么都不留。\n\n**设置 ⚙️**\n- **make**:**all remaining**(整部影片)、**next segment**(一次一个)或 **redo**(再做第 **index** 段)。\n - 💡 更简单:在 Story 分镜板的镜头卡上点 ↻(只重做那一个镜头)。\n- **refs_on**:**cuts only** 拼接最顺。\n- **color_match**:0 = 关。场景偏暖或偏冷时用 0.2 到 0.4。\n- 尺寸、步数、sampler 和种子通过 pipe 来自 **⚙️ Settings**。",
3102 "src": "b686a073",
3103 "srcTitle": ""
3104 },
3105 "ja": {
3106 "text": "## LC H3 Make 🎥\n\n- **Story** のショットを 1 つずつ組み立て、サンプリングして保存し、映画につなぎます。\n- 💡 1 回の Run で映画全体を作ります。**Stop** すると、キューに何も残さずに終わります。\n\n**Settings ⚙️**\n- **make**:**all remaining**(映画全体)、**next segment**(1 つずつ)、**redo**(**index** 番のセグメントをもう一度)。\n - 💡 もっと簡単に:Story のボードのショットタイルで ↻(そのショットだけ)。\n- **refs_on**:**cuts only** がいちばんなめらかにつながります。\n- **color_match**:0 = オフ。シーンが暖かく、または冷たく流れるときは 0.2 から 0.4。\n- サイズ、steps、sampler、seed はパイプ経由で **⚙️ Settings** から来ます。",
3107 "src": "b686a073",
3108 "srcTitle": ""
3109 },
3110 "ko": {
3111 "text": "## LC H3 Make 🎥\n\n- **Story**의 샷을 하나씩 만들고 샘플링하고 저장한 뒤 영화로 이어 붙입니다.\n- 💡 Run 한 번으로 영화 전체를 만듭니다. **Stop**하면 큐에 아무것도 남기지 않고 끝납니다.\n\n**Settings ⚙️**\n- **make**: **all remaining** (영화 전체), **next segment** (하나씩) 또는 **redo** (**index**번 세그먼트 다시).\n - 💡 더 쉽게: Story 보드의 샷 타일에서 ↻ (그 샷만).\n- **refs_on**: **cuts only**가 가장 매끄럽게 이어집니다.\n- **color_match**: 0 = 끔. 장면이 따뜻하게 또는 차갑게 변할 때 0.2에서 0.4.\n- 크기, steps, sampler, seed는 파이프를 통해 **⚙️ Settings**에서 옵니다.",
3112 "src": "b686a073",
3113 "srcTitle": ""
3114 }
3115 },
3116 "titles": []
3117 },
3118 "ue_properties": {
3119 "widget_ue_connectable": [],
3120 "version": "7.8",
3121 "input_ue_unconnectable": []
3122 }
3123 },
3124 "widgets_values": [
3125 "English ✏️",
3126 "## LC H3 Make 🎥\n\n- Builds, samples and saves the shots of the **Story**, one after another, and joins them into the movie.\n- 💡 One Run makes the whole movie. **Stop** ends it with nothing left in the queue.\n\n**Settings ⚙️**\n- **make**: **all remaining** (the whole movie), **next segment** (one at a time) or **redo** (segment number **index** again).\n - 💡 Easier: ↻ on the shot's tile in the Story's board (that shot only).\n- **refs_on**: **cuts only** gives the smoothest joins.\n- **color_match**: 0 = off. 0.2 to 0.4 when a scene drifts warmer or cooler.\n- Size, steps, sampler and seed come from **⚙️ Settings** through the pipe."
3127 ],
3128 "widgets_values_named": {
3129 "language": "English ✏️",
3130 "text": "## LC H3 Make 🎥\n\n- Builds, samples and saves the shots of the **Story**, one after another, and joins them into the movie.\n- 💡 One Run makes the whole movie. **Stop** ends it with nothing left in the queue.\n\n**Settings ⚙️**\n- **make**: **all remaining** (the whole movie), **next segment** (one at a time) or **redo** (segment number **index** again).\n - 💡 Easier: ↻ on the shot's tile in the Story's board (that shot only).\n- **refs_on**: **cuts only** gives the smoothest joins.\n- **color_match**: 0 = off. 0.2 to 0.4 when a scene drifts warmer or cooler.\n- Size, steps, sampler and seed come from **⚙️ Settings** through the pipe."
3131 },
3132 "color": "#2E3A46",
3133 "bgcolor": "#2E3A46"
3134 },
3135 {
3136 "id": 157,
3137 "type": "GetNode",
3138 "pos": [
3139 2870,
3140 2270
3141 ],
3142 "size": [
3143 210,
3144 60
3145 ],
3146 "flags": {
3147 "collapsed": true
3148 },
3149 "order": 25,
3150 "mode": 0,
3151 "inputs": [],
3152 "outputs": [
3153 {
3154 "name": "STRING",
3155 "type": "STRING",
3156 "links": [
3157 245,
3158 246
3159 ]
3160 }
3161 ],
3162 "title": "Get_Video Path",
3163 "properties": {
3164 "Node name for S&R": "GetNode",
3165 "aux_id": "kijai/ComfyUI-KJNodes",
3166 "ue_properties": {
3167 "widget_ue_connectable": [],
3168 "version": "7.8",
3169 "input_ue_unconnectable": []
3170 }
3171 },
3172 "widgets_values": [
3173 "Video Path"
3174 ],
3175 "widgets_values_named": {
3176 "Constant": "Video Path"
3177 }
3178 },
3179 {
3180 "id": 158,
3181 "type": "LCOptimizer",
3182 "pos": [
3183 1340,
3184 2400
3185 ],
3186 "size": [
3187 330,
3188 524
3189 ],
3190 "flags": [],
3191 "order": 26,
3192 "mode": 0,
3193 "inputs": [],
3194 "outputs": [
3195 {
3196 "name": "model",
3197 "type": "MODEL",
3198 "links": [
3199 247
3200 ]
3201 },
3202 {
3203 "name": "clip",
3204 "type": "CLIP",
3205 "links": [
3206 248
3207 ]
3208 },
3209 {
3210 "name": "vae",
3211 "type": "VAE",
3212 "links": [
3213 420,
3214 427
3215 ]
3216 },
3217 {
3218 "name": "summary",
3219 "type": "STRING",
3220 "links": null
3221 }
3222 ],
3223 "title": "Card Model (Krea2)",
3224 "properties": {
3225 "cnr_id": "ComfyUI_LC123_nodes",
3226 "ver": "b2c4c1f43c0fa571994b0ed553e4d6d3c266fc7b",
3227 "Node name for S&R": "LCOptimizer",
3228 "ue_properties": {
3229 "widget_ue_connectable": [],
3230 "input_ue_unconnectable": [],
3231 "version": "7.8"
3232 }
3233 },
3234 "widgets_values": [
3235 "Krea 2 (Turbo)",
3236 "Quality",
3237 "★ Krealism V3.1",
3238 "Qwen 3\\qwen3VL-4B - Instruct-Heretic_v10.safetensors",
3239 "krea2RealVae_v10.safetensors",
3240 "Auto",
3241 "auto",
3242 "auto",
3243 "auto",
3244 "off",
3245 "auto",
3246 "auto",
3247 "",
3248 ""
3249 ],
3250 "widgets_values_named": {
3251 "base_model": "Krea 2 (Turbo)",
3252 "goal": "Quality",
3253 "model_file": "★ Krealism V3.1",
3254 "text_encoder": "Qwen 3\\qwen3VL-4B - Instruct-Heretic_v10.safetensors",
3255 "vae": "krea2RealVae_v10.safetensors",
3256 "speed_ups": "Auto",
3257 "attention": "auto",
3258 "fp16_accumulation": "auto",
3259 "step_cache": "auto",
3260 "torch_compile": "off",
3261 "qwen21_cache": "auto",
3262 "clip_type": "auto",
3263 "spectrum": "",
3264 "lc_optimizer_face": ""
3265 },
3266 "color": "#2E4A3B",
3267 "bgcolor": "#2E4A3B"
3268 },
3269 {
3270 "id": 159,
3271 "type": "LCLoraLoader",
3272 "pos": [
3273 1350,
3274 2980
3275 ],
3276 "size": [
3277 320,
3278 270
3279 ],
3280 "flags": [],
3281 "order": 46,
3282 "mode": 0,
3283 "inputs": [
3284 {
3285 "name": "model",
3286 "shape": 7,
3287 "type": "MODEL",
3288 "link": 247
3289 },
3290 {
3291 "name": "clip",
3292 "shape": 7,
3293 "type": "CLIP",
3294 "link": 248
3295 }
3296 ],
3297 "outputs": [
3298 {
3299 "name": "model",
3300 "type": "MODEL",
3301 "links": [
3302 335,
3303 422
3304 ]
3305 },
3306 {
3307 "name": "clip",
3308 "type": "CLIP",
3309 "links": [
3310 421,
3311 429
3312 ]
3313 }
3314 ],
3315 "title": "Character or Style LoRA",
3316 "properties": {
3317 "cnr_id": "ComfyUI_LC123_nodes",
3318 "ver": "b2c4c1f43c0fa571994b0ed553e4d6d3c266fc7b",
3319 "Node name for S&R": "LCLoraLoader",
3320 "ue_properties": {
3321 "widget_ue_connectable": [],
3322 "input_ue_unconnectable": [],
3323 "version": "7.8"
3324 }
3325 },
3326 "widgets_values": [
3327 "[]",
3328 ""
3329 ],
3330 "widgets_values_named": {
3331 "lora_rows": "[]",
3332 "lc_lora_face": ""
3333 },
3334 "color": "#6e5032",
3335 "bgcolor": "#6e5032"
3336 },
3337 {
3338 "id": 188,
3339 "type": "LCShowText",
3340 "pos": [
3341 2870,
3342 1060
3343 ],
3344 "size": [
3345 520,
3346 230
3347 ],
3348 "flags": [],
3349 "order": 42,
3350 "mode": 0,
3351 "inputs": [
3352 {
3353 "name": "text",
3354 "type": "STRING",
3355 "link": 295
3356 }
3357 ],
3358 "outputs": [
3359 {
3360 "name": "text",
3361 "type": "STRING",
3362 "links": null
3363 }
3364 ],
3365 "title": "Warnings",
3366 "properties": {
3367 "cnr_id": "ComfyUI_LC123_nodes",
3368 "ver": "b2c4c1f43c0fa571994b0ed553e4d6d3c266fc7b",
3369 "Node name for S&R": "LCShowText",
3370 "ue_properties": {
3371 "widget_ue_connectable": [],
3372 "input_ue_unconnectable": [],
3373 "version": "7.8"
3374 },
3375 "lc_display_text": "👗 Maya's look names the body (breasts): next to a bare-shouldered headshot H3 can leave the clothes off. Keep the look to face and hair; the outfit picture shows the body."
3376 },
3377 "widgets_values": [
3378 "👗 Maya's look names the body (breasts): next to a bare-shouldered headshot H3 can leave the clothes off. Keep the look to face and hair; the outfit picture shows the body."
3379 ],
3380 "widgets_values_named": {
3381 "text": "👗 Maya's look names the body (breasts): next to a bare-shouldered headshot H3 can leave the clothes off. Keep the look to face and hair; the outfit picture shows the body."
3382 },
3383 "color": "#222",
3384 "bgcolor": "#000"
3385 },
3386 {
3387 "id": 190,
3388 "type": "LCOptimizer",
3389 "pos": [
3390 1000,
3391 2400
3392 ],
3393 "size": [
3394 330,
3395 524
3396 ],
3397 "flags": [],
3398 "order": 27,
3399 "mode": 0,
3400 "inputs": [],
3401 "outputs": [
3402 {
3403 "name": "model",
3404 "type": "MODEL",
3405 "links": [
3406 425
3407 ]
3408 },
3409 {
3410 "name": "clip",
3411 "type": "CLIP",
3412 "links": [
3413 426
3414 ]
3415 },
3416 {
3417 "name": "vae",
3418 "type": "VAE",
3419 "links": [
3420 423
3421 ]
3422 },
3423 {
3424 "name": "summary",
3425 "type": "STRING",
3426 "links": null
3427 }
3428 ],
3429 "title": "Storyboard model 📖 (MOSS)",
3430 "properties": {
3431 "cnr_id": "ComfyUI_LC123_nodes",
3432 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
3433 "Node name for S&R": "LCOptimizer",
3434 "ue_properties": {
3435 "widget_ue_connectable": [],
3436 "input_ue_unconnectable": [],
3437 "version": "7.8"
3438 }
3439 },
3440 "widgets_values": [
3441 "MOSS Image (SFT)",
3442 "Optimal",
3443 "★ Recommended",
3444 "★ Recommended",
3445 "★ Recommended",
3446 "Auto",
3447 "auto",
3448 "auto",
3449 "auto",
3450 "off",
3451 "auto",
3452 "auto",
3453 "auto",
3454 ""
3455 ],
3456 "widgets_values_named": {
3457 "base_model": "MOSS Image (SFT)",
3458 "goal": "Optimal",
3459 "model_file": "★ Recommended",
3460 "text_encoder": "★ Recommended",
3461 "vae": "★ Recommended",
3462 "speed_ups": "Auto",
3463 "attention": "auto",
3464 "fp16_accumulation": "auto",
3465 "step_cache": "auto",
3466 "torch_compile": "off",
3467 "qwen21_cache": "auto",
3468 "clip_type": "auto",
3469 "spectrum": "auto",
3470 "lc_optimizer_face": ""
3471 },
3472 "color": "#2E4A3B",
3473 "bgcolor": "#2E4A3B"
3474 },
3475 {
3476 "id": 207,
3477 "type": "LoraLoaderModelOnly",
3478 "pos": [
3479 1000,
3480 2980
3481 ],
3482 "size": [
3483 330,
3484 90
3485 ],
3486 "flags": [],
3487 "order": 53,
3488 "mode": 0,
3489 "inputs": [
3490 {
3491 "name": "model",
3492 "type": "MODEL",
3493 "link": 335
3494 }
3495 ],
3496 "outputs": [
3497 {
3498 "name": "MODEL",
3499 "type": "MODEL",
3500 "links": [
3501 428
3502 ]
3503 }
3504 ],
3505 "title": "🪪 Edit LoRA",
3506 "properties": {
3507 "cnr_id": "comfy-core",
3508 "ver": "0.42.0",
3509 "Node name for S&R": "LoraLoaderModelOnly",
3510 "ue_properties": {
3511 "widget_ue_connectable": [],
3512 "input_ue_unconnectable": [],
3513 "version": "7.8"
3514 }
3515 },
3516 "widgets_values": [
3517 "Krea 2\\Utilities\\krea2_identity_edit_v2.safetensors",
3518 1
3519 ],
3520 "widgets_values_named": {
3521 "lora_name": "Krea 2\\Utilities\\krea2_identity_edit_v2.safetensors",
3522 "strength_model": 1
3523 },
3524 "color": "#432",
3525 "bgcolor": "#653"
3526 },
3527 {
3528 "id": 216,
3529 "type": "LCRTXSuperResolution",
3530 "pos": [
3531 4290,
3532 1770
3533 ],
3534 "size": [
3535 320,
3536 250
3537 ],
3538 "flags": [],
3539 "order": 56,
3540 "mode": 4,
3541 "inputs": [
3542 {
3543 "name": "image",
3544 "type": "IMAGE",
3545 "link": 377
3546 },
3547 {
3548 "name": "mask",
3549 "shape": 7,
3550 "type": "MASK",
3551 "link": null
3552 }
3553 ],
3554 "outputs": [
3555 {
3556 "name": "image",
3557 "type": "IMAGE",
3558 "links": [
3559 464,
3560 465
3561 ]
3562 },
3563 {
3564 "name": "mask",
3565 "type": "MASK",
3566 "links": null
3567 },
3568 {
3569 "name": "width",
3570 "type": "INT",
3571 "links": null
3572 },
3573 {
3574 "name": "height",
3575 "type": "INT",
3576 "links": null
3577 }
3578 ],
3579 "title": "RTX Super Resolution ⚡",
3580 "properties": {
3581 "cnr_id": "ComfyUI_LC123_nodes",
3582 "ver": "d2547b1739df54b8bcf5dfd79f80fedd1fa164fb",
3583 "Node name for S&R": "LCRTXSuperResolution",
3584 "ue_properties": {
3585 "widget_ue_connectable": [],
3586 "input_ue_unconnectable": [],
3587 "version": "7.8"
3588 }
3589 },
3590 "widgets_values": [
3591 "deblur",
3592 "ULTRA",
3593 2,
3594 0,
3595 1
3596 ],
3597 "widgets_values_named": {
3598 "mode": "deblur",
3599 "quality": "ULTRA",
3600 "scale": 2,
3601 "megapixels": 0,
3602 "strength": 1
3603 },
3604 "color": "#324B4B",
3605 "bgcolor": "#324B4B"
3606 },
3607 {
3608 "id": 231,
3609 "type": "MiniMaxH3PreviewOverrideCS",
3610 "pos": [
3611 2860,
3612 1460
3613 ],
3614 "size": [
3615 540,
3616 700
3617 ],
3618 "flags": {
3619 "collapsed": false
3620 },
3621 "order": 54,
3622 "mode": 0,
3623 "inputs": [
3624 {
3625 "name": "model",
3626 "type": "MODEL",
3627 "link": 412
3628 },
3629 {
3630 "name": "vae",
3631 "type": "VAE",
3632 "link": 472
3633 }
3634 ],
3635 "outputs": [
3636 {
3637 "name": "MODEL",
3638 "type": "MODEL",
3639 "links": [
3640 413
3641 ]
3642 }
3643 ],
3644 "title": "Live Preview",
3645 "properties": {
3646 "cnr_id": "minimaxh3-director",
3647 "ver": "0.1.3",
3648 "Node name for S&R": "MiniMaxH3PreviewOverrideCS",
3649 "ue_properties": {
3650 "widget_ue_connectable": {
3651 "preview_fps": true
3652 },
3653 "version": "7.8",
3654 "input_ue_unconnectable": []
3655 },
3656 "aux_id": "CGlide/ComfyUI-MiniMaxH3-Director",
3657 "enableTabs": false,
3658 "tabWidth": 65,
3659 "tabXOffset": 10,
3660 "hasSecondTab": false,
3661 "secondTabText": "Send Back",
3662 "secondTabOffset": 80,
3663 "secondTabWidth": 65
3664 },
3665 "widgets_values": [
3666 512,
3667 24,
3668 90,
3669 1,
3670 25,
3671 true
3672 ],
3673 "widgets_values_named": {
3674 "max_resolution": 512,
3675 "preview_fps": 24,
3676 "jpeg_quality": 90,
3677 "every_n_steps": 1,
3678 "max_preview_overhead": 25,
3679 "suppress_default_preview": true
3680 },
3681 "color": "#233",
3682 "bgcolor": "#355"
3683 },
3684 {
3685 "id": 232,
3686 "type": "fba353df-3bb4-41da-a4d4-bf10b8ed87a8",
3687 "pos": [
3688 1680,
3689 2400
3690 ],
3691 "size": [
3692 220,
3693 300
3694 ],
3695 "flags": [],
3696 "order": 58,
3697 "mode": 0,
3698 "inputs": [
3699 {
3700 "name": "project_name",
3701 "type": "STRING",
3702 "widget": {
3703 "name": "project_name"
3704 },
3705 "link": 419
3706 },
3707 {
3708 "name": "vae",
3709 "type": "VAE",
3710 "link": 420
3711 },
3712 {
3713 "name": "clip",
3714 "type": "CLIP",
3715 "link": 421
3716 },
3717 {
3718 "name": "model",
3719 "type": "MODEL",
3720 "link": 422
3721 },
3722 {
3723 "name": "vae_1",
3724 "type": "VAE",
3725 "link": 423
3726 },
3727 {
3728 "name": "base_seed",
3729 "type": "INT",
3730 "widget": {
3731 "name": "base_seed"
3732 },
3733 "link": 424
3734 },
3735 {
3736 "name": "model_1",
3737 "type": "MODEL",
3738 "link": 425
3739 },
3740 {
3741 "name": "clip_1",
3742 "type": "CLIP",
3743 "link": 426
3744 },
3745 {
3746 "name": "vae_2",
3747 "type": "VAE",
3748 "link": 427
3749 },
3750 {
3751 "name": "model_2",
3752 "type": "MODEL",
3753 "link": 428
3754 },
3755 {
3756 "name": "clip_2",
3757 "type": "CLIP",
3758 "link": 429
3759 },
3760 {
3761 "name": "pipe",
3762 "type": "LC_H3_PIPE_V2,LC_H3_PIPE",
3763 "link": 430
3764 },
3765 {
3766 "name": "seed",
3767 "type": "INT",
3768 "widget": {
3769 "name": "seed"
3770 },
3771 "link": 432
3772 }
3773 ],
3774 "outputs": [],
3775 "properties": {
3776 "cnr_id": "comfy-core",
3777 "ver": "0.42.0",
3778 "ue_properties": {
3779 "widget_ue_connectable": [],
3780 "input_ue_unconnectable": [],
3781 "version": "7.8"
3782 },
3783 "previewExposures": [
3784 {
3785 "name": "$$canvas-image-preview",
3786 "sourceNodeId": "199",
3787 "sourcePreviewName": "$$canvas-image-preview"
3788 }
3789 ]
3790 },
3791 "widgets_values": [
3792 "",
3793 0,
3794 898094886941356
3795 ],
3796 "widgets_values_named": {
3797 "project_name": "",
3798 "base_seed": 0,
3799 "seed": 898094886941356
3800 },
3801 "color": "#222",
3802 "bgcolor": "#000"
3803 },
3804 {
3805 "id": 235,
3806 "type": "LCNote",
3807 "pos": [
3808 1690,
3809 2740
3810 ],
3811 "size": [
3812 210,
3813 170
3814 ],
3815 "flags": [],
3816 "order": 28,
3817 "mode": 0,
3818 "inputs": [],
3819 "outputs": [],
3820 "properties": {
3821 "lc_note": {
3822 "source": "en",
3823 "texts": {
3824 "en": {
3825 "text": "Yeah.. There is a subgraph on a Lonecat workflow. I know. \n\nThere really are no settings inside that need to be adjusted, but I put notes in there anyway. \n\n⚠️ The storyboard throws bypass switches automatically. Do NOT change or remove stuff from the groups"
3826 },
3827 "zh": {
3828 "text": "是的…… Lonecat 的工作流里有个子图。我知道。\n\n里面其实没有需要调整的设置,不过我还是在里面放了说明。\n\n⚠️ 故事板会自动切换旁路开关。不要修改或删除组里的东西",
3829 "src": "3b976183",
3830 "srcTitle": ""
3831 },
3832 "ja": {
3833 "text": "そう…… Lonecat のワークフローにサブグラフがあります。わかってます。\n\n中に調整が必要な設定は特にありませんが、念のためメモを入れておきました。\n\n⚠️ ストーリーボードがバイパススイッチを自動で切り替えます。グループの中身を変更したり削除したりしないでください",
3834 "src": "3b976183",
3835 "srcTitle": ""
3836 },
3837 "ko": {
3838 "text": "네.. Lonecat 워크플로에 서브그래프가 있어요. 알아요.\n\n안에 조정해야 할 설정은 사실 없지만, 그래도 메모는 넣어 뒀어요.\n\n⚠️ 스토리보드가 바이패스 스위치를 자동으로 바꿉니다. 그룹 안의 것을 바꾸거나 지우지 마세요",
3839 "src": "3b976183",
3840 "srcTitle": ""
3841 }
3842 },
3843 "titles": []
3844 },
3845 "ue_properties": {
3846 "widget_ue_connectable": [],
3847 "version": "7.8",
3848 "input_ue_unconnectable": []
3849 }
3850 },
3851 "widgets_values": [
3852 "English ✏️",
3853 "Yeah.. There is a subgraph on a Lonecat workflow. I know. \n\nThere really are no settings inside that need to be adjusted, but I put notes in there anyway. \n\n⚠️ The storyboard throws bypass switches automatically. Do NOT change or remove stuff from the groups"
3854 ],
3855 "widgets_values_named": {
3856 "language": "English ✏️",
3857 "text": "Yeah.. There is a subgraph on a Lonecat workflow. I know. \n\nThere really are no settings inside that need to be adjusted, but I put notes in there anyway. \n\n⚠️ The storyboard throws bypass switches automatically. Do NOT change or remove stuff from the groups"
3858 },
3859 "color": "#2E3A46",
3860 "bgcolor": "#2E3A46"
3861 },
3862 {
3863 "id": 236,
3864 "type": "LCNote",
3865 "pos": [
3866 3430,
3867 1490
3868 ],
3869 "size": [
3870 230,
3871 440
3872 ],
3873 "flags": [],
3874 "order": 29,
3875 "mode": 0,
3876 "inputs": [],
3877 "outputs": [],
3878 "title": "💡 Tips & Tricks",
3879 "properties": {
3880 "lc_note": {
3881 "source": "en",
3882 "texts": {
3883 "en": {
3884 "text": "# The important 💩\n\nI have spent a lot of time on this. over 200 videos and probably 4,000 test images and it's still a work in progress.\n\n## How I use it. \n- it's really cool that it can generate an entire movie by itself based on an idea, but it typically takes 2-3 shots to get it right.\n\n**get the people right and dressed first.**\n- these cards are everything. Don't be vague\n\n**Do one segment at a time**\n- Use the 🔄️ button instead of the run in the segment. \n- make and edit the cards as you go along. \n- the 360 🌐 is super cool, but..... It's dyslexic. don't tell it left and right. show it. \n\n- the join seams work really well, but don't ask to join two completely different things. It will not let you. \n\n**LoRAs**\n- they are good for actions. If you build solid character cards, they are kind of redundant. It's really here for certain...ahem... actions🚫\n \n**Build a segment, get it how you want it, then lock it. 🔒**\n\nI have tested ths over and over again. All you need is rife and RTX super resolution. Get happy with it, then do it.\n"
3885 },
3886 "zh": {
3887 "text": "# 重要的 💩\n\n我在这上面花了很多时间。做了 200 多个视频,测试图大概有 4,000 张,到现在还在完善中。\n\n## 我是怎么用的\n- 它能根据一个想法自己生成一整部影片,真的很酷,但通常要 2-3 次才能弄对。\n\n**先把人物弄对、穿好衣服。**\n- 这些卡片就是一切。不要写得含糊\n\n**一次做一个片段**\n- 用 🔄️ 按钮,而不是片段里的运行。\n- 边做边制作和修改卡片。\n- 360 🌐 超酷,但是……它分不清左右。不要告诉它左和右,要给它看。\n\n- 衔接处效果非常好,但不要让它把两段完全不同的东西接在一起。它不会让你这么做。\n\n**做好一个片段,调到你想要的样子,然后锁定它。🔒**\n",
3888 "src": "3d89a68",
3889 "srcTitle": "💡 Tips & Tricks"
3890 },
3891 "ja": {
3892 "text": "# 大事な 💩\n\nこれにはたくさん時間をかけました。動画は 200 本以上、テスト画像はたぶん 4,000 枚、それでもまだ作業中です。\n\n## 私の使い方\n- アイデアひとつで映画を丸ごと自分で作れるのは本当にすごいけど、うまくいくまで普通 2〜3 回かかります。\n\n**まず人物を正しく、服を着せる。**\n- このカードがすべてです。あいまいにしないこと\n\n**セグメントは一つずつ**\n- セグメントの実行ではなく 🔄️ ボタンを使う。\n- 進めながらカードを作って直す。\n- 360 🌐 は最高にクールだけど……左右が苦手。左とか右とか言わずに、見せること。\n\n- join のつなぎ目はすごくうまくいくけど、まったく違う二つのものをつなげさせないこと。つなげてくれません。\n\n**セグメントを作って、思いどおりになったらロックする。🔒**\n",
3893 "src": "3d89a68",
3894 "srcTitle": "💡 Tips & Tricks"
3895 },
3896 "ko": {
3897 "text": "# 중요한 💩\n\n여기에 시간을 정말 많이 썼어요. 영상 200개 넘게, 테스트 이미지는 아마 4,000장, 그래도 아직 진행 중이에요.\n\n## 제가 쓰는 방법\n- 아이디어 하나로 영화 한 편을 알아서 만들어 주는 건 정말 멋지지만, 제대로 나오려면 보통 2~3번은 걸려요.\n\n**먼저 인물을 제대로, 옷까지 입혀 두세요.**\n- 이 카드들이 전부예요. 애매하게 쓰지 마세요\n\n**세그먼트는 하나씩**\n- 세그먼트 안의 실행 대신 🔄️ 버튼을 쓰세요.\n- 진행하면서 카드를 만들고 고치세요.\n- 360 🌐은 정말 멋지지만..... 좌우를 헷갈려요. 왼쪽 오른쪽이라고 말하지 말고, 보여 주세요.\n\n- join 이음새는 정말 잘 되지만, 완전히 다른 두 가지를 이어 달라고 하지는 마세요. 그렇게 하게 두지 않아요.\n\n**세그먼트를 만들고, 원하는 대로 나오면 잠그세요. 🔒**\n",
3898 "src": "3d89a68",
3899 "srcTitle": "💡 Tips & Tricks"
3900 }
3901 },
3902 "titles": {
3903 "en": "💡 Tips & Tricks",
3904 "zh": "💡 技巧与窍门",
3905 "ja": "💡 ヒントとコツ",
3906 "ko": "💡 팁과 요령"
3907 }
3908 },
3909 "ue_properties": {
3910 "widget_ue_connectable": [],
3911 "version": "7.8",
3912 "input_ue_unconnectable": []
3913 }
3914 },
3915 "widgets_values": [
3916 "English ✏️",
3917 "# The important 💩\n\nI have spent a lot of time on this. over 200 videos and probably 4,000 test images and it's still a work in progress.\n\n## How I use it. \n- it's really cool that it can generate an entire movie by itself based on an idea, but it typically takes 2-3 shots to get it right.\n\n**get the people right and dressed first.**\n- these cards are everything. Don't be vague\n\n**Do one segment at a time**\n- Use the 🔄️ button instead of the run in the segment. \n- make and edit the cards as you go along. \n- the 360 🌐 is super cool, but..... It's dyslexic. don't tell it left and right. show it. \n\n- the join seams work really well, but don't ask to join two completely different things. It will not let you. \n\n**LoRAs**\n- they are good for actions. If you build solid character cards, they are kind of redundant. It's really here for certain...ahem... actions🚫\n \n**Build a segment, get it how you want it, then lock it. 🔒**\n\nI have tested ths over and over again. All you need is rife and RTX super resolution. Get happy with it, then do it.\n"
3918 ],
3919 "widgets_values_named": {
3920 "language": "English ✏️",
3921 "text": "# The important 💩\n\nI have spent a lot of time on this. over 200 videos and probably 4,000 test images and it's still a work in progress.\n\n## How I use it. \n- it's really cool that it can generate an entire movie by itself based on an idea, but it typically takes 2-3 shots to get it right.\n\n**get the people right and dressed first.**\n- these cards are everything. Don't be vague\n\n**Do one segment at a time**\n- Use the 🔄️ button instead of the run in the segment. \n- make and edit the cards as you go along. \n- the 360 🌐 is super cool, but..... It's dyslexic. don't tell it left and right. show it. \n\n- the join seams work really well, but don't ask to join two completely different things. It will not let you. \n\n**LoRAs**\n- they are good for actions. If you build solid character cards, they are kind of redundant. It's really here for certain...ahem... actions🚫\n \n**Build a segment, get it how you want it, then lock it. 🔒**\n\nI have tested ths over and over again. All you need is rife and RTX super resolution. Get happy with it, then do it.\n"
3922 },
3923 "color": "#35b0ae",
3924 "bgcolor": "#219c9a"
3925 },
3926 {
3927 "id": 238,
3928 "type": "LCAudioEqualizer3Band",
3929 "pos": [
3930 4010,
3931 1630
3932 ],
3933 "size": [
3934 270,
3935 210
3936 ],
3937 "flags": [],
3938 "order": 55,
3939 "mode": 0,
3940 "inputs": [
3941 {
3942 "name": "audio",
3943 "type": "AUDIO",
3944 "link": 438
3945 }
3946 ],
3947 "outputs": [
3948 {
3949 "name": "audio",
3950 "type": "AUDIO",
3951 "links": [
3952 440,
3953 441,
3954 462
3955 ]
3956 }
3957 ],
3958 "properties": {
3959 "cnr_id": "ComfyUI_LC_AV_nodes",
3960 "ver": "8ccfebc23bae839be9f89a1ee847e199e1e3cf7c",
3961 "Node name for S&R": "LCAudioEqualizer3Band",
3962 "ue_properties": {
3963 "widget_ue_connectable": [],
3964 "input_ue_unconnectable": [],
3965 "version": "7.8"
3966 }
3967 },
3968 "widgets_values": [
3969 0,
3970 100,
3971 0,
3972 1000,
3973 0.707,
3974 0,
3975 5000
3976 ],
3977 "widgets_values_named": {
3978 "low_gain_dB": 0,
3979 "low_freq": 100,
3980 "mid_gain_dB": 0,
3981 "mid_freq": 1000,
3982 "mid_q": 0.707,
3983 "high_gain_dB": 0,
3984 "high_freq": 5000
3985 },
3986 "color": "#2a6a6a",
3987 "bgcolor": "#2a6a6a"
3988 },
3989 {
3990 "id": 239,
3991 "type": "LCAudioVolume",
3992 "pos": [
3993 4010,
3994 1530
3995 ],
3996 "size": [
3997 270,
3998 60
3999 ],
4000 "flags": [],
4001 "order": 48,
4002 "mode": 0,
4003 "inputs": [
4004 {
4005 "name": "audio",
4006 "type": "AUDIO",
4007 "link": 439
4008 }
4009 ],
4010 "outputs": [
4011 {
4012 "name": "AUDIO",
4013 "type": "AUDIO",
4014 "links": [
4015 438,
4016 461
4017 ]
4018 }
4019 ],
4020 "properties": {
4021 "cnr_id": "ComfyUI_LC_AV_nodes",
4022 "ver": "8ccfebc23bae839be9f89a1ee847e199e1e3cf7c",
4023 "Node name for S&R": "LCAudioVolume",
4024 "ue_properties": {
4025 "widget_ue_connectable": [],
4026 "input_ue_unconnectable": [],
4027 "version": "7.8"
4028 }
4029 },
4030 "widgets_values": [
4031 1
4032 ],
4033 "widgets_values_named": {
4034 "volume": 1
4035 },
4036 "color": "#2a6a6a",
4037 "bgcolor": "#2a6a6a"
4038 },
4039 {
4040 "id": 243,
4041 "type": "LCRelayVSRUpscale",
4042 "pos": [
4043 4290,
4044 2060
4045 ],
4046 "size": [
4047 320,
4048 250
4049 ],
4050 "flags": [],
4051 "order": 60,
4052 "mode": 0,
4053 "inputs": [
4054 {
4055 "name": "image",
4056 "type": "IMAGE",
4057 "link": 465
4058 },
4059 {
4060 "name": "protect_mask",
4061 "shape": 7,
4062 "type": "MASK",
4063 "link": null
4064 }
4065 ],
4066 "outputs": [
4067 {
4068 "name": "image",
4069 "type": "IMAGE",
4070 "links": [
4071 466,
4072 467,
4073 468
4074 ]
4075 },
4076 {
4077 "name": "relay",
4078 "type": "LC_RELAY",
4079 "links": null
4080 },
4081 {
4082 "name": "protected",
4083 "type": "MASK",
4084 "links": null
4085 }
4086 ],
4087 "properties": {
4088 "cnr_id": "ComfyUI_LC_MaskMaker_nodes",
4089 "ver": "0.29.8",
4090 "Node name for S&R": "LCRelayVSRUpscale",
4091 "ue_properties": {
4092 "widget_ue_connectable": {
4093 "seed": true
4094 },
4095 "version": "7.8",
4096 "input_ue_unconnectable": []
4097 }
4098 },
4099 "widgets_values": [
4100 "video",
4101 "2x",
4102 8675309,
4103 "fixed",
4104 1,
4105 0.5,
4106 true
4107 ],
4108 "widgets_values_named": {
4109 "source": "video",
4110 "upscale": "2x",
4111 "seed": 8675309,
4112 "control_after_generate": "fixed",
4113 "detail": 1,
4114 "mask_protect_strength": 0.5,
4115 "detect_faces": true
4116 },
4117 "color": "#324b4b",
4118 "bgcolor": "#324b4b"
4119 },
4120 {
4121 "id": 255,
4122 "type": "LC Bypasser",
4123 "pos": [
4124 3720,
4125 1980
4126 ],
4127 "size": [
4128 310,
4129 570
4130 ],
4131 "flags": {
4132 "collapsed": true
4133 },
4134 "order": 65,
4135 "mode": 0,
4136 "inputs": [
4137 {
4138 "name": "LC Load Video 🎞️",
4139 "type": "*",
4140 "link": 458
4141 },
4142 {
4143 "name": "enable",
4144 "type": "BOOLEAN",
4145 "link": null
4146 },
4147 {
4148 "name": "LC Audio Volume 🔊",
4149 "type": "*",
4150 "link": 461
4151 },
4152 {
4153 "name": "enable",
4154 "type": "BOOLEAN",
4155 "link": null
4156 },
4157 {
4158 "name": "LC Audio EQ 3-Band 🎛️",
4159 "type": "*",
4160 "link": 462
4161 },
4162 {
4163 "name": "enable",
4164 "type": "BOOLEAN",
4165 "link": null
4166 },
4167 {
4168 "name": "Frame Interpolate 🎞️",
4169 "type": "*",
4170 "link": 463
4171 },
4172 {
4173 "name": "enable",
4174 "type": "BOOLEAN",
4175 "link": null
4176 },
4177 {
4178 "name": "RTX Super Resolution ⚡",
4179 "type": "*",
4180 "link": 464
4181 },
4182 {
4183 "name": "enable",
4184 "type": "BOOLEAN",
4185 "link": null
4186 },
4187 {
4188 "name": "LC Relay VSR Upscale 🧩",
4189 "type": "*",
4190 "link": 466
4191 },
4192 {
4193 "name": "enable",
4194 "type": "BOOLEAN",
4195 "link": null
4196 },
4197 {
4198 "name": "Save Video 💾",
4199 "type": "*",
4200 "link": 469
4201 },
4202 {
4203 "name": "enable",
4204 "type": "BOOLEAN",
4205 "link": null
4206 },
4207 {
4208 "name": "LC Notify 🔊",
4209 "type": "*",
4210 "link": 470
4211 },
4212 {
4213 "name": "enable",
4214 "type": "BOOLEAN",
4215 "link": null
4216 },
4217 {
4218 "name": "",
4219 "type": "*",
4220 "link": null
4221 },
4222 {
4223 "name": "enable",
4224 "type": "BOOLEAN",
4225 "link": null
4226 }
4227 ],
4228 "outputs": [
4229 {
4230 "name": "OPT_CONNECTION",
4231 "type": "*",
4232 "links": [
4233 454
4234 ]
4235 }
4236 ],
4237 "properties": {
4238 "toggleRestriction": "default",
4239 "ue_properties": {
4240 "widget_ue_connectable": [],
4241 "version": "7.8",
4242 "input_ue_unconnectable": []
4243 }
4244 },
4245 "widgets_values": [
4246 true,
4247 true,
4248 true,
4249 true,
4250 false,
4251 true,
4252 true,
4253 true
4254 ],
4255 "widgets_values_named": {
4256 "Enable 1": true,
4257 "Enable 2": true,
4258 "Enable 3": true,
4259 "Enable 4": true,
4260 "Enable 5": false,
4261 "Enable 6": true,
4262 "Enable 7": true,
4263 "Enable 8": true
4264 },
4265 "color": "#28281E",
4266 "bgcolor": "#28281E"
4267 },
4268 {
4269 "id": 256,
4270 "type": "LCNotify",
4271 "pos": [
4272 4290,
4273 2350
4274 ],
4275 "size": [
4276 320,
4277 130
4278 ],
4279 "flags": [],
4280 "order": 64,
4281 "mode": 0,
4282 "inputs": [
4283 {
4284 "name": "any",
4285 "shape": 7,
4286 "type": "*",
4287 "link": 471
4288 }
4289 ],
4290 "outputs": [
4291 {
4292 "name": "any",
4293 "type": "*",
4294 "links": [
4295 470
4296 ]
4297 }
4298 ],
4299 "properties": {
4300 "cnr_id": "ComfyUI_LC123_nodes",
4301 "ver": "e9d3f5fa5d7d6c0f603b2e19f8a8bf458ee3b8ec",
4302 "Node name for S&R": "LCNotify",
4303 "ue_properties": {
4304 "widget_ue_connectable": [],
4305 "input_ue_unconnectable": [],
4306 "version": "7.8"
4307 }
4308 },
4309 "widgets_values": [
4310 "always",
4311 0.88,
4312 "group_yay_2.mp3",
4313 null
4314 ],
4315 "widgets_values_named": {
4316 "mode": "always",
4317 "volume": 0.88,
4318 "file": "group_yay_2.mp3",
4319 "▶ preview": null
4320 },
4321 "color": "#649632",
4322 "bgcolor": "#649632"
4323 },
4324 {
4325 "id": 257,
4326 "type": "VAELoader",
4327 "pos": [
4328 2860,
4329 1350
4330 ],
4331 "size": [
4332 540,
4333 60
4334 ],
4335 "flags": [],
4336 "order": 30,
4337 "mode": 0,
4338 "inputs": [],
4339 "outputs": [
4340 {
4341 "name": "VAE",
4342 "type": "VAE",
4343 "links": [
4344 472
4345 ]
4346 }
4347 ],
4348 "title": "Live Preview VAE (taeh3)",
4349 "properties": {
4350 "cnr_id": "comfy-core",
4351 "ver": "0.45.0",
4352 "Node name for S&R": "VAELoader",
4353 "ue_properties": {
4354 "widget_ue_connectable": [],
4355 "version": "7.8",
4356 "input_ue_unconnectable": []
4357 }
4358 },
4359 "widgets_values": [
4360 "taeh3.safetensors"
4361 ],
4362 "widgets_values_named": {
4363 "vae_name": "taeh3.safetensors"
4364 },
4365 "color": "#332922",
4366 "bgcolor": "#593930"
4367 },
4368 {
4369 "id": 258,
4370 "type": "LCNote",
4371 "pos": [
4372 3910,
4373 2140
4374 ],
4375 "size": [
4376 360,
4377 340
4378 ],
4379 "flags": {
4380 "collapsed": false
4381 },
4382 "order": 31,
4383 "mode": 0,
4384 "inputs": [],
4385 "outputs": [],
4386 "title": "Relay Notes",
4387 "properties": {
4388 "lc_note": {
4389 "source": "en",
4390 "texts": {
4391 "en": {
4392 "text": "## LC Relay VSR Upscale 🧩\n\n**What is it?**\n- A one-step upscaler for video and pictures (2x or 4x). The model, VAE and sampler are built in. Fast, sharp, and it adds real skin and hair detail.\n- A fraction of the time VOSR2 or SeedVR2 takes, and higher quality.\n- **detect_faces** finds the faces on its own and holds back Relay's grain on them, so skin keeps its look.\n- 💡 If you used detailers or want all skin protected, wire a mask into **protect_mask**. It overrides detect_faces.\n\n- ✋ **First use downloads the models:** 5.2 GB per upscale size (10 GB for bf16) plus a 128 MB VAE, and 55 MB for the face finder. A toast tells you it started. Press Stop to cancel. Already have them? They are found wherever they are.\n\n---\n\n### Videos 🎥\n\n- **2x faces on** is the default. Your eye goes straight to the faces when things are moving, and everything else is background noise.\n - Use **faces off** only when time or file size is the problem.\n- **4x** runs on an 8 GB card, but on a moving video it looks barely different from 2x. Extra sharpness can actually make it look worse.\n- Save with **LC Save Video**'s **relay** input. It saves a few frames at a time, so the upscaled video never sits in RAM (5 s at 4x: 0.3 GB instead of 12 GB).\n - Leave the Relay node's **image** output empty, or the full video gets built anyway.\n\n| Video | 2x faces on | 2x faces off | 4x faces on | 4x faces off |\n|---|---|---|---|---|\n| 960 x 544, 5 s, 24 fps | 13 s (est.) | 12 s | 36 s (est.) | 34 s |\n| 896 x 1152, 6.6 s, 24 fps | 26 s (est.) | 22 - 24 s | 78 s (est.) | 72 - 75 s |\n| 832 x 1056, 15 s, 48 fps | 46 s | 40 s | 2.7 min | 2.6 min |\n| **8 GB laptop:** 960 x 544, 5 s, 24 fps | 28 s (est.) | 27 s | 2 min (est.) | 118 s |\n| **8 GB laptop:** 832 x 1056, 15 s, 48 fps | 4 min | 3.9 min | 18 min (est.) | 17 min (est.) |\n\n\\* RTX 5090 unless noted, laptop is an RTX 5060 8 GB. Models already downloaded. Faces on finds the faces every 3rd frame and costs about 4 - 15 % (measured on the 15 s clip). (est.) rows are scaled from the measured ones.\n- 💡 VRAM stays flat on 8 GB cards (7.4 GB at 2x), so long clips do not slow to a crawl. The 5090 used 13 GB at 2x and 24 GB at 4x only because it had it free.\n- ⚠️ **16 GB RAM:** the frames sit in RAM before Relay even starts. The 15 s, 48 fps clip peaked at 18.5 GB.\n - Keep clips short, or upscale **before** frame interpolation (half the frames, half the RAM). Recommended, not tested.\n\n---\n\n### Pictures 🖼️\n\n- People actually zoom in on a picture, so 4x is worth it here. Faces cost nothing on a picture (about 4 s either way at 4x, 6 s for a 1056 x 1320 picture).\n- **Quality order:**\n - 4x faces on\n - 2x faces on\n - 4x faces off\n - 2x faces off\n- **Realism and photos:** faces on.\n- **Lineart, anime, painted, etc.:** depends on the face.\n - Smooth or painted skin: faces on (the grain is just noise there).\n - Freckles, hatching or other drawn detail: faces off, or that detail goes soft.\n- Small faces in a crowd: on or off makes no visible difference.\n\n**💡 Tips & tricks**\n- Adjust how much the faces are protected with **mask_protect_strength**.\n- Adjust the sharpness with **detail**.\n\n---\n\n### Settings ⚙️\n\n- **source:**\n - **video:** the frames are matched to each other, so the video stays steady. Use it for anything that came from a video.\n - **image:** every picture is upscaled on its own, so nothing carries over between them. Use it for a batch of different pictures. One picture comes out the same either way.\n- **upscale:** 2x for video, 4x for pictures. Each one is its own model.\n - **2x bf16 / 4x bf16 (10 GB):** the original release. It's an option, but not noticeably different, and it uses about 5 GB more VRAM.\n - Quality: practically identical. The average difference is 0.12 - 0.21 levels out of 255, and the 100% crops can't be told apart.\n - 4x on a 5090: pictures 4 s either way (10 - 11 GB vs 15 - 17 GB VRAM), a 3 s clip 22 s vs 25 s (19 GB vs 24 GB).\n- **detail:** 1.0 is the full model output. Lower moves toward a plain upscale.\n- **detect_faces:** typically on. Off for drawn faces with freckles or hatching.\n- **mask_protect_strength:** how much of Relay's detail still lands on the face. 0.5 is the default. Raise it to keep more texture on stylized faces.\n\n---\n\n### Manual download 📂 (optional)\n\n- The node downloads these on first use. Grab them yourself if you'd rather not wait mid-run.\n\n- [Relay 2x model](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x model](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 model (optional, 10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 model (optional, 10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, optional, 10 GB)\n │ └── wan (4x bf16, optional, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```"
4393 },
4394 "zh": {
4395 "text": "## LC Relay VSR Upscale 🧩\n\n**这是什么?**\n- 一步完成的视频和图片放大器(2x 或 4x)。模型、VAE 和采样器都已内置。速度快、清晰,还能添加真实的皮肤和头发细节。\n- 耗时只有 VOSR2 或 SeedVR2 的一小部分,质量更高。\n- **detect_faces** 会自动找到人脸,并压住 Relay 在脸上的颗粒,让皮肤保持原样。\n- 💡 如果你用了检测修复(detailer),或想保护全部皮肤,把遮罩接到 **protect_mask**。它会覆盖 detect_faces。\n\n- ✋ **首次使用会下载模型:** 每种放大倍数 5.2 GB(bf16 为 10 GB),加一个 128 MB 的 VAE,人脸检测另需 55 MB。开始时会弹出提示。按 Stop 可取消。已经有了?无论放在哪里都能找到。\n\n---\n\n### 视频 🎥\n\n- **2x 开启人脸** 是默认设置。画面在动时,眼睛会直接盯住人脸,其余部分都成了背景噪声。\n - 只有在时间或文件大小成为问题时,才使用 **关闭人脸**。\n- **4x** 能在 8 GB 显卡上运行,但在运动的视频里和 2x 几乎看不出区别。多出来的锐度反而可能让画面更难看。\n- 用 **LC Save Video** 的 **relay** 输入保存。它一次只保存几帧,放大后的视频永远不会整个放进内存(5 秒 4x:0.3 GB,而不是 12 GB)。\n - Relay 节点的 **image** 输出保持空着,否则还是会生成完整视频。\n\n| 视频 | 2x 开启人脸 | 2x 关闭人脸 | 4x 开启人脸 | 4x 关闭人脸 |\n|---|---|---|---|---|\n| 960 x 544,5 秒,24 fps | 13 秒(估计) | 12 秒 | 36 秒(估计) | 34 秒 |\n| 896 x 1152,6.6 秒,24 fps | 26 秒(估计) | 22 - 24 秒 | 78 秒(估计) | 72 - 75 秒 |\n| 832 x 1056,15 秒,48 fps | 46 秒 | 40 秒 | 2.7 分钟 | 2.6 分钟 |\n| **8 GB 笔记本:** 960 x 544,5 秒,24 fps | 28 秒(估计) | 27 秒 | 2 分钟(估计) | 118 秒 |\n| **8 GB 笔记本:** 832 x 1056,15 秒,48 fps | 4 分钟 | 3.9 分钟 | 18 分钟(估计) | 17 分钟(估计) |\n\n\\* 除注明外均为 RTX 5090,笔记本为 RTX 5060 8 GB。模型已下载。开启人脸时每 3 帧检测一次人脸,多花约 4 - 15 %(在 15 秒片段上实测)。(估计)一栏由实测数据推算。\n- 💡 8 GB 显卡上显存占用保持平稳(2x 时 7.4 GB),所以长片段不会越跑越慢。5090 在 2x 用了 13 GB、4x 用了 24 GB,只是因为它有空闲显存。\n- ⚠️ **16 GB 内存:** 在 Relay 开始之前,所有帧就已经放在内存里了。15 秒、48 fps 的片段峰值为 18.5 GB。\n - 片段保持简短,或者在插帧 **之前** 放大(帧数减半,内存减半)。推荐做法,未测试。\n\n---\n\n### 图片 🖼️\n\n- 人们真的会放大查看图片,所以这里 4x 值得。图片上开启人脸几乎不花时间(4x 时开关都约 4 秒,1056 x 1320 的图片约 6 秒)。\n- **质量排序:**\n - 4x 开启人脸\n - 2x 开启人脸\n - 4x 关闭人脸\n - 2x 关闭人脸\n- **写实和照片:** 开启人脸。\n- **线稿、动漫、绘画等:** 取决于脸。\n - 光滑或绘画式的皮肤:开启人脸(那里的颗粒只是噪声)。\n - 雀斑、排线或其他画出来的细节:关闭人脸,否则这些细节会变软。\n- 人群里的小脸:开或关看不出区别。\n\n**💡 小技巧**\n- 用 **mask_protect_strength** 调整人脸受保护的程度。\n- 用 **detail** 调整锐度。\n\n---\n\n### 设置 ⚙️\n\n- **source:**\n - **video:** 帧与帧之间相互匹配,视频保持稳定。凡是来自视频的内容都用它。\n - **image:** 每张图片单独放大,彼此之间不会互相影响。用于一批不同的图片。单张图片两种方式结果相同。\n- **upscale:** 视频用 2x,图片用 4x。每种都是独立的模型。\n - **2x bf16 / 4x bf16(10 GB):** 原始版本。可以选,但看不出明显区别,还要多用约 5 GB 显存。\n - 画质:几乎一样。平均差异只有 0.12 - 0.21(满分 255),100% 裁切图也看不出区别。\n - 5090 上 4x:图片都是 4 秒(显存 10 - 11 GB 对 15 - 17 GB),3 秒视频 22 秒对 25 秒(19 GB 对 24 GB)。\n- **detail:** 1.0 是完整的模型输出。调低会更接近普通放大。\n- **detect_faces:** 通常开启。对带雀斑或排线的手绘脸关闭。\n- **mask_protect_strength:** Relay 的细节还有多少会落到脸上。默认 0.5。调高可以在风格化的脸上保留更多纹理。\n\n---\n\n### 手动下载 📂(可选)\n\n- 节点会在首次使用时下载这些文件。不想在运行中途等待的话,可以自己先下载。\n\n- [Relay 2x 模型](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x 模型](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 模型(可选,10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 模型(可选,10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, 可选, 10 GB)\n │ └── wan (4x bf16, 可选, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```",
4396 "src": "36dc9909",
4397 "srcTitle": "Relay Notes"
4398 },
4399 "zh-TW": {
4400 "text": "## LC Relay VSR Upscale 🧩\n\n**這是什麼?**\n- 一步完成的影片和圖片放大器(2x 或 4x)。模型、VAE 和取樣器都已內建。速度快、清晰,還能加上真實的皮膚和頭髮細節。\n- 耗時只有 VOSR2 或 SeedVR2 的一小部分,品質更高。\n- **detect_faces** 會自動找到人臉,並壓住 Relay 在臉上的顆粒,讓皮膚保持原樣。\n- 💡 如果你用了細節修復(detailer),或想保護全部皮膚,把遮罩接到 **protect_mask**。它會覆蓋 detect_faces。\n\n- ✋ **第一次使用會下載模型:** 每種放大倍數 5.2 GB(bf16 為 10 GB),加一個 128 MB 的 VAE,人臉偵測另需 55 MB。開始時會跳出提示。按 Stop 可取消。已經有了?不論放在哪裡都找得到。\n\n---\n\n### 影片 🎥\n\n- **2x 開啟人臉** 是預設設定。畫面在動時,眼睛會直接盯著人臉,其餘部分都成了背景雜訊。\n - 只有在時間或檔案大小成為問題時,才使用 **關閉人臉**。\n- **4x** 能在 8 GB 顯示卡上執行,但在動態影片裡和 2x 幾乎看不出差別。多出來的銳利度反而可能讓畫面更難看。\n- 用 **LC Save Video** 的 **relay** 輸入儲存。它一次只存幾格,放大後的影片永遠不會整個放進記憶體(5 秒 4x:0.3 GB,而不是 12 GB)。\n - Relay 節點的 **image** 輸出保持空著,否則還是會產生完整影片。\n\n| 影片 | 2x 開啟人臉 | 2x 關閉人臉 | 4x 開啟人臉 | 4x 關閉人臉 |\n|---|---|---|---|---|\n| 960 x 544,5 秒,24 fps | 13 秒(估計) | 12 秒 | 36 秒(估計) | 34 秒 |\n| 896 x 1152,6.6 秒,24 fps | 26 秒(估計) | 22 - 24 秒 | 78 秒(估計) | 72 - 75 秒 |\n| 832 x 1056,15 秒,48 fps | 46 秒 | 40 秒 | 2.7 分鐘 | 2.6 分鐘 |\n| **8 GB 筆電:** 960 x 544,5 秒,24 fps | 28 秒(估計) | 27 秒 | 2 分鐘(估計) | 118 秒 |\n| **8 GB 筆電:** 832 x 1056,15 秒,48 fps | 4 分鐘 | 3.9 分鐘 | 18 分鐘(估計) | 17 分鐘(估計) |\n\n\\* 除註明外皆為 RTX 5090,筆電為 RTX 5060 8 GB。模型已下載。開啟人臉時每 3 格偵測一次人臉,多花約 4 - 15 %(在 15 秒片段上實測)。(估計)欄位由實測數據推算。\n- 💡 8 GB 顯示卡上顯存占用保持平穩(2x 時 7.4 GB),所以長片段不會越跑越慢。5090 在 2x 用了 13 GB、4x 用了 24 GB,只是因為它有空閒顯存。\n- ⚠️ **16 GB 記憶體:** 在 Relay 開始之前,所有畫格就已經放在記憶體裡了。15 秒、48 fps 的片段峰值為 18.5 GB。\n - 片段保持簡短,或者在補幀 **之前** 放大(畫格減半,記憶體減半)。建議做法,未測試。\n\n---\n\n### 圖片 🖼️\n\n- 大家真的會放大檢視圖片,所以這裡 4x 值得。圖片上開啟人臉幾乎不花時間(4x 時開關都約 4 秒,1056 x 1320 的圖片約 6 秒)。\n- **品質排序:**\n - 4x 開啟人臉\n - 2x 開啟人臉\n - 4x 關閉人臉\n - 2x 關閉人臉\n- **寫實和照片:** 開啟人臉。\n- **線稿、動漫、繪畫等:** 取決於臉。\n - 光滑或繪畫式的皮膚:開啟人臉(那裡的顆粒只是雜訊)。\n - 雀斑、排線或其他畫出來的細節:關閉人臉,否則這些細節會變軟。\n- 人群裡的小臉:開或關看不出差別。\n\n**💡 小技巧**\n- 用 **mask_protect_strength** 調整人臉受保護的程度。\n- 用 **detail** 調整銳利度。\n\n---\n\n### 設定 ⚙️\n\n- **source:**\n - **video:** 畫格之間互相匹配,影片保持穩定。凡是來自影片的內容都用它。\n - **image:** 每張圖片單獨放大,彼此之間不會互相影響。用於一批不同的圖片。單張圖片兩種方式結果相同。\n- **upscale:** 影片用 2x,圖片用 4x。每種都是獨立的模型。\n - **2x bf16 / 4x bf16(10 GB):** 原始版本。可以選,但看不出明顯差別,還要多用約 5 GB 顯存。\n - 畫質:幾乎一樣。平均差異只有 0.12 - 0.21(滿分 255),100% 裁切圖也看不出差別。\n - 5090 上 4x:圖片都是 4 秒(顯存 10 - 11 GB 對 15 - 17 GB),3 秒影片 22 秒對 25 秒(19 GB 對 24 GB)。\n- **detail:** 1.0 是完整的模型輸出。調低會更接近一般放大。\n- **detect_faces:** 通常開啟。對帶雀斑或排線的手繪臉關閉。\n- **mask_protect_strength:** Relay 的細節還有多少會落到臉上。預設 0.5。調高可以在風格化的臉上保留更多紋理。\n\n---\n\n### 手動下載 📂(可選)\n\n- 節點會在第一次使用時下載這些檔案。不想在執行中途等待的話,可以自己先下載。\n\n- [Relay 2x 模型](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x 模型](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 模型(選用,10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 模型(選用,10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, 選用, 10 GB)\n │ └── wan (4x bf16, 選用, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```",
4401 "src": "36dc9909",
4402 "srcTitle": "Relay Notes"
4403 },
4404 "ja": {
4405 "text": "## LC Relay VSR Upscale 🧩\n\n**これは何?**\n- 動画と画像を1ステップで拡大するアップスケーラー(2x または 4x)。モデル、VAE、サンプラーはすべて内蔵。速くてシャープ、本物の肌と髪のディテールを加えます。\n- VOSR2 や SeedVR2 のほんの一部の時間で、しかも高品質。\n- **detect_faces** が顔を自動で見つけ、顔の上の Relay の粒状感を抑えるので、肌の見た目がそのまま残ります。\n- 💡 ディテーラーを使った場合や肌全体を守りたい場合は、マスクを **protect_mask** につなぎます。detect_faces より優先されます。\n\n- ✋ **初回使用時にモデルをダウンロードします:** 拡大サイズごとに 5.2 GB(bf16 は 10 GB)と 128 MB の VAE、顔検出用に 55 MB。開始するとトーストが出ます。Stop でキャンセル。もう持っている? どこに置いてあっても見つかります。\n\n---\n\n### 動画 🎥\n\n- **2x 顔オン** がデフォルト。動いている映像では目はまっすぐ顔に向かい、それ以外は背景のノイズになります。\n - **顔オフ** は時間やファイルサイズが問題になるときだけ使います。\n- **4x** は 8 GB のカードでも動きますが、動いている映像では 2x とほとんど違いが分かりません。余分なシャープさでかえって悪く見えることもあります。\n- **LC Save Video** の **relay** 入力で保存します。数フレームずつ保存するので、拡大した動画が丸ごとメモリに乗ることはありません(5 秒の 4x:12 GB ではなく 0.3 GB)。\n - Relay ノードの **image** 出力は空けておきます。つなぐと結局フル動画が作られます。\n\n| 動画 | 2x 顔オン | 2x 顔オフ | 4x 顔オン | 4x 顔オフ |\n|---|---|---|---|---|\n| 960 x 544、5 秒、24 fps | 13 秒(推定) | 12 秒 | 36 秒(推定) | 34 秒 |\n| 896 x 1152、6.6 秒、24 fps | 26 秒(推定) | 22 - 24 秒 | 78 秒(推定) | 72 - 75 秒 |\n| 832 x 1056、15 秒、48 fps | 46 秒 | 40 秒 | 2.7 分 | 2.6 分 |\n| **8 GB ノートPC:** 960 x 544、5 秒、24 fps | 28 秒(推定) | 27 秒 | 2 分(推定) | 118 秒 |\n| **8 GB ノートPC:** 832 x 1056、15 秒、48 fps | 4 分 | 3.9 分 | 18 分(推定) | 17 分(推定) |\n\n\\* 注記がなければ RTX 5090、ノートPC は RTX 5060 8 GB。モデルはダウンロード済み。顔オンは 3 フレームごとに顔を検出し、約 4 - 15 % 余分にかかります(15 秒のクリップで実測)。(推定)は実測値から換算しています。\n- 💡 8 GB のカードでは VRAM が一定のまま(2x で 7.4 GB)なので、長いクリップでも極端に遅くなりません。5090 が 2x で 13 GB、4x で 24 GB 使ったのは、空きがあったからにすぎません。\n- ⚠️ **16 GB RAM:** Relay が始まる前に、フレームはすでにメモリに乗っています。15 秒、48 fps のクリップはピーク 18.5 GB。\n - クリップは短くするか、フレーム補間の **前に** 拡大します(フレームが半分、RAM も半分)。推奨、未テスト。\n\n---\n\n### 画像 🖼️\n\n- 画像は実際にズームして見られるので、ここでは 4x の価値があります。画像なら顔オンの時間はほぼゼロ(4x でオンでもオフでも約 4 秒、1056 x 1320 の画像で 6 秒)。\n- **品質の順番:**\n - 4x 顔オン\n - 2x 顔オン\n - 4x 顔オフ\n - 2x 顔オフ\n- **リアル系と写真:** 顔オン。\n- **線画、アニメ、ペイント系など:** 顔しだい。\n - なめらかな肌やペイントの肌:顔オン(そこでは粒状感はただのノイズ)。\n - そばかす、ハッチング、その他描き込まれたディテール:顔オフ。そうしないとそのディテールがぼやけます。\n- 群衆の中の小さな顔:オンでもオフでも見た目の違いはありません。\n\n**💡 コツ**\n- 顔の守り具合は **mask_protect_strength** で調整します。\n- シャープさは **detail** で調整します。\n\n---\n\n### 設定 ⚙️\n\n- **source:**\n - **video:** フレーム同士を合わせるので、動画が安定します。動画から来たものすべてに使います。\n - **image:** 画像ごとに個別に拡大するので、画像間で何も引き継がれません。別々の画像のバッチに使います。画像1枚ならどちらでも同じ結果です。\n- **upscale:** 動画は 2x、画像は 4x。それぞれ別のモデルです。\n - **2x bf16 / 4x bf16(10 GB):** オリジナル版。選べますが、目に見える違いはなく、VRAM を約 5 GB 多く使います。\n - 画質:ほぼ同じ。平均差は 255 段階中 0.12 - 0.21 で、100% の切り抜きでも見分けがつきません。\n - 5090 で 4x:画像はどちらも 4 秒(VRAM 10 - 11 GB 対 15 - 17 GB)、3 秒のクリップは 22 秒対 25 秒(19 GB 対 24 GB)。\n- **detail:** 1.0 がモデルのフル出力。下げるほど普通の拡大に近づきます。\n- **detect_faces:** 通常はオン。そばかすやハッチングのある描かれた顔ではオフ。\n- **mask_protect_strength:** Relay のディテールが顔にどれだけ乗るか。デフォルトは 0.5。上げると様式化された顔のテクスチャがより残ります。\n\n---\n\n### 手動ダウンロード 📂(任意)\n\n- ノードは初回使用時にこれらをダウンロードします。実行中に待ちたくなければ、自分で先に入手してください。\n\n- [Relay 2x モデル](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x モデル](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 モデル(任意、10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 モデル(任意、10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, 任意, 10 GB)\n │ └── wan (4x bf16, 任意, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```",
4406 "src": "36dc9909",
4407 "srcTitle": "Relay Notes"
4408 },
4409 "ko": {
4410 "text": "## LC Relay VSR Upscale 🧩\n\n**이게 뭔가요?**\n- 영상과 사진을 한 번에 키우는 업스케일러(2x 또는 4x). 모델, VAE, 샘플러가 모두 내장되어 있습니다. 빠르고 선명하며, 실제 피부와 머리카락 디테일을 더합니다.\n- VOSR2나 SeedVR2에 걸리는 시간의 일부만 들고, 품질은 더 높습니다.\n- **detect_faces**가 얼굴을 스스로 찾아 얼굴 위의 Relay 그레인을 눌러 주므로, 피부가 원래 모습을 유지합니다.\n- 💡 디테일러를 썼거나 피부 전체를 보호하고 싶다면 마스크를 **protect_mask**에 연결하세요. detect_faces보다 우선합니다.\n\n- ✋ **첫 사용 시 모델을 다운로드합니다:** 업스케일 크기마다 5.2 GB(bf16은 10 GB)와 128 MB VAE, 얼굴 감지용 55 MB. 시작하면 토스트 알림이 뜹니다. Stop을 누르면 취소됩니다. 이미 있나요? 어디에 두었든 찾아냅니다.\n\n---\n\n### 영상 🎥\n\n- **2x 얼굴 켜기**가 기본입니다. 화면이 움직일 때 눈은 곧장 얼굴로 가고, 나머지는 배경 노이즈가 됩니다.\n - **얼굴 끄기**는 시간이나 파일 크기가 문제일 때만 쓰세요.\n- **4x**는 8 GB 카드에서도 돌아가지만, 움직이는 영상에서는 2x와 거의 차이가 없습니다. 오히려 과한 선명함 때문에 더 나빠 보일 수 있습니다.\n- **LC Save Video**의 **relay** 입력으로 저장하세요. 몇 프레임씩 저장하므로, 업스케일된 영상이 통째로 RAM에 올라가지 않습니다(5초 4x: 12 GB 대신 0.3 GB).\n - Relay 노드의 **image** 출력은 비워 두세요. 연결하면 결국 전체 영상이 만들어집니다.\n\n| 영상 | 2x 얼굴 켜기 | 2x 얼굴 끄기 | 4x 얼굴 켜기 | 4x 얼굴 끄기 |\n|---|---|---|---|---|\n| 960 x 544, 5초, 24 fps | 13초 (추정) | 12초 | 36초 (추정) | 34초 |\n| 896 x 1152, 6.6초, 24 fps | 26초 (추정) | 22 - 24초 | 78초 (추정) | 72 - 75초 |\n| 832 x 1056, 15초, 48 fps | 46초 | 40초 | 2.7분 | 2.6분 |\n| **8 GB 노트북:** 960 x 544, 5초, 24 fps | 28초 (추정) | 27초 | 2분 (추정) | 118초 |\n| **8 GB 노트북:** 832 x 1056, 15초, 48 fps | 4분 | 3.9분 | 18분 (추정) | 17분 (추정) |\n\n\\* 따로 적지 않으면 RTX 5090, 노트북은 RTX 5060 8 GB. 모델은 다운로드된 상태. 얼굴 켜기는 3프레임마다 얼굴을 찾으며 약 4 - 15 % 더 걸립니다(15초 클립에서 측정). (추정)은 측정값을 바탕으로 계산했습니다.\n- 💡 8 GB 카드에서는 VRAM이 일정하게 유지되므로(2x에서 7.4 GB), 긴 클립도 크게 느려지지 않습니다. 5090이 2x에서 13 GB, 4x에서 24 GB를 쓴 것은 여유가 있었기 때문일 뿐입니다.\n- ⚠️ **16 GB RAM:** Relay가 시작되기 전에 프레임이 이미 RAM에 올라가 있습니다. 15초, 48 fps 클립은 최고 18.5 GB였습니다.\n - 클립을 짧게 하거나, 프레임 보간 **전에** 업스케일하세요(프레임 절반, RAM 절반). 권장, 테스트 안 됨.\n\n---\n\n### 사진 🖼️\n\n- 사람들은 사진을 실제로 확대해서 보므로, 여기서는 4x가 그만한 값을 합니다. 사진에서는 얼굴 켜기에 드는 시간이 거의 없습니다(4x에서 켜든 끄든 약 4초, 1056 x 1320 사진은 6초).\n- **품질 순서:**\n - 4x 얼굴 켜기\n - 2x 얼굴 켜기\n - 4x 얼굴 끄기\n - 2x 얼굴 끄기\n- **실사와 사진:** 얼굴 켜기.\n- **라인아트, 애니메이션, 페인팅 등:** 얼굴에 따라 다릅니다.\n - 매끈하거나 칠한 피부: 얼굴 켜기(거기서는 그레인이 그냥 노이즈입니다).\n - 주근깨, 해칭 등 그려 넣은 디테일: 얼굴 끄기. 안 그러면 그 디테일이 뭉개집니다.\n- 군중 속 작은 얼굴: 켜든 끄든 눈에 띄는 차이가 없습니다.\n\n**💡 팁**\n- 얼굴을 얼마나 보호할지는 **mask_protect_strength**로 조절합니다.\n- 선명도는 **detail**로 조절합니다.\n\n---\n\n### 설정 ⚙️\n\n- **source:**\n - **video:** 프레임끼리 서로 맞추므로 영상이 안정적입니다. 영상에서 나온 것에는 모두 이것을 쓰세요.\n - **image:** 사진마다 따로 업스케일하므로 사진 사이에 아무것도 이어지지 않습니다. 서로 다른 사진 묶음에 쓰세요. 사진 한 장은 어느 쪽이든 결과가 같습니다.\n- **upscale:** 영상은 2x, 사진은 4x. 각각 별도의 모델입니다.\n - **2x bf16 / 4x bf16 (10 GB):** 원본 릴리스. 선택할 수 있지만 눈에 띄는 차이가 없고 VRAM을 약 5 GB 더 씁니다.\n - 화질: 사실상 같습니다. 평균 차이는 255단계 중 0.12 - 0.21이고, 100% 크롭으로도 구분이 안 됩니다.\n - 5090에서 4x: 사진은 둘 다 4초(VRAM 10 - 11 GB 대 15 - 17 GB), 3초 클립은 22초 대 25초(19 GB 대 24 GB).\n- **detail:** 1.0이 모델의 전체 출력입니다. 낮출수록 일반 업스케일에 가까워집니다.\n- **detect_faces:** 보통 켭니다. 주근깨나 해칭이 있는 그린 얼굴에서는 끕니다.\n- **mask_protect_strength:** Relay의 디테일이 얼굴에 얼마나 남는지. 기본값 0.5. 높이면 스타일화된 얼굴에 텍스처가 더 남습니다.\n\n---\n\n### 수동 다운로드 📂 (선택)\n\n- 노드가 첫 사용 시 이 파일들을 다운로드합니다. 실행 도중 기다리기 싫다면 직접 받아 두세요.\n\n- [Relay 2x 모델](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x 모델](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 모델 (선택, 10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 모델 (선택, 10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, 선택, 10 GB)\n │ └── wan (4x bf16, 선택, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```",
4411 "src": "36dc9909",
4412 "srcTitle": "Relay Notes"
4413 }
4414 },
4415 "titles": {
4416 "en": "Relay Notes",
4417 "zh": "中继笔记",
4418 "zh-TW": "中繼筆記",
4419 "ja": "Relay メモ",
4420 "ko": "Relay 노트"
4421 }
4422 },
4423 "ue_properties": {
4424 "widget_ue_connectable": [],
4425 "version": "7.8",
4426 "input_ue_unconnectable": []
4427 }
4428 },
4429 "widgets_values": [
4430 "English ✏️",
4431 "## LC Relay VSR Upscale 🧩\n\n**What is it?**\n- A one-step upscaler for video and pictures (2x or 4x). The model, VAE and sampler are built in. Fast, sharp, and it adds real skin and hair detail.\n- A fraction of the time VOSR2 or SeedVR2 takes, and higher quality.\n- **detect_faces** finds the faces on its own and holds back Relay's grain on them, so skin keeps its look.\n- 💡 If you used detailers or want all skin protected, wire a mask into **protect_mask**. It overrides detect_faces.\n\n- ✋ **First use downloads the models:** 5.2 GB per upscale size (10 GB for bf16) plus a 128 MB VAE, and 55 MB for the face finder. A toast tells you it started. Press Stop to cancel. Already have them? They are found wherever they are.\n\n---\n\n### Videos 🎥\n\n- **2x faces on** is the default. Your eye goes straight to the faces when things are moving, and everything else is background noise.\n - Use **faces off** only when time or file size is the problem.\n- **4x** runs on an 8 GB card, but on a moving video it looks barely different from 2x. Extra sharpness can actually make it look worse.\n- Save with **LC Save Video**'s **relay** input. It saves a few frames at a time, so the upscaled video never sits in RAM (5 s at 4x: 0.3 GB instead of 12 GB).\n - Leave the Relay node's **image** output empty, or the full video gets built anyway.\n\n| Video | 2x faces on | 2x faces off | 4x faces on | 4x faces off |\n|---|---|---|---|---|\n| 960 x 544, 5 s, 24 fps | 13 s (est.) | 12 s | 36 s (est.) | 34 s |\n| 896 x 1152, 6.6 s, 24 fps | 26 s (est.) | 22 - 24 s | 78 s (est.) | 72 - 75 s |\n| 832 x 1056, 15 s, 48 fps | 46 s | 40 s | 2.7 min | 2.6 min |\n| **8 GB laptop:** 960 x 544, 5 s, 24 fps | 28 s (est.) | 27 s | 2 min (est.) | 118 s |\n| **8 GB laptop:** 832 x 1056, 15 s, 48 fps | 4 min | 3.9 min | 18 min (est.) | 17 min (est.) |\n\n\\* RTX 5090 unless noted, laptop is an RTX 5060 8 GB. Models already downloaded. Faces on finds the faces every 3rd frame and costs about 4 - 15 % (measured on the 15 s clip). (est.) rows are scaled from the measured ones.\n- 💡 VRAM stays flat on 8 GB cards (7.4 GB at 2x), so long clips do not slow to a crawl. The 5090 used 13 GB at 2x and 24 GB at 4x only because it had it free.\n- ⚠️ **16 GB RAM:** the frames sit in RAM before Relay even starts. The 15 s, 48 fps clip peaked at 18.5 GB.\n - Keep clips short, or upscale **before** frame interpolation (half the frames, half the RAM). Recommended, not tested.\n\n---\n\n### Pictures 🖼️\n\n- People actually zoom in on a picture, so 4x is worth it here. Faces cost nothing on a picture (about 4 s either way at 4x, 6 s for a 1056 x 1320 picture).\n- **Quality order:**\n - 4x faces on\n - 2x faces on\n - 4x faces off\n - 2x faces off\n- **Realism and photos:** faces on.\n- **Lineart, anime, painted, etc.:** depends on the face.\n - Smooth or painted skin: faces on (the grain is just noise there).\n - Freckles, hatching or other drawn detail: faces off, or that detail goes soft.\n- Small faces in a crowd: on or off makes no visible difference.\n\n**💡 Tips & tricks**\n- Adjust how much the faces are protected with **mask_protect_strength**.\n- Adjust the sharpness with **detail**.\n\n---\n\n### Settings ⚙️\n\n- **source:**\n - **video:** the frames are matched to each other, so the video stays steady. Use it for anything that came from a video.\n - **image:** every picture is upscaled on its own, so nothing carries over between them. Use it for a batch of different pictures. One picture comes out the same either way.\n- **upscale:** 2x for video, 4x for pictures. Each one is its own model.\n - **2x bf16 / 4x bf16 (10 GB):** the original release. It's an option, but not noticeably different, and it uses about 5 GB more VRAM.\n - Quality: practically identical. The average difference is 0.12 - 0.21 levels out of 255, and the 100% crops can't be told apart.\n - 4x on a 5090: pictures 4 s either way (10 - 11 GB vs 15 - 17 GB VRAM), a 3 s clip 22 s vs 25 s (19 GB vs 24 GB).\n- **detail:** 1.0 is the full model output. Lower moves toward a plain upscale.\n- **detect_faces:** typically on. Off for drawn faces with freckles or hatching.\n- **mask_protect_strength:** how much of Relay's detail still lands on the face. 0.5 is the default. Raise it to keep more texture on stylized faces.\n\n---\n\n### Manual download 📂 (optional)\n\n- The node downloads these on first use. Grab them yourself if you'd rather not wait mid-run.\n\n- [Relay 2x model](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x model](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 model (optional, 10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 model (optional, 10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, optional, 10 GB)\n │ └── wan (4x bf16, optional, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```"
4432 ],
4433 "widgets_values_named": {
4434 "language": "English ✏️",
4435 "text": "## LC Relay VSR Upscale 🧩\n\n**What is it?**\n- A one-step upscaler for video and pictures (2x or 4x). The model, VAE and sampler are built in. Fast, sharp, and it adds real skin and hair detail.\n- A fraction of the time VOSR2 or SeedVR2 takes, and higher quality.\n- **detect_faces** finds the faces on its own and holds back Relay's grain on them, so skin keeps its look.\n- 💡 If you used detailers or want all skin protected, wire a mask into **protect_mask**. It overrides detect_faces.\n\n- ✋ **First use downloads the models:** 5.2 GB per upscale size (10 GB for bf16) plus a 128 MB VAE, and 55 MB for the face finder. A toast tells you it started. Press Stop to cancel. Already have them? They are found wherever they are.\n\n---\n\n### Videos 🎥\n\n- **2x faces on** is the default. Your eye goes straight to the faces when things are moving, and everything else is background noise.\n - Use **faces off** only when time or file size is the problem.\n- **4x** runs on an 8 GB card, but on a moving video it looks barely different from 2x. Extra sharpness can actually make it look worse.\n- Save with **LC Save Video**'s **relay** input. It saves a few frames at a time, so the upscaled video never sits in RAM (5 s at 4x: 0.3 GB instead of 12 GB).\n - Leave the Relay node's **image** output empty, or the full video gets built anyway.\n\n| Video | 2x faces on | 2x faces off | 4x faces on | 4x faces off |\n|---|---|---|---|---|\n| 960 x 544, 5 s, 24 fps | 13 s (est.) | 12 s | 36 s (est.) | 34 s |\n| 896 x 1152, 6.6 s, 24 fps | 26 s (est.) | 22 - 24 s | 78 s (est.) | 72 - 75 s |\n| 832 x 1056, 15 s, 48 fps | 46 s | 40 s | 2.7 min | 2.6 min |\n| **8 GB laptop:** 960 x 544, 5 s, 24 fps | 28 s (est.) | 27 s | 2 min (est.) | 118 s |\n| **8 GB laptop:** 832 x 1056, 15 s, 48 fps | 4 min | 3.9 min | 18 min (est.) | 17 min (est.) |\n\n\\* RTX 5090 unless noted, laptop is an RTX 5060 8 GB. Models already downloaded. Faces on finds the faces every 3rd frame and costs about 4 - 15 % (measured on the 15 s clip). (est.) rows are scaled from the measured ones.\n- 💡 VRAM stays flat on 8 GB cards (7.4 GB at 2x), so long clips do not slow to a crawl. The 5090 used 13 GB at 2x and 24 GB at 4x only because it had it free.\n- ⚠️ **16 GB RAM:** the frames sit in RAM before Relay even starts. The 15 s, 48 fps clip peaked at 18.5 GB.\n - Keep clips short, or upscale **before** frame interpolation (half the frames, half the RAM). Recommended, not tested.\n\n---\n\n### Pictures 🖼️\n\n- People actually zoom in on a picture, so 4x is worth it here. Faces cost nothing on a picture (about 4 s either way at 4x, 6 s for a 1056 x 1320 picture).\n- **Quality order:**\n - 4x faces on\n - 2x faces on\n - 4x faces off\n - 2x faces off\n- **Realism and photos:** faces on.\n- **Lineart, anime, painted, etc.:** depends on the face.\n - Smooth or painted skin: faces on (the grain is just noise there).\n - Freckles, hatching or other drawn detail: faces off, or that detail goes soft.\n- Small faces in a crowd: on or off makes no visible difference.\n\n**💡 Tips & tricks**\n- Adjust how much the faces are protected with **mask_protect_strength**.\n- Adjust the sharpness with **detail**.\n\n---\n\n### Settings ⚙️\n\n- **source:**\n - **video:** the frames are matched to each other, so the video stays steady. Use it for anything that came from a video.\n - **image:** every picture is upscaled on its own, so nothing carries over between them. Use it for a batch of different pictures. One picture comes out the same either way.\n- **upscale:** 2x for video, 4x for pictures. Each one is its own model.\n - **2x bf16 / 4x bf16 (10 GB):** the original release. It's an option, but not noticeably different, and it uses about 5 GB more VRAM.\n - Quality: practically identical. The average difference is 0.12 - 0.21 levels out of 255, and the 100% crops can't be told apart.\n - 4x on a 5090: pictures 4 s either way (10 - 11 GB vs 15 - 17 GB VRAM), a 3 s clip 22 s vs 25 s (19 GB vs 24 GB).\n- **detail:** 1.0 is the full model output. Lower moves toward a plain upscale.\n- **detect_faces:** typically on. Off for drawn faces with freckles or hatching.\n- **mask_protect_strength:** how much of Relay's detail still lands on the face. 0.5 is the default. Raise it to keep more texture on stylized faces.\n\n---\n\n### Manual download 📂 (optional)\n\n- The node downloads these on first use. Grab them yourself if you'd rather not wait mid-run.\n\n- [Relay 2x model](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x2_lightx2v_int8_convrot.safetensors?download=true)\n\n- [Relay 2x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x2_fp32.safetensors?download=true)\n\n- [Relay 4x model](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/diffusion_models/relayvsr_x4_int8_convrot.safetensors?download=true)\n\n- [Relay 4x VAE](https://huggingface.co/Comfy-Org/RelayVSR/resolve/main/vae/relayvsr_flash_vae_x4_fp32.safetensors?download=true)\n\n- [Relay 4x bf16 model (optional, 10 GB)](https://huggingface.co/kopper/RelayVSR/resolve/main/wan.safetensors?download=true)\n\n- [Relay 2x bf16 model (optional, 10 GB)](https://huggingface.co/lightx2v/RelayVSR_X2/resolve/main/wan_x2.safetensors?download=true)\n\n```\nComfyUI/\n└── models/\n ├── diffusion_models/\n │ ├── relayvsr_x2_lightx2v_int8_convrot (5.2 GB)\n │ ├── relayvsr_x4_int8_convrot (5.2 GB)\n │ ├── wan_x2 (2x bf16, optional, 10 GB)\n │ └── wan (4x bf16, optional, 10 GB)\n ├── vae/\n │ ├── relayvsr_flash_vae_x2_fp32\n │ └── relayvsr_flash_vae_x4_fp32\n └── facexlib/\n ├── detection_mobilenet0.25_Final.pth\n └── parsing_bisenet.pth\n```"
4436 },
4437 "color": "#2E3A46",
4438 "bgcolor": "#2E3A46"
4439 },
4440 {
4441 "id": 259,
4442 "type": "LCNote",
4443 "pos": [
4444 3690,
4445 2680
4446 ],
4447 "size": [
4448 870,
4449 500
4450 ],
4451 "flags": [],
4452 "order": 32,
4453 "mode": 0,
4454 "inputs": [],
4455 "outputs": [],
4456 "title": "Optimal setups and times ⏱️",
4457 "properties": {
4458 "lc_note": {
4459 "source": "en",
4460 "texts": {
4461 "en": {
4462 "text": "# 💡 Optimal Setups \n\n6 s clip at 736 x 928.\n\n| Setup | RTX 5090 | 8 GB laptop | GPU | RAM | Result |\n|---|---|---|---|---|---|\n| ErosMax bf16, 8 steps | 99 s | won't fit | 16 GB+ (est.) | 96 GB+ (est.) | Sharpest, most detail |\n| ErosMax int8, 8 steps | 63 s | 10 min | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Same picture as bf16 |\n| Stock int8 + turbo LoRA 0.7, 12 steps | 91 s | 13 min | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Best face hold, steadiest. About 12% less fine detail |\n| Stock int8 + True4 LoRA, 4 steps | 37 s | 7.5 min (est.) | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Fastest. Softer, face drifts a little |\n| True4 + Relay 2x | 51 s | 8.5 min (est.) | 8 GB | same as above | Twice the size. Beats ErosMax bf16 by eye |\n| ErosMax + True4 LoRA, 4 steps | 56 s | 6.5 min (est.) | 8 GB (int8) | 64 GB | Worse than True4 on stock |\n\n| Add-on | Time | Cost |\n|---|---|---|\n| Sage attention or Comfy Kitchen | base | none |\n| Neither | +74% | none, just slow |\n| Veda | -15% | Slightly softer, face drifts a little |\n| Spectrum | -16% (-23% at 0.4 MP) | About 10% less detail at 1 MP. Blobs on busy wide shots |\n| Veda + Spectrum | -29% (-22% on 8 GB) | About 15% less detail. On 8 GB, no better than one alone |\n| Lokken text encoder | -3% on 8 GB, +8% on 5090 | Same picture. 17 GB file instead of 48 GB: the RAM saver |\n| Kijai low-VRAM nodes | +1% to +20% | No benefit |\n\n💡 **16 GB RAM:** int8 model + Lokken TE + a large page file. It runs, but expect disk swapping to add minutes (est.).\n\n*Times are warm (models loaded). 5090 and laptop (RTX 5060 8 GB, 64 GB RAM) times are measured unless marked (est.). Estimates are scaled from the measured runs: per-step time, model and text encoder file sizes, and Relay speed on the laptop. GPU = the smallest card that runs it; everything int8 peaked at 6.3 to 7 GB on the 8 GB card. Add-on percentages come from runs at other sizes (896 x 1152 on the 5090, 576 x 704 to 736 x 928 on the laptop). Your times will vary with your card, RAM, drive speed and resolution.*"
4463 },
4464 "zh": {
4465 "text": "# 💡 最佳设置\n\n6 秒视频,736 x 928。\n\n| 设置 | RTX 5090 | 8 GB 笔记本 | 显卡 | 内存 | 效果 |\n|---|---|---|---|---|---|\n| ErosMax bf16,8 步 | 99 秒 | 放不下 | 16 GB+(估) | 96 GB+(估) | 最清晰,细节最多 |\n| ErosMax int8,8 步 | 63 秒 | 10 分钟 | 8 GB | 64 GB(配 Lokken TE 为 32 GB,估) | 画面和 bf16 一样 |\n| 原版 int8 + turbo LoRA 0.7,12 步 | 91 秒 | 13 分钟 | 8 GB | 64 GB(配 Lokken TE 为 32 GB,估) | 脸最稳,画面最稳。细节少约 12% |\n| 原版 int8 + True4 LoRA,4 步 | 37 秒 | 7.5 分钟(估) | 8 GB | 64 GB(配 Lokken TE 为 32 GB,估) | 最快。偏软,脸会轻微漂移 |\n| True4 + Relay 2x | 51 秒 | 8.5 分钟(估) | 8 GB | 同上 | 尺寸翻倍。肉眼看胜过 ErosMax bf16 |\n| ErosMax + True4 LoRA,4 步 | 56 秒 | 6.5 分钟(估) | 8 GB(int8) | 64 GB | 不如原版上的 True4 |\n\n| 附加项 | 时间 | 代价 |\n|---|---|---|\n| Sage attention 或 Comfy Kitchen | 基准 | 无 |\n| 两者都不用 | +74% | 无,只是慢 |\n| Veda | -15% | 稍软,脸会轻微漂移 |\n| Spectrum | -16%(0.4 MP 时 -23%) | 1 MP 时细节少约 10%。复杂的远景会出现色块 |\n| Veda + Spectrum | -29%(8 GB 上 -22%) | 细节少约 15%。8 GB 上不比单用一个好 |\n| Lokken 文本编码器 | 8 GB 上 -3%,5090 上 +8% | 画面相同。17 GB 文件代替 48 GB:省内存 |\n| Kijai 低显存节点 | +1% 到 +20% | 没有好处 |\n\n💡 **16 GB 内存:** int8 模型 + Lokken TE + 大的虚拟内存(页面文件)。能跑,但磁盘交换会多花几分钟(估)。\n\n*时间为热启动(模型已加载)。5090 和笔记本(RTX 5060 8 GB,64 GB 内存)的时间为实测,标(估)的除外。估算由实测数据推算:每步时间、模型和文本编码器文件大小,以及笔记本上的 Relay 速度。显卡 = 能跑的最小显卡;所有 int8 在 8 GB 卡上峰值为 6.3 到 7 GB。附加项百分比来自其他尺寸的测试(5090 上 896 x 1152,笔记本上 576 x 704 到 736 x 928)。实际时间取决于你的显卡、内存、硬盘速度和分辨率。*",
4466 "src": "406978f4",
4467 "srcTitle": "Optimal setups and times ⏱️"
4468 },
4469 "ja": {
4470 "text": "# 💡 最適な設定\n\n6 秒のクリップ、736 x 928。\n\n| 設定 | RTX 5090 | 8 GB ノート | GPU | RAM | 結果 |\n|---|---|---|---|---|---|\n| ErosMax bf16、8 ステップ | 99 秒 | 載らない | 16 GB+(推定) | 96 GB+(推定) | 最もシャープ、ディテール最多 |\n| ErosMax int8、8 ステップ | 63 秒 | 10 分 | 8 GB | 64 GB(Lokken TE なら 32 GB、推定) | bf16 と同じ絵 |\n| 標準 int8 + turbo LoRA 0.7、12 ステップ | 91 秒 | 13 分 | 8 GB | 64 GB(Lokken TE なら 32 GB、推定) | 顔の保持が最良、最も安定。細部は約 12% 減 |\n| 標準 int8 + True4 LoRA、4 ステップ | 37 秒 | 7.5 分(推定) | 8 GB | 64 GB(Lokken TE なら 32 GB、推定) | 最速。やや柔らかく、顔が少しずれる |\n| True4 + Relay 2x | 51 秒 | 8.5 分(推定) | 8 GB | 同上 | サイズ 2 倍。見た目は ErosMax bf16 より上 |\n| ErosMax + True4 LoRA、4 ステップ | 56 秒 | 6.5 分(推定) | 8 GB(int8) | 64 GB | 標準モデルの True4 より劣る |\n\n| 追加 | 時間 | 代償 |\n|---|---|---|\n| Sage attention または Comfy Kitchen | 基準 | なし |\n| どちらも使わない | +74% | なし、遅いだけ |\n| Veda | -15% | やや柔らかく、顔が少しずれる |\n| Spectrum | -16%(0.4 MP で -23%) | 1 MP で細部が約 10% 減。込み入った引きの画で色の塊が出る |\n| Veda + Spectrum | -29%(8 GB で -22%) | 細部が約 15% 減。8 GB では片方だけと変わらない |\n| Lokken テキストエンコーダー | 8 GB で -3%、5090 で +8% | 同じ絵。48 GB の代わりに 17 GB:RAM の節約 |\n| Kijai 低 VRAM ノード | +1% から +20% | 効果なし |\n\n💡 **RAM 16 GB:** int8 モデル + Lokken TE + 大きめのページファイル。動きますが、ディスクのスワップで数分余計にかかります(推定)。\n\n*時間はウォーム状態(モデル読み込み済み)。5090 とノート(RTX 5060 8 GB、RAM 64 GB)の時間は(推定)以外すべて実測。推定は実測から算出:1 ステップあたりの時間、モデルとテキストエンコーダーのファイルサイズ、ノートでの Relay の速度。GPU = 動く最小のカード。int8 はすべて 8 GB カードでピーク 6.3〜7 GB。追加の % は別サイズでの計測(5090 は 896 x 1152、ノートは 576 x 704〜736 x 928)。実際の時間はカード、RAM、ドライブ速度、解像度で変わります。*",
4471 "src": "406978f4",
4472 "srcTitle": "Optimal setups and times ⏱️"
4473 },
4474 "ko": {
4475 "text": "# 💡 최적 설정\n\n6초 클립, 736 x 928.\n\n| 설정 | RTX 5090 | 8 GB 노트북 | GPU | RAM | 결과 |\n|---|---|---|---|---|---|\n| ErosMax bf16, 8스텝 | 99초 | 안 들어감 | 16 GB+ (추정) | 96 GB+ (추정) | 가장 선명, 디테일 최다 |\n| ErosMax int8, 8스텝 | 63초 | 10분 | 8 GB | 64 GB (Lokken TE면 32 GB, 추정) | bf16과 같은 그림 |\n| 기본 int8 + turbo LoRA 0.7, 12스텝 | 91초 | 13분 | 8 GB | 64 GB (Lokken TE면 32 GB, 추정) | 얼굴 유지 최고, 가장 안정적. 디테일 약 12% 적음 |\n| 기본 int8 + True4 LoRA, 4스텝 | 37초 | 7.5분 (추정) | 8 GB | 64 GB (Lokken TE면 32 GB, 추정) | 가장 빠름. 부드러워지고 얼굴이 조금 바뀜 |\n| True4 + Relay 2x | 51초 | 8.5분 (추정) | 8 GB | 위와 같음 | 크기 2배. 눈으로 보면 ErosMax bf16보다 나음 |\n| ErosMax + True4 LoRA, 4스텝 | 56초 | 6.5분 (추정) | 8 GB (int8) | 64 GB | 기본 모델의 True4보다 못함 |\n\n| 추가 옵션 | 시간 | 대가 |\n|---|---|---|\n| Sage attention 또는 Comfy Kitchen | 기준 | 없음 |\n| 둘 다 안 씀 | +74% | 없음, 느릴 뿐 |\n| Veda | -15% | 조금 부드러워지고 얼굴이 조금 바뀜 |\n| Spectrum | -16% (0.4 MP에서 -23%) | 1 MP에서 디테일 약 10% 감소. 복잡한 와이드 샷에 얼룩 |\n| Veda + Spectrum | -29% (8 GB에서 -22%) | 디테일 약 15% 감소. 8 GB에서는 하나만 쓸 때와 같음 |\n| Lokken 텍스트 인코더 | 8 GB에서 -3%, 5090에서 +8% | 같은 그림. 48 GB 대신 17 GB: RAM 절약 |\n| Kijai 저 VRAM 노드 | +1% ~ +20% | 이점 없음 |\n\n💡 **RAM 16 GB:** int8 모델 + Lokken TE + 큰 페이지 파일. 돌아가지만 디스크 스왑으로 몇 분 더 걸립니다 (추정).\n\n*시간은 워밍 상태(모델 로드됨). 5090과 노트북(RTX 5060 8 GB, RAM 64 GB) 시간은 (추정) 표시 외에는 실측입니다. 추정치는 실측에서 계산: 스텝당 시간, 모델과 텍스트 인코더 파일 크기, 노트북의 Relay 속도. GPU = 돌릴 수 있는 가장 작은 카드. int8은 모두 8 GB 카드에서 최대 6.3~7 GB. 추가 옵션 %는 다른 크기 테스트 결과(5090은 896 x 1152, 노트북은 576 x 704~736 x 928). 실제 시간은 카드, RAM, 드라이브 속도, 해상도에 따라 다릅니다.*",
4476 "src": "406978f4",
4477 "srcTitle": "Optimal setups and times ⏱️"
4478 }
4479 },
4480 "titles": {
4481 "en": "Optimal setups and times ⏱️",
4482 "zh": "最佳设置和时间 ⏱️",
4483 "ja": "最適な設定と時間 ⏱️",
4484 "ko": "최적 설정과 시간 ⏱️"
4485 }
4486 },
4487 "ue_properties": {
4488 "widget_ue_connectable": [],
4489 "version": "7.8",
4490 "input_ue_unconnectable": []
4491 }
4492 },
4493 "widgets_values": [
4494 "English ✏️",
4495 "# 💡 Optimal Setups \n\n6 s clip at 736 x 928.\n\n| Setup | RTX 5090 | 8 GB laptop | GPU | RAM | Result |\n|---|---|---|---|---|---|\n| ErosMax bf16, 8 steps | 99 s | won't fit | 16 GB+ (est.) | 96 GB+ (est.) | Sharpest, most detail |\n| ErosMax int8, 8 steps | 63 s | 10 min | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Same picture as bf16 |\n| Stock int8 + turbo LoRA 0.7, 12 steps | 91 s | 13 min | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Best face hold, steadiest. About 12% less fine detail |\n| Stock int8 + True4 LoRA, 4 steps | 37 s | 7.5 min (est.) | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Fastest. Softer, face drifts a little |\n| True4 + Relay 2x | 51 s | 8.5 min (est.) | 8 GB | same as above | Twice the size. Beats ErosMax bf16 by eye |\n| ErosMax + True4 LoRA, 4 steps | 56 s | 6.5 min (est.) | 8 GB (int8) | 64 GB | Worse than True4 on stock |\n\n| Add-on | Time | Cost |\n|---|---|---|\n| Sage attention or Comfy Kitchen | base | none |\n| Neither | +74% | none, just slow |\n| Veda | -15% | Slightly softer, face drifts a little |\n| Spectrum | -16% (-23% at 0.4 MP) | About 10% less detail at 1 MP. Blobs on busy wide shots |\n| Veda + Spectrum | -29% (-22% on 8 GB) | About 15% less detail. On 8 GB, no better than one alone |\n| Lokken text encoder | -3% on 8 GB, +8% on 5090 | Same picture. 17 GB file instead of 48 GB: the RAM saver |\n| Kijai low-VRAM nodes | +1% to +20% | No benefit |\n\n💡 **16 GB RAM:** int8 model + Lokken TE + a large page file. It runs, but expect disk swapping to add minutes (est.).\n\n*Times are warm (models loaded). 5090 and laptop (RTX 5060 8 GB, 64 GB RAM) times are measured unless marked (est.). Estimates are scaled from the measured runs: per-step time, model and text encoder file sizes, and Relay speed on the laptop. GPU = the smallest card that runs it; everything int8 peaked at 6.3 to 7 GB on the 8 GB card. Add-on percentages come from runs at other sizes (896 x 1152 on the 5090, 576 x 704 to 736 x 928 on the laptop). Your times will vary with your card, RAM, drive speed and resolution.*"
4496 ],
4497 "widgets_values_named": {
4498 "language": "English ✏️",
4499 "text": "# 💡 Optimal Setups \n\n6 s clip at 736 x 928.\n\n| Setup | RTX 5090 | 8 GB laptop | GPU | RAM | Result |\n|---|---|---|---|---|---|\n| ErosMax bf16, 8 steps | 99 s | won't fit | 16 GB+ (est.) | 96 GB+ (est.) | Sharpest, most detail |\n| ErosMax int8, 8 steps | 63 s | 10 min | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Same picture as bf16 |\n| Stock int8 + turbo LoRA 0.7, 12 steps | 91 s | 13 min | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Best face hold, steadiest. About 12% less fine detail |\n| Stock int8 + True4 LoRA, 4 steps | 37 s | 7.5 min (est.) | 8 GB | 64 GB (32 GB w/ Lokken TE, est.) | Fastest. Softer, face drifts a little |\n| True4 + Relay 2x | 51 s | 8.5 min (est.) | 8 GB | same as above | Twice the size. Beats ErosMax bf16 by eye |\n| ErosMax + True4 LoRA, 4 steps | 56 s | 6.5 min (est.) | 8 GB (int8) | 64 GB | Worse than True4 on stock |\n\n| Add-on | Time | Cost |\n|---|---|---|\n| Sage attention or Comfy Kitchen | base | none |\n| Neither | +74% | none, just slow |\n| Veda | -15% | Slightly softer, face drifts a little |\n| Spectrum | -16% (-23% at 0.4 MP) | About 10% less detail at 1 MP. Blobs on busy wide shots |\n| Veda + Spectrum | -29% (-22% on 8 GB) | About 15% less detail. On 8 GB, no better than one alone |\n| Lokken text encoder | -3% on 8 GB, +8% on 5090 | Same picture. 17 GB file instead of 48 GB: the RAM saver |\n| Kijai low-VRAM nodes | +1% to +20% | No benefit |\n\n💡 **16 GB RAM:** int8 model + Lokken TE + a large page file. It runs, but expect disk swapping to add minutes (est.).\n\n*Times are warm (models loaded). 5090 and laptop (RTX 5060 8 GB, 64 GB RAM) times are measured unless marked (est.). Estimates are scaled from the measured runs: per-step time, model and text encoder file sizes, and Relay speed on the laptop. GPU = the smallest card that runs it; everything int8 peaked at 6.3 to 7 GB on the 8 GB card. Add-on percentages come from runs at other sizes (896 x 1152 on the 5090, 576 x 704 to 736 x 928 on the laptop). Your times will vary with your card, RAM, drive speed and resolution.*"
4500 },
4501 "color": "#5a1a1a",
4502 "bgcolor": "#460606"
4503 },
4504 {
4505 "id": 260,
4506 "type": "LCLabel",
4507 "pos": [
4508 3700,
4509 2570
4510 ],
4511 "size": [
4512 843,
4513 63
4514 ],
4515 "flags": [],
4516 "order": 33,
4517 "mode": 0,
4518 "inputs": [],
4519 "outputs": [],
4520 "properties": {
4521 "text": "💡 Optimal Setups/ 最佳设置 👇🏼",
4522 "font": "Verdana",
4523 "size": 48,
4524 "bold": true,
4525 "italic": false,
4526 "color": "#ffffff",
4527 "align": "center",
4528 "outline": false,
4529 "outlineColor": "#000000",
4530 "outlineWidth": 4,
4531 "shadow": false,
4532 "shadowBlur": 10,
4533 "bg": false,
4534 "bgColor": "#324B4B",
4535 "radius": 12,
4536 "padding": 8,
4537 "angle": 0,
4538 "width": 0,
4539 "cnr_id": "ComfyUI_LC123_nodes",
4540 "ver": "4358590c88bf4788f0e1d24f39f1f2e4b493970b",
4541 "Node name for S&R": "LCLabel",
4542 "_w": 843,
4543 "_h": 63,
4544 "ue_properties": {
4545 "widget_ue_connectable": [],
4546 "input_ue_unconnectable": [],
4547 "version": "7.8"
4548 }
4549 },
4550 "color": "#fff0",
4551 "bgcolor": "#fff0"
4552 }
4553 ],
4554 "links": [
4555 [
4556 51,
4557 4,
4558 1,
4559 34,
4560 2,
4561 "CLIP"
4562 ],
4563 [
4564 52,
4565 4,
4566 2,
4567 34,
4568 5,
4569 "VAE"
4570 ],
4571 [
4572 53,
4573 4,
4574 3,
4575 34,
4576 6,
4577 "VAE"
4578 ],
4579 [
4580 68,
4581 43,
4582 1,
4583 31,
4584 1,
4585 "AUDIO"
4586 ],
4587 [
4588 71,
4589 43,
4590 2,
4591 31,
4592 2,
4593 "FLOAT"
4594 ],
4595 [
4596 75,
4597 46,
4598 0,
4599 47,
4600 0,
4601 "INT"
4602 ],
4603 [
4604 134,
4605 34,
4606 0,
4607 79,
4608 0,
4609 "LC_H3_PIPE_V2"
4610 ],
4611 [
4612 146,
4613 89,
4614 0,
4615 43,
4616 0,
4617 "STRING"
4618 ],
4619 [
4620 149,
4621 27,
4622 0,
4623 92,
4624 7,
4625 "INT"
4626 ],
4627 [
4628 150,
4629 27,
4630 1,
4631 92,
4632 8,
4633 "INT"
4634 ],
4635 [
4636 151,
4637 92,
4638 0,
4639 93,
4640 0,
4641 "LC_H3_PIPE_V2"
4642 ],
4643 [
4644 152,
4645 94,
4646 0,
4647 34,
4648 0,
4649 "LC_H3_PIPE_V2"
4650 ],
4651 [
4652 153,
4653 95,
4654 0,
4655 92,
4656 12,
4657 "INT"
4658 ],
4659 [
4660 154,
4661 46,
4662 0,
4663 92,
4664 14,
4665 "INT"
4666 ],
4667 [
4668 155,
4669 49,
4670 1,
4671 92,
4672 16,
4673 "COMBO"
4674 ],
4675 [
4676 156,
4677 49,
4678 0,
4679 92,
4680 15,
4681 "COMBO"
4682 ],
4683 [
4684 170,
4685 4,
4686 0,
4687 97,
4688 0,
4689 "MODEL"
4690 ],
4691 [
4692 171,
4693 97,
4694 0,
4695 14,
4696 0,
4697 "MODEL"
4698 ],
4699 [
4700 191,
4701 31,
4702 1,
4703 113,
4704 0,
4705 "FLOAT"
4706 ],
4707 [
4708 192,
4709 114,
4710 0,
4711 113,
4712 1,
4713 "FLOAT"
4714 ],
4715 [
4716 193,
4717 113,
4718 0,
4719 109,
4720 3,
4721 "FLOAT"
4722 ],
4723 [
4724 237,
4725 150,
4726 0,
4727 81,
4728 0,
4729 "LC_H3_PLAN"
4730 ],
4731 [
4732 238,
4733 150,
4734 1,
4735 72,
4736 0,
4737 "LC_H3_REFS"
4738 ],
4739 [
4740 239,
4741 150,
4742 2,
4743 143,
4744 0,
4745 "STRING"
4746 ],
4747 [
4748 240,
4749 152,
4750 0,
4751 151,
4752 0,
4753 "LC_H3_PLAN"
4754 ],
4755 [
4756 241,
4757 154,
4758 0,
4759 151,
4760 1,
4761 "LC_H3_PIPE_V2"
4762 ],
4763 [
4764 242,
4765 153,
4766 0,
4767 151,
4768 2,
4769 "LC_H3_REFS"
4770 ],
4771 [
4772 243,
4773 151,
4774 0,
4775 88,
4776 0,
4777 "STRING"
4778 ],
4779 [
4780 244,
4781 151,
4782 2,
4783 155,
4784 0,
4785 "STRING"
4786 ],
4787 [
4788 245,
4789 157,
4790 0,
4791 44,
4792 2,
4793 "STRING"
4794 ],
4795 [
4796 246,
4797 157,
4798 0,
4799 20,
4800 0,
4801 "STRING"
4802 ],
4803 [
4804 247,
4805 158,
4806 0,
4807 159,
4808 0,
4809 "MODEL"
4810 ],
4811 [
4812 248,
4813 158,
4814 1,
4815 159,
4816 1,
4817 "CLIP"
4818 ],
4819 [
4820 295,
4821 150,
4822 3,
4823 188,
4824 0,
4825 "STRING"
4826 ],
4827 [
4828 335,
4829 159,
4830 0,
4831 207,
4832 0,
4833 "MODEL"
4834 ],
4835 [
4836 377,
4837 31,
4838 0,
4839 216,
4840 0,
4841 "IMAGE"
4842 ],
4843 [
4844 196,
4845 119,
4846 0,
4847 118,
4848 0,
4849 "STRING"
4850 ],
4851 [
4852 413,
4853 231,
4854 0,
4855 34,
4856 1,
4857 "MODEL"
4858 ],
4859 [
4860 419,
4861 150,
4862 2,
4863 232,
4864 0,
4865 "STRING"
4866 ],
4867 [
4868 420,
4869 158,
4870 2,
4871 232,
4872 1,
4873 "VAE"
4874 ],
4875 [
4876 421,
4877 159,
4878 1,
4879 232,
4880 2,
4881 "CLIP"
4882 ],
4883 [
4884 422,
4885 159,
4886 0,
4887 232,
4888 3,
4889 "MODEL"
4890 ],
4891 [
4892 423,
4893 190,
4894 2,
4895 232,
4896 4,
4897 "VAE"
4898 ],
4899 [
4900 424,
4901 46,
4902 0,
4903 232,
4904 5,
4905 "INT"
4906 ],
4907 [
4908 425,
4909 190,
4910 0,
4911 232,
4912 6,
4913 "MODEL"
4914 ],
4915 [
4916 426,
4917 190,
4918 1,
4919 232,
4920 7,
4921 "CLIP"
4922 ],
4923 [
4924 427,
4925 158,
4926 2,
4927 232,
4928 8,
4929 "VAE"
4930 ],
4931 [
4932 428,
4933 207,
4934 0,
4935 232,
4936 9,
4937 "MODEL"
4938 ],
4939 [
4940 429,
4941 159,
4942 1,
4943 232,
4944 10,
4945 "CLIP"
4946 ],
4947 [
4948 430,
4949 92,
4950 0,
4951 232,
4952 11,
4953 "LC_H3_PIPE_V2"
4954 ],
4955 [
4956 432,
4957 46,
4958 0,
4959 232,
4960 12,
4961 "INT"
4962 ],
4963 [
4964 434,
4965 43,
4966 0,
4967 31,
4968 0,
4969 "IMAGE"
4970 ],
4971 [
4972 438,
4973 239,
4974 0,
4975 238,
4976 0,
4977 "AUDIO"
4978 ],
4979 [
4980 439,
4981 43,
4982 1,
4983 239,
4984 0,
4985 "AUDIO"
4986 ],
4987 [
4988 440,
4989 238,
4990 0,
4991 33,
4992 1,
4993 "AUDIO"
4994 ],
4995 [
4996 441,
4997 238,
4998 0,
4999 109,
5000 1,
5001 "AUDIO"
5002 ],
5003 [
5004 454,
5005 255,
5006 0,
5007 115,
5008 0,
5009 "*"
5010 ],
5011 [
5012 465,
5013 216,
5014 0,
5015 243,
5016 0,
5017 "IMAGE"
5018 ],
5019 [
5020 467,
5021 243,
5022 0,
5023 109,
5024 0,
5025 "IMAGE"
5026 ],
5027 [
5028 468,
5029 243,
5030 0,
5031 33,
5032 0,
5033 "IMAGE"
5034 ],
5035 [
5036 471,
5037 33,
5038 0,
5039 256,
5040 0,
5041 "STRING"
5042 ],
5043 [
5044 378,
5045 113,
5046 0,
5047 33,
5048 5,
5049 "FLOAT"
5050 ],
5051 [
5052 197,
5053 118,
5054 0,
5055 33,
5056 6,
5057 "STRING"
5058 ],
5059 [
5060 412,
5061 14,
5062 0,
5063 231,
5064 0,
5065 "MODEL"
5066 ],
5067 [
5068 472,
5069 257,
5070 0,
5071 231,
5072 1,
5073 "VAE"
5074 ],
5075 [
5076 458,
5077 43,
5078 0,
5079 255,
5080 0,
5081 "IMAGE"
5082 ],
5083 [
5084 461,
5085 239,
5086 0,
5087 255,
5088 2,
5089 "AUDIO"
5090 ],
5091 [
5092 462,
5093 238,
5094 0,
5095 255,
5096 4,
5097 "AUDIO"
5098 ],
5099 [
5100 463,
5101 31,
5102 0,
5103 255,
5104 6,
5105 "IMAGE"
5106 ],
5107 [
5108 464,
5109 216,
5110 0,
5111 255,
5112 8,
5113 "IMAGE"
5114 ],
5115 [
5116 466,
5117 243,
5118 0,
5119 255,
5120 10,
5121 "IMAGE"
5122 ],
5123 [
5124 469,
5125 33,
5126 0,
5127 255,
5128 12,
5129 "STRING"
5130 ],
5131 [
5132 470,
5133 256,
5134 0,
5135 255,
5136 14,
5137 "*"
5138 ]
5139 ],
5140 "groups": [
5141 {
5142 "id": 2,
5143 "title": "Minimax Models & LoRAs",
5144 "bounding": [
5145 1040,
5146 1470,
5147 870,
5148 820
5149 ],
5150 "color": "#3f593f",
5151 "flags": []
5152 },
5153 {
5154 "id": 11,
5155 "title": "🖼️ Post Processing 🎞️",
5156 "bounding": [
5157 3690,
5158 1460,
5159 1860,
5160 1070
5161 ],
5162 "color": "#3f789e",
5163 "flags": []
5164 },
5165 {
5166 "id": 13,
5167 "title": "⚙️ Settings",
5168 "bounding": [
5169 1240,
5170 870,
5171 670,
5172 570
5173 ],
5174 "color": "#ffffff",
5175 "flags": []
5176 },
5177 {
5178 "id": 16,
5179 "title": "Make 🎥",
5180 "bounding": [
5181 3430,
5182 870,
5183 940,
5184 560
5185 ],
5186 "color": "#a1309b",
5187 "flags": []
5188 },
5189 {
5190 "id": 17,
5191 "title": "Preview 🎞️",
5192 "bounding": [
5193 2860,
5194 2200,
5195 790,
5196 980
5197 ],
5198 "color": "#3f789e",
5199 "flags": []
5200 },
5201 {
5202 "id": 19,
5203 "title": "Noodle Soup 🍜",
5204 "bounding": [
5205 2860,
5206 870,
5207 540,
5208 430
5209 ],
5210 "color": "#b58b2a",
5211 "flags": []
5212 },
5213 {
5214 "id": 20,
5215 "title": "Noodle Soup 🍜",
5216 "bounding": [
5217 3440,
5218 910,
5219 174.66796875,
5220 210
5221 ],
5222 "color": "#b58b2a",
5223 "flags": []
5224 },
5225 {
5226 "id": 29,
5227 "title": "Storyboard creator Models & Settings",
5228 "bounding": [
5229 980,
5230 2330,
5231 930,
5232 930
5233 ],
5234 "color": "#3f789e",
5235 "flags": []
5236 },
5237 {
5238 "id": 30,
5239 "title": "Group",
5240 "bounding": [
5241 3710,
5242 1790,
5243 182.720703125,
5244 280
5245 ],
5246 "color": "#b58b2a",
5247 "flags": []
5248 }
5249 ],
5250 "definitions": {
5251 "subgraphs": [
5252 {
5253 "id": "fba353df-3bb4-41da-a4d4-bf10b8ed87a8",
5254 "version": 1,
5255 "state": {
5256 "lastGroupId": 32,
5257 "lastNodeId": 260,
5258 "lastLinkId": 472,
5259 "lastRerouteId": 0
5260 },
5261 "revision": 0,
5262 "config": [],
5263 "name": "Cards & Storyboard 🃏",
5264 "inputNode": {
5265 "id": -10,
5266 "bounding": [
5267 -188,
5268 2056,
5269 128,
5270 308
5271 ]
5272 },
5273 "outputNode": {
5274 "id": -20,
5275 "bounding": [
5276 3330,
5277 1510,
5278 128,
5279 48
5280 ]
5281 },
5282 "inputs": [
5283 {
5284 "id": "8f274083-25b8-4edd-9ba6-23413317aba2",
5285 "name": "project_name",
5286 "type": "STRING",
5287 "linkIds": [
5288 414,
5289 415,
5290 416
5291 ],
5292 "localized_name": "project_name",
5293 "pos": [
5294 -84,
5295 2080
5296 ]
5297 },
5298 {
5299 "id": "058af545-1b98-479f-8442-738e19eb4fe8",
5300 "name": "vae",
5301 "type": "VAE",
5302 "linkIds": [
5303 255,
5304 256
5305 ],
5306 "localized_name": "vae",
5307 "pos": [
5308 -84,
5309 2100
5310 ]
5311 },
5312 {
5313 "id": "27029526-4dec-4c38-b649-c5acdad0a431",
5314 "name": "clip",
5315 "type": "CLIP",
5316 "linkIds": [
5317 249
5318 ],
5319 "localized_name": "clip",
5320 "pos": [
5321 -84,
5322 2120
5323 ]
5324 },
5325 {
5326 "id": "50e137da-3de5-46d9-8359-e51db41aeabb",
5327 "name": "model",
5328 "type": "MODEL",
5329 "linkIds": [
5330 251
5331 ],
5332 "localized_name": "model",
5333 "pos": [
5334 -84,
5335 2140
5336 ]
5337 },
5338 {
5339 "id": "77d0d1bb-1fcf-4a0a-857e-92fcf6e0cad8",
5340 "name": "vae_1",
5341 "type": "VAE",
5342 "linkIds": [
5343 297,
5344 316,
5345 323
5346 ],
5347 "localized_name": "vae_1",
5348 "pos": [
5349 -84,
5350 2160
5351 ]
5352 },
5353 {
5354 "id": "d9424912-b847-4fa6-b8a9-b83b90ad9c3e",
5355 "name": "base_seed",
5356 "type": "INT",
5357 "linkIds": [
5358 417
5359 ],
5360 "localized_name": "base_seed",
5361 "pos": [
5362 -84,
5363 2180
5364 ]
5365 },
5366 {
5367 "id": "808695bb-0e01-4ae7-bf82-128ff4acc3f3",
5368 "name": "model_1",
5369 "type": "MODEL",
5370 "linkIds": [
5371 305
5372 ],
5373 "localized_name": "model_1",
5374 "pos": [
5375 -84,
5376 2200
5377 ]
5378 },
5379 {
5380 "id": "711df87b-3f3e-40b3-acd0-002ac2220f87",
5381 "name": "clip_1",
5382 "type": "CLIP",
5383 "linkIds": [
5384 306,
5385 307,
5386 322
5387 ],
5388 "localized_name": "clip_1",
5389 "pos": [
5390 -84,
5391 2220
5392 ]
5393 },
5394 {
5395 "id": "d45e3a74-f15a-4d72-bad0-e701f408ae41",
5396 "name": "vae_2",
5397 "type": "VAE",
5398 "linkIds": [
5399 337,
5400 340,
5401 353,
5402 386,
5403 389
5404 ],
5405 "localized_name": "vae_2",
5406 "pos": [
5407 -84,
5408 2240
5409 ]
5410 },
5411 {
5412 "id": "db8e5fda-09e3-4146-a951-1670c430d2e9",
5413 "name": "model_2",
5414 "type": "MODEL",
5415 "linkIds": [
5416 338,
5417 387
5418 ],
5419 "localized_name": "model_2",
5420 "pos": [
5421 -84,
5422 2260
5423 ]
5424 },
5425 {
5426 "id": "7d2702db-2746-4383-bd7f-aec681b490fb",
5427 "name": "clip_2",
5428 "type": "CLIP",
5429 "linkIds": [
5430 343
5431 ],
5432 "localized_name": "clip_2",
5433 "pos": [
5434 -84,
5435 2280
5436 ]
5437 },
5438 {
5439 "id": "a7ba3587-a9ba-4530-a6a9-8685dead1f54",
5440 "name": "pipe",
5441 "type": "LC_H3_PIPE_V2,LC_H3_PIPE",
5442 "linkIds": [
5443 418
5444 ],
5445 "localized_name": "pipe",
5446 "pos": [
5447 -84,
5448 2300
5449 ]
5450 },
5451 {
5452 "id": "104771ba-7498-4c7c-9e6d-debc9e9df670",
5453 "name": "seed",
5454 "type": "INT",
5455 "linkIds": [
5456 431
5457 ],
5458 "pos": [
5459 -84,
5460 2320
5461 ]
5462 }
5463 ],
5464 "outputs": [],
5465 "widgets": [],
5466 "nodes": [
5467 {
5468 "id": 160,
5469 "type": "LCNote",
5470 "pos": [
5471 1880,
5472 2890
5473 ],
5474 "size": [
5475 310,
5476 420
5477 ],
5478 "flags": [],
5479 "order": 0,
5480 "mode": 4,
5481 "inputs": [],
5482 "outputs": [],
5483 "title": "Story Card Prompt ✍🏼",
5484 "properties": {
5485 "lc_note": {
5486 "source": "en",
5487 "texts": {
5488 "en": {
5489 "text": "## Story Card Prompt ✍🏼\n\n**What is it?**\n- Makes the pictures for your Story cards, and each one lands on its card by itself.\n- You don't run it by hand: press **✨** on a card's picture slot. The Story sets **kind** and **name**, runs this part once and puts everything back.\n- 💡 Any image model works: swap the model on the **LC Optimizer**. A character or style LoRA goes in the LoRA loader.\n- Have your own picture? Click the slot on the card, or drop it there.\n\n**kind**\n- **cast card**: a headshot from the cast card's **look** (1024 x 1024): head and hair, calm neutral face, no clothes, on plain grey.\n- **cast card + outfit**: the headshot and the cast card's 👗 outfit picture (the person head to toe, from the **outfit notes**, 896 x 1152) in one Run. Both land on the card. Only here: ✨ makes the two separately.\n- **cast outfit**: just the 👗 outfit picture.\n- **outfit**: an outfit card's **description** on the person who wears it, head to toe, on plain grey (896 x 1152). Nobody wears it: an invisible mannequin.\n- **place**: the empty room from the place card's **description** (1344 x 768).\n- **360 panorama**: the whole room as a 2:1 panorama (2048 x 1024) for the 🌐 slot. After it lands, set **📷 the wide shot faces** on the Place card once.\n - Make a few and keep one with a level horizon and nobody in it.\n- **prop**: the object from the prop card's **description**, alone on plain grey (1024 x 1024).\n- ✋ Cast, outfit and prop pictures always end up on plain grey: the background comes off by itself (BiRefNet), here and on any picture you drop on those cards.\n\n**Settings ⚙️**\n- **name**: the card. Blank = the first card of that kind with an empty slot. A blank name never writes over a picture.\n- **width / height**: 0 = the size for that kind.\n- **style**: extra words (an art style, a period, the weather, etc.).\n- Every Run makes a new take: the seed changes by itself.\n\n**Where they save 📂**\n```\nComfyUI/\n└── input/\n └── lc_h3_refs/\n └── <project name>/\n```\n- A new take gets a number (`cast_Nova.png`, `cast_Nova_2.png`, `outfit_the_red_dress.png`, `prop_the_red_umbrella.png`, etc.), so older pictures are kept and a shot made from one never loses it.\n- To go back to an older one, press **↶** on the slot (the last 8 are kept).\n\n**Save to Story 🃏**\n- **from card** puts it where the Card Prompt says.\n- **shot start** / **shot end** + the shot number makes it that shot's 🖼 start or 🏁 end frame.\n- A new name makes a new card.\n- 💡 Don't want to make your own? **📚 Library** in any card's picture picker has 102 ready-made cast, outfit, prop and 360 pictures.\n\n### ⚠️ Make 🎥 has to be off while you make pictures, or the Run remakes the shots that use that face or room.\n- ✨ does it for you.\n"
5490 },
5491 "zh": {
5492 "text": "## Story Card Prompt ✍🏼\n\n**这是什么?**\n- 为你的 Story 卡片做图片,每张都会自己落到它的卡片上。\n- 你不用手动运行它:在卡片的图片槽位上按 **✨**。Story 会设好 **kind** 和 **name**,运行一次,然后把一切恢复原样。\n- 💡 任何图像模型都可以:在 **LC Optimizer** 上换模型。角色或风格 LoRA 放进 LoRA loader。\n- 有自己的图片?点卡片上的槽位,或者拖到上面。\n\n**kind**\n- **cast card**:根据角色卡的 **look** 生成的头像(1024 x 1024):头和头发,平静的中性表情,不带衣服,纯灰背景。\n- **cast card + outfit**:一次 Run 同时做出头像和角色卡的 👗 服装图片(这个人从头到脚,根据 **outfit notes**,896 x 1152)。两张都会落到卡片上。只在这里:✨ 会把两张分开做。\n- **cast outfit**:只做 👗 服装图片。\n- **outfit**:服装卡 **description** 里的衣服,穿在穿它的人身上,从头到脚,纯灰背景(896 x 1152)。没人穿它:用隐形人台。\n- **place**:根据地点卡 **description** 生成的空房间(1344 x 768)。\n- **360 panorama**:整个房间的 2:1 全景图(2048 x 1024),用于 🌐 槽位。生成后,在 Place 卡上设一次 **📷 the wide shot faces**。\n - 多做几张,留一张地平线水平、没有人的。\n- **prop**:道具卡 **description** 里的物件,单独放在纯灰背景上(1024 x 1024)。\n- ✋ 角色、服装和道具图片最终都会在纯灰背景上:背景会自己去掉(BiRefNet),这里生成的和你拖到这些卡片上的图片都一样。\n\n**设置 ⚙️**\n- **name**:卡片。留空 = 这种类型里第一张槽位为空的卡。空名字永远不会覆盖图片。\n- **width / height**:0 = 这种类型的默认尺寸。\n- **style**:额外的词(画风、年代、天气等)。\n- 每次 Run 都会做一个新的 take:种子会自己变。\n\n**保存位置 📂**\n```\nComfyUI/\n└── input/\n └── lc_h3_refs/\n └── <project name>/\n```\n- 新的 take 会带编号(`cast_Nova.png`、`cast_Nova_2.png`、`outfit_the_red_dress.png`、`prop_the_red_umbrella.png` 等),所以旧图片会保留,用某张图做出的镜头永远不会丢失它。\n- 想换回旧的,点槽位上的 **↶**(最近 8 张会保留)。\n\n**Save to Story 🃏**\n- **from card** 把它放到 Card Prompt 指定的位置。\n- **shot start** / **shot end** + 镜头编号会把它设为那个镜头的 🖼 start 或 🏁 end 帧。\n- 新名字会建一张新卡。\n- 💡 不想自己做?任何卡片的选图窗口里的 **📚 Library** 都有 102 张现成的角色、服装、道具和 360 图片。\n\n### ⚠️ 做图片时 Make 🎥 必须关闭,不然 Run 会重做用到那张脸或那个房间的镜头。\n- ✨ 会自动帮你处理。\n",
5493 "src": "2071c087",
5494 "srcTitle": "Story Card Prompt ✍🏼"
5495 },
5496 "ja": {
5497 "text": "## Story Card Prompt ✍🏼\n\n**これは何?**\n- Story のカード用の画像を作り、それぞれが自動でカードに入ります。\n- 手動で Run することはありません:カードの画像スロットの **✨** を押します。Story が **kind** と **name** を設定し、この部分を 1 回 Run して、すべてを元に戻します。\n- 💡 どの画像モデルでも使えます:**LC Optimizer** でモデルを入れ替えてください。キャラクターやスタイルの LoRA は LoRA loader に入れます。\n- 自分の画像がある?カードのスロットをクリックするか、そこにドロップしてください。\n\n**kind**\n- **cast card**:キャストカードの **look** から作るヘッドショット(1024 x 1024):頭と髪、落ち着いた無表情、服なし、無地のグレーの上。\n- **cast card + outfit**:ヘッドショットと、キャストカードの 👗 outfit picture(**outfit notes** から作る、頭からつま先までの人物、896 x 1152)を 1 回の Run で。どちらもカードに入ります。ここだけの話:✨ は 2 つを別々に作ります。\n- **cast outfit**:👗 outfit picture だけ。\n- **outfit**:衣装カードの **description** の服を、着る人に着せて頭からつま先まで、無地のグレーの上(896 x 1152)。誰も着ない場合は見えないマネキン。\n- **place**:場所カードの **description** から作る誰もいない部屋(1344 x 768)。\n- **360 panorama**:🌐 スロット用に、部屋全体を 2:1 のパノラマで(2048 x 1024)。入ったら、Place カードで **📷 the wide shot faces** を一度だけ設定してください。\n - 何枚か作って、水平線がまっすぐで誰もいないものを残してください。\n- **prop**:小道具カードの **description** の物だけ、無地のグレーの上(1024 x 1024)。\n- ✋ キャスト、衣装、小道具の画像は必ず無地のグレーになります:背景は自動で取り除かれます(BiRefNet)。ここで作ったものも、それらのカードにドロップした画像も同じです。\n\n**Settings ⚙️**\n- **name**:カード。空 = 画像スロットが空いている、その種類の最初のカード。名前が空のままだと、画像が上書きされることはありません。\n- **width / height**:0 = その種類のサイズ。\n- **style**:追加の言葉(画風、時代、天気など)。\n- Run のたびに新しいテイクを作ります:シードは自動で変わります。\n\n**保存場所 📂**\n```\nComfyUI/\n└── input/\n └── lc_h3_refs/\n └── <project name>/\n```\n- 新しいテイクには番号が付く(`cast_Nova.png`、`cast_Nova_2.png`、`outfit_the_red_dress.png`、`prop_the_red_umbrella.png` など)ので、古い画像は残り、それから作ったショットがその画像を失うことはありません。\n- 古いものに戻すには、スロットの **↶** を押してください(直近の 8 枚が残ります)。\n\n**Save to Story 🃏**\n- **from card** は Card Prompt が指定する場所に入れます。\n- **shot start** / **shot end** + ショット番号で、そのショットの 🖼 start または 🏁 end フレームになります。\n- 新しい名前なら新しいカードを作ります。\n- 💡 自分で作りたくない?どのカードの画像ピッカーにも **📚 Library** があり、キャスト、衣装、小道具、360 の用意済み画像が 102 枚あります。\n\n### ⚠️ 画像を作っている間は Make 🎥 をオフに。そうしないと、Run がその顔や部屋を使うショットを作り直します。\n- ✨ が自動でそうしてくれます。\n",
5498 "src": "2071c087",
5499 "srcTitle": "Story Card Prompt ✍🏼"
5500 },
5501 "ko": {
5502 "text": "## Story Card Prompt ✍🏼\n\n**이게 뭔가요?**\n- Story 카드용 이미지를 만들고, 각 이미지는 알아서 해당 카드에 들어가요.\n- 직접 실행하지 않아요: 카드의 이미지 슬롯에서 **✨**를 누르세요. Story가 **kind**와 **name**을 정하고, 이 부분을 한 번 실행한 다음 전부 원래대로 돌려놔요.\n- 💡 어떤 이미지 모델이든 돼요: **LC Optimizer**에서 모델을 바꾸세요. 캐릭터나 스타일 LoRA는 LoRA loader에 넣어요.\n- 직접 가진 이미지가 있나요? 카드의 슬롯을 클릭하거나 거기에 끌어다 놓으세요.\n\n**kind**\n- **cast card**: cast 카드의 **look**으로 만든 얼굴 사진 (1024 x 1024): 머리와 헤어, 차분한 무표정, 옷 없이, 단색 회색 위.\n- **cast card + outfit**: 얼굴 사진과 cast 카드의 👗 outfit 이미지 (**outfit notes**로 만든, 머리부터 발끝까지의 사람, 896 x 1152)를 한 번의 Run으로. 둘 다 카드에 들어가요. 여기서만 그래요: ✨는 둘을 따로 만들어요.\n- **cast outfit**: 👗 outfit 이미지만.\n- **outfit**: outfit 카드의 **description**을 입는 사람에게, 머리부터 발끝까지, 단색 회색 위 (896 x 1152). 입는 사람이 없으면: 투명 마네킹.\n- **place**: place 카드 **description**의 비어 있는 공간 (1344 x 768).\n- **360 panorama**: 공간 전체를 2:1 파노라마로 (2048 x 1024), 🌐 슬롯용. 들어간 뒤에 Place 카드에서 **📷 the wide shot faces**를 한 번 설정하세요.\n - 몇 개 만들어서 수평선이 평평하고 아무도 없는 걸 하나 고르세요.\n- **prop**: prop 카드 **description**의 물건, 단색 회색 위에 단독으로 (1024 x 1024).\n- ✋ cast, outfit, prop 이미지는 항상 단색 회색 위로 가요: 여기서도, 그 카드에 끌어다 놓는 어떤 이미지든 배경이 알아서 지워져요 (BiRefNet).\n\n**Settings ⚙️**\n- **name**: 카드. 비우면 = 슬롯이 비어 있는 그 종류의 첫 카드. 이름이 비어 있으면 이미지를 덮어쓰지 않아요.\n- **width / height**: 0 = 그 종류의 크기.\n- **style**: 추가 단어 (그림 스타일, 시대, 날씨 등).\n- Run할 때마다 새 테이크를 만들어요: 시드는 알아서 바뀌어요.\n\n**저장 위치 📂**\n```\nComfyUI/\n└── input/\n └── lc_h3_refs/\n └── <project name>/\n```\n- 새 테이크는 번호가 붙어서 (`cast_Nova.png`, `cast_Nova_2.png`, `outfit_the_red_dress.png`, `prop_the_red_umbrella.png` 등), 이전 이미지는 남고, 그걸로 만든 샷도 절대 잃지 않아요.\n- 이전 이미지로 돌아가려면 슬롯에서 **↶**를 누르세요 (마지막 8개가 남아 있어요).\n\n**Save to Story 🃏**\n- **from card**는 Card Prompt가 지정한 곳에 넣어요.\n- **shot start** / **shot end** + 샷 번호는 그 샷의 🖼 start 또는 🏁 end 프레임으로 만들어요.\n- 새 이름은 새 카드를 만들어요.\n- 💡 직접 만들기 싫다면? 어느 카드든 이미지 선택창의 **📚 Library**에 미리 만든 캐스트, 의상, 소품, 360 이미지가 102장 있어요.\n\n### ⚠️ 이미지를 만드는 동안 Make 🎥는 꺼 두어야 해요. 안 그러면 Run이 그 얼굴이나 공간을 쓰는 샷을 다시 만들어요.\n- ✨가 이걸 자동으로 처리해요.\n",
5503 "src": "2071c087",
5504 "srcTitle": "Story Card Prompt ✍🏼"
5505 }
5506 },
5507 "titles": {
5508 "en": "Story Card Prompt ✍🏼",
5509 "zh": "Story Card Prompt ✍🏼",
5510 "ja": "Story Card Prompt ✍🏼",
5511 "ko": "Story Card Prompt ✍🏼"
5512 }
5513 },
5514 "ue_properties": {
5515 "widget_ue_connectable": [],
5516 "version": "7.8",
5517 "input_ue_unconnectable": []
5518 }
5519 },
5520 "widgets_values": [
5521 "English ✏️",
5522 "## Story Card Prompt ✍🏼\n\n**What is it?**\n- Makes the pictures for your Story cards, and each one lands on its card by itself.\n- You don't run it by hand: press **✨** on a card's picture slot. The Story sets **kind** and **name**, runs this part once and puts everything back.\n- 💡 Any image model works: swap the model on the **LC Optimizer**. A character or style LoRA goes in the LoRA loader.\n- Have your own picture? Click the slot on the card, or drop it there.\n\n**kind**\n- **cast card**: a headshot from the cast card's **look** (1024 x 1024): head and hair, calm neutral face, no clothes, on plain grey.\n- **cast card + outfit**: the headshot and the cast card's 👗 outfit picture (the person head to toe, from the **outfit notes**, 896 x 1152) in one Run. Both land on the card. Only here: ✨ makes the two separately.\n- **cast outfit**: just the 👗 outfit picture.\n- **outfit**: an outfit card's **description** on the person who wears it, head to toe, on plain grey (896 x 1152). Nobody wears it: an invisible mannequin.\n- **place**: the empty room from the place card's **description** (1344 x 768).\n- **360 panorama**: the whole room as a 2:1 panorama (2048 x 1024) for the 🌐 slot. After it lands, set **📷 the wide shot faces** on the Place card once.\n - Make a few and keep one with a level horizon and nobody in it.\n- **prop**: the object from the prop card's **description**, alone on plain grey (1024 x 1024).\n- ✋ Cast, outfit and prop pictures always end up on plain grey: the background comes off by itself (BiRefNet), here and on any picture you drop on those cards.\n\n**Settings ⚙️**\n- **name**: the card. Blank = the first card of that kind with an empty slot. A blank name never writes over a picture.\n- **width / height**: 0 = the size for that kind.\n- **style**: extra words (an art style, a period, the weather, etc.).\n- Every Run makes a new take: the seed changes by itself.\n\n**Where they save 📂**\n```\nComfyUI/\n└── input/\n └── lc_h3_refs/\n └── <project name>/\n```\n- A new take gets a number (`cast_Nova.png`, `cast_Nova_2.png`, `outfit_the_red_dress.png`, `prop_the_red_umbrella.png`, etc.), so older pictures are kept and a shot made from one never loses it.\n- To go back to an older one, press **↶** on the slot (the last 8 are kept).\n\n**Save to Story 🃏**\n- **from card** puts it where the Card Prompt says.\n- **shot start** / **shot end** + the shot number makes it that shot's 🖼 start or 🏁 end frame.\n- A new name makes a new card.\n- 💡 Don't want to make your own? **📚 Library** in any card's picture picker has 102 ready-made cast, outfit, prop and 360 pictures.\n\n### ⚠️ Make 🎥 has to be off while you make pictures, or the Run remakes the shots that use that face or room.\n- ✨ does it for you.\n"
5523 ],
5524 "widgets_values_named": {
5525 "language": "English ✏️",
5526 "text": "## Story Card Prompt ✍🏼\n\n**What is it?**\n- Makes the pictures for your Story cards, and each one lands on its card by itself.\n- You don't run it by hand: press **✨** on a card's picture slot. The Story sets **kind** and **name**, runs this part once and puts everything back.\n- 💡 Any image model works: swap the model on the **LC Optimizer**. A character or style LoRA goes in the LoRA loader.\n- Have your own picture? Click the slot on the card, or drop it there.\n\n**kind**\n- **cast card**: a headshot from the cast card's **look** (1024 x 1024): head and hair, calm neutral face, no clothes, on plain grey.\n- **cast card + outfit**: the headshot and the cast card's 👗 outfit picture (the person head to toe, from the **outfit notes**, 896 x 1152) in one Run. Both land on the card. Only here: ✨ makes the two separately.\n- **cast outfit**: just the 👗 outfit picture.\n- **outfit**: an outfit card's **description** on the person who wears it, head to toe, on plain grey (896 x 1152). Nobody wears it: an invisible mannequin.\n- **place**: the empty room from the place card's **description** (1344 x 768).\n- **360 panorama**: the whole room as a 2:1 panorama (2048 x 1024) for the 🌐 slot. After it lands, set **📷 the wide shot faces** on the Place card once.\n - Make a few and keep one with a level horizon and nobody in it.\n- **prop**: the object from the prop card's **description**, alone on plain grey (1024 x 1024).\n- ✋ Cast, outfit and prop pictures always end up on plain grey: the background comes off by itself (BiRefNet), here and on any picture you drop on those cards.\n\n**Settings ⚙️**\n- **name**: the card. Blank = the first card of that kind with an empty slot. A blank name never writes over a picture.\n- **width / height**: 0 = the size for that kind.\n- **style**: extra words (an art style, a period, the weather, etc.).\n- Every Run makes a new take: the seed changes by itself.\n\n**Where they save 📂**\n```\nComfyUI/\n└── input/\n └── lc_h3_refs/\n └── <project name>/\n```\n- A new take gets a number (`cast_Nova.png`, `cast_Nova_2.png`, `outfit_the_red_dress.png`, `prop_the_red_umbrella.png`, etc.), so older pictures are kept and a shot made from one never loses it.\n- To go back to an older one, press **↶** on the slot (the last 8 are kept).\n\n**Save to Story 🃏**\n- **from card** puts it where the Card Prompt says.\n- **shot start** / **shot end** + the shot number makes it that shot's 🖼 start or 🏁 end frame.\n- A new name makes a new card.\n- 💡 Don't want to make your own? **📚 Library** in any card's picture picker has 102 ready-made cast, outfit, prop and 360 pictures.\n\n### ⚠️ Make 🎥 has to be off while you make pictures, or the Run remakes the shots that use that face or room.\n- ✨ does it for you.\n"
5527 },
5528 "color": "#2E3A46",
5529 "bgcolor": "#2E3A46"
5530 },
5531 {
5532 "id": 162,
5533 "type": "LCH3StoryCardPrompt",
5534 "pos": [
5535 1870,
5536 2410
5537 ],
5538 "size": [
5539 320,
5540 330
5541 ],
5542 "flags": [],
5543 "order": 5,
5544 "mode": 4,
5545 "inputs": [
5546 {
5547 "localized_name": "project_name",
5548 "name": "project_name",
5549 "type": "STRING",
5550 "link": 414
5551 },
5552 {
5553 "localized_name": "vae",
5554 "name": "vae",
5555 "type": "VAE",
5556 "link": 255
5557 }
5558 ],
5559 "outputs": [
5560 {
5561 "localized_name": "latent",
5562 "name": "latent",
5563 "shape": 6,
5564 "type": "LATENT",
5565 "links": [
5566 254
5567 ]
5568 },
5569 {
5570 "localized_name": "prompt",
5571 "name": "prompt",
5572 "shape": 6,
5573 "type": "STRING",
5574 "links": [
5575 250
5576 ]
5577 },
5578 {
5579 "localized_name": "card",
5580 "name": "card",
5581 "shape": 6,
5582 "type": "STRING",
5583 "links": [
5584 259
5585 ]
5586 }
5587 ],
5588 "properties": {
5589 "cnr_id": "ComfyUI_LC_AV_nodes",
5590 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
5591 "Node name for S&R": "LCH3StoryCardPrompt",
5592 "ue_properties": {
5593 "widget_ue_connectable": [],
5594 "input_ue_unconnectable": [],
5595 "version": "7.8"
5596 }
5597 },
5598 "widgets_values": [
5599 "cast card",
5600 "",
5601 0,
5602 0,
5603 ""
5604 ],
5605 "widgets_values_named": {
5606 "kind": "cast card",
5607 "name": "",
5608 "width": 0,
5609 "height": 0,
5610 "style": ""
5611 },
5612 "color": "#1a5a7a",
5613 "bgcolor": "#1a5a7a"
5614 },
5615 {
5616 "id": 163,
5617 "type": "LCPromptToConditioningZero",
5618 "pos": [
5619 1890,
5620 2830
5621 ],
5622 "size": [
5623 270,
5624 60
5625 ],
5626 "flags": {
5627 "collapsed": true
5628 },
5629 "order": 6,
5630 "mode": 4,
5631 "inputs": [
5632 {
5633 "localized_name": "clip",
5634 "name": "clip",
5635 "type": "CLIP",
5636 "link": 249
5637 },
5638 {
5639 "localized_name": "string",
5640 "name": "string",
5641 "type": "STRING",
5642 "link": 250
5643 }
5644 ],
5645 "outputs": [
5646 {
5647 "localized_name": "conditioning",
5648 "name": "conditioning",
5649 "type": "CONDITIONING",
5650 "links": [
5651 252
5652 ]
5653 },
5654 {
5655 "localized_name": "zero out",
5656 "name": "zero out",
5657 "type": "CONDITIONING",
5658 "links": [
5659 253
5660 ]
5661 }
5662 ],
5663 "properties": {
5664 "cnr_id": "ComfyUI_LC123_nodes",
5665 "ver": "b2c4c1f43c0fa571994b0ed553e4d6d3c266fc7b",
5666 "Node name for S&R": "LCPromptToConditioningZero",
5667 "ue_properties": {
5668 "widget_ue_connectable": [],
5669 "input_ue_unconnectable": [],
5670 "version": "7.8"
5671 }
5672 },
5673 "color": "#28281E",
5674 "bgcolor": "#28281E"
5675 },
5676 {
5677 "id": 164,
5678 "type": "LCSpeedBoostKSampler",
5679 "pos": [
5680 2200,
5681 2410
5682 ],
5683 "size": [
5684 320,
5685 430
5686 ],
5687 "flags": [],
5688 "order": 7,
5689 "mode": 4,
5690 "inputs": [
5691 {
5692 "localized_name": "model",
5693 "name": "model",
5694 "type": "MODEL",
5695 "link": 251
5696 },
5697 {
5698 "localized_name": "positive",
5699 "name": "positive",
5700 "type": "CONDITIONING",
5701 "link": 252
5702 },
5703 {
5704 "localized_name": "negative",
5705 "name": "negative",
5706 "type": "CONDITIONING",
5707 "link": 253
5708 },
5709 {
5710 "localized_name": "latent_image",
5711 "name": "latent_image",
5712 "type": "LATENT",
5713 "link": 254
5714 },
5715 {
5716 "localized_name": "sampler",
5717 "name": "sampler",
5718 "shape": 7,
5719 "type": "SAMPLER",
5720 "link": null
5721 },
5722 {
5723 "localized_name": "positive_half",
5724 "name": "positive_half",
5725 "shape": 7,
5726 "type": "CONDITIONING",
5727 "link": null
5728 },
5729 {
5730 "localized_name": "seed",
5731 "name": "seed",
5732 "type": "INT",
5733 "widget": {
5734 "name": "seed"
5735 },
5736 "link": 431
5737 }
5738 ],
5739 "outputs": [
5740 {
5741 "localized_name": "LATENT",
5742 "name": "LATENT",
5743 "type": "LATENT",
5744 "links": [
5745 257
5746 ]
5747 }
5748 ],
5749 "properties": {
5750 "cnr_id": "ComfyUI_LC123_nodes",
5751 "ver": "b2c4c1f43c0fa571994b0ed553e4d6d3c266fc7b",
5752 "Node name for S&R": "LCSpeedBoostKSampler",
5753 "ue_properties": {
5754 "widget_ue_connectable": [],
5755 "input_ue_unconnectable": [],
5756 "version": "7.8"
5757 }
5758 },
5759 "widgets_values": [
5760 true,
5761 4,
5762 "",
5763 898094886941356,
5764 "randomize",
5765 10,
5766 1,
5767 "euler",
5768 "simple",
5769 1,
5770 "",
5771 0,
5772 10000,
5773 false
5774 ],
5775 "widgets_values_named": {
5776 "speed_boost": true,
5777 "grow_at_step": 4,
5778 "_gap1": "",
5779 "seed": 898094886941356,
5780 "control_after_generate": "randomize",
5781 "steps": 10,
5782 "cfg": 1,
5783 "sampler_name": "euler",
5784 "scheduler": "simple",
5785 "denoise": 1,
5786 "_gap2": "",
5787 "start_at_step": 0,
5788 "end_at_step": 10000,
5789 "return_with_leftover_noise": false
5790 },
5791 "color": "#7d1919",
5792 "bgcolor": "#7d1919"
5793 },
5794 {
5795 "id": 165,
5796 "type": "VAEDecode",
5797 "pos": [
5798 1890,
5799 2780
5800 ],
5801 "size": [
5802 200,
5803 50
5804 ],
5805 "flags": {
5806 "collapsed": true
5807 },
5808 "order": 8,
5809 "mode": 4,
5810 "inputs": [
5811 {
5812 "localized_name": "samples",
5813 "name": "samples",
5814 "type": "LATENT",
5815 "link": 257
5816 },
5817 {
5818 "localized_name": "vae",
5819 "name": "vae",
5820 "type": "VAE",
5821 "link": 256
5822 }
5823 ],
5824 "outputs": [
5825 {
5826 "localized_name": "IMAGE",
5827 "name": "IMAGE",
5828 "type": "IMAGE",
5829 "links": [
5830 258
5831 ]
5832 }
5833 ],
5834 "properties": {
5835 "cnr_id": "comfy-core",
5836 "ver": "0.42.0",
5837 "Node name for S&R": "VAEDecode",
5838 "ue_properties": {
5839 "widget_ue_connectable": [],
5840 "input_ue_unconnectable": [],
5841 "version": "7.8"
5842 }
5843 },
5844 "color": "#322",
5845 "bgcolor": "#533"
5846 },
5847 {
5848 "id": 166,
5849 "type": "LCH3SaveToStory",
5850 "pos": [
5851 2200,
5852 2890
5853 ],
5854 "size": [
5855 320,
5856 420
5857 ],
5858 "flags": [],
5859 "order": 9,
5860 "mode": 4,
5861 "inputs": [
5862 {
5863 "localized_name": "images",
5864 "name": "images",
5865 "type": "IMAGE",
5866 "link": 258
5867 },
5868 {
5869 "localized_name": "card",
5870 "name": "card",
5871 "shape": 7,
5872 "type": "STRING",
5873 "link": 259
5874 },
5875 {
5876 "localized_name": "project",
5877 "name": "project",
5878 "type": "STRING",
5879 "widget": {
5880 "name": "project"
5881 },
5882 "link": 415
5883 }
5884 ],
5885 "outputs": [],
5886 "properties": {
5887 "cnr_id": "ComfyUI_LC_AV_nodes",
5888 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
5889 "Node name for S&R": "LCH3SaveToStory",
5890 "ue_properties": {
5891 "widget_ue_connectable": [],
5892 "input_ue_unconnectable": [],
5893 "version": "7.8"
5894 }
5895 },
5896 "widgets_values": [
5897 "from card",
5898 "",
5899 ""
5900 ],
5901 "widgets_values_named": {
5902 "kind": "from card",
5903 "name": "",
5904 "project": ""
5905 },
5906 "color": "#1a5a7a",
5907 "bgcolor": "#1a5a7a"
5908 },
5909 {
5910 "id": 191,
5911 "type": "LCH3ShotCard",
5912 "pos": [
5913 630,
5914 2390
5915 ],
5916 "size": [
5917 320,
5918 490
5919 ],
5920 "flags": [],
5921 "order": 10,
5922 "mode": 4,
5923 "inputs": [
5924 {
5925 "localized_name": "project_name",
5926 "name": "project_name",
5927 "type": "STRING",
5928 "link": 416
5929 },
5930 {
5931 "localized_name": "vae",
5932 "name": "vae",
5933 "type": "VAE",
5934 "link": 297
5935 },
5936 {
5937 "localized_name": "width",
5938 "name": "width",
5939 "type": "INT",
5940 "widget": {
5941 "name": "width"
5942 },
5943 "link": 410
5944 },
5945 {
5946 "localized_name": "height",
5947 "name": "height",
5948 "type": "INT",
5949 "widget": {
5950 "name": "height"
5951 },
5952 "link": 411
5953 },
5954 {
5955 "localized_name": "base_seed",
5956 "name": "base_seed",
5957 "type": "INT",
5958 "widget": {
5959 "name": "base_seed"
5960 },
5961 "link": 417
5962 }
5963 ],
5964 "outputs": [
5965 {
5966 "localized_name": "latent",
5967 "name": "latent",
5968 "type": "LATENT",
5969 "links": null
5970 },
5971 {
5972 "localized_name": "prompt",
5973 "name": "prompt",
5974 "type": "STRING",
5975 "links": [
5976 326
5977 ]
5978 },
5979 {
5980 "localized_name": "scene",
5981 "name": "scene",
5982 "type": "STRING",
5983 "links": [
5984 298
5985 ]
5986 },
5987 {
5988 "localized_name": "elements",
5989 "name": "elements",
5990 "type": "ARRAY",
5991 "links": [
5992 299,
5993 325
5994 ]
5995 },
5996 {
5997 "localized_name": "where",
5998 "name": "where",
5999 "type": "STRING",
6000 "links": null
6001 },
6002 {
6003 "localized_name": "background",
6004 "name": "background",
6005 "type": "IMAGE",
6006 "links": [
6007 324,
6008 385,
6009 390,
6010 398
6011 ]
6012 },
6013 {
6014 "localized_name": "cast",
6015 "name": "cast",
6016 "type": "IMAGE",
6017 "links": null
6018 },
6019 {
6020 "localized_name": "width",
6021 "name": "width",
6022 "type": "INT",
6023 "links": [
6024 300
6025 ]
6026 },
6027 {
6028 "localized_name": "height",
6029 "name": "height",
6030 "type": "INT",
6031 "links": [
6032 301
6033 ]
6034 },
6035 {
6036 "localized_name": "seed",
6037 "name": "seed",
6038 "type": "INT",
6039 "links": [
6040 314,
6041 328,
6042 351
6043 ]
6044 },
6045 {
6046 "localized_name": "card",
6047 "name": "card",
6048 "type": "STRING",
6049 "links": [
6050 318
6051 ]
6052 },
6053 {
6054 "localized_name": "hold",
6055 "name": "hold",
6056 "type": "BOOLEAN",
6057 "links": [
6058 329
6059 ]
6060 },
6061 {
6062 "localized_name": "cast_sheet",
6063 "name": "cast_sheet",
6064 "type": "IMAGE",
6065 "links": [
6066 384,
6067 391,
6068 401
6069 ]
6070 },
6071 {
6072 "localized_name": "tight",
6073 "name": "tight",
6074 "type": "BOOLEAN",
6075 "links": [
6076 393,
6077 397
6078 ]
6079 },
6080 {
6081 "localized_name": "edit_prompt",
6082 "name": "edit_prompt",
6083 "type": "STRING",
6084 "links": [
6085 402
6086 ]
6087 }
6088 ],
6089 "properties": {
6090 "cnr_id": "ComfyUI_LC_AV_nodes",
6091 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
6092 "Node name for S&R": "LCH3ShotCard",
6093 "ue_properties": {
6094 "widget_ue_connectable": [],
6095 "input_ue_unconnectable": [],
6096 "version": "7.8"
6097 }
6098 },
6099 "widgets_values": [
6100 "",
6101 "start",
6102 1344,
6103 768,
6104 0,
6105 ""
6106 ],
6107 "widgets_values_named": {
6108 "shot": "",
6109 "slot": "start",
6110 "width": 1344,
6111 "height": 768,
6112 "base_seed": 0,
6113 "style": ""
6114 },
6115 "color": "#233",
6116 "bgcolor": "#355"
6117 },
6118 {
6119 "id": 192,
6120 "type": "LCNegative",
6121 "pos": [
6122 630,
6123 2920
6124 ],
6125 "size": [
6126 320,
6127 120
6128 ],
6129 "flags": [],
6130 "order": 1,
6131 "mode": 4,
6132 "inputs": [],
6133 "outputs": [
6134 {
6135 "localized_name": "negative",
6136 "name": "negative",
6137 "type": "STRING",
6138 "links": [
6139 309,
6140 327
6141 ]
6142 }
6143 ],
6144 "title": "Negative",
6145 "properties": {
6146 "cnr_id": "ComfyUI_LC123_nodes",
6147 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
6148 "Node name for S&R": "LCNegative",
6149 "ue_properties": {
6150 "widget_ue_connectable": [],
6151 "input_ue_unconnectable": [],
6152 "version": "7.8"
6153 }
6154 },
6155 "widgets_values": [
6156 "worst quality, bad anatomy, watermark, jpeg artifact, censored"
6157 ],
6158 "widgets_values_named": {
6159 "negative": "worst quality, bad anatomy, watermark, jpeg artifact, censored"
6160 },
6161 "color": "#643232",
6162 "bgcolor": "#643232"
6163 },
6164 {
6165 "id": 193,
6166 "type": "LCMOSSLayoutPrompt",
6167 "pos": [
6168 960,
6169 2390
6170 ],
6171 "size": [
6172 320,
6173 260
6174 ],
6175 "flags": [],
6176 "order": 11,
6177 "mode": 4,
6178 "inputs": [
6179 {
6180 "localized_name": "elements",
6181 "name": "elements",
6182 "type": "ARRAY",
6183 "link": 299
6184 },
6185 {
6186 "localized_name": "prompt",
6187 "name": "prompt",
6188 "type": "STRING",
6189 "widget": {
6190 "name": "prompt"
6191 },
6192 "link": 298
6193 },
6194 {
6195 "localized_name": "width",
6196 "name": "width",
6197 "shape": 7,
6198 "type": "INT",
6199 "widget": {
6200 "name": "width"
6201 },
6202 "link": 300
6203 },
6204 {
6205 "localized_name": "height",
6206 "name": "height",
6207 "shape": 7,
6208 "type": "INT",
6209 "widget": {
6210 "name": "height"
6211 },
6212 "link": 301
6213 }
6214 ],
6215 "outputs": [
6216 {
6217 "localized_name": "prompt",
6218 "name": "prompt",
6219 "type": "STRING",
6220 "links": [
6221 302,
6222 308
6223 ]
6224 },
6225 {
6226 "localized_name": "width",
6227 "name": "width",
6228 "type": "INT",
6229 "links": [
6230 303
6231 ]
6232 },
6233 {
6234 "localized_name": "height",
6235 "name": "height",
6236 "type": "INT",
6237 "links": [
6238 304
6239 ]
6240 },
6241 {
6242 "localized_name": "info",
6243 "name": "info",
6244 "type": "STRING",
6245 "links": null
6246 }
6247 ],
6248 "properties": {
6249 "cnr_id": "ComfyUI_LC123_nodes",
6250 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
6251 "Node name for S&R": "LCMOSSLayoutPrompt",
6252 "ue_properties": {
6253 "widget_ue_connectable": [],
6254 "input_ue_unconnectable": [],
6255 "version": "7.8"
6256 }
6257 },
6258 "widgets_values": [
6259 "",
6260 "single",
6261 0,
6262 0
6263 ],
6264 "widgets_values_named": {
6265 "prompt": "",
6266 "canvas": "single",
6267 "width": 0,
6268 "height": 0
6269 },
6270 "color": "#143c14",
6271 "bgcolor": "#143c14"
6272 },
6273 {
6274 "id": 194,
6275 "type": "LCShowText",
6276 "pos": [
6277 960,
6278 2690
6279 ],
6280 "size": [
6281 320,
6282 200
6283 ],
6284 "flags": [],
6285 "order": 12,
6286 "mode": 4,
6287 "inputs": [
6288 {
6289 "localized_name": "text",
6290 "name": "text",
6291 "type": "STRING",
6292 "link": 302
6293 }
6294 ],
6295 "outputs": [
6296 {
6297 "localized_name": "text",
6298 "name": "text",
6299 "type": "STRING",
6300 "links": null
6301 }
6302 ],
6303 "title": "Prompt",
6304 "properties": {
6305 "cnr_id": "ComfyUI_LC123_nodes",
6306 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
6307 "Node name for S&R": "LCShowText",
6308 "ue_properties": {
6309 "widget_ue_connectable": [],
6310 "input_ue_unconnectable": [],
6311 "version": "7.8"
6312 },
6313 "lc_display_text": "{\n \"summary\": {\n \"canvas\": \"single\",\n \"caption\": \"A still frame from a film: a two-shot of both of them, framed from the waist up. In metallic walls, control panels, dim red and blue lights, cockpit, flight controls. Alex looks at Maya. Cinematic sci-fi with cool blue and silver tones, vast space vistas, and sharp interior lighting. Natural light, sharp focus, photographic.\"\n },\n \"items\": [\n {\n \"label\": \"character\",\n \"caption\": \"Alex, a woman, mid twenties, tan, beautiful, blonde hair tied back in a high ponytail, wearing the outfit shown in the outfit picture\",\n \"bbox\": [\n -234,\n -533,\n 334,\n -203\n ]\n },\n {\n \"label\": \"character\",\n \"caption\": \"Maya, a woman, mid twenties, brunette hair in a high ponytail, red lipstick, medium breasts, wearing the outfit shown in the outfit picture\",\n \"bbox\": [\n -217,\n 274,\n 332,\n 561\n ]\n }\n ],\n \"bbox_coord_space\": \"abs_centralized\",\n \"bbox_format\": \"yxyx\"\n}"
6314 },
6315 "widgets_values": [
6316 "{\n \"summary\": {\n \"canvas\": \"single\",\n \"caption\": \"A still frame from a film: a two-shot of both of them, framed from the waist up. In metallic walls, control panels, dim red and blue lights, cockpit, flight controls. Alex looks at Maya. Cinematic sci-fi with cool blue and silver tones, vast space vistas, and sharp interior lighting. Natural light, sharp focus, photographic.\"\n },\n \"items\": [\n {\n \"label\": \"character\",\n \"caption\": \"Alex, a woman, mid twenties, tan, beautiful, blonde hair tied back in a high ponytail, wearing the outfit shown in the outfit picture\",\n \"bbox\": [\n -234,\n -533,\n 334,\n -203\n ]\n },\n {\n \"label\": \"character\",\n \"caption\": \"Maya, a woman, mid twenties, brunette hair in a high ponytail, red lipstick, medium breasts, wearing the outfit shown in the outfit picture\",\n \"bbox\": [\n -217,\n 274,\n 332,\n 561\n ]\n }\n ],\n \"bbox_coord_space\": \"abs_centralized\",\n \"bbox_format\": \"yxyx\"\n}"
6317 ],
6318 "widgets_values_named": {
6319 "text": "{\n \"summary\": {\n \"canvas\": \"single\",\n \"caption\": \"A still frame from a film: a two-shot of both of them, framed from the waist up. In metallic walls, control panels, dim red and blue lights, cockpit, flight controls. Alex looks at Maya. Cinematic sci-fi with cool blue and silver tones, vast space vistas, and sharp interior lighting. Natural light, sharp focus, photographic.\"\n },\n \"items\": [\n {\n \"label\": \"character\",\n \"caption\": \"Alex, a woman, mid twenties, tan, beautiful, blonde hair tied back in a high ponytail, wearing the outfit shown in the outfit picture\",\n \"bbox\": [\n -234,\n -533,\n 334,\n -203\n ]\n },\n {\n \"label\": \"character\",\n \"caption\": \"Maya, a woman, mid twenties, brunette hair in a high ponytail, red lipstick, medium breasts, wearing the outfit shown in the outfit picture\",\n \"bbox\": [\n -217,\n 274,\n 332,\n 561\n ]\n }\n ],\n \"bbox_coord_space\": \"abs_centralized\",\n \"bbox_format\": \"yxyx\"\n}"
6320 },
6321 "color": "#232",
6322 "bgcolor": "#353"
6323 },
6324 {
6325 "id": 195,
6326 "type": "EmptyFlux2LatentImage",
6327 "pos": [
6328 1630,
6329 2470
6330 ],
6331 "size": [
6332 320,
6333 110
6334 ],
6335 "flags": {
6336 "collapsed": true
6337 },
6338 "order": 13,
6339 "mode": 4,
6340 "inputs": [
6341 {
6342 "localized_name": "width",
6343 "name": "width",
6344 "type": "INT",
6345 "widget": {
6346 "name": "width"
6347 },
6348 "link": 303
6349 },
6350 {
6351 "localized_name": "height",
6352 "name": "height",
6353 "type": "INT",
6354 "widget": {
6355 "name": "height"
6356 },
6357 "link": 304
6358 }
6359 ],
6360 "outputs": [
6361 {
6362 "localized_name": "LATENT",
6363 "name": "LATENT",
6364 "type": "LATENT",
6365 "links": [
6366 313
6367 ]
6368 }
6369 ],
6370 "properties": {
6371 "cnr_id": "comfy-core",
6372 "ver": "0.42.0",
6373 "Node name for S&R": "EmptyFlux2LatentImage",
6374 "ue_properties": {
6375 "widget_ue_connectable": [],
6376 "input_ue_unconnectable": [],
6377 "version": "7.8"
6378 }
6379 },
6380 "widgets_values": [
6381 1024,
6382 1024,
6383 1
6384 ],
6385 "widgets_values_named": {
6386 "width": 1024,
6387 "height": 1024,
6388 "batch_size": 1
6389 },
6390 "color": "#323",
6391 "bgcolor": "#535"
6392 },
6393 {
6394 "id": 196,
6395 "type": "SkipLayerGuidanceDiTSimple",
6396 "pos": [
6397 1630,
6398 2510
6399 ],
6400 "size": [
6401 320,
6402 130
6403 ],
6404 "flags": {
6405 "collapsed": true
6406 },
6407 "order": 14,
6408 "mode": 4,
6409 "inputs": [
6410 {
6411 "localized_name": "model",
6412 "name": "model",
6413 "type": "MODEL",
6414 "link": 305
6415 }
6416 ],
6417 "outputs": [
6418 {
6419 "localized_name": "MODEL",
6420 "name": "MODEL",
6421 "type": "MODEL",
6422 "links": [
6423 310,
6424 321
6425 ]
6426 }
6427 ],
6428 "title": "skip 22",
6429 "properties": {
6430 "cnr_id": "comfy-core",
6431 "ver": "0.42.0",
6432 "Node name for S&R": "SkipLayerGuidanceDiTSimple",
6433 "ue_properties": {
6434 "widget_ue_connectable": [],
6435 "input_ue_unconnectable": [],
6436 "version": "7.8"
6437 }
6438 },
6439 "widgets_values": [
6440 "",
6441 "22",
6442 0,
6443 0.5
6444 ],
6445 "widgets_values_named": {
6446 "double_layers": "",
6447 "single_layers": "22",
6448 "start_percent": 0,
6449 "end_percent": 0.5
6450 },
6451 "color": "#222",
6452 "bgcolor": "#000"
6453 },
6454 {
6455 "id": 197,
6456 "type": "LCPromptToConditioning",
6457 "pos": [
6458 1630,
6459 2550
6460 ],
6461 "size": [
6462 300,
6463 100
6464 ],
6465 "flags": {
6466 "collapsed": true
6467 },
6468 "order": 15,
6469 "mode": 4,
6470 "inputs": [
6471 {
6472 "localized_name": "clip",
6473 "name": "clip",
6474 "type": "CLIP",
6475 "link": 306
6476 },
6477 {
6478 "localized_name": "string",
6479 "name": "string",
6480 "type": "STRING",
6481 "link": 308
6482 }
6483 ],
6484 "outputs": [
6485 {
6486 "localized_name": "conditioning",
6487 "name": "conditioning",
6488 "type": "CONDITIONING",
6489 "links": [
6490 311
6491 ]
6492 }
6493 ],
6494 "properties": {
6495 "cnr_id": "ComfyUI_LC123_nodes",
6496 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
6497 "Node name for S&R": "LCPromptToConditioning",
6498 "ue_properties": {
6499 "widget_ue_connectable": [],
6500 "input_ue_unconnectable": [],
6501 "version": "7.8"
6502 }
6503 },
6504 "color": "#232",
6505 "bgcolor": "#353"
6506 },
6507 {
6508 "id": 198,
6509 "type": "LCPromptToConditioning",
6510 "pos": [
6511 1630,
6512 2590
6513 ],
6514 "size": [
6515 300,
6516 100
6517 ],
6518 "flags": {
6519 "collapsed": true
6520 },
6521 "order": 16,
6522 "mode": 4,
6523 "inputs": [
6524 {
6525 "localized_name": "clip",
6526 "name": "clip",
6527 "type": "CLIP",
6528 "link": 307
6529 },
6530 {
6531 "localized_name": "string",
6532 "name": "string",
6533 "type": "STRING",
6534 "link": 309
6535 }
6536 ],
6537 "outputs": [
6538 {
6539 "localized_name": "conditioning",
6540 "name": "conditioning",
6541 "type": "CONDITIONING",
6542 "links": [
6543 312
6544 ]
6545 }
6546 ],
6547 "properties": {
6548 "cnr_id": "ComfyUI_LC123_nodes",
6549 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
6550 "Node name for S&R": "LCPromptToConditioning",
6551 "ue_properties": {
6552 "widget_ue_connectable": [],
6553 "input_ue_unconnectable": [],
6554 "version": "7.8"
6555 }
6556 },
6557 "color": "#322",
6558 "bgcolor": "#533"
6559 },
6560 {
6561 "id": 199,
6562 "type": "KSampler",
6563 "pos": [
6564 1630,
6565 2630
6566 ],
6567 "size": [
6568 350,
6569 270
6570 ],
6571 "flags": {
6572 "collapsed": true
6573 },
6574 "order": 17,
6575 "mode": 4,
6576 "inputs": [
6577 {
6578 "localized_name": "model",
6579 "name": "model",
6580 "type": "MODEL",
6581 "link": 310
6582 },
6583 {
6584 "localized_name": "positive",
6585 "name": "positive",
6586 "type": "CONDITIONING",
6587 "link": 311
6588 },
6589 {
6590 "localized_name": "negative",
6591 "name": "negative",
6592 "type": "CONDITIONING",
6593 "link": 312
6594 },
6595 {
6596 "localized_name": "latent_image",
6597 "name": "latent_image",
6598 "type": "LATENT",
6599 "link": 313
6600 },
6601 {
6602 "localized_name": "seed",
6603 "name": "seed",
6604 "type": "INT",
6605 "widget": {
6606 "name": "seed"
6607 },
6608 "link": 314
6609 }
6610 ],
6611 "outputs": [
6612 {
6613 "localized_name": "LATENT",
6614 "name": "LATENT",
6615 "type": "LATENT",
6616 "links": [
6617 315
6618 ]
6619 }
6620 ],
6621 "title": "Moss Ksampler",
6622 "properties": {
6623 "cnr_id": "comfy-core",
6624 "ver": "0.42.0",
6625 "Node name for S&R": "KSampler",
6626 "ue_properties": {
6627 "widget_ue_connectable": [],
6628 "input_ue_unconnectable": [],
6629 "version": "7.8"
6630 }
6631 },
6632 "widgets_values": [
6633 0,
6634 "randomize",
6635 25,
6636 2.5,
6637 "er_sde",
6638 "simple",
6639 1
6640 ],
6641 "widgets_values_named": {
6642 "seed": 0,
6643 "control_after_generate": "randomize",
6644 "steps": 25,
6645 "cfg": 2.5,
6646 "sampler_name": "er_sde",
6647 "scheduler": "simple",
6648 "denoise": 1
6649 },
6650 "color": "#223",
6651 "bgcolor": "#335"
6652 },
6653 {
6654 "id": 200,
6655 "type": "VAEDecode",
6656 "pos": [
6657 1630,
6658 2710
6659 ],
6660 "size": [
6661 140,
6662 50
6663 ],
6664 "flags": {
6665 "collapsed": true
6666 },
6667 "order": 18,
6668 "mode": 4,
6669 "inputs": [
6670 {
6671 "localized_name": "samples",
6672 "name": "samples",
6673 "type": "LATENT",
6674 "link": 315
6675 },
6676 {
6677 "localized_name": "vae",
6678 "name": "vae",
6679 "type": "VAE",
6680 "link": 316
6681 }
6682 ],
6683 "outputs": [
6684 {
6685 "localized_name": "IMAGE",
6686 "name": "IMAGE",
6687 "type": "IMAGE",
6688 "links": [
6689 331
6690 ]
6691 }
6692 ],
6693 "properties": {
6694 "cnr_id": "comfy-core",
6695 "ver": "0.42.0",
6696 "Node name for S&R": "VAEDecode",
6697 "ue_properties": {
6698 "widget_ue_connectable": [],
6699 "input_ue_unconnectable": [],
6700 "version": "7.8"
6701 }
6702 },
6703 "color": "#322",
6704 "bgcolor": "#533"
6705 },
6706 {
6707 "id": 201,
6708 "type": "LCH3SaveToStory",
6709 "pos": [
6710 630,
6711 3590
6712 ],
6713 "size": [
6714 320,
6715 340
6716 ],
6717 "flags": [],
6718 "order": 19,
6719 "mode": 4,
6720 "inputs": [
6721 {
6722 "localized_name": "images",
6723 "name": "images",
6724 "type": "IMAGE",
6725 "link": 368
6726 },
6727 {
6728 "localized_name": "card",
6729 "name": "card",
6730 "shape": 7,
6731 "type": "STRING",
6732 "link": 318
6733 }
6734 ],
6735 "outputs": [],
6736 "properties": {
6737 "cnr_id": "ComfyUI_LC_AV_nodes",
6738 "ver": "032d77c7ced1873a28bbc4869c5ba81c42172f90",
6739 "Node name for S&R": "LCH3SaveToStory",
6740 "ue_properties": {
6741 "widget_ue_connectable": [],
6742 "input_ue_unconnectable": [],
6743 "version": "7.8"
6744 }
6745 },
6746 "widgets_values": [
6747 "from card",
6748 "",
6749 ""
6750 ],
6751 "widgets_values_named": {
6752 "kind": "from card",
6753 "name": "",
6754 "project": ""
6755 },
6756 "color": "#1a5a7a",
6757 "bgcolor": "#1a5a7a"
6758 },
6759 {
6760 "id": 203,
6761 "type": "LCPreviewImage",
6762 "pos": [
6763 1300,
6764 2960
6765 ],
6766 "size": [
6767 530,
6768 730
6769 ],
6770 "flags": [],
6771 "order": 20,
6772 "mode": 4,
6773 "inputs": [
6774 {
6775 "localized_name": "image",
6776 "name": "image",
6777 "shape": 7,
6778 "type": "IMAGE",
6779 "link": 367
6780 }
6781 ],
6782 "outputs": [
6783 {
6784 "localized_name": "image",
6785 "name": "image",
6786 "type": "IMAGE",
6787 "links": null
6788 }
6789 ],
6790 "properties": {
6791 "cnr_id": "ComfyUI_LC123_nodes",
6792 "ver": "b91d18a9603838c2daa4b438b3aa4dbd1a40a845",
6793 "Node name for S&R": "LCPreviewImage",
6794 "ue_properties": {
6795 "widget_ue_connectable": [],
6796 "input_ue_unconnectable": [],
6797 "version": "7.8"
6798 }
6799 },
6800 "widgets_values": [
6801 ""
6802 ],
6803 "widgets_values_named": {
6804 "lc_preview": ""
6805 },
6806 "color": "#324B4B",
6807 "bgcolor": "#324B4B"
6808 },
6809 {
6810 "id": 204,
6811 "type": "LCMOSSBoxEdit",
6812 "pos": [
6813 1290,
6814 2390
6815 ],
6816 "size": [
6817 320,
6818 440
6819 ],
6820 "flags": [],
6821 "order": 21,
6822 "mode": 4,
6823 "inputs": [
6824 {
6825 "localized_name": "model",
6826 "name": "model",
6827 "type": "MODEL",
6828 "link": 321
6829 },
6830 {
6831 "localized_name": "clip",
6832 "name": "clip",
6833 "type": "CLIP",
6834 "link": 322
6835 },
6836 {
6837 "localized_name": "vae",
6838 "name": "vae",
6839 "type": "VAE",
6840 "link": 323
6841 },
6842 {
6843 "localized_name": "image",
6844 "name": "image",
6845 "type": "IMAGE",
6846 "link": 324
6847 },
6848 {
6849 "localized_name": "elements",
6850 "name": "elements",
6851 "type": "ARRAY",
6852 "link": 325
6853 },
6854 {
6855 "localized_name": "prompt",
6856 "name": "prompt",
6857 "type": "STRING",
6858 "widget": {
6859 "name": "prompt"
6860 },
6861 "link": 326
6862 },
6863 {
6864 "localized_name": "negative",
6865 "name": "negative",
6866 "type": "STRING",
6867 "widget": {
6868 "name": "negative"
6869 },
6870 "link": 327
6871 },
6872 {
6873 "localized_name": "seed",
6874 "name": "seed",
6875 "type": "INT",
6876 "widget": {
6877 "name": "seed"
6878 },
6879 "link": 328
6880 }
6881 ],
6882 "outputs": [
6883 {
6884 "localized_name": "image",
6885 "name": "image",
6886 "type": "IMAGE",
6887 "links": [
6888 330
6889 ]
6890 },
6891 {
6892 "localized_name": "mask",
6893 "name": "mask",
6894 "type": "MASK",
6895 "links": null
6896 },
6897 {
6898 "localized_name": "layout_prompt",
6899 "name": "layout_prompt",
6900 "type": "STRING",
6901 "links": null
6902 }
6903 ],
6904 "properties": {
6905 "cnr_id": "ComfyUI_LC_MaskMaker_nodes",
6906 "ver": "bacbf78c4f082bb7c1d296491febb05450e90c04",
6907 "Node name for S&R": "LCMOSSBoxEdit",
6908 "ue_properties": {
6909 "widget_ue_connectable": [],
6910 "input_ue_unconnectable": [],
6911 "version": "7.8"
6912 }
6913 },
6914 "widgets_values": [
6915 "",
6916 "censored, worst quality, bad anatomy, watermark, jpeg artifact, blurry",
6917 0,
6918 "randomize",
6919 25,
6920 2.5,
6921 "er_sde",
6922 "simple",
6923 16,
6924 64,
6925 0
6926 ],
6927 "widgets_values_named": {
6928 "prompt": "",
6929 "negative": "censored, worst quality, bad anatomy, watermark, jpeg artifact, blurry",
6930 "seed": 0,
6931 "control_after_generate": "randomize",
6932 "steps": 25,
6933 "cfg": 2.5,
6934 "sampler_name": "er_sde",
6935 "scheduler": "simple",
6936 "grow": 16,
6937 "feather": 64,
6938 "keep": 0
6939 },
6940 "color": "#324b4b",
6941 "bgcolor": "#324b4b"
6942 },
6943 {
6944 "id": 205,
6945 "type": "LCBooleanSwitch",
6946 "pos": [
6947 1630,
6948 2670
6949 ],
6950 "size": [
6951 270,
6952 80
6953 ],
6954 "flags": {
6955 "collapsed": true
6956 },
6957 "order": 22,
6958 "mode": 4,
6959 "inputs": [
6960 {
6961 "localized_name": "on_true",
6962 "name": "on_true",
6963 "shape": 7,
6964 "type": "*",
6965 "link": 330
6966 },
6967 {
6968 "localized_name": "on_false",
6969 "name": "on_false",
6970 "shape": 7,
6971 "type": "*",
6972 "link": 331
6973 },
6974 {
6975 "localized_name": "state",
6976 "name": "state",
6977 "type": "BOOLEAN",
6978 "widget": {
6979 "name": "state"
6980 },
6981 "link": 329
6982 }
6983 ],
6984 "outputs": [
6985 {
6986 "localized_name": "*",
6987 "name": "*",
6988 "type": "*",
6989 "links": [
6990 336,
6991 341,
6992 399
6993 ]
6994 }
6995 ],
6996 "title": "shot/ edit switch",
6997 "properties": {
6998 "cnr_id": "ComfyUI_LC123_nodes",
6999 "ver": "d2547b1739df54b8bcf5dfd79f80fedd1fa164fb",
7000 "Node name for S&R": "LCBooleanSwitch",
7001 "ue_properties": {
7002 "widget_ue_connectable": [],
7003 "input_ue_unconnectable": [],
7004 "version": "7.8"
7005 },
7006 "lc_w": 270,
7007 "lc_h": 80
7008 },
7009 "widgets_values": [
7010 false
7011 ],
7012 "widgets_values_named": {
7013 "state": false
7014 },
7015 "color": "#222",
7016 "bgcolor": "#000"
7017 },
7018 {
7019 "id": 208,
7020 "type": "VAEEncode",
7021 "pos": [
7022 970,
7023 3130
7024 ],
7025 "size": [
7026 140,
7027 50
7028 ],
7029 "flags": {
7030 "collapsed": true
7031 },
7032 "order": 23,
7033 "mode": 4,
7034 "inputs": [
7035 {
7036 "localized_name": "pixels",
7037 "name": "pixels",
7038 "type": "IMAGE",
7039 "link": 336
7040 },
7041 {
7042 "localized_name": "vae",
7043 "name": "vae",
7044 "type": "VAE",
7045 "link": 337
7046 }
7047 ],
7048 "outputs": [
7049 {
7050 "localized_name": "LATENT",
7051 "name": "LATENT",
7052 "type": "LATENT",
7053 "links": [
7054 339,
7055 342,
7056 350,
7057 392
7058 ]
7059 }
7060 ],
7061 "properties": {
7062 "cnr_id": "comfy-core",
7063 "ver": "0.42.0",
7064 "Node name for S&R": "VAEEncode",
7065 "ue_properties": {
7066 "widget_ue_connectable": [],
7067 "input_ue_unconnectable": [],
7068 "version": "7.8"
7069 }
7070 },
7071 "color": "#322",
7072 "bgcolor": "#533"
7073 },
7074 {
7075 "id": 209,
7076 "type": "Krea2EditModelPatch",
7077 "pos": [
7078 630,
7079 3220
7080 ],
7081 "size": [
7082 320,
7083 330
7084 ],
7085 "flags": [],
7086 "order": 24,
7087 "mode": 4,
7088 "inputs": [
7089 {
7090 "localized_name": "model",
7091 "name": "model",
7092 "type": "MODEL",
7093 "link": 338
7094 },
7095 {
7096 "localized_name": "source_latent",
7097 "name": "source_latent",
7098 "type": "LATENT",
7099 "link": 339
7100 },
7101 {
7102 "localized_name": "source_latent_b",
7103 "name": "source_latent_b",
7104 "shape": 7,
7105 "type": "LATENT",
7106 "link": null
7107 },
7108 {
7109 "localized_name": "ref_boost_mask",
7110 "name": "ref_boost_mask",
7111 "shape": 7,
7112 "type": "MASK",
7113 "link": null
7114 },
7115 {
7116 "localized_name": "vae",
7117 "name": "vae",
7118 "shape": 7,
7119 "type": "VAE",
7120 "link": 340
7121 },
7122 {
7123 "localized_name": "source_image",
7124 "name": "source_image",
7125 "shape": 7,
7126 "type": "IMAGE",
7127 "link": 341
7128 },
7129 {
7130 "localized_name": "source_image_b",
7131 "name": "source_image_b",
7132 "shape": 7,
7133 "type": "IMAGE",
7134 "link": 384
7135 },
7136 {
7137 "localized_name": "target_latent",
7138 "name": "target_latent",
7139 "shape": 7,
7140 "type": "LATENT",
7141 "link": 342
7142 }
7143 ],
7144 "outputs": [
7145 {
7146 "localized_name": "MODEL",
7147 "name": "MODEL",
7148 "type": "MODEL",
7149 "links": [
7150 395
7151 ]
7152 }
7153 ],
7154 "properties": {
7155 "cnr_id": "comfyui-krea2edit",
7156 "ver": "13ef60f20828949becada815d3cbc371eb5ccaab",
7157 "Node name for S&R": "Krea2EditModelPatch",
7158 "ue_properties": {
7159 "widget_ue_connectable": [],
7160 "input_ue_unconnectable": [],
7161 "version": "7.8"
7162 }
7163 },
7164 "widgets_values": [
7165 2.5,
7166 2.5,
7167 "fit",
7168 "beside (right of target)",
7169 "aligned (trained)"
7170 ],
7171 "widgets_values_named": {
7172 "ref_boost": 2.5,
7173 "ref_boost_a": 2.5,
7174 "fit_mode": "fit",
7175 "ref_position": "beside (right of target)",
7176 "ref_position_a": "aligned (trained)"
7177 },
7178 "color": "#222",
7179 "bgcolor": "#000"
7180 },
7181 {
7182 "id": 211,
7183 "type": "Krea2EditGroundedEncode",
7184 "pos": [
7185 970,
7186 3170
7187 ],
7188 "size": [
7189 400,
7190 210
7191 ],
7192 "flags": {
7193 "collapsed": true
7194 },
7195 "order": 25,
7196 "mode": 4,
7197 "inputs": [
7198 {
7199 "localized_name": "clip",
7200 "name": "clip",
7201 "type": "CLIP",
7202 "link": 343
7203 },
7204 {
7205 "localized_name": "image",
7206 "name": "image",
7207 "shape": 7,
7208 "type": "IMAGE",
7209 "link": 400
7210 },
7211 {
7212 "localized_name": "image_b",
7213 "name": "image_b",
7214 "shape": 7,
7215 "type": "IMAGE",
7216 "link": 401
7217 },
7218 {
7219 "localized_name": "prompt",
7220 "name": "prompt",
7221 "type": "STRING",
7222 "widget": {
7223 "name": "prompt"
7224 },
7225 "link": 402
7226 }
7227 ],
7228 "outputs": [
7229 {
7230 "localized_name": "CONDITIONING",
7231 "name": "CONDITIONING",
7232 "type": "CONDITIONING",
7233 "links": [
7234 346,
7235 348
7236 ]
7237 }
7238 ],
7239 "properties": {
7240 "cnr_id": "comfyui-krea2edit",
7241 "ver": "13ef60f20828949becada815d3cbc371eb5ccaab",
7242 "Node name for S&R": "Krea2EditGroundedEncode",
7243 "ue_properties": {
7244 "widget_ue_connectable": [],
7245 "input_ue_unconnectable": [],
7246 "version": "7.8"
7247 }
7248 },
7249 "widgets_values": [
7250 "",
7251 768,
7252 ""
7253 ],
7254 "widgets_values_named": {
7255 "prompt": "",
7256 "grounding_px": 768,
7257 "system_prompt": ""
7258 },
7259 "color": "#232",
7260 "bgcolor": "#353"
7261 },
7262 {
7263 "id": 212,
7264 "type": "ConditioningZeroOut",
7265 "pos": [
7266 970,
7267 3210
7268 ],
7269 "size": [
7270 210,
7271 30
7272 ],
7273 "flags": {
7274 "collapsed": true
7275 },
7276 "order": 26,
7277 "mode": 4,
7278 "inputs": [
7279 {
7280 "localized_name": "conditioning",
7281 "name": "conditioning",
7282 "type": "CONDITIONING",
7283 "link": 346
7284 }
7285 ],
7286 "outputs": [
7287 {
7288 "localized_name": "CONDITIONING",
7289 "name": "CONDITIONING",
7290 "type": "CONDITIONING",
7291 "links": [
7292 349
7293 ]
7294 }
7295 ],
7296 "properties": {
7297 "cnr_id": "comfy-core",
7298 "ver": "0.42.0",
7299 "Node name for S&R": "ConditioningZeroOut",
7300 "ue_properties": {
7301 "widget_ue_connectable": [],
7302 "input_ue_unconnectable": [],
7303 "version": "7.8"
7304 }
7305 },
7306 "color": "#322",
7307 "bgcolor": "#533"
7308 },
7309 {
7310 "id": 213,
7311 "type": "LCSpeedBoostKSampler",
7312 "pos": [
7313 970,
7314 3250
7315 ],
7316 "size": [
7317 260,
7318 430
7319 ],
7320 "flags": {
7321 "collapsed": true
7322 },
7323 "order": 27,
7324 "mode": 4,
7325 "inputs": [
7326 {
7327 "localized_name": "model",
7328 "name": "model",
7329 "type": "MODEL",
7330 "link": 396
7331 },
7332 {
7333 "localized_name": "positive",
7334 "name": "positive",
7335 "type": "CONDITIONING",
7336 "link": 348
7337 },
7338 {
7339 "localized_name": "negative",
7340 "name": "negative",
7341 "type": "CONDITIONING",
7342 "link": 349
7343 },
7344 {
7345 "localized_name": "latent_image",
7346 "name": "latent_image",
7347 "type": "LATENT",
7348 "link": 350
7349 },
7350 {
7351 "localized_name": "sampler",
7352 "name": "sampler",
7353 "shape": 7,
7354 "type": "SAMPLER",
7355 "link": null
7356 },
7357 {
7358 "localized_name": "positive_half",
7359 "name": "positive_half",
7360 "shape": 7,
7361 "type": "CONDITIONING",
7362 "link": null
7363 },
7364 {
7365 "localized_name": "seed",
7366 "name": "seed",
7367 "type": "INT",
7368 "widget": {
7369 "name": "seed"
7370 },
7371 "link": 351
7372 }
7373 ],
7374 "outputs": [
7375 {
7376 "localized_name": "LATENT",
7377 "name": "LATENT",
7378 "type": "LATENT",
7379 "links": [
7380 352
7381 ]
7382 }
7383 ],
7384 "title": "Speed Boost 🚀 Sampler",
7385 "properties": {
7386 "cnr_id": "ComfyUI_LC123_nodes",
7387 "ver": "d2547b1739df54b8bcf5dfd79f80fedd1fa164fb",
7388 "Node name for S&R": "LCSpeedBoostKSampler",
7389 "ue_properties": {
7390 "widget_ue_connectable": [],
7391 "input_ue_unconnectable": [],
7392 "version": "7.8"
7393 }
7394 },
7395 "widgets_values": [
7396 true,
7397 4,
7398 "",
7399 0,
7400 "randomize",
7401 8,
7402 1,
7403 "euler",
7404 "simple",
7405 0.95,
7406 "",
7407 0,
7408 10000,
7409 false
7410 ],
7411 "widgets_values_named": {
7412 "speed_boost": true,
7413 "grow_at_step": 4,
7414 "_gap1": "",
7415 "seed": 0,
7416 "control_after_generate": "randomize",
7417 "steps": 8,
7418 "cfg": 1,
7419 "sampler_name": "euler",
7420 "scheduler": "simple",
7421 "denoise": 0.95,
7422 "_gap2": "",
7423 "start_at_step": 0,
7424 "end_at_step": 10000,
7425 "return_with_leftover_noise": false
7426 },
7427 "color": "#7d1919",
7428 "bgcolor": "#7d1919"
7429 },
7430 {
7431 "id": 214,
7432 "type": "VAEDecode",
7433 "pos": [
7434 970,
7435 3290
7436 ],
7437 "size": [
7438 140,
7439 50
7440 ],
7441 "flags": {
7442 "collapsed": true
7443 },
7444 "order": 28,
7445 "mode": 4,
7446 "inputs": [
7447 {
7448 "localized_name": "samples",
7449 "name": "samples",
7450 "type": "LATENT",
7451 "link": 352
7452 },
7453 {
7454 "localized_name": "vae",
7455 "name": "vae",
7456 "type": "VAE",
7457 "link": 353
7458 }
7459 ],
7460 "outputs": [
7461 {
7462 "localized_name": "IMAGE",
7463 "name": "IMAGE",
7464 "type": "IMAGE",
7465 "links": [
7466 366
7467 ]
7468 }
7469 ],
7470 "properties": {
7471 "cnr_id": "comfy-core",
7472 "ver": "0.42.0",
7473 "Node name for S&R": "VAEDecode",
7474 "ue_properties": {
7475 "widget_ue_connectable": [],
7476 "input_ue_unconnectable": [],
7477 "version": "7.8"
7478 }
7479 },
7480 "color": "#322",
7481 "bgcolor": "#533"
7482 },
7483 {
7484 "id": 217,
7485 "type": "LCVRAMCacheClear",
7486 "pos": [
7487 970,
7488 3330
7489 ],
7490 "size": [
7491 270,
7492 30
7493 ],
7494 "flags": {
7495 "collapsed": true
7496 },
7497 "order": 29,
7498 "mode": 4,
7499 "inputs": [
7500 {
7501 "localized_name": "any",
7502 "name": "any",
7503 "type": "*",
7504 "link": 366
7505 }
7506 ],
7507 "outputs": [
7508 {
7509 "localized_name": "any",
7510 "name": "any",
7511 "type": "*",
7512 "links": [
7513 367,
7514 368
7515 ]
7516 }
7517 ],
7518 "properties": {
7519 "cnr_id": "ComfyUI_LC123_nodes",
7520 "ver": "d2547b1739df54b8bcf5dfd79f80fedd1fa164fb",
7521 "Node name for S&R": "LCVRAMCacheClear",
7522 "ue_properties": {
7523 "widget_ue_connectable": [],
7524 "input_ue_unconnectable": [],
7525 "version": "7.8"
7526 }
7527 },
7528 "color": "#28281E",
7529 "bgcolor": "#28281E"
7530 },
7531 {
7532 "id": 221,
7533 "type": "VAEEncode",
7534 "pos": [
7535 970,
7536 3370
7537 ],
7538 "size": [
7539 140,
7540 50
7541 ],
7542 "flags": {
7543 "collapsed": true
7544 },
7545 "order": 30,
7546 "mode": 4,
7547 "inputs": [
7548 {
7549 "localized_name": "pixels",
7550 "name": "pixels",
7551 "type": "IMAGE",
7552 "link": 385
7553 },
7554 {
7555 "localized_name": "vae",
7556 "name": "vae",
7557 "type": "VAE",
7558 "link": 386
7559 }
7560 ],
7561 "outputs": [
7562 {
7563 "localized_name": "LATENT",
7564 "name": "LATENT",
7565 "type": "LATENT",
7566 "links": [
7567 388
7568 ]
7569 }
7570 ],
7571 "properties": {
7572 "cnr_id": "comfy-core",
7573 "ver": "0.42.0",
7574 "Node name for S&R": "VAEEncode",
7575 "ue_properties": {
7576 "widget_ue_connectable": [],
7577 "input_ue_unconnectable": [],
7578 "version": "7.8"
7579 }
7580 }
7581 },
7582 {
7583 "id": 222,
7584 "type": "Krea2EditModelPatch",
7585 "pos": [
7586 970,
7587 3410
7588 ],
7589 "size": [
7590 270,
7591 300
7592 ],
7593 "flags": {
7594 "collapsed": true
7595 },
7596 "order": 31,
7597 "mode": 4,
7598 "inputs": [
7599 {
7600 "localized_name": "model",
7601 "name": "model",
7602 "type": "MODEL",
7603 "link": 387
7604 },
7605 {
7606 "localized_name": "source_latent",
7607 "name": "source_latent",
7608 "type": "LATENT",
7609 "link": 388
7610 },
7611 {
7612 "localized_name": "source_latent_b",
7613 "name": "source_latent_b",
7614 "shape": 7,
7615 "type": "LATENT",
7616 "link": null
7617 },
7618 {
7619 "localized_name": "ref_boost_mask",
7620 "name": "ref_boost_mask",
7621 "shape": 7,
7622 "type": "MASK",
7623 "link": null
7624 },
7625 {
7626 "localized_name": "vae",
7627 "name": "vae",
7628 "shape": 7,
7629 "type": "VAE",
7630 "link": 389
7631 },
7632 {
7633 "localized_name": "source_image",
7634 "name": "source_image",
7635 "shape": 7,
7636 "type": "IMAGE",
7637 "link": 390
7638 },
7639 {
7640 "localized_name": "source_image_b",
7641 "name": "source_image_b",
7642 "shape": 7,
7643 "type": "IMAGE",
7644 "link": 391
7645 },
7646 {
7647 "localized_name": "target_latent",
7648 "name": "target_latent",
7649 "shape": 7,
7650 "type": "LATENT",
7651 "link": 392
7652 }
7653 ],
7654 "outputs": [
7655 {
7656 "localized_name": "MODEL",
7657 "name": "MODEL",
7658 "type": "MODEL",
7659 "links": [
7660 394
7661 ]
7662 }
7663 ],
7664 "title": "Krea2EditModelPatch (close-ups)",
7665 "properties": {
7666 "cnr_id": "comfyui-krea2edit",
7667 "ver": "13ef60f20828949becada815d3cbc371eb5ccaab",
7668 "Node name for S&R": "Krea2EditModelPatch",
7669 "ue_properties": {
7670 "widget_ue_connectable": [],
7671 "input_ue_unconnectable": [],
7672 "version": "7.8"
7673 }
7674 },
7675 "widgets_values": [
7676 2.5,
7677 2.5,
7678 "fit",
7679 "beside (right of target)",
7680 "beside (right of target)"
7681 ],
7682 "widgets_values_named": {
7683 "ref_boost": 2.5,
7684 "ref_boost_a": 2.5,
7685 "fit_mode": "fit",
7686 "ref_position": "beside (right of target)",
7687 "ref_position_a": "beside (right of target)"
7688 }
7689 },
7690 {
7691 "id": 223,
7692 "type": "LCBooleanSwitch",
7693 "pos": [
7694 970,
7695 3450
7696 ],
7697 "size": [
7698 270,
7699 80
7700 ],
7701 "flags": {
7702 "collapsed": true
7703 },
7704 "order": 32,
7705 "mode": 4,
7706 "inputs": [
7707 {
7708 "localized_name": "on_true",
7709 "name": "on_true",
7710 "shape": 7,
7711 "type": "*",
7712 "link": 394
7713 },
7714 {
7715 "localized_name": "on_false",
7716 "name": "on_false",
7717 "shape": 7,
7718 "type": "*",
7719 "link": 395
7720 },
7721 {
7722 "localized_name": "state",
7723 "name": "state",
7724 "type": "BOOLEAN",
7725 "widget": {
7726 "name": "state"
7727 },
7728 "link": 393
7729 }
7730 ],
7731 "outputs": [
7732 {
7733 "localized_name": "*",
7734 "name": "*",
7735 "type": "*",
7736 "links": [
7737 396
7738 ]
7739 }
7740 ],
7741 "title": "Close-up? (model)",
7742 "properties": {
7743 "cnr_id": "ComfyUI_LC123_nodes",
7744 "ver": "d2547b1739df54b8bcf5dfd79f80fedd1fa164fb",
7745 "Node name for S&R": "LCBooleanSwitch",
7746 "ue_properties": {
7747 "widget_ue_connectable": [],
7748 "input_ue_unconnectable": [],
7749 "version": "7.8"
7750 },
7751 "lc_w": 270,
7752 "lc_h": 80
7753 },
7754 "widgets_values": [
7755 false
7756 ],
7757 "widgets_values_named": {
7758 "state": false
7759 },
7760 "color": "#28281E",
7761 "bgcolor": "#28281E"
7762 },
7763 {
7764 "id": 224,
7765 "type": "LCBooleanSwitch",
7766 "pos": [
7767 970,
7768 3490
7769 ],
7770 "size": [
7771 270,
7772 80
7773 ],
7774 "flags": {
7775 "collapsed": true
7776 },
7777 "order": 33,
7778 "mode": 4,
7779 "inputs": [
7780 {
7781 "localized_name": "on_true",
7782 "name": "on_true",
7783 "shape": 7,
7784 "type": "*",
7785 "link": 398
7786 },
7787 {
7788 "localized_name": "on_false",
7789 "name": "on_false",
7790 "shape": 7,
7791 "type": "*",
7792 "link": 399
7793 },
7794 {
7795 "localized_name": "state",
7796 "name": "state",
7797 "type": "BOOLEAN",
7798 "widget": {
7799 "name": "state"
7800 },
7801 "link": 397
7802 }
7803 ],
7804 "outputs": [
7805 {
7806 "localized_name": "*",
7807 "name": "*",
7808 "type": "*",
7809 "links": [
7810 400
7811 ]
7812 }
7813 ],
7814 "title": "Close-up? (scene)",
7815 "properties": {
7816 "cnr_id": "ComfyUI_LC123_nodes",
7817 "ver": "d2547b1739df54b8bcf5dfd79f80fedd1fa164fb",
7818 "Node name for S&R": "LCBooleanSwitch",
7819 "ue_properties": {
7820 "widget_ue_connectable": [],
7821 "input_ue_unconnectable": [],
7822 "version": "7.8"
7823 },
7824 "lc_w": 270,
7825 "lc_h": 80
7826 },
7827 "widgets_values": [
7828 false
7829 ],
7830 "widgets_values_named": {
7831 "state": false
7832 },
7833 "color": "#28281E",
7834 "bgcolor": "#28281E"
7835 },
7836 {
7837 "id": 227,
7838 "type": "LCMiniMaxH3PipeOutV2",
7839 "pos": [
7840 1630,
7841 2830
7842 ],
7843 "size": [
7844 210,
7845 710
7846 ],
7847 "flags": {
7848 "collapsed": true
7849 },
7850 "order": 34,
7851 "mode": 4,
7852 "inputs": [
7853 {
7854 "localized_name": "pipe",
7855 "name": "pipe",
7856 "type": "LC_H3_PIPE_V2,LC_H3_PIPE",
7857 "link": 418
7858 }
7859 ],
7860 "outputs": [
7861 {
7862 "localized_name": "pipe",
7863 "name": "pipe",
7864 "type": "LC_H3_PIPE_V2",
7865 "links": null
7866 },
7867 {
7868 "localized_name": "fl2va_model",
7869 "name": "fl2va_model",
7870 "type": "MODEL",
7871 "links": null
7872 },
7873 {
7874 "localized_name": "fl2va_clip",
7875 "name": "fl2va_clip",
7876 "type": "CLIP",
7877 "links": null
7878 },
7879 {
7880 "localized_name": "ref2va_model",
7881 "name": "ref2va_model",
7882 "type": "MODEL",
7883 "links": null
7884 },
7885 {
7886 "localized_name": "ref2va_clip",
7887 "name": "ref2va_clip",
7888 "type": "CLIP",
7889 "links": null
7890 },
7891 {
7892 "localized_name": "video_vae",
7893 "name": "video_vae",
7894 "type": "VAE",
7895 "links": null
7896 },
7897 {
7898 "localized_name": "audio_vae",
7899 "name": "audio_vae",
7900 "type": "VAE",
7901 "links": null
7902 },
7903 {
7904 "localized_name": "width",
7905 "name": "width",
7906 "type": "INT",
7907 "links": [
7908 406
7909 ]
7910 },
7911 {
7912 "localized_name": "height",
7913 "name": "height",
7914 "type": "INT",
7915 "links": [
7916 407
7917 ]
7918 },
7919 {
7920 "localized_name": "length",
7921 "name": "length",
7922 "type": "INT",
7923 "links": null
7924 },
7925 {
7926 "localized_name": "frame_rate",
7927 "name": "frame_rate",
7928 "type": "INT",
7929 "links": null
7930 },
7931 {
7932 "localized_name": "prompt",
7933 "name": "prompt",
7934 "type": "STRING",
7935 "links": null
7936 },
7937 {
7938 "localized_name": "total_steps",
7939 "name": "total_steps",
7940 "type": "INT",
7941 "links": null
7942 },
7943 {
7944 "localized_name": "cfg",
7945 "name": "cfg",
7946 "type": "FLOAT",
7947 "links": null
7948 },
7949 {
7950 "localized_name": "seed",
7951 "name": "seed",
7952 "type": "INT",
7953 "links": null
7954 },
7955 {
7956 "localized_name": "sampler_name",
7957 "name": "sampler_name",
7958 "type": "COMBO",
7959 "links": null
7960 },
7961 {
7962 "localized_name": "scheduler",
7963 "name": "scheduler",
7964 "type": "COMBO",
7965 "links": null
7966 },
7967 {
7968 "localized_name": "ref_image_0",
7969 "name": "ref_image_0",
7970 "type": "IMAGE",
7971 "links": null
7972 },
7973 {
7974 "localized_name": "ref_image_1",
7975 "name": "ref_image_1",
7976 "type": "IMAGE",
7977 "links": null
7978 },
7979 {
7980 "localized_name": "ref_image_2",
7981 "name": "ref_image_2",
7982 "type": "IMAGE",
7983 "links": null
7984 },
7985 {
7986 "localized_name": "ref_image_3",
7987 "name": "ref_image_3",
7988 "type": "IMAGE",
7989 "links": null
7990 },
7991 {
7992 "localized_name": "ref_image_4",
7993 "name": "ref_image_4",
7994 "type": "IMAGE",
7995 "links": null
7996 },
7997 {
7998 "localized_name": "ref_image_5",
7999 "name": "ref_image_5",
8000 "type": "IMAGE",
8001 "links": null
8002 },
8003 {
8004 "localized_name": "ref_image_6",
8005 "name": "ref_image_6",
8006 "type": "IMAGE",
8007 "links": null
8008 },
8009 {
8010 "localized_name": "ref_image_7",
8011 "name": "ref_image_7",
8012 "type": "IMAGE",
8013 "links": null
8014 },
8015 {
8016 "localized_name": "ref_image_8",
8017 "name": "ref_image_8",
8018 "type": "IMAGE",
8019 "links": null
8020 },
8021 {
8022 "localized_name": "ref_video_0",
8023 "name": "ref_video_0",
8024 "type": "IMAGE",
8025 "links": null
8026 },
8027 {
8028 "localized_name": "ref_video_1",
8029 "name": "ref_video_1",
8030 "type": "IMAGE",
8031 "links": null
8032 },
8033 {
8034 "localized_name": "ref_video_2",
8035 "name": "ref_video_2",
8036 "type": "IMAGE",
8037 "links": null
8038 },
8039 {
8040 "localized_name": "ref_video_audio_0",
8041 "name": "ref_video_audio_0",
8042 "type": "AUDIO",
8043 "links": null
8044 },
8045 {
8046 "localized_name": "ref_video_audio_1",
8047 "name": "ref_video_audio_1",
8048 "type": "AUDIO",
8049 "links": null
8050 },
8051 {
8052 "localized_name": "ref_video_audio_2",
8053 "name": "ref_video_audio_2",
8054 "type": "AUDIO",
8055 "links": null
8056 },
8057 {
8058 "localized_name": "ref_audio_0",
8059 "name": "ref_audio_0",
8060 "type": "AUDIO",
8061 "links": null
8062 },
8063 {
8064 "localized_name": "ref_audio_1",
8065 "name": "ref_audio_1",
8066 "type": "AUDIO",
8067 "links": null
8068 },
8069 {
8070 "localized_name": "ref_audio_2",
8071 "name": "ref_audio_2",
8072 "type": "AUDIO",
8073 "links": null
8074 }
8075 ],
8076 "title": "Pipe Out V2",
8077 "properties": {
8078 "cnr_id": "ComfyUI_LC123_nodes",
8079 "ver": "d1735ae970d2b0653001fdd8dcdf7a354727a2a7",
8080 "Node name for S&R": "LCMiniMaxH3PipeOutV2",
8081 "ue_properties": {
8082 "widget_ue_connectable": [],
8083 "input_ue_unconnectable": [],
8084 "version": "7.8"
8085 }
8086 },
8087 "color": "#707070",
8088 "bgcolor": "#707070"
8089 },
8090 {
8091 "id": 229,
8092 "type": "LCDimensionResize",
8093 "pos": [
8094 1630,
8095 2870
8096 ],
8097 "size": [
8098 270,
8099 120
8100 ],
8101 "flags": {
8102 "collapsed": true
8103 },
8104 "order": 35,
8105 "mode": 4,
8106 "inputs": [
8107 {
8108 "localized_name": "value",
8109 "name": "value",
8110 "type": "*",
8111 "link": 409
8112 },
8113 {
8114 "localized_name": "width",
8115 "name": "width",
8116 "type": "INT",
8117 "widget": {
8118 "name": "width"
8119 },
8120 "link": 406
8121 },
8122 {
8123 "localized_name": "height",
8124 "name": "height",
8125 "type": "INT",
8126 "widget": {
8127 "name": "height"
8128 },
8129 "link": 407
8130 }
8131 ],
8132 "outputs": [
8133 {
8134 "localized_name": "width",
8135 "name": "width",
8136 "type": "INT",
8137 "links": [
8138 410
8139 ]
8140 },
8141 {
8142 "localized_name": "height",
8143 "name": "height",
8144 "type": "INT",
8145 "links": [
8146 411
8147 ]
8148 }
8149 ],
8150 "title": "Dimension Resize 📐",
8151 "properties": {
8152 "cnr_id": "ComfyUI_LC123_nodes",
8153 "ver": "d1735ae970d2b0653001fdd8dcdf7a354727a2a7",
8154 "Node name for S&R": "LCDimensionResize",
8155 "ue_properties": {
8156 "widget_ue_connectable": [],
8157 "input_ue_unconnectable": [],
8158 "version": "7.8"
8159 }
8160 },
8161 "widgets_values": [
8162 1024,
8163 1024,
8164 "multiply"
8165 ],
8166 "widgets_values_named": {
8167 "width": 1024,
8168 "height": 1024,
8169 "operation": "multiply"
8170 },
8171 "color": "#324B4B",
8172 "bgcolor": "#324B4B"
8173 },
8174 {
8175 "id": 230,
8176 "type": "LCSlider",
8177 "pos": [
8178 620,
8179 3080
8180 ],
8181 "size": [
8182 320,
8183 32
8184 ],
8185 "flags": [],
8186 "order": 2,
8187 "mode": 4,
8188 "inputs": [],
8189 "outputs": [
8190 {
8191 "label": " ",
8192 "localized_name": "*",
8193 "name": "*",
8194 "type": "*",
8195 "links": [
8196 409
8197 ]
8198 }
8199 ],
8200 "title": "📐 resolution (1.0 +Video)",
8201 "properties": {
8202 "cnr_id": "ComfyUI_LC123_nodes",
8203 "ver": "d1735ae970d2b0653001fdd8dcdf7a354727a2a7",
8204 "Node name for S&R": "LCSlider",
8205 "ue_properties": {
8206 "widget_ue_connectable": [],
8207 "input_ue_unconnectable": [],
8208 "version": "7.8"
8209 },
8210 "min": 0.5,
8211 "max": 2,
8212 "step": 0.25,
8213 "decimals": 2
8214 },
8215 "widgets_values": [
8216 1,
8217 0.5,
8218 2,
8219 0.25,
8220 2,
8221 ""
8222 ],
8223 "widgets_values_named": {
8224 "value": 1,
8225 "min": 0.5,
8226 "max": 2,
8227 "step": 0.25,
8228 "decimals": 2,
8229 "lc123_face": ""
8230 },
8231 "color": "#c87a2c",
8232 "bgcolor": "#b46618"
8233 },
8234 {
8235 "id": 233,
8236 "type": "LCNote",
8237 "pos": [
8238 70,
8239 2360
8240 ],
8241 "size": [
8242 540,
8243 530
8244 ],
8245 "flags": [],
8246 "order": 3,
8247 "mode": 0,
8248 "inputs": [],
8249 "outputs": [],
8250 "title": "Cards & Storyboard 🃏: read before renaming or moving",
8251 "properties": {
8252 "lc_note": {
8253 "source": "en",
8254 "texts": {
8255 "en": {
8256 "text": "## Cards & Storyboard 🃏\n\n**What is it?**\n- One box that holds everything that makes the **pictures** for the Story: the card pictures (headshots, outfits, places, 360 panoramas, props) and the first and last frame of each shot. The movie itself is made by **Make 🎥**, outside this box.\n- You never run it by hand. Press **✨** on a card's picture slot or on a shot's 🖼 start / 🏁 end: the Story switches the right section on, makes that one picture, puts it on the card and switches everything off again.\n- The nodes in here are **bypassed on purpose** (purple). Do not un-bypass them.\n- The models sit outside, in front of this box: **Card Model (Krea2)** with the **Character or Style LoRA**, **Storyboard model 📖 (MOSS)** and the **🪪 Edit LoRA**. The project name, seeds and pipe are wired for you.\n\n**What has to stay exactly as it is**\n- **Two group names in here:**\n - **Story Card Prompt ✍🏼**: the card pictures. ✨ on a card switches on every node inside this box.\n - **Storyboard Maker 📖**: the shot start and end frames. ✨ on a shot switches on every node inside this box.\n - Mossy Soup 🍜 and 🪪 Edit Soup 🍲 are only labels inside the Storyboard Maker box: rename them if you like.\n- **One group name outside: Make 🎥.** ✨ switches Make off for the run. If it can't, the run would render the movie as well.\n- **Every node has to sit inside its group's box.**\n\n**Why they cannot be renamed or moved**\n- ✨ finds each section by the group's **title** (it looks for the words *story card prompt*, *storyboard maker* and *make*) and takes the nodes **by where they sit on the canvas**, not by any wire.\n- Rename a group, or drag a node out of its box, and that node stays off. The ✨ run then makes no picture, or Make is not switched off and starts rendering the movie.\n- This note sits left of the boxes on purpose. Keep it outside them too, and keep any node you add inside the box it belongs to.\n"
8257 },
8258 "zh": {
8259 "text": "## Cards & Storyboard 🃏\n\n**这是什么?**\n- 一个盒子,装着为 Story 制作**图片**的所有东西:卡片图片(头像、服装、地点、360 全景、道具)以及每个镜头的第一帧和最后一帧。影片本身由这个盒子外面的 **Make 🎥** 制作。\n- 你不用手动运行它。在卡片的图片槽位上,或在镜头的 🖼 start / 🏁 end 上按 **✨**:Story 会打开对应的部分,做出这一张图片,放到卡片上,再把一切关掉。\n- 这里面的节点是**特意 bypass 的**(紫色)。不要取消 bypass。\n- 模型放在外面,在这个盒子前面:带 **Character or Style LoRA** 的 **Card Model (Krea2)**、**Storyboard model 📖 (MOSS)** 和 **🪪 Edit LoRA**。项目名、种子和 pipe 都已经为你接好。\n\n**必须保持原样的东西**\n- **这里面有两个组名:**\n - **Story Card Prompt ✍🏼**:卡片图片。卡片上的 ✨ 会打开这个盒子里的每个节点。\n - **Storyboard Maker 📖**:镜头的 start 和 end 帧。镜头上的 ✨ 会打开这个盒子里的每个节点。\n - Mossy Soup 🍜 和 🪪 Edit Soup 🍲 只是 Storyboard Maker 盒子里的标签:想改名可以改。\n- **外面有一个组名:Make 🎥。** ✨ 会在这次运行中把 Make 关掉。如果关不掉,这次运行还会把影片也渲染出来。\n- **每个节点都必须放在它所属组的盒子里。**\n\n**为什么不能改名或移动**\n- ✨ 靠组的**标题**找到每个部分(它找 *story card prompt*、*storyboard maker* 和 *make* 这几个词),并**按节点在画布上的位置**来取节点,而不是靠任何连线。\n- 给组改名,或把节点拖出盒子,那个节点就会一直关着。这样 ✨ 运行就不会做出图片,或者 Make 没被关掉而开始渲染影片。\n- 这份说明故意放在盒子的左边。也请把它留在盒子外面,并把你新加的节点放在它所属的盒子里。\n",
8260 "src": "38ecf3ea",
8261 "srcTitle": "Cards & Storyboard 🃏: read before renaming or moving"
8262 },
8263 "ja": {
8264 "text": "## Cards & Storyboard 🃏\n\n**これは何?**\n- Story の**画像**を作るものをすべて収めた 1 つのボックスです:カードの画像(ヘッドショット、衣装、場所、360 パノラマ、小道具)と、各ショットの最初と最後のフレーム。映画そのものは、このボックスの外にある **Make 🎥** が作ります。\n- 手動で Run することはありません。カードの画像スロット、またはショットの 🖼 start / 🏁 end の **✨** を押します:Story が適切な部分をオンにし、その 1 枚を作ってカードに入れ、すべてをまたオフに戻します。\n- ここにあるノードは**意図的にバイパス**されています(紫色)。バイパスを解除しないでください。\n- モデルはこのボックスの前、外側にあります:**Card Model (Krea2)** と **Character or Style LoRA**、**Storyboard model 📖 (MOSS)**、**🪪 Edit LoRA**。プロジェクト名、シード、パイプは最初から接続されています。\n\n**そのままにしておくもの**\n- **ここにある 2 つのグループ名:**\n - **Story Card Prompt ✍🏼**:カードの画像。カードの ✨ が、このボックスの中のすべてのノードをオンにします。\n - **Storyboard Maker 📖**:ショットの start と end のフレーム。ショットの ✨ が、このボックスの中のすべてのノードをオンにします。\n - Mossy Soup 🍜 と 🪪 Edit Soup 🍲 は Storyboard Maker ボックスの中のラベルにすぎません:好きに名前を変えてかまいません。\n- **外にある 1 つのグループ名:Make 🎥。** ✨ はその Run の間 Make をオフにします。できないと、Run が映画までレンダリングしてしまいます。\n- **すべてのノードは、そのグループのボックスの中に置いてください。**\n\n**名前の変更や移動ができない理由**\n- ✨ は各部分を、グループの**タイトル**で見つけ(*story card prompt*、*storyboard maker*、*make* という言葉を探します)、ノードはワイヤーではなく**キャンバス上の位置**で取ります。\n- グループの名前を変えたり、ノードをボックスの外にドラッグしたりすると、そのノードはオフのままになります。すると ✨ の Run は画像を作らないか、Make がオフにならず映画のレンダリングが始まります。\n- このノートは、意図的にボックスの左に置いてあります。ノートもボックスの外に置き、追加するノードは所属するボックスの中に置いてください。\n",
8265 "src": "38ecf3ea",
8266 "srcTitle": "Cards & Storyboard 🃏: read before renaming or moving"
8267 },
8268 "ko": {
8269 "text": "## Cards & Storyboard 🃏\n\n**이게 뭔가요?**\n- Story의 **이미지**를 만드는 모든 것이 들어 있는 상자 하나예요: 카드 이미지 (얼굴 사진, 의상, 장소, 360 파노라마, 소품)와 각 샷의 첫 프레임과 마지막 프레임. 영화 자체는 이 상자 밖의 **Make 🎥**가 만들어요.\n- 직접 실행하지 않아요. 카드의 이미지 슬롯이나 샷의 🖼 start / 🏁 end에서 **✨**를 누르세요: Story가 맞는 부분을 켜고, 그 이미지 하나를 만들어 카드에 넣고, 다시 전부 꺼요.\n- 여기 있는 노드들은 **일부러 bypass되어 있어요** (보라색). bypass를 풀지 마세요.\n- 모델은 이 상자 앞쪽 바깥에 있어요: **Card Model (Krea2)**와 **Character or Style LoRA**, **Storyboard model 📖 (MOSS)**, **🪪 Edit LoRA**. 프로젝트 이름, 시드, pipe는 알아서 연결되어 있어요.\n\n**그대로 둬야 하는 것**\n- **여기 안의 그룹 이름 두 개:**\n - **Story Card Prompt ✍🏼**: 카드 이미지. 카드의 ✨가 이 상자 안의 모든 노드를 켜요.\n - **Storyboard Maker 📖**: 샷의 start와 end 프레임. 샷의 ✨가 이 상자 안의 모든 노드를 켜요.\n - Mossy Soup 🍜와 🪪 Edit Soup 🍲는 Storyboard Maker 상자 안의 라벨일 뿐이에요: 원하면 이름을 바꿔도 돼요.\n- **바깥의 그룹 이름 하나: Make 🎥.** ✨가 이번 Run 동안 Make를 꺼요. 못 끄면 Run이 영화까지 렌더해요.\n- **모든 노드는 자기 그룹 상자 안에 있어야 해요.**\n\n**왜 이름을 바꾸거나 옮기면 안 되나요**\n- ✨는 그룹의 **제목**으로 각 부분을 찾고 (*story card prompt*, *storyboard maker*, *make*라는 말을 찾아요), 노드는 연결선이 아니라 **캔버스에서의 위치**로 가져가요.\n- 그룹 이름을 바꾸거나 노드를 상자 밖으로 끌어내면 그 노드는 꺼진 채로 남아요. 그러면 ✨ Run이 이미지를 만들지 않거나, Make가 꺼지지 않아서 영화를 렌더하기 시작해요.\n- 이 노트는 일부러 상자들의 왼쪽에 있어요. 이것도 상자 밖에 두고, 추가하는 노드는 속한 상자 안에 두세요.\n",
8270 "src": "38ecf3ea",
8271 "srcTitle": "Cards & Storyboard 🃏: read before renaming or moving"
8272 }
8273 },
8274 "titles": {
8275 "en": "Cards & Storyboard 🃏: read before renaming or moving",
8276 "zh": "Cards & Storyboard 🃏:重命名或移动之前请先阅读",
8277 "ja": "Cards & Storyboard 🃏:名前の変更や移動の前にお読みください",
8278 "ko": "Cards & Storyboard 🃏: 이름을 바꾸거나 옮기기 전에 읽으세요"
8279 }
8280 },
8281 "ue_properties": {
8282 "widget_ue_connectable": [],
8283 "version": "7.8",
8284 "input_ue_unconnectable": []
8285 }
8286 },
8287 "widgets_values": [
8288 "English ✏️",
8289 "## Cards & Storyboard 🃏\n\n**What is it?**\n- One box that holds everything that makes the **pictures** for the Story: the card pictures (headshots, outfits, places, 360 panoramas, props) and the first and last frame of each shot. The movie itself is made by **Make 🎥**, outside this box.\n- You never run it by hand. Press **✨** on a card's picture slot or on a shot's 🖼 start / 🏁 end: the Story switches the right section on, makes that one picture, puts it on the card and switches everything off again.\n- The nodes in here are **bypassed on purpose** (purple). Do not un-bypass them.\n- The models sit outside, in front of this box: **Card Model (Krea2)** with the **Character or Style LoRA**, **Storyboard model 📖 (MOSS)** and the **🪪 Edit LoRA**. The project name, seeds and pipe are wired for you.\n\n**What has to stay exactly as it is**\n- **Two group names in here:**\n - **Story Card Prompt ✍🏼**: the card pictures. ✨ on a card switches on every node inside this box.\n - **Storyboard Maker 📖**: the shot start and end frames. ✨ on a shot switches on every node inside this box.\n - Mossy Soup 🍜 and 🪪 Edit Soup 🍲 are only labels inside the Storyboard Maker box: rename them if you like.\n- **One group name outside: Make 🎥.** ✨ switches Make off for the run. If it can't, the run would render the movie as well.\n- **Every node has to sit inside its group's box.**\n\n**Why they cannot be renamed or moved**\n- ✨ finds each section by the group's **title** (it looks for the words *story card prompt*, *storyboard maker* and *make*) and takes the nodes **by where they sit on the canvas**, not by any wire.\n- Rename a group, or drag a node out of its box, and that node stays off. The ✨ run then makes no picture, or Make is not switched off and starts rendering the movie.\n- This note sits left of the boxes on purpose. Keep it outside them too, and keep any node you add inside the box it belongs to.\n"
8290 ],
8291 "widgets_values_named": {
8292 "language": "English ✏️",
8293 "text": "## Cards & Storyboard 🃏\n\n**What is it?**\n- One box that holds everything that makes the **pictures** for the Story: the card pictures (headshots, outfits, places, 360 panoramas, props) and the first and last frame of each shot. The movie itself is made by **Make 🎥**, outside this box.\n- You never run it by hand. Press **✨** on a card's picture slot or on a shot's 🖼 start / 🏁 end: the Story switches the right section on, makes that one picture, puts it on the card and switches everything off again.\n- The nodes in here are **bypassed on purpose** (purple). Do not un-bypass them.\n- The models sit outside, in front of this box: **Card Model (Krea2)** with the **Character or Style LoRA**, **Storyboard model 📖 (MOSS)** and the **🪪 Edit LoRA**. The project name, seeds and pipe are wired for you.\n\n**What has to stay exactly as it is**\n- **Two group names in here:**\n - **Story Card Prompt ✍🏼**: the card pictures. ✨ on a card switches on every node inside this box.\n - **Storyboard Maker 📖**: the shot start and end frames. ✨ on a shot switches on every node inside this box.\n - Mossy Soup 🍜 and 🪪 Edit Soup 🍲 are only labels inside the Storyboard Maker box: rename them if you like.\n- **One group name outside: Make 🎥.** ✨ switches Make off for the run. If it can't, the run would render the movie as well.\n- **Every node has to sit inside its group's box.**\n\n**Why they cannot be renamed or moved**\n- ✨ finds each section by the group's **title** (it looks for the words *story card prompt*, *storyboard maker* and *make*) and takes the nodes **by where they sit on the canvas**, not by any wire.\n- Rename a group, or drag a node out of its box, and that node stays off. The ✨ run then makes no picture, or Make is not switched off and starts rendering the movie.\n- This note sits left of the boxes on purpose. Keep it outside them too, and keep any node you add inside the box it belongs to.\n"
8294 },
8295 "color": "#2E3A46",
8296 "bgcolor": "#2E3A46"
8297 },
8298 {
8299 "id": 234,
8300 "type": "LCNote",
8301 "pos": [
8302 70,
8303 2920
8304 ],
8305 "size": [
8306 540,
8307 520
8308 ],
8309 "flags": [],
8310 "order": 4,
8311 "mode": 0,
8312 "inputs": [],
8313 "outputs": [],
8314 "title": "Storyboard Maker 📖",
8315 "properties": {
8316 "lc_note": {
8317 "source": "en",
8318 "texts": {
8319 "en": {
8320 "text": "## Storyboard Maker 📖\n\n**What is it?**\n- Makes the first frame of a shot (and the last, if you pin one) from the shot's 📐 boxes, so every shot starts with the right people in the right room.\n- You don't run it by hand: press **✨** on a shot's **🖼 start** or **🏁 end** slot.\n- **MOSS** lays the shot out from the boxes, then **Krea 2 Identity Edit** redraws it sharp with your cast pictures.\n- 💡 A later wide shot in a place you've already shown is built from the first wide shot's frame, so the room and the camera side stay put. Box only who changes.\n\n**Settings ⚙️** (on **LC H3 Shot Card**)\n- **shot**: ✨ sets it. Blank = the next shot still missing this frame.\n- **slot**: ✨ sets it. **start** is the shot's first picture, **end** the one it lands on.\n- **base_seed**: goes out plus the shot number, so each shot gets its own.\n- **style**: extra words added to the Story's look on every frame.\n\n**Where it lands 📂**\n- `input/lc_h3_refs/<project name>/`, as `start_<shot>.png` or `end_<shot>.png`, and into the shot's slot. A new take adds a number, so older frames are kept: **↶** on the slot brings one back.\n"
8321 },
8322 "zh": {
8323 "text": "## Storyboard Maker 📖\n\n**这是什么?**\n- 根据镜头的 📐 框,做出镜头的第一帧(如果你固定了最后一帧,也做它),这样每个镜头一开始就是对的人在对的房间里。\n- 你不用手动运行它:在镜头的 **🖼 start** 或 **🏁 end** 槽位上按 **✨**。\n- **MOSS** 按框排好镜头布局,然后 **Krea 2 Identity Edit** 用你的角色图片把它重新画清楚。\n- 💡 在已经出现过的地点里,之后的 wide shot 会以第一个 wide shot 的帧为基础来搭,所以房间和摄影机那一侧都不变。只框出有变化的人。\n\n**设置 ⚙️**(在 **LC H3 Shot Card** 上)\n- **shot**:✨ 会设好它。留空 = 下一个还缺这一帧的镜头。\n- **slot**:✨ 会设好它。**start** 是镜头的第一张图片,**end** 是它最终落到的那一张。\n- **base_seed**:会加上镜头编号再送出,所以每个镜头有自己的种子。\n- **style**:额外的词,加到每一帧上 Story 的风格里。\n\n**保存位置 📂**\n- `input/lc_h3_refs/<project name>/`,文件名是 `start_<shot>.png` 或 `end_<shot>.png`,同时放进镜头的槽位。新的 take 会加上编号,所以旧的帧会保留:槽位上的 **↶** 可以换回一张。\n",
8324 "src": "f1824afd",
8325 "srcTitle": "Storyboard Maker 📖"
8326 },
8327 "ja": {
8328 "text": "## Storyboard Maker 📖\n\n**これは何?**\n- ショットの 📐 ボックスから、ショットの最初のフレーム(固定した場合は最後も)を作るので、どのショットも正しい人が正しい部屋にいる状態から始まります。\n- 手動で Run することはありません:ショットの **🖼 start** または **🏁 end** スロットの **✨** を押します。\n- **MOSS** がボックスからショットをレイアウトし、**Krea 2 Identity Edit** がキャストの画像を使ってシャープに描き直します。\n- 💡 すでに見せた場所での後のワイドショットは、最初のワイドショットのフレームから作られるので、部屋とカメラの側がそのまま保たれます。変わる人だけをボックスで囲んでください。\n\n**Settings ⚙️**(**LC H3 Shot Card** 上)\n- **shot**:✨ が設定します。空 = このフレームがまだないショットのうち次のもの。\n- **slot**:✨ が設定します。**start** はショットの最初の画像、**end** はショットが着地する画像。\n- **base_seed**:ショット番号を足して渡されるので、ショットごとに別のシードになります。\n- **style**:すべてのフレームで Story のルックに足される追加の言葉。\n\n**保存場所 📂**\n- `input/lc_h3_refs/<project name>/` に `start_<shot>.png` または `end_<shot>.png` として、そしてショットのスロットに。新しいテイクには番号が付くので、古いフレームは残ります:スロットの **↶** で戻せます。\n",
8329 "src": "f1824afd",
8330 "srcTitle": "Storyboard Maker 📖"
8331 },
8332 "ko": {
8333 "text": "## Storyboard Maker 📖\n\n**이게 뭔가요?**\n- 샷의 📐 박스로 샷의 첫 프레임 (그리고 고정했다면 마지막 프레임)을 만들어요. 그래서 모든 샷이 맞는 공간에 맞는 사람들로 시작해요.\n- 직접 실행하지 않아요: 샷의 **🖼 start** 또는 **🏁 end** 슬롯에서 **✨**를 누르세요.\n- **MOSS**가 박스대로 샷을 배치하고, **Krea 2 Identity Edit**가 cast 이미지로 선명하게 다시 그려요.\n- 💡 이미 보여 준 장소의 나중 wide shot은 첫 wide shot의 프레임으로 만들어져서, 공간과 카메라 방향이 그대로 유지돼요. 바뀌는 사람만 박스로 치세요.\n\n**Settings ⚙️** (**LC H3 Shot Card**에서)\n- **shot**: ✨가 정해요. 비우면 = 아직 이 프레임이 없는 다음 샷.\n- **slot**: ✨가 정해요. **start**는 샷의 첫 이미지, **end**는 샷이 도착하는 이미지.\n- **base_seed**: 샷 번호를 더해서 나가므로, 샷마다 자기 시드를 가져요.\n- **style**: 모든 프레임에서 Story의 룩에 더해지는 추가 단어.\n\n**저장 위치 📂**\n- `input/lc_h3_refs/<project name>/`에 `start_<shot>.png` 또는 `end_<shot>.png`로, 그리고 샷의 슬롯에. 새 테이크는 번호가 붙어서 이전 프레임은 남아요: 슬롯의 **↶**가 하나를 되돌려요.\n",
8334 "src": "f1824afd",
8335 "srcTitle": "Storyboard Maker 📖"
8336 }
8337 },
8338 "titles": {
8339 "en": "Storyboard Maker 📖",
8340 "zh": "Storyboard Maker 📖",
8341 "ja": "Storyboard Maker 📖",
8342 "ko": "Storyboard Maker 📖"
8343 }
8344 },
8345 "ue_properties": {
8346 "widget_ue_connectable": [],
8347 "version": "7.8",
8348 "input_ue_unconnectable": []
8349 }
8350 },
8351 "widgets_values": [
8352 "English ✏️",
8353 "## Storyboard Maker 📖\n\n**What is it?**\n- Makes the first frame of a shot (and the last, if you pin one) from the shot's 📐 boxes, so every shot starts with the right people in the right room.\n- You don't run it by hand: press **✨** on a shot's **🖼 start** or **🏁 end** slot.\n- **MOSS** lays the shot out from the boxes, then **Krea 2 Identity Edit** redraws it sharp with your cast pictures.\n- 💡 A later wide shot in a place you've already shown is built from the first wide shot's frame, so the room and the camera side stay put. Box only who changes.\n\n**Settings ⚙️** (on **LC H3 Shot Card**)\n- **shot**: ✨ sets it. Blank = the next shot still missing this frame.\n- **slot**: ✨ sets it. **start** is the shot's first picture, **end** the one it lands on.\n- **base_seed**: goes out plus the shot number, so each shot gets its own.\n- **style**: extra words added to the Story's look on every frame.\n\n**Where it lands 📂**\n- `input/lc_h3_refs/<project name>/`, as `start_<shot>.png` or `end_<shot>.png`, and into the shot's slot. A new take adds a number, so older frames are kept: **↶** on the slot brings one back.\n"
8354 ],
8355 "widgets_values_named": {
8356 "language": "English ✏️",
8357 "text": "## Storyboard Maker 📖\n\n**What is it?**\n- Makes the first frame of a shot (and the last, if you pin one) from the shot's 📐 boxes, so every shot starts with the right people in the right room.\n- You don't run it by hand: press **✨** on a shot's **🖼 start** or **🏁 end** slot.\n- **MOSS** lays the shot out from the boxes, then **Krea 2 Identity Edit** redraws it sharp with your cast pictures.\n- 💡 A later wide shot in a place you've already shown is built from the first wide shot's frame, so the room and the camera side stay put. Box only who changes.\n\n**Settings ⚙️** (on **LC H3 Shot Card**)\n- **shot**: ✨ sets it. Blank = the next shot still missing this frame.\n- **slot**: ✨ sets it. **start** is the shot's first picture, **end** the one it lands on.\n- **base_seed**: goes out plus the shot number, so each shot gets its own.\n- **style**: extra words added to the Story's look on every frame.\n\n**Where it lands 📂**\n- `input/lc_h3_refs/<project name>/`, as `start_<shot>.png` or `end_<shot>.png`, and into the shot's slot. A new take adds a number, so older frames are kept: **↶** on the slot brings one back.\n"
8358 },
8359 "color": "#2E3A46",
8360 "bgcolor": "#2E3A46"
8361 }
8362 ],
8363 "groups": [
8364 {
8365 "id": 18,
8366 "title": "Story Card Prompt ✍🏼",
8367 "bounding": [
8368 1860,
8369 2340,
8370 670,
8371 980
8372 ],
8373 "color": "#3f789e",
8374 "flags": []
8375 },
8376 {
8377 "id": 24,
8378 "title": "Storyboard Maker 📖",
8379 "bounding": [
8380 620,
8381 2330,
8382 1220,
8383 1400
8384 ],
8385 "color": "#8AA",
8386 "flags": []
8387 },
8388 {
8389 "id": 22,
8390 "title": "Mossy Soup 🍜",
8391 "bounding": [
8392 1620,
8393 2360,
8394 210,
8395 520
8396 ],
8397 "color": "#b58b2a",
8398 "flags": []
8399 },
8400 {
8401 "id": 23,
8402 "title": "🪪 Edit Soup 🍲",
8403 "bounding": [
8404 960,
8405 3060,
8406 320,
8407 490
8408 ],
8409 "color": "#b58b2a",
8410 "flags": []
8411 }
8412 ],
8413 "links": [
8414 {
8415 "id": 250,
8416 "origin_id": 162,
8417 "origin_slot": 1,
8418 "target_id": 163,
8419 "target_slot": 1,
8420 "type": "STRING"
8421 },
8422 {
8423 "id": 252,
8424 "origin_id": 163,
8425 "origin_slot": 0,
8426 "target_id": 164,
8427 "target_slot": 1,
8428 "type": "CONDITIONING"
8429 },
8430 {
8431 "id": 253,
8432 "origin_id": 163,
8433 "origin_slot": 1,
8434 "target_id": 164,
8435 "target_slot": 2,
8436 "type": "CONDITIONING"
8437 },
8438 {
8439 "id": 254,
8440 "origin_id": 162,
8441 "origin_slot": 0,
8442 "target_id": 164,
8443 "target_slot": 3,
8444 "type": "LATENT"
8445 },
8446 {
8447 "id": 257,
8448 "origin_id": 164,
8449 "origin_slot": 0,
8450 "target_id": 165,
8451 "target_slot": 0,
8452 "type": "LATENT"
8453 },
8454 {
8455 "id": 258,
8456 "origin_id": 165,
8457 "origin_slot": 0,
8458 "target_id": 166,
8459 "target_slot": 0,
8460 "type": "IMAGE"
8461 },
8462 {
8463 "id": 259,
8464 "origin_id": 162,
8465 "origin_slot": 2,
8466 "target_id": 166,
8467 "target_slot": 1,
8468 "type": "STRING"
8469 },
8470 {
8471 "id": 410,
8472 "origin_id": 229,
8473 "origin_slot": 0,
8474 "target_id": 191,
8475 "target_slot": 2,
8476 "type": "INT"
8477 },
8478 {
8479 "id": 411,
8480 "origin_id": 229,
8481 "origin_slot": 1,
8482 "target_id": 191,
8483 "target_slot": 3,
8484 "type": "INT"
8485 },
8486 {
8487 "id": 299,
8488 "origin_id": 191,
8489 "origin_slot": 3,
8490 "target_id": 193,
8491 "target_slot": 0,
8492 "type": "ARRAY"
8493 },
8494 {
8495 "id": 298,
8496 "origin_id": 191,
8497 "origin_slot": 2,
8498 "target_id": 193,
8499 "target_slot": 1,
8500 "type": "STRING"
8501 },
8502 {
8503 "id": 300,
8504 "origin_id": 191,
8505 "origin_slot": 7,
8506 "target_id": 193,
8507 "target_slot": 2,
8508 "type": "INT"
8509 },
8510 {
8511 "id": 301,
8512 "origin_id": 191,
8513 "origin_slot": 8,
8514 "target_id": 193,
8515 "target_slot": 3,
8516 "type": "INT"
8517 },
8518 {
8519 "id": 302,
8520 "origin_id": 193,
8521 "origin_slot": 0,
8522 "target_id": 194,
8523 "target_slot": 0,
8524 "type": "STRING"
8525 },
8526 {
8527 "id": 303,
8528 "origin_id": 193,
8529 "origin_slot": 1,
8530 "target_id": 195,
8531 "target_slot": 0,
8532 "type": "INT"
8533 },
8534 {
8535 "id": 304,
8536 "origin_id": 193,
8537 "origin_slot": 2,
8538 "target_id": 195,
8539 "target_slot": 1,
8540 "type": "INT"
8541 },
8542 {
8543 "id": 308,
8544 "origin_id": 193,
8545 "origin_slot": 0,
8546 "target_id": 197,
8547 "target_slot": 1,
8548 "type": "STRING"
8549 },
8550 {
8551 "id": 309,
8552 "origin_id": 192,
8553 "origin_slot": 0,
8554 "target_id": 198,
8555 "target_slot": 1,
8556 "type": "STRING"
8557 },
8558 {
8559 "id": 310,
8560 "origin_id": 196,
8561 "origin_slot": 0,
8562 "target_id": 199,
8563 "target_slot": 0,
8564 "type": "MODEL"
8565 },
8566 {
8567 "id": 311,
8568 "origin_id": 197,
8569 "origin_slot": 0,
8570 "target_id": 199,
8571 "target_slot": 1,
8572 "type": "CONDITIONING"
8573 },
8574 {
8575 "id": 312,
8576 "origin_id": 198,
8577 "origin_slot": 0,
8578 "target_id": 199,
8579 "target_slot": 2,
8580 "type": "CONDITIONING"
8581 },
8582 {
8583 "id": 313,
8584 "origin_id": 195,
8585 "origin_slot": 0,
8586 "target_id": 199,
8587 "target_slot": 3,
8588 "type": "LATENT"
8589 },
8590 {
8591 "id": 314,
8592 "origin_id": 191,
8593 "origin_slot": 9,
8594 "target_id": 199,
8595 "target_slot": 4,
8596 "type": "INT"
8597 },
8598 {
8599 "id": 315,
8600 "origin_id": 199,
8601 "origin_slot": 0,
8602 "target_id": 200,
8603 "target_slot": 0,
8604 "type": "LATENT"
8605 },
8606 {
8607 "id": 368,
8608 "origin_id": 217,
8609 "origin_slot": 0,
8610 "target_id": 201,
8611 "target_slot": 0,
8612 "type": "IMAGE"
8613 },
8614 {
8615 "id": 318,
8616 "origin_id": 191,
8617 "origin_slot": 10,
8618 "target_id": 201,
8619 "target_slot": 1,
8620 "type": "STRING"
8621 },
8622 {
8623 "id": 367,
8624 "origin_id": 217,
8625 "origin_slot": 0,
8626 "target_id": 203,
8627 "target_slot": 0,
8628 "type": "IMAGE"
8629 },
8630 {
8631 "id": 321,
8632 "origin_id": 196,
8633 "origin_slot": 0,
8634 "target_id": 204,
8635 "target_slot": 0,
8636 "type": "MODEL"
8637 },
8638 {
8639 "id": 324,
8640 "origin_id": 191,
8641 "origin_slot": 5,
8642 "target_id": 204,
8643 "target_slot": 3,
8644 "type": "IMAGE"
8645 },
8646 {
8647 "id": 325,
8648 "origin_id": 191,
8649 "origin_slot": 3,
8650 "target_id": 204,
8651 "target_slot": 4,
8652 "type": "ARRAY"
8653 },
8654 {
8655 "id": 326,
8656 "origin_id": 191,
8657 "origin_slot": 1,
8658 "target_id": 204,
8659 "target_slot": 5,
8660 "type": "STRING"
8661 },
8662 {
8663 "id": 327,
8664 "origin_id": 192,
8665 "origin_slot": 0,
8666 "target_id": 204,
8667 "target_slot": 6,
8668 "type": "STRING"
8669 },
8670 {
8671 "id": 328,
8672 "origin_id": 191,
8673 "origin_slot": 9,
8674 "target_id": 204,
8675 "target_slot": 7,
8676 "type": "INT"
8677 },
8678 {
8679 "id": 330,
8680 "origin_id": 204,
8681 "origin_slot": 0,
8682 "target_id": 205,
8683 "target_slot": 0,
8684 "type": "IMAGE"
8685 },
8686 {
8687 "id": 331,
8688 "origin_id": 200,
8689 "origin_slot": 0,
8690 "target_id": 205,
8691 "target_slot": 1,
8692 "type": "IMAGE"
8693 },
8694 {
8695 "id": 329,
8696 "origin_id": 191,
8697 "origin_slot": 11,
8698 "target_id": 205,
8699 "target_slot": 2,
8700 "type": "BOOLEAN"
8701 },
8702 {
8703 "id": 336,
8704 "origin_id": 205,
8705 "origin_slot": 0,
8706 "target_id": 208,
8707 "target_slot": 0,
8708 "type": "IMAGE"
8709 },
8710 {
8711 "id": 339,
8712 "origin_id": 208,
8713 "origin_slot": 0,
8714 "target_id": 209,
8715 "target_slot": 1,
8716 "type": "LATENT"
8717 },
8718 {
8719 "id": 341,
8720 "origin_id": 205,
8721 "origin_slot": 0,
8722 "target_id": 209,
8723 "target_slot": 5,
8724 "type": "IMAGE"
8725 },
8726 {
8727 "id": 384,
8728 "origin_id": 191,
8729 "origin_slot": 12,
8730 "target_id": 209,
8731 "target_slot": 6,
8732 "type": "IMAGE"
8733 },
8734 {
8735 "id": 342,
8736 "origin_id": 208,
8737 "origin_slot": 0,
8738 "target_id": 209,
8739 "target_slot": 7,
8740 "type": "LATENT"
8741 },
8742 {
8743 "id": 400,
8744 "origin_id": 224,
8745 "origin_slot": 0,
8746 "target_id": 211,
8747 "target_slot": 1,
8748 "type": "IMAGE"
8749 },
8750 {
8751 "id": 401,
8752 "origin_id": 191,
8753 "origin_slot": 12,
8754 "target_id": 211,
8755 "target_slot": 2,
8756 "type": "IMAGE"
8757 },
8758 {
8759 "id": 402,
8760 "origin_id": 191,
8761 "origin_slot": 14,
8762 "target_id": 211,
8763 "target_slot": 3,
8764 "type": "STRING"
8765 },
8766 {
8767 "id": 346,
8768 "origin_id": 211,
8769 "origin_slot": 0,
8770 "target_id": 212,
8771 "target_slot": 0,
8772 "type": "CONDITIONING"
8773 },
8774 {
8775 "id": 396,
8776 "origin_id": 223,
8777 "origin_slot": 0,
8778 "target_id": 213,
8779 "target_slot": 0,
8780 "type": "MODEL"
8781 },
8782 {
8783 "id": 348,
8784 "origin_id": 211,
8785 "origin_slot": 0,
8786 "target_id": 213,
8787 "target_slot": 1,
8788 "type": "CONDITIONING"
8789 },
8790 {
8791 "id": 349,
8792 "origin_id": 212,
8793 "origin_slot": 0,
8794 "target_id": 213,
8795 "target_slot": 2,
8796 "type": "CONDITIONING"
8797 },
8798 {
8799 "id": 350,
8800 "origin_id": 208,
8801 "origin_slot": 0,
8802 "target_id": 213,
8803 "target_slot": 3,
8804 "type": "LATENT"
8805 },
8806 {
8807 "id": 351,
8808 "origin_id": 191,
8809 "origin_slot": 9,
8810 "target_id": 213,
8811 "target_slot": 6,
8812 "type": "INT"
8813 },
8814 {
8815 "id": 352,
8816 "origin_id": 213,
8817 "origin_slot": 0,
8818 "target_id": 214,
8819 "target_slot": 0,
8820 "type": "LATENT"
8821 },
8822 {
8823 "id": 366,
8824 "origin_id": 214,
8825 "origin_slot": 0,
8826 "target_id": 217,
8827 "target_slot": 0,
8828 "type": "IMAGE"
8829 },
8830 {
8831 "id": 385,
8832 "origin_id": 191,
8833 "origin_slot": 5,
8834 "target_id": 221,
8835 "target_slot": 0,
8836 "type": "IMAGE"
8837 },
8838 {
8839 "id": 388,
8840 "origin_id": 221,
8841 "origin_slot": 0,
8842 "target_id": 222,
8843 "target_slot": 1,
8844 "type": "LATENT"
8845 },
8846 {
8847 "id": 390,
8848 "origin_id": 191,
8849 "origin_slot": 5,
8850 "target_id": 222,
8851 "target_slot": 5,
8852 "type": "IMAGE"
8853 },
8854 {
8855 "id": 391,
8856 "origin_id": 191,
8857 "origin_slot": 12,
8858 "target_id": 222,
8859 "target_slot": 6,
8860 "type": "IMAGE"
8861 },
8862 {
8863 "id": 392,
8864 "origin_id": 208,
8865 "origin_slot": 0,
8866 "target_id": 222,
8867 "target_slot": 7,
8868 "type": "LATENT"
8869 },
8870 {
8871 "id": 394,
8872 "origin_id": 222,
8873 "origin_slot": 0,
8874 "target_id": 223,
8875 "target_slot": 0,
8876 "type": "MODEL"
8877 },
8878 {
8879 "id": 395,
8880 "origin_id": 209,
8881 "origin_slot": 0,
8882 "target_id": 223,
8883 "target_slot": 1,
8884 "type": "MODEL"
8885 },
8886 {
8887 "id": 393,
8888 "origin_id": 191,
8889 "origin_slot": 13,
8890 "target_id": 223,
8891 "target_slot": 2,
8892 "type": "BOOLEAN"
8893 },
8894 {
8895 "id": 398,
8896 "origin_id": 191,
8897 "origin_slot": 5,
8898 "target_id": 224,
8899 "target_slot": 0,
8900 "type": "IMAGE"
8901 },
8902 {
8903 "id": 399,
8904 "origin_id": 205,
8905 "origin_slot": 0,
8906 "target_id": 224,
8907 "target_slot": 1,
8908 "type": "*"
8909 },
8910 {
8911 "id": 397,
8912 "origin_id": 191,
8913 "origin_slot": 13,
8914 "target_id": 224,
8915 "target_slot": 2,
8916 "type": "BOOLEAN"
8917 },
8918 {
8919 "id": 409,
8920 "origin_id": 230,
8921 "origin_slot": 0,
8922 "target_id": 229,
8923 "target_slot": 0,
8924 "type": "*"
8925 },
8926 {
8927 "id": 406,
8928 "origin_id": 227,
8929 "origin_slot": 7,
8930 "target_id": 229,
8931 "target_slot": 1,
8932 "type": "INT"
8933 },
8934 {
8935 "id": 407,
8936 "origin_id": 227,
8937 "origin_slot": 8,
8938 "target_id": 229,
8939 "target_slot": 2,
8940 "type": "INT"
8941 },
8942 {
8943 "id": 414,
8944 "origin_id": -10,
8945 "origin_slot": 0,
8946 "target_id": 162,
8947 "target_slot": 0,
8948 "type": "STRING"
8949 },
8950 {
8951 "id": 415,
8952 "origin_id": -10,
8953 "origin_slot": 0,
8954 "target_id": 166,
8955 "target_slot": 2,
8956 "type": "STRING"
8957 },
8958 {
8959 "id": 416,
8960 "origin_id": -10,
8961 "origin_slot": 0,
8962 "target_id": 191,
8963 "target_slot": 0,
8964 "type": "STRING"
8965 },
8966 {
8967 "id": 255,
8968 "origin_id": -10,
8969 "origin_slot": 1,
8970 "target_id": 162,
8971 "target_slot": 1,
8972 "type": "VAE"
8973 },
8974 {
8975 "id": 256,
8976 "origin_id": -10,
8977 "origin_slot": 1,
8978 "target_id": 165,
8979 "target_slot": 1,
8980 "type": "VAE"
8981 },
8982 {
8983 "id": 249,
8984 "origin_id": -10,
8985 "origin_slot": 2,
8986 "target_id": 163,
8987 "target_slot": 0,
8988 "type": "CLIP"
8989 },
8990 {
8991 "id": 251,
8992 "origin_id": -10,
8993 "origin_slot": 3,
8994 "target_id": 164,
8995 "target_slot": 0,
8996 "type": "MODEL"
8997 },
8998 {
8999 "id": 297,
9000 "origin_id": -10,
9001 "origin_slot": 4,
9002 "target_id": 191,
9003 "target_slot": 1,
9004 "type": "VAE"
9005 },
9006 {
9007 "id": 316,
9008 "origin_id": -10,
9009 "origin_slot": 4,
9010 "target_id": 200,
9011 "target_slot": 1,
9012 "type": "VAE"
9013 },
9014 {
9015 "id": 323,
9016 "origin_id": -10,
9017 "origin_slot": 4,
9018 "target_id": 204,
9019 "target_slot": 2,
9020 "type": "VAE"
9021 },
9022 {
9023 "id": 417,
9024 "origin_id": -10,
9025 "origin_slot": 5,
9026 "target_id": 191,
9027 "target_slot": 4,
9028 "type": "INT"
9029 },
9030 {
9031 "id": 305,
9032 "origin_id": -10,
9033 "origin_slot": 6,
9034 "target_id": 196,
9035 "target_slot": 0,
9036 "type": "MODEL"
9037 },
9038 {
9039 "id": 306,
9040 "origin_id": -10,
9041 "origin_slot": 7,
9042 "target_id": 197,
9043 "target_slot": 0,
9044 "type": "CLIP"
9045 },
9046 {
9047 "id": 307,
9048 "origin_id": -10,
9049 "origin_slot": 7,
9050 "target_id": 198,
9051 "target_slot": 0,
9052 "type": "CLIP"
9053 },
9054 {
9055 "id": 322,
9056 "origin_id": -10,
9057 "origin_slot": 7,
9058 "target_id": 204,
9059 "target_slot": 1,
9060 "type": "CLIP"
9061 },
9062 {
9063 "id": 337,
9064 "origin_id": -10,
9065 "origin_slot": 8,
9066 "target_id": 208,
9067 "target_slot": 1,
9068 "type": "VAE"
9069 },
9070 {
9071 "id": 340,
9072 "origin_id": -10,
9073 "origin_slot": 8,
9074 "target_id": 209,
9075 "target_slot": 4,
9076 "type": "VAE"
9077 },
9078 {
9079 "id": 353,
9080 "origin_id": -10,
9081 "origin_slot": 8,
9082 "target_id": 214,
9083 "target_slot": 1,
9084 "type": "VAE"
9085 },
9086 {
9087 "id": 386,
9088 "origin_id": -10,
9089 "origin_slot": 8,
9090 "target_id": 221,
9091 "target_slot": 1,
9092 "type": "VAE"
9093 },
9094 {
9095 "id": 389,
9096 "origin_id": -10,
9097 "origin_slot": 8,
9098 "target_id": 222,
9099 "target_slot": 4,
9100 "type": "VAE"
9101 },
9102 {
9103 "id": 338,
9104 "origin_id": -10,
9105 "origin_slot": 9,
9106 "target_id": 209,
9107 "target_slot": 0,
9108 "type": "MODEL"
9109 },
9110 {
9111 "id": 387,
9112 "origin_id": -10,
9113 "origin_slot": 9,
9114 "target_id": 222,
9115 "target_slot": 0,
9116 "type": "MODEL"
9117 },
9118 {
9119 "id": 343,
9120 "origin_id": -10,
9121 "origin_slot": 10,
9122 "target_id": 211,
9123 "target_slot": 0,
9124 "type": "CLIP"
9125 },
9126 {
9127 "id": 418,
9128 "origin_id": -10,
9129 "origin_slot": 11,
9130 "target_id": 227,
9131 "target_slot": 0,
9132 "type": "LC_H3_PIPE_V2"
9133 },
9134 {
9135 "id": 431,
9136 "origin_id": -10,
9137 "origin_slot": 12,
9138 "target_id": 164,
9139 "target_slot": 6,
9140 "type": "INT"
9141 }
9142 ],
9143 "extra": {
9144 "ue_links": [],
9145 "links_added_by_ue": [],
9146 "pixaromaGroups": []
9147 }
9148 }
9149 ]
9150 },
9151 "config": [],
9152 "extra": {
9153 "ue_links": [],
9154 "links_added_by_ue": [],
9155 "ds": {
9156 "scale": 0.28966437973668796,
9157 "offset": [
9158 339.7649875135286,
9159 182.75972926058776
9160 ]
9161 },
9162 "k2cf_state_id": "k2cf_1792260768025_0z3xky9y0t1j",
9163 "lc_guides": [
9164 {
9165 "axis": "y",
9166 "v": 870,
9167 "kind": "group"
9168 },
9169 {
9170 "axis": "x",
9171 "v": 1040,
9172 "kind": "group"
9173 },
9174 {
9175 "axis": "x",
9176 "v": 3430,
9177 "kind": "group"
9178 },
9179 {
9180 "axis": "y",
9181 "v": 1900,
9182 "kind": "group"
9183 },
9184 {
9185 "axis": "x",
9186 "v": 1910,
9187 "kind": "group"
9188 },
9189 {
9190 "axis": "x",
9191 "v": 1940,
9192 "kind": "group"
9193 },
9194 {
9195 "axis": "x",
9196 "v": 2830,
9197 "kind": "group"
9198 },
9199 {
9200 "axis": "x",
9201 "v": 2860,
9202 "kind": "group"
9203 },
9204 {
9205 "axis": "x",
9206 "v": 5220,
9207 "kind": "group"
9208 },
9209 {
9210 "axis": "x",
9211 "v": 4310,
9212 "kind": "group"
9213 },
9214 {
9215 "axis": "x",
9216 "v": 4280,
9217 "kind": "group"
9218 },
9219 {
9220 "axis": "x",
9221 "v": 980,
9222 "kind": "group"
9223 },
9224 {
9225 "axis": "x",
9226 "v": 950,
9227 "kind": "group"
9228 },
9229 {
9230 "axis": "y",
9231 "v": 3260,
9232 "kind": "node"
9233 }
9234 ],
9235 "vision_assistant": {
9236 "snapshots": [],
9237 "tour": {
9238 "title": "ComfyUI Workflow Tour: MMH3 Showrunner V3.1",
9239 "source": "saved",
9240 "saved": 1794438266629,
9241 "locked": true,
9242 "steps": [
9243 {
9244 "title": "✋ Start here",
9245 "text": "Read the main note first: what Showrunner does, the models, and the five steps in order. Every step uses what the step before it made.\n\n🛑🚫 Don't bypass nodes by hand. The ✨ buttons switch on what they need and put it back.",
9246 "groups": [],
9247 "nodes": [
9248 "13"
9249 ],
9250 "settings": [],
9251 "i18n": {
9252 "zh": {
9253 "title": "✋ 从这里开始",
9254 "text": "先读主说明:Showrunner 是做什么的、需要哪些模型,以及按顺序的五个步骤。每一步都用上一步做出来的东西。\n\n🛑🚫 不要手动绕过节点。✨ 按钮会打开需要的部分,用完再放回去。",
9255 "src": "258e9517",
9256 "why": []
9257 },
9258 "ja": {
9259 "title": "✋ ここから",
9260 "text": "まずメインのノートを読んでください。Showrunner が何をするか、必要なモデル、順番どおりの 5 つのステップ。どのステップも前のステップで作ったものを使います。\n\n🛑🚫 ノードを手でバイパスしないでください。✨ ボタンが必要な部分をオンにして、終わったら元に戻します。",
9261 "src": "258e9517",
9262 "why": []
9263 },
9264 "ko": {
9265 "title": "✋ 여기서 시작",
9266 "text": "먼저 메인 노트를 읽으세요. Showrunner가 하는 일, 필요한 모델, 순서대로의 다섯 단계. 각 단계는 앞 단계에서 만든 것을 씁니다.\n\n🛑🚫 노드를 손으로 바이패스하지 마세요. ✨ 버튼이 필요한 부분을 켜고 끝나면 되돌려 놓습니다.",
9267 "src": "258e9517",
9268 "why": []
9269 }
9270 }
9271 },
9272 {
9273 "title": "⚙️ Settings",
9274 "text": "Size, steps and seed for the whole movie. Set them once, before step 1.",
9275 "groups": [
9276 {
9277 "title": "⚙️ Settings",
9278 "index": 2
9279 }
9280 ],
9281 "nodes": [
9282 "27",
9283 "46",
9284 "47",
9285 "49",
9286 "92",
9287 "93",
9288 "95"
9289 ],
9290 "settings": [
9291 {
9292 "node": "27",
9293 "widget": "megapixels",
9294 "why": "0.82 is 1216 x 672 (16:9). 0.52 is faster, but faces in wide shots get very small. Change it mid-project and the next Run makes the old-size shots again."
9295 },
9296 {
9297 "node": "95",
9298 "widget": "value",
9299 "why": "12 with the turbo LoRA at 0.7 (the Default in Models tested). 8 with turbo at 1.0 is faster and a little softer."
9300 },
9301 {
9302 "node": "46",
9303 "widget": "base_seed",
9304 "why": "The starting seed for H3 (each new shot) and the storyboard (seed + shot number). Made shots keep their own seed. Leave it alone."
9305 }
9306 ],
9307 "i18n": {
9308 "zh": {
9309 "title": "⚙️ 设置",
9310 "text": "整部影片的尺寸、步数和种子。在第 1 步之前设好一次。",
9311 "src": "63fcc96f",
9312 "why": {
9313 "27|megapixels": {
9314 "text": "0.82 是 1216 x 672 (16:9)。0.52 更快,但远景里的脸会很小。项目做到一半改尺寸的话,下次 Run 会把旧尺寸的镜头重做一遍。",
9315 "src": "2cc9218f"
9316 },
9317 "95|value": {
9318 "text": "turbo LoRA 0.7 时用 12 步(Models tested 里的 Default)。turbo 1.0 用 8 步更快,画面稍软一点。",
9319 "src": "77af97b0"
9320 },
9321 "46|base_seed": {
9322 "text": "H3(每个新镜头)和故事板(种子 + 镜头编号)的起始种子。做好的镜头各自保留自己的种子。别动它。",
9323 "src": "78d91d21"
9324 }
9325 }
9326 },
9327 "ja": {
9328 "title": "⚙️ 設定",
9329 "text": "映画全体のサイズ、ステップ数、シード。ステップ 1 の前に一度だけ設定します。",
9330 "src": "63fcc96f",
9331 "why": {
9332 "27|megapixels": {
9333 "text": "0.82 は 1216 x 672 (16:9)。0.52 のほうが速いですが、ワイドショットの顔がとても小さくなります。途中でサイズを変えると、次の Run で古いサイズのショットを作り直します。",
9334 "src": "2cc9218f"
9335 },
9336 "95|value": {
9337 "text": "turbo LoRA 0.7 なら 12 ステップ(Models tested の Default)。turbo 1.0 で 8 ステップは速く、少しソフトになります。",
9338 "src": "77af97b0"
9339 },
9340 "46|base_seed": {
9341 "text": "H3(新しいショットごと)とストーリーボード(シード + ショット番号)の開始シード。作ったショットはそれぞれ自分のシードを持ちます。触らないでください。",
9342 "src": "78d91d21"
9343 }
9344 }
9345 },
9346 "ko": {
9347 "title": "⚙️ 설정",
9348 "text": "영화 전체의 크기, 스텝, 시드. 1단계 전에 한 번만 정하세요.",
9349 "src": "63fcc96f",
9350 "why": {
9351 "27|megapixels": {
9352 "text": "0.82는 1216 x 672 (16:9)예요. 0.52가 더 빠르지만 와이드 샷의 얼굴이 아주 작아져요. 중간에 크기를 바꾸면 다음 Run에서 예전 크기의 샷을 다시 만들어요.",
9353 "src": "2cc9218f"
9354 },
9355 "95|value": {
9356 "text": "turbo LoRA 0.7이면 12스텝(Models tested의 Default). turbo 1.0에 8스텝은 더 빠르고 조금 부드러워요.",
9357 "src": "77af97b0"
9358 },
9359 "46|base_seed": {
9360 "text": "H3(새 샷마다)와 스토리보드(시드 + 샷 번호)의 시작 시드예요. 만든 샷은 각자 자기 시드를 가져요. 그대로 두세요.",
9361 "src": "78d91d21"
9362 }
9363 }
9364 }
9365 }
9366 },
9367 {
9368 "title": "Minimax Models & LoRAs",
9369 "text": "LC Model Optimizer loads H3 and picks the speed-ups for your card. Leave it on ★ Recommended.",
9370 "groups": [
9371 {
9372 "title": "Minimax Models & LoRAs",
9373 "index": 0
9374 }
9375 ],
9376 "nodes": [
9377 "4",
9378 "14",
9379 "34",
9380 "79",
9381 "94",
9382 "97"
9383 ],
9384 "settings": [
9385 {
9386 "node": "4",
9387 "widget": "goal",
9388 "why": "Optimal = fast and near identical to bf16. Quality = closest to bf16. Fast = the fastest that still looks right."
9389 },
9390 {
9391 "node": "97",
9392 "widget": "strength",
9393 "why": "0.7 with 12 steps is the default. 1.0 with 8 steps is faster. Talking comes out cleanest with turbo on."
9394 },
9395 {
9396 "node": "14",
9397 "widget": "lora_rows",
9398 "why": "Realism Slider and the movement LoRA, off by default. Your mileage will vary."
9399 }
9400 ],
9401 "i18n": {
9402 "zh": {
9403 "title": "Minimax 模型和 LoRA",
9404 "text": "LC Model Optimizer 加载 H3,并为你的显卡挑选加速。保持 ★ Recommended。",
9405 "src": "4cae9228",
9406 "why": {
9407 "4|goal": {
9408 "text": "Optimal = 快,而且和 bf16 几乎一样。Quality = 最接近 bf16。Fast = 看起来还对的最快选项。",
9409 "src": "4ddfd5e6"
9410 },
9411 "97|strength": {
9412 "text": "0.7 配 12 步是默认。1.0 配 8 步更快。开着 turbo 说话最清楚。",
9413 "src": "70a6b7fa"
9414 },
9415 "14|lora_rows": {
9416 "text": "Realism Slider 和动作 LoRA,默认关闭。效果因人而异。",
9417 "src": "d2aa70c"
9418 }
9419 }
9420 },
9421 "ja": {
9422 "title": "Minimax モデルと LoRA",
9423 "text": "LC Model Optimizer が H3 を読み込み、あなたのカードに合う高速化を選びます。★ Recommended のままにしてください。",
9424 "src": "4cae9228",
9425 "why": {
9426 "4|goal": {
9427 "text": "Optimal = 速くて bf16 とほぼ同じ。Quality = bf16 に一番近い。Fast = 見た目が崩れない範囲で一番速い。",
9428 "src": "4ddfd5e6"
9429 },
9430 "97|strength": {
9431 "text": "0.7 と 12 ステップがデフォルト。1.0 と 8 ステップは速いです。turbo オンのとき会話が一番きれいに出ます。",
9432 "src": "70a6b7fa"
9433 },
9434 "14|lora_rows": {
9435 "text": "Realism Slider と動きの LoRA。デフォルトはオフ。結果は人それぞれです。",
9436 "src": "d2aa70c"
9437 }
9438 }
9439 },
9440 "ko": {
9441 "title": "Minimax 모델과 LoRA",
9442 "text": "LC Model Optimizer가 H3를 불러오고 카드에 맞는 가속을 골라요. ★ Recommended로 두세요.",
9443 "src": "4cae9228",
9444 "why": {
9445 "4|goal": {
9446 "text": "Optimal = 빠르고 bf16과 거의 같아요. Quality = bf16에 가장 가까워요. Fast = 제대로 보이는 선에서 가장 빨라요.",
9447 "src": "4ddfd5e6"
9448 },
9449 "97|strength": {
9450 "text": "0.7에 12스텝이 기본이에요. 1.0에 8스텝은 더 빨라요. turbo를 켜야 대사가 가장 깔끔해요.",
9451 "src": "70a6b7fa"
9452 },
9453 "14|lora_rows": {
9454 "text": "Realism Slider와 움직임 LoRA, 기본은 꺼져 있어요. 결과는 사람마다 달라요.",
9455 "src": "d2aa70c"
9456 }
9457 }
9458 }
9459 }
9460 },
9461 {
9462 "title": "Live Preview 👀",
9463 "text": "Shows the whole shot while it's being sampled, not just its first frame.\n\n✋ It needs the full taeh3.safetensors (22.7 MB) in models/vae_approx. The 9.8 MB one won't load.",
9464 "groups": [],
9465 "nodes": [
9466 "231",
9467 "257"
9468 ],
9469 "settings": [
9470 {
9471 "node": "257",
9472 "widget": "vae_name",
9473 "why": "taeh3.safetensors, the full 22.7 MB one. ComfyUI's own H3 preview uses the same file."
9474 },
9475 {
9476 "node": "231",
9477 "widget": "max_resolution",
9478 "why": "512 is plenty to judge the motion. Higher costs more time and memory."
9479 },
9480 {
9481 "node": "231",
9482 "widget": "every_n_steps",
9483 "why": "1 = a new preview every step."
9484 },
9485 {
9486 "node": "231",
9487 "widget": "max_preview_overhead",
9488 "why": "25 caps the preview at a quarter of the work. 0 updates nonstop."
9489 }
9490 ],
9491 "i18n": {
9492 "zh": {
9493 "title": "实时预览 👀",
9494 "text": "采样时显示整个镜头,而不只是第一帧。\n\n✋ 需要把完整的 taeh3.safetensors(22.7 MB)放在 models/vae_approx。9.8 MB 的那个加载不了。",
9495 "src": "57905687",
9496 "why": {
9497 "257|vae_name": {
9498 "text": "taeh3.safetensors,完整的 22.7 MB 版本。ComfyUI 自带的 H3 预览也用这个文件。",
9499 "src": "6b56a885"
9500 },
9501 "231|max_resolution": {
9502 "text": "512 足够看清动作。越高越费时间和显存。",
9503 "src": "64ea4bbd"
9504 },
9505 "231|every_n_steps": {
9506 "text": "1 = 每一步都更新预览。",
9507 "src": "11fd94bd"
9508 },
9509 "231|max_preview_overhead": {
9510 "text": "25 让预览最多占四分之一的工作量。0 = 不停更新。",
9511 "src": "a0337bac"
9512 }
9513 }
9514 },
9515 "ja": {
9516 "title": "ライブプレビュー 👀",
9517 "text": "サンプリング中にショット全体を表示します。最初のフレームだけではありません。\n\n✋ models/vae_approx に完全版の taeh3.safetensors(22.7 MB)が必要です。9.8 MB のものは読み込めません。",
9518 "src": "57905687",
9519 "why": {
9520 "257|vae_name": {
9521 "text": "taeh3.safetensors、22.7 MB の完全版。ComfyUI 標準の H3 プレビューも同じファイルを使います。",
9522 "src": "6b56a885"
9523 },
9524 "231|max_resolution": {
9525 "text": "動きを見るなら 512 で十分。上げるほど時間とメモリを使います。",
9526 "src": "64ea4bbd"
9527 },
9528 "231|every_n_steps": {
9529 "text": "1 = 毎ステップ新しいプレビュー。",
9530 "src": "11fd94bd"
9531 },
9532 "231|max_preview_overhead": {
9533 "text": "25 でプレビューは作業の 4 分の 1 まで。0 は止まらず更新します。",
9534 "src": "a0337bac"
9535 }
9536 }
9537 },
9538 "ko": {
9539 "title": "라이브 미리보기 👀",
9540 "text": "샘플링하는 동안 첫 프레임만이 아니라 샷 전체를 보여줘요.\n\n✋ models/vae_approx에 완전한 taeh3.safetensors(22.7 MB)가 필요해요. 9.8 MB짜리는 불러오지 못해요.",
9541 "src": "57905687",
9542 "why": {
9543 "257|vae_name": {
9544 "text": "taeh3.safetensors, 22.7 MB 완전판. ComfyUI 기본 H3 미리보기도 같은 파일을 써요.",
9545 "src": "6b56a885"
9546 },
9547 "231|max_resolution": {
9548 "text": "움직임을 보려면 512면 충분해요. 높일수록 시간과 메모리가 더 들어요.",
9549 "src": "64ea4bbd"
9550 },
9551 "231|every_n_steps": {
9552 "text": "1 = 스텝마다 새 미리보기.",
9553 "src": "11fd94bd"
9554 },
9555 "231|max_preview_overhead": {
9556 "text": "25면 미리보기가 작업의 4분의 1까지만 써요. 0은 쉬지 않고 업데이트해요.",
9557 "src": "a0337bac"
9558 }
9559 }
9560 }
9561 }
9562 },
9563 {
9564 "title": "Optimal setups and times ⏱️",
9565 "text": "What I measured for a 6 s clip on a 5090 and an 8 GB laptop: time, GPU and RAM for each setup, and what each add-on costs.\n\n💡 Stock int8 + turbo 0.7 at 12 steps holds the face best. True4 + Relay 2x beats ErosMax bf16 by eye.",
9566 "groups": [],
9567 "nodes": [
9568 "259"
9569 ],
9570 "settings": [],
9571 "i18n": {
9572 "zh": {
9573 "title": "最佳设置和时间 ⏱️",
9574 "text": "我在 5090 和 8 GB 笔记本上测的 6 秒视频:每种设置的时间、显卡和内存,以及每个附加项的代价。\n\n💡 原版 int8 + turbo 0.7、12 步,脸最稳。True4 + Relay 2x 肉眼看胜过 ErosMax bf16。",
9575 "src": "64a3e591",
9576 "why": []
9577 },
9578 "ja": {
9579 "title": "最適な設定と時間 ⏱️",
9580 "text": "5090 と 8 GB ノートで測った 6 秒のクリップ:設定ごとの時間、GPU、RAM と、各アドオンのコスト。\n\n💡 標準 int8 + turbo 0.7、12 ステップが顔を一番保ちます。True4 + Relay 2x は見た目で ErosMax bf16 より上です。",
9581 "src": "64a3e591",
9582 "why": []
9583 },
9584 "ko": {
9585 "title": "최적 설정과 시간 ⏱️",
9586 "text": "5090과 8 GB 노트북에서 잰 6초 클립: 설정별 시간, GPU, RAM, 그리고 애드온마다 드는 비용.\n\n💡 기본 int8 + turbo 0.7, 12스텝이 얼굴을 가장 잘 지켜요. True4 + Relay 2x는 눈으로 보면 ErosMax bf16보다 나아요.",
9587 "src": "64a3e591",
9588 "why": []
9589 }
9590 }
9591 },
9592 {
9593 "title": "LC H3 Story 🎬",
9594 "text": "The whole movie on one node: cast, outfits, places, props and shots. Name the project first: everything is saved in its folder. The project bar (📂 open, 💾 save, 🆕 new) stays pinned at the top.\n\n💡 A shot's H3 prompt shows its lines: Place, Camera and the timed action. The people, pictures and sound are added around them when the shot is made. ↻ builds the lines again, ✎ Edit lets you write them yourself. Warnings (🛑 must fix, ⚠️ look at) sit under each shot.\n\n🔞 NSFW (in the ✨ Write box, off by default) lets the writer write adult scenes.",
9595 "groups": [],
9596 "nodes": [
9597 "150"
9598 ],
9599 "settings": [
9600 {
9601 "node": "150",
9602 "widget": "max_shot_seconds",
9603 "why": "The longest shot made in one go. A longer shot is made in parts, each carrying on from the one before."
9604 }
9605 ],
9606 "i18n": {
9607 "zh": {
9608 "title": "LC H3 Story 🎬",
9609 "text": "整部影片都在一个节点上:角色、服装、地点、道具和镜头。先给项目命名:所有东西都保存在它的文件夹里。项目栏(📂 打开、💾 保存、🆕 新建)固定在顶部。\n\n💡 镜头的 H3 prompt 显示它的台词行:Place、Camera 和按时间排的动作。人物、图片和声音会在生成镜头时加在它们周围。↻ 重新生成这些行,✎ Edit 让你自己写。警告(🛑 必须修、⚠️ 看一下)在每个镜头下面。\n\n🔞 NSFW(在 ✨ Write 框里,默认关闭)允许编写器写成人场景。",
9610 "src": "c7c1296c",
9611 "why": {
9612 "150|max_shot_seconds": {
9613 "text": "一次做出的最长镜头。更长的镜头会分段做,每段接着上一段。",
9614 "src": "e7264a09"
9615 }
9616 }
9617 },
9618 "ja": {
9619 "title": "LC H3 Story 🎬",
9620 "text": "ムービー全体が 1 つのノードに:キャスト、衣装、場所、小道具、ショット。まずプロジェクトに名前を付けます。すべてそのフォルダに保存されます。プロジェクトバー(📂 開く、💾 保存、🆕 新規)は上に固定されています。\n\n💡 ショットの H3 prompt はその行を表示します:Place、Camera、時間付きのアクション。人物、画像、音はショットを作るときにその周りに加えられます。↻ で行を作り直し、✎ Edit で自分で書けます。警告(🛑 必ず直す、⚠️ 確認)は各ショットの下にあります。\n\n🔞 NSFW(✨ Write の欄、既定はオフ)で、ライターが成人向けの場面を書けます。",
9621 "src": "c7c1296c",
9622 "why": {
9623 "150|max_shot_seconds": {
9624 "text": "一度に作る最長のショット。それより長いショットはパートに分けて作り、前のパートから続けます。",
9625 "src": "e7264a09"
9626 }
9627 }
9628 },
9629 "ko": {
9630 "title": "LC H3 Story 🎬",
9631 "text": "영상 전체가 노드 하나에: 캐스트, 의상, 장소, 소품, 샷. 먼저 프로젝트 이름을 정하세요. 모든 것이 그 폴더에 저장됩니다. 프로젝트 바(📂 열기, 💾 저장, 🆕 새로 만들기)는 위에 고정됩니다.\n\n💡 샷의 H3 prompt는 그 줄들을 보여 줍니다: Place, Camera, 시간별 동작. 인물, 사진, 소리는 샷을 만들 때 그 주위에 더해집니다. ↻는 줄을 다시 만들고, ✎ Edit로 직접 쓸 수 있습니다. 경고(🛑 꼭 고치기, ⚠️ 확인)는 각 샷 아래에 있습니다.\n\n🔞 NSFW(✨ Write 칸, 기본 꺼짐)를 켜면 작성기가 성인 장면을 쓸 수 있습니다.",
9632 "src": "c7c1296c",
9633 "why": {
9634 "150|max_shot_seconds": {
9635 "text": "한 번에 만드는 가장 긴 샷이에요. 더 긴 샷은 여러 부분으로 나눠 앞부분에서 이어서 만들어요.",
9636 "src": "e7264a09"
9637 }
9638 }
9639 }
9640 }
9641 },
9642 {
9643 "title": "🎭 Cast & 👗 Outfits",
9644 "text": "One cast card per person. The look is head and hair only: age, face, eyes, skin, hair and its length. No clothes and no body words, or H3 gets it wrong.\n\n👗 Everyone needs an outfit from somewhere: the cast card's outfit picture, or an outfit card. Give an outfit a simple name (\"red cocktail dress\"); the details go in its description, a color for every item.\n\n⚠️ Your own headshot? Rewrite the look to match it. H3 follows the words over the picture.\n\n💡 Neutral faces on the cards. A smiling card gives you a smiling actor in every shot.",
9645 "groups": [],
9646 "nodes": [
9647 "150"
9648 ],
9649 "settings": [],
9650 "i18n": {
9651 "zh": {
9652 "title": "🎭 角色 & 👗 服装",
9653 "text": "每个人一张角色卡。look 只写头部和头发:年龄、脸、眼睛、皮肤、头发和长度。不写衣服,也不写身体词,否则 H3 会弄错。\n\n👗 每个人都需要一套服装:角色卡上的服装图,或一张服装卡。给服装起个简单的名字(\"red cocktail dress\");细节写在描述里,每件都写上颜色。\n\n⚠️ 用你自己的头像?把 look 改写成和它一致。H3 优先听文字而不是图片。\n\n💡 卡片上用中性表情。微笑的卡片会让每个镜头里的演员都在笑。",
9654 "src": "a1d21f2e",
9655 "why": []
9656 },
9657 "ja": {
9658 "title": "🎭 キャスト & 👗 衣装",
9659 "text": "1 人につき 1 枚のキャストカード。look は頭と髪だけ:年齢、顔、目、肌、髪とその長さ。服や体の言葉は書かないでください。H3 が間違えます。\n\n👗 誰にでもどこかから衣装が必要です:キャストカードの衣装画像か、衣装カード。衣装にはシンプルな名前を(\"red cocktail dress\")。細かいことは説明に、どのアイテムにも色を。\n\n⚠️ 自分の顔写真を使う? look をそれに合わせて書き直してください。H3 は画像より言葉に従います。\n\n💡 カードの表情はニュートラルに。笑顔のカードだと、どのショットでも笑った役者になります。",
9660 "src": "a1d21f2e",
9661 "why": []
9662 },
9663 "ko": {
9664 "title": "🎭 캐스트 & 👗 의상",
9665 "text": "한 사람당 캐스트 카드 하나. look은 머리와 머리카락만: 나이, 얼굴, 눈, 피부, 머리카락과 길이. 옷이나 몸에 관한 단어는 쓰지 마세요. H3가 틀리게 만듭니다.\n\n👗 모두 어디선가 의상이 필요합니다: 캐스트 카드의 의상 사진이나 의상 카드. 의상에는 간단한 이름을(\"red cocktail dress\"). 자세한 건 설명에, 모든 아이템에 색을 쓰세요.\n\n⚠️ 직접 찍은 얼굴 사진인가요? look을 사진에 맞게 다시 쓰세요. H3는 사진보다 글을 따릅니다.\n\n💡 카드에는 무표정한 얼굴을. 웃는 카드면 모든 샷에서 배우가 웃습니다.",
9666 "src": "a1d21f2e",
9667 "why": []
9668 }
9669 }
9670 },
9671 {
9672 "title": "📍 Places, 🌐 360 & 👜 Props",
9673 "text": "One place card per location: the room empty, and what you can hear (never who speaks). One 🌐 360 panorama per place gives every shot its own angle: close-ups across a table get the reverse angle by themselves.\n\n💡 🌐 360 from card (under the room picture): LC Vision reads the room picture and the 360 is drawn from that.\n\n👜 A prop card is only for an object that must look the same in every shot. Use the card's exact name in the action.",
9674 "groups": [],
9675 "nodes": [
9676 "150"
9677 ],
9678 "settings": [],
9679 "i18n": {
9680 "zh": {
9681 "title": "📍 地点、🌐 360 & 👜 道具",
9682 "text": "每个地点一张地点卡:空房间,以及能听到的声音(从不写谁在说话)。每个地点一张 🌐 360 全景图,让每个镜头都有自己的角度:桌子两边的特写会自动得到反打角度。\n\n💡 🌐 360 from card(在房间图下面):LC Vision 读取房间图,再据此画出 360。\n\n👜 道具卡只用于每个镜头里都必须一样的物件。在动作里写出卡片的准确名字。",
9683 "src": "665207c4",
9684 "why": []
9685 },
9686 "ja": {
9687 "title": "📍 場所、🌐 360 & 👜 小道具",
9688 "text": "場所ごとに 1 枚の場所カード:誰もいない部屋と、聞こえる音(誰が話すかは書かない)。場所ごとに 1 枚の 🌐 360 パノラマで、どのショットにも自分の角度ができます。テーブル越しのクローズアップは自動で切り返しになります。\n\n💡 🌐 360 from card(部屋の画像の下):LC Vision が部屋の画像を読み、そこから 360 を描きます。\n\n👜 小道具カードは、どのショットでも同じに見えなければならない物だけ。アクションにはカードの名前をそのまま使います。",
9689 "src": "665207c4",
9690 "why": []
9691 },
9692 "ko": {
9693 "title": "📍 장소, 🌐 360 & 👜 소품",
9694 "text": "장소마다 장소 카드 하나: 사람 없는 방과 들리는 소리(누가 말하는지는 절대 쓰지 않기). 장소마다 🌐 360 파노라마 하나로 모든 샷이 자기 각도를 갖습니다. 테이블을 사이에 둔 클로즈업은 알아서 역방향 각도가 됩니다.\n\n💡 🌐 360 from card(방 사진 아래): LC Vision이 방 사진을 읽고 그 글로 360을 그립니다.\n\n👜 소품 카드는 모든 샷에서 똑같아 보여야 하는 물건에만. 동작에 카드 이름을 그대로 쓰세요.",
9695 "src": "665207c4",
9696 "why": []
9697 }
9698 }
9699 },
9700 {
9701 "title": "🎞 Shots: cut, keep rolling, nobody",
9702 "text": "Top to bottom is the movie. ✂ cut starts a new shot with the faces and the room. 🎞 keep rolling carries straight on from the shot before: the card locks its framing, place, angle, outfits and start frame (🔒 from shot N). Who is in it stays yours, so people can walk in.\n\n💡 who it's on: everyone, one person, or nobody (an empty shot: a ship in space). A wide shot is for movement: when a face or a line matters, go medium or closer.\n\n🎛 LoRA for this shot: any LoRA for one shot, picked like the LC LoRA Loader (ℹ shows its trigger words). keep rolling uses its cut's LoRAs.",
9703 "groups": [],
9704 "nodes": [
9705 "150"
9706 ],
9707 "settings": [],
9708 "i18n": {
9709 "zh": {
9710 "title": "🎞 镜头:cut、keep rolling、nobody",
9711 "text": "从上到下就是整部影片。✂ cut 开始一个新镜头,带着脸和房间。🎞 keep rolling 直接接着上一个镜头:卡片会锁住它的景别、地点、角度、服装和起始帧(🔒 from shot N)。谁在画面里仍由你决定,所以人可以走进来。\n\n💡 who it's on:everyone、某一个人,或 nobody(空镜头:太空中的一艘飞船)。远景用来拍动作:脸或台词重要时,用中景或更近。\n\n🎛 LoRA for this shot:只用于一个镜头的任意 LoRA,选法和 LC LoRA Loader 一样(ℹ 显示触发词)。keep rolling 用它那个 cut 的 LoRA。",
9712 "src": "64148d2a",
9713 "why": []
9714 },
9715 "ja": {
9716 "title": "🎞 ショット:cut、keep rolling、nobody",
9717 "text": "上から下が映画の順番です。✂ cut は顔と部屋を付けて新しいショットを始めます。🎞 keep rolling は前のショットからそのまま続けます。カードはフレーミング、場所、アングル、衣装、開始フレームをロックします(🔒 from shot N)。誰が映るかは自由なので、人が入ってこられます。\n\n💡 who it's on:everyone、1 人、または nobody(誰もいないショット:宇宙の船)。ワイドショットは動き用。顔やセリフが大事なときはミディアム以上に寄ってください。\n\n🎛 LoRA for this shot:1 ショットだけの任意の LoRA。選び方は LC LoRA Loader と同じです(ℹ でトリガーワード)。keep rolling は元の cut の LoRA を使います。",
9718 "src": "64148d2a",
9719 "why": []
9720 },
9721 "ko": {
9722 "title": "🎞 샷: cut, keep rolling, nobody",
9723 "text": "위에서 아래가 영화 순서예요. ✂ cut은 얼굴과 방을 가지고 새 샷을 시작해요. 🎞 keep rolling은 앞 샷에서 바로 이어져요. 카드가 프레이밍, 장소, 각도, 의상, 시작 프레임을 잠가요(🔒 from shot N). 누가 나오는지는 그대로 정할 수 있어서 사람이 걸어 들어올 수 있어요.\n\n💡 who it's on: everyone, 한 사람, 또는 nobody(빈 샷: 우주의 우주선). 와이드 샷은 움직임용이에요. 얼굴이나 대사가 중요하면 미디엄 이상으로 다가가세요.\n\n🎛 LoRA for this shot: 한 샷에만 쓰는 어떤 LoRA든, LC LoRA Loader와 같은 방법으로 골라요(ℹ는 트리거 단어). keep rolling은 그 cut의 LoRA를 써요.",
9724 "src": "64148d2a",
9725 "why": []
9726 }
9727 }
9728 },
9729 {
9730 "title": "The board: ▶ 🩹 ↻ 🔒",
9731 "text": "Under the shots: ✅ made, ✏️ changed since it was made, ⚠ join broken, 🔒 locked. ▶ plays a shot. 🩹 Repair makes a new take that keeps its last moment, so a keep rolling shot after it still joins. ↻ Redo makes a whole new take: a keep rolling shot after it then shows ⚠ and needs ↻ too.\n\n💡 In the player: 📌 Room anchor remembers the room for later cuts. 🖼 Start shot N here makes this frame the next shot's first frame. ▾ next to a shot's number folds it to one line.",
9732 "groups": [],
9733 "nodes": [
9734 "150"
9735 ],
9736 "settings": [],
9737 "i18n": {
9738 "zh": {
9739 "title": "看板:▶ 🩹 ↻ 🔒",
9740 "text": "镜头下面:✅ 已做好,✏️ 做好后改过,⚠ 衔接断了,🔒 已锁定。▶ 播放一个镜头。🩹 Repair 生成一个保留最后一刻的新 take,所以之后的 keep rolling 镜头仍然衔接。↻ Redo 生成全新的 take:之后的 keep rolling 镜头会显示 ⚠,也需要 ↻。\n\n💡 在播放器里:📌 Room anchor 为之后的 cut 记住房间。🖼 Start shot N here 把这一帧变成下一个镜头的第一帧。镜头编号旁的 ▾ 把它折成一行。",
9741 "src": "bbd3040f",
9742 "why": []
9743 },
9744 "ja": {
9745 "title": "ボード:▶ 🩹 ↻ 🔒",
9746 "text": "ショットの下:✅ 作成済み、✏️ 作った後に変更、⚠ つなぎ目が切れている、🔒 ロック。▶ でショットを再生。🩹 Repair は最後の瞬間を残した新しいテイクを作るので、後に続く keep rolling のショットはつながったままです。↻ Redo はまったく新しいテイク:後に続く keep rolling のショットに ⚠ が出て、↻ も必要になります。\n\n💡 プレイヤーで:📌 Room anchor は後の cut のために部屋を覚えます。🖼 Start shot N here はこのフレームを次のショットの最初のフレームにします。ショット番号の横の ▾ で 1 行にたたみます。",
9747 "src": "bbd3040f",
9748 "why": []
9749 },
9750 "ko": {
9751 "title": "보드: ▶ 🩹 ↻ 🔒",
9752 "text": "샷 아래: ✅ 만들어짐, ✏️ 만든 뒤 바뀜, ⚠ 이음새 끊김, 🔒 잠김. ▶는 샷을 재생합니다. 🩹 Repair는 마지막 순간을 유지한 새 테이크를 만들어, 뒤에 이어지는 keep rolling 샷이 계속 이어집니다. ↻ Redo는 완전히 새 테이크: 뒤에 이어지는 keep rolling 샷에 ⚠가 뜨고 ↻도 해야 합니다.\n\n💡 플레이어에서: 📌 Room anchor는 이후 cut을 위해 방을 기억합니다. 🖼 Start shot N here는 이 프레임을 다음 샷의 첫 프레임으로 만듭니다. 샷 번호 옆 ▾로 한 줄로 접습니다.",
9753 "src": "bbd3040f",
9754 "why": []
9755 }
9756 }
9757 },
9758 {
9759 "title": "Cards & Storyboard 🃏",
9760 "text": "Makes every picture for the Story. You never run it by hand: press ✨ on a card's picture slot or on a shot's 🖼 start / 🏁 end. The Story switches on the part it needs, keeps Make off, runs once and puts everything back.\n\n✋ The group names inside and Make 🎥 can't be renamed. Open the node and read its note first.",
9761 "groups": [
9762 {
9763 "title": "Storyboard creator Models & Settings",
9764 "index": 7
9765 }
9766 ],
9767 "nodes": [
9768 "158",
9769 "159",
9770 "190",
9771 "207",
9772 "232"
9773 ],
9774 "settings": [
9775 {
9776 "node": "158",
9777 "widget": "goal",
9778 "why": "Quality is the closest to bf16. Faces are what this model is for."
9779 },
9780 {
9781 "node": "190",
9782 "widget": "goal",
9783 "why": "MOSS only lays the shot out from your boxes. Optimal is fast and near identical to bf16."
9784 },
9785 {
9786 "node": "207",
9787 "widget": "lora_name",
9788 "why": "The Krea 2 identity edit LoRA: it redraws the storyboard frame with your cast faces."
9789 }
9790 ],
9791 "i18n": {
9792 "zh": {
9793 "title": "卡片和故事板 🃏",
9794 "text": "为 Story 做所有图片。你永远不用手动运行它:在卡片的图片槽或镜头的 🖼 start / 🏁 end 上按 ✨。Story 会打开需要的部分,关掉 Make,运行一次,再把一切放回去。\n\n✋ 里面的组名和 Make 🎥 不能改名。先打开节点读它的说明。",
9795 "src": "2fd2dc64",
9796 "why": {
9797 "158|goal": {
9798 "text": "Quality 最接近 bf16。这个模型就是用来做脸的。",
9799 "src": "e0913894"
9800 },
9801 "190|goal": {
9802 "text": "MOSS 只按你的框来布置镜头。Optimal 快,而且和 bf16 几乎一样。",
9803 "src": "92cca371"
9804 },
9805 "207|lora_name": {
9806 "text": "Krea 2 身份编辑 LoRA:用你的角色脸重画故事板画面。",
9807 "src": "b217eb93"
9808 }
9809 }
9810 },
9811 "ja": {
9812 "title": "カードとストーリーボード 🃏",
9813 "text": "Story のすべての画像を作ります。手で実行することはありません。カードの画像スロットか、ショットの 🖼 start / 🏁 end で ✨ を押します。Story が必要な部分をオンにし、Make をオフにして、一度だけ実行して元に戻します。\n\n✋ 中のグループ名と Make 🎥 は名前を変えられません。まずノードを開いてノートを読んでください。",
9814 "src": "2fd2dc64",
9815 "why": {
9816 "158|goal": {
9817 "text": "Quality が bf16 に一番近いです。このモデルは顔のためのものです。",
9818 "src": "e0913894"
9819 },
9820 "190|goal": {
9821 "text": "MOSS はボックスからショットを配置するだけ。Optimal は速く、bf16 とほぼ同じです。",
9822 "src": "92cca371"
9823 },
9824 "207|lora_name": {
9825 "text": "Krea 2 の identity edit LoRA:キャストの顔でストーリーボードのフレームを描き直します。",
9826 "src": "b217eb93"
9827 }
9828 }
9829 },
9830 "ko": {
9831 "title": "카드와 스토리보드 🃏",
9832 "text": "Story의 모든 사진을 만들어요. 손으로 실행하지 않아요. 카드의 사진 슬롯이나 샷의 🖼 start / 🏁 end에서 ✨를 누르세요. Story가 필요한 부분을 켜고 Make를 끈 채 한 번 실행한 뒤 모두 되돌려요.\n\n✋ 안의 그룹 이름과 Make 🎥는 이름을 바꿀 수 없어요. 먼저 노드를 열어 노트를 읽으세요.",
9833 "src": "2fd2dc64",
9834 "why": {
9835 "158|goal": {
9836 "text": "Quality가 bf16에 가장 가까워요. 이 모델은 얼굴을 위한 거예요.",
9837 "src": "e0913894"
9838 },
9839 "190|goal": {
9840 "text": "MOSS는 상자대로 샷을 배치만 해요. Optimal은 빠르고 bf16과 거의 같아요.",
9841 "src": "92cca371"
9842 },
9843 "207|lora_name": {
9844 "text": "Krea 2 identity edit LoRA: 출연진 얼굴로 스토리보드 프레임을 다시 그려요.",
9845 "src": "b217eb93"
9846 }
9847 }
9848 }
9849 }
9850 },
9851 {
9852 "title": "Make 🎥",
9853 "text": "Builds, samples and saves the shots of the Story, one after another, and joins them into the movie. Change a shot and only that one is made again. Change the size and it remakes what was made at the old size.\n\n⚠️ Keep Make on. Don't bypass it.\n\n💡 One Run makes the whole movie. Stop ends it with nothing left in the queue.",
9854 "groups": [
9855 {
9856 "title": "Make 🎥",
9857 "index": 3
9858 },
9859 {
9860 "title": "Preview 🎞️",
9861 "index": 4
9862 }
9863 ],
9864 "nodes": [
9865 "88",
9866 "151",
9867 "152",
9868 "153",
9869 "154",
9870 "155",
9871 "156",
9872 "20",
9873 "44",
9874 "157",
9875 "188"
9876 ],
9877 "settings": [
9878 {
9879 "node": "151",
9880 "widget": "make",
9881 "why": "all remaining (the whole movie), next segment (one at a time) or redo (segment number index again). Easier: ↻ on the shot's tile in the Story's board."
9882 },
9883 {
9884 "node": "151",
9885 "widget": "refs_on",
9886 "why": "cuts only gives the smoothest joins."
9887 },
9888 {
9889 "node": "151",
9890 "widget": "color_match",
9891 "why": "0 = off. 0.2 to 0.4 when a scene drifts warmer or cooler."
9892 }
9893 ],
9894 "i18n": {
9895 "zh": {
9896 "title": "Make 🎥",
9897 "text": "一个接一个地生成、采样并保存 Story 的镜头,再把它们拼成影片。改了某个镜头,只重做那一个。改了尺寸,会把用旧尺寸做的镜头重做。\n\n⚠️ 保持 Make 开着。不要绕过它。\n\n💡 一次 Run 做完整部影片。Stop 会结束,队列里什么都不留。",
9898 "src": "5f513231",
9899 "why": {
9900 "151|make": {
9901 "text": "all remaining(整部影片)、next segment(一次一段)或 redo(再做编号 index 的段落)。更简单:在 Story 看板的镜头格上按 ↻。",
9902 "src": "c40d3d8e"
9903 },
9904 "151|refs_on": {
9905 "text": "cuts only 拼接最顺。",
9906 "src": "259b0812"
9907 },
9908 "151|color_match": {
9909 "text": "0 = 关。场景偏暖或偏冷时用 0.2 到 0.4。",
9910 "src": "60a3d2e6"
9911 }
9912 }
9913 },
9914 "ja": {
9915 "title": "Make 🎥",
9916 "text": "Story のショットを 1 つずつ作り、サンプリングして保存し、映画につなげます。ショットを変えたら、そのショットだけ作り直します。サイズを変えたら、古いサイズで作ったものを作り直します。\n\n⚠️ Make はオンのままに。バイパスしないでください。\n\n💡 1 回の Run で映画全体を作ります。Stop で終わり、キューには何も残りません。",
9917 "src": "5f513231",
9918 "why": {
9919 "151|make": {
9920 "text": "all remaining(映画全体)、next segment(1 つずつ)、redo(index のセグメントをもう一度)。簡単なのは Story ボードのショットのタイルで ↻。",
9921 "src": "c40d3d8e"
9922 },
9923 "151|refs_on": {
9924 "text": "cuts only がつなぎ目が一番なめらかです。",
9925 "src": "259b0812"
9926 },
9927 "151|color_match": {
9928 "text": "0 = オフ。シーンが暖かく、または冷たくずれるときは 0.2〜0.4。",
9929 "src": "60a3d2e6"
9930 }
9931 }
9932 },
9933 "ko": {
9934 "title": "Make 🎥",
9935 "text": "Story의 샷을 하나씩 만들고 샘플링해서 저장하고 영화로 이어 붙여요. 샷을 바꾸면 그 샷만 다시 만들어요. 크기를 바꾸면 예전 크기로 만든 것을 다시 만들어요.\n\n⚠️ Make는 켜 두세요. 바이패스하지 마세요.\n\n💡 Run 한 번에 영화 전체를 만들어요. Stop하면 큐에 아무것도 남기지 않고 끝나요.",
9936 "src": "5f513231",
9937 "why": {
9938 "151|make": {
9939 "text": "all remaining(영화 전체), next segment(하나씩) 또는 redo(index 번 세그먼트를 다시). 더 쉬운 방법: Story 보드의 샷 타일에서 ↻.",
9940 "src": "c40d3d8e"
9941 },
9942 "151|refs_on": {
9943 "text": "cuts only가 이음새가 가장 매끄러워요.",
9944 "src": "259b0812"
9945 },
9946 "151|color_match": {
9947 "text": "0 = 끔. 장면이 따뜻하거나 차갑게 변하면 0.2~0.4.",
9948 "src": "60a3d2e6"
9949 }
9950 }
9951 }
9952 }
9953 },
9954 {
9955 "title": "🖼️ Post Processing 🎞️",
9956 "text": "⚠️ Make has to stay on. This is not automatic, and it will not save unless Save Video is on 💾.\n\nTurn the parts on in the panel when the movie is done: it processes the whole movie at once and it's heavy.\n\n💡 All you really need is Frame Interpolate (RIFE) and RTX Super Resolution.",
9957 "groups": [
9958 {
9959 "title": "🖼️ Post Processing 🎞️",
9960 "index": 1
9961 }
9962 ],
9963 "nodes": [
9964 "31",
9965 "33",
9966 "43",
9967 "109",
9968 "113",
9969 "114",
9970 "115",
9971 "116",
9972 "118",
9973 "216",
9974 "238",
9975 "239",
9976 "243",
9977 "255",
9978 "256",
9979 "258"
9980 ],
9981 "settings": [
9982 {
9983 "node": "115",
9984 "widget": "Enable 1",
9985 "why": "Load Video: nothing runs without it. It loads the movie by itself when on."
9986 },
9987 {
9988 "node": "31",
9989 "widget": "target_fps",
9990 "why": "48 and 60 are smooth, 30 matches phone video. The audio length is kept."
9991 },
9992 {
9993 "node": "216",
9994 "widget": "mode",
9995 "why": "deblur sharpens soft edges at the same size. upscale makes it 2x instead. Lower strength if it looks crunchy."
9996 },
9997 {
9998 "node": "115",
9999 "widget": "Enable 6",
10000 "why": "Relay VSR: 2x with faces on is the pick for video. On 16 GB RAM keep it short: the frames sit in RAM (a 15 s, 48 fps clip peaked at 18.5 GB)."
10001 },
10002 {
10003 "node": "243",
10004 "widget": "upscale",
10005 "why": "2x for video. bf16 is an option, but not noticeably different, and it uses about 5 GB more VRAM."
10006 },
10007 {
10008 "node": "239",
10009 "widget": "volume",
10010 "why": "1 = as it is. Below 1 is quieter, above 1 is louder."
10011 },
10012 {
10013 "node": "115",
10014 "widget": "Enable 7",
10015 "why": "Save Video: nothing saves unless this is on."
10016 },
10017 {
10018 "node": "115",
10019 "widget": "Enable 8",
10020 "why": "Notify: plays a sound when it's done."
10021 }
10022 ],
10023 "i18n": {
10024 "zh": {
10025 "title": "🖼️ 后期处理 🎞️",
10026 "text": "⚠️ Make 必须保持开着。这不是自动的,不打开 Save Video 就不会保存 💾。\n\n影片做完后在面板里打开需要的部分:它一次处理整部影片,很吃资源。\n\n💡 其实只需要 Frame Interpolate(RIFE)和 RTX Super Resolution。",
10027 "src": "58eef64f",
10028 "why": {
10029 "115|Enable 1": {
10030 "text": "Load Video:没有它什么都不运行。打开后会自己载入影片。",
10031 "src": "e9c7ab44"
10032 },
10033 "31|target_fps": {
10034 "text": "48 和 60 很顺,30 和手机视频一样。音频长度保持不变。",
10035 "src": "f936be7c"
10036 },
10037 "216|mode": {
10038 "text": "deblur 在同样大小下让发软的边缘更锐利。upscale 改为放大 2x。看起来太硬就调低 strength。",
10039 "src": "76bf8d11"
10040 },
10041 "115|Enable 6": {
10042 "text": "Relay VSR:视频选 2x 并打开人脸。16 GB 内存的话视频要短:所有帧都放在内存里(15 秒 48 fps 的视频峰值 18.5 GB)。",
10043 "src": "110b7c95"
10044 },
10045 "243|upscale": {
10046 "text": "视频用 2x。bf16 可以选,但看不出明显区别,还要多用约 5 GB 显存。",
10047 "src": "69908735"
10048 },
10049 "239|volume": {
10050 "text": "1 = 原样。低于 1 更小声,高于 1 更大声。",
10051 "src": "ea196a48"
10052 },
10053 "115|Enable 7": {
10054 "text": "Save Video:不打开就什么都不保存。",
10055 "src": "3e383dbf"
10056 },
10057 "115|Enable 8": {
10058 "text": "Notify:做完时播放提示音。",
10059 "src": "1d400940"
10060 }
10061 }
10062 },
10063 "ja": {
10064 "title": "🖼️ ポストプロセス 🎞️",
10065 "text": "⚠️ Make はオンのままに。自動ではありません。Save Video をオンにしないと保存されません 💾。\n\n映画ができたらパネルで必要な部分をオンにします。映画全体を一度に処理するので重いです。\n\n💡 本当に必要なのは Frame Interpolate(RIFE)と RTX Super Resolution だけです。",
10066 "src": "58eef64f",
10067 "why": {
10068 "115|Enable 1": {
10069 "text": "Load Video:これがないと何も動きません。オンにすると自動で映画を読み込みます。",
10070 "src": "e9c7ab44"
10071 },
10072 "31|target_fps": {
10073 "text": "48 と 60 はなめらか、30 はスマホの動画と同じ。音声の長さは保たれます。",
10074 "src": "f936be7c"
10075 },
10076 "216|mode": {
10077 "text": "deblur は同じサイズのままぼやけたエッジをシャープにします。upscale にすると 2x になります。硬すぎるなら strength を下げてください。",
10078 "src": "76bf8d11"
10079 },
10080 "115|Enable 6": {
10081 "text": "Relay VSR:動画は顔オンの 2x がおすすめ。RAM 16 GB なら短めに。フレームは RAM に載ります(15 秒・48 fps のクリップでピーク 18.5 GB)。",
10082 "src": "110b7c95"
10083 },
10084 "243|upscale": {
10085 "text": "動画は 2x。bf16 も選べますが、目に見える違いはなく、VRAM を約 5 GB 多く使います。",
10086 "src": "69908735"
10087 },
10088 "239|volume": {
10089 "text": "1 = そのまま。1 より下で小さく、上で大きくなります。",
10090 "src": "ea196a48"
10091 },
10092 "115|Enable 7": {
10093 "text": "Save Video:これがオンでないと何も保存されません。",
10094 "src": "3e383dbf"
10095 },
10096 "115|Enable 8": {
10097 "text": "Notify:終わったら音で知らせます。",
10098 "src": "1d400940"
10099 }
10100 }
10101 },
10102 "ko": {
10103 "title": "🖼️ 후처리 🎞️",
10104 "text": "⚠️ Make는 켜 두세요. 자동이 아니고, Save Video를 켜지 않으면 저장되지 않아요 💾.\n\n영화가 끝나면 패널에서 필요한 부분을 켜세요. 영화 전체를 한 번에 처리해서 무거워요.\n\n💡 사실 필요한 건 Frame Interpolate(RIFE)와 RTX Super Resolution뿐이에요.",
10105 "src": "58eef64f",
10106 "why": {
10107 "115|Enable 1": {
10108 "text": "Load Video: 이게 없으면 아무것도 돌지 않아요. 켜면 영화를 알아서 불러와요.",
10109 "src": "e9c7ab44"
10110 },
10111 "31|target_fps": {
10112 "text": "48과 60은 부드럽고, 30은 폰 동영상과 같아요. 오디오 길이는 그대로예요.",
10113 "src": "f936be7c"
10114 },
10115 "216|mode": {
10116 "text": "deblur는 같은 크기로 흐릿한 가장자리를 선명하게 해요. upscale로 바꾸면 2x가 돼요. 너무 딱딱해 보이면 strength를 낮추세요.",
10117 "src": "76bf8d11"
10118 },
10119 "115|Enable 6": {
10120 "text": "Relay VSR: 영상은 얼굴 켜고 2x가 정답이에요. RAM 16 GB면 짧게 하세요. 프레임이 RAM에 올라가요(15초 48 fps 클립이 최고 18.5 GB).",
10121 "src": "110b7c95"
10122 },
10123 "243|upscale": {
10124 "text": "영상은 2x. bf16도 고를 수 있지만 눈에 띄는 차이가 없고 VRAM을 약 5 GB 더 써요.",
10125 "src": "69908735"
10126 },
10127 "239|volume": {
10128 "text": "1 = 그대로. 1보다 낮으면 작게, 높으면 크게.",
10129 "src": "ea196a48"
10130 },
10131 "115|Enable 7": {
10132 "text": "Save Video: 이걸 켜야 저장돼요.",
10133 "src": "3e383dbf"
10134 },
10135 "115|Enable 8": {
10136 "text": "Notify: 끝나면 소리로 알려줘요.",
10137 "src": "1d400940"
10138 }
10139 }
10140 }
10141 }
10142 },
10143 {
10144 "title": "💡 Tips & Tricks",
10145 "text": "How I actually use it: get the people right and dressed first, make one shot at a time with ↻, fix the cards as you go, and lock the keepers 🔒.\n\n💡 The 360 can't tell left from right. Show it, don't tell it.",
10146 "groups": [],
10147 "nodes": [
10148 "236"
10149 ],
10150 "settings": [],
10151 "i18n": {
10152 "zh": {
10153 "title": "💡 技巧与窍门",
10154 "text": "我实际的用法:先把人物做对、穿好衣服,用 ↻ 一次做一个镜头,边做边改卡片,满意的就锁住 🔒。\n\n💡 360 分不清左右。给它看,别跟它说。",
10155 "src": "7ee7c29d",
10156 "why": []
10157 },
10158 "ja": {
10159 "title": "💡 ヒントとコツ",
10160 "text": "実際の使い方:まず人物を正しく、服を着せる。↻ で 1 ショットずつ作り、進めながらカードを直し、気に入ったものはロック 🔒。\n\n💡 360 は左右がわかりません。言葉で伝えず、見せてください。",
10161 "src": "7ee7c29d",
10162 "why": []
10163 },
10164 "ko": {
10165 "title": "💡 팁과 요령",
10166 "text": "제가 실제로 쓰는 방법: 먼저 사람을 제대로, 옷을 입혀서. ↻로 샷을 하나씩 만들고, 진행하면서 카드를 고치고, 마음에 드는 건 잠가요 🔒.\n\n💡 360은 왼쪽 오른쪽을 몰라요. 말하지 말고 보여 주세요.",
10167 "src": "7ee7c29d",
10168 "why": []
10169 }
10170 }
10171 }
10172 ],
10173 "i18n": {
10174 "zh": {
10175 "title": "ComfyUI 工作流导览:MMH3 Showrunner V3.1"
10176 },
10177 "ja": {
10178 "title": "ComfyUI ワークフローツアー:MMH3 Showrunner V3.1"
10179 },
10180 "ko": {
10181 "title": "ComfyUI 워크플로우 투어: MMH3 Showrunner V3.1"
10182 }
10183 }
10184 }
10185 },
10186 "frontendVersion": "1.58.5",
10187 "VHS_latentpreview": false,
10188 "VHS_latentpreviewrate": 0,
10189 "VHS_MetadataImage": true,
10190 "VHS_KeepIntermediate": true
10191 },
10192 "extensions": {
10193 "seed_widgets": {
10194 "32": 5,
10195 "164": 3,
10196 "199": 0,
10197 "204": 2,
10198 "213": 3,
10199 "215": 1
10200 }
10201 },
10202 "version": 0.4,
10203 "seed_widgets": {
10204 "232": 2,
10205 "243": 2
10206 }
10207}