{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreies25ctbhursnavbpx37dihbsvzgkvrdircko3zay3by3lmdq44a4",
"uri": "at://did:plc:pgryn3ephfd2xgft23qokfzt/app.bsky.feed.post/3mkvqusoghir2"
},
"path": "/t/1st-movie-clip/175306#post_10",
"publishedAt": "2026-05-02T22:33:07.000Z",
"site": "https://discuss.huggingface.co",
"tags": [
"ComfyUI Inpainting Workflow",
"ComfyUI-ReActor",
"ComfyUI IPAdapter Plus",
"Wan2.2 Video Generation ComfyUI Official Native Workflow Example",
"ComfyUI Wan FLF workflow",
"ComfyUI-ReActor repo",
"ComfyUI Impact Pack",
"Wan VACE To Video node docs",
"musubi-tuner",
"Install custom nodes in ComfyUI",
"ComfyUI-Manager install",
"Custom-node troubleshooting",
"Wan FLF"
],
"textContent": "Hmm, in addition to the general points I generated below, there are a few important assumptions missing:\n\n * ComfyUI is the most advanced tool available, aside from those designed for programmers, and unless you started using it with the specific intention of doing everything manually from the very beginning, it’s extremely difficult beyond the basics. While end-to-end tutorials and instructional videos generally exist for the basic workflow, making it possible even for beginners, the actual work involved is highly advanced\n * On top of that, video generation is one of the most difficult tasks in generative AI and one of the tasks that requires the most VRAM.\n * For the reasons above, “there are almost never cases where the answer or workflow has already been explained.” This is a tool for people who want to create through trial and error. You’ll need to search GitHub for hints from fragmented information, ask generative AI for help, keep trying until it works, and in the worst case, build custom nodes or code yourself… It sounds simple, but it’s difficult without the necessary knowledge and experience\n * In generative AI, tasks like fixing output tend to consume more VRAM than the initial generation. This is because more data is loaded during processing → Therefore, if you can regenerate the output instead of fixing it, that’s the more cost-effective approach.\n * Achieving the same results with more limited resources (like VRAM) requires more advanced knowledge and skills. This isn’t limited to PCs, by the way…\n * But 8GB of VRAM… even 24GB isn’t particularly powerful for video generation. Data center GPUs are in the 80GB range, after all…\n\n\n\nFor these reasons, I think you’ll probably need to become an advanced user first if you want to do everything perfectly… Or, look for an easier path, or don’t try to accomplish everything at once…\n\nOne reason you can’t find a satisfactory answer even after searching is that, under current conditions, it’s actually quite difficult…\n\n* * *\n\n# You are not missing something obvious — you are trying to do a _different_ job than most inpainting tutorials show\n\nWhat most beginner tutorials teach is:\n\n * load **one** image\n * mask an area\n * use a prompt to replace that area\n * get a new image\n\n\n\nThat is **generic inpainting**.\n\nWhat you want is different:\n\n * you already have a **broken frame** from a video\n * you know **who the face is supposed to be**\n * you want to repair **only the face**\n * then use that **repaired frame** as the starting point for the next shot\n\n\n\nThat is a real and common workflow. It is closer to **identity repair** or **reference-guided face repair** than to ordinary “mask + prompt” inpainting.\n\n* * *\n\n# The short answer\n\nYes — there **are** real workflows for this.\n\nFor your case, the practical choices are:\n\n 1. **Repair the bad frame**\nBest when the shot is already good and only the face drifted.\n\n 2. **Recreate the shot**\nBest when pose, staging, camera, or multiple frames are wrong.\n\n 3. **Use the repaired frame as the next shot’s input**\nThis is the key continuity trick.\n\n\n\n\nFor your hardware and current stage, I would **not** jump to training a custom LoRA yet. I would first make this simpler loop work:\n\n 1. generate a short shot\n 2. inspect the last frame\n 3. repair that frame if only the face is wrong\n 4. use that repaired frame to start the next short shot\n\n\n\nThat is the most realistic and least frustrating route on an 8 GB machine.\n\n* * *\n\n# The core distinction: **repair** vs **recreate**\n\nThis is the biggest practical decision.\n\n## Repair\n\nRepair when the frame is already **mostly correct** and only a local area is wrong.\n\nTypical examples:\n\n * the face became the wrong person\n * the face is melted or soft, but the pose is still right\n * the lighting, clothes, bench, and composition are all correct\n * the frame would be usable if the face were fixed\n\n\n\nIn other words:\n\n> the shot is good, the face is bad\n\nThat is a **repair** case.\n\n## Recreate\n\nRecreate when the problem is **global** , not local.\n\nTypical examples:\n\n * both people drifted too far\n * the body pose is wrong\n * the bench relationship is wrong\n * the camera angle drifted\n * the motion between two states is wrong\n * several frames in a row are unusable\n * fixing the face would still leave the shot bad\n\n\n\nIn other words:\n\n> the shot itself is bad\n\nThat is a **recreate** case.\n\n## The practical rule\n\nA good production rule is:\n\n * if the frame is about **80–90% right** , **repair**\n * if the shot is structurally wrong, **recreate**\n\n\n\nThat one rule will save you a lot of time.\n\n* * *\n\n# What “repair that frame” actually means\n\nIt does **not** mean “run a magical video repair model over the whole movie.”\n\nIt usually means this:\n\n 1. export or grab the **bad last frame**\n 2. load it as a **still image**\n 3. mask only the face\n 4. repair the face using one of the methods below\n 5. save the result as a **new repaired frame**\n 6. feed that repaired frame into the next shot\n\n\n\nSo yes — it is often a **still-image repair inside a video workflow**.\n\nThat is normal.\n\n* * *\n\n# The three repair methods that matter\n\n## 1) Plain masked inpainting\n\nUse this when the face is only **slightly wrong**.\n\nGood for:\n\n * soft face drift\n * mild face deformation\n * one eye or mouth going wrong\n * keeping everything else in the frame unchanged\n\n\n\nYou can learn the base mechanic from the official ComfyUI inpaint tutorial:\n\n * ComfyUI Inpainting Workflow\n\n\n\nThat tutorial covers:\n\n * the **Mask Editor**\n * masking only the area you want to change\n * the **`VAE Encoder (for Inpainting)`**\n * rebuilding just the masked region\n\n\n\nThis is the simplest route and the best one to learn first.\n\n## 2) Face swap / identity replacement\n\nUse this when the face became the **wrong person**.\n\nGood for:\n\n * “the shot is fine, but the character is now someone else”\n * bridge-frame correction\n * repeating the same identity across many frames\n\n\n\nThe most direct tool for this in ComfyUI is:\n\n * ComfyUI-ReActor\n\n\n\nReActor is specifically a face-swap extension for ComfyUI and supports reusable face models, which makes it very attractive for recurring characters.\n\n## 3) Reference-guided face repair\n\nUse this when you want another image to actively guide the face repair.\n\nGood for:\n\n * “make this broken face look like **this** person”\n * stronger identity control than a prompt alone\n * cases where plain inpaint is too vague\n\n\n\nThe most relevant OSS tool here is:\n\n * ComfyUI IPAdapter Plus\n\n\n\nIPAdapter Plus is important because it supports **FaceID-style** identity guidance. The repo notes that most FaceID models require the matching LoRA, and that regional use is most effective inside an inpaint-style workflow.\n\n* * *\n\n# The actual OSS options I would care about for your case\n\n## A. Official ComfyUI inpaint workflow\n\nBest first step because it teaches the basic mask-and-repair loop.\n\n * ComfyUI Inpainting Workflow\n\n\n\nWhy I care:\n\n * it is official\n * it is simple\n * it teaches the exact mechanics you need for single-frame repair\n\n\n\n## B. Official Wan 2.2 5B workflow\n\nThis is the video-generation backbone I would use on 8 GB.\n\n * Wan2.2 Video Generation ComfyUI Official Native Workflow Example\n\n\n\nWhy I care:\n\n * official template path\n * documented model placement\n * explicitly aimed at the **5B** low-VRAM workflow\n\n\n\n## C. Official Wan FLF workflow\n\nThis is the best tool for your **sit-down transition**.\n\n * ComfyUI Wan FLF workflow\n\n\n\nWhy I care:\n\n * first/last-frame control is exactly the right abstraction for:\n * standing near bench\n * seated on bench\n * controlled transition between the two\n\n\n\n## D. ReActor\n\nMost direct route for “wrong face in one frame.”\n\n * ComfyUI-ReActor repo\n\n\n\nWhy I care:\n\n * fast face swap\n * reusable face models\n * very good for bridge-frame identity repair\n\n\n\n## E. Impact Pack\n\nBest fallback if ReActor keeps wasting time.\n\n * ComfyUI Impact Pack\n\n\n\nWhy I care:\n\n * `MaskPainter`\n * `FaceDetailer`\n * `MaskDetailer`\n * designed for local detection/detail/inpaint workflows\n\n\n\nThe repo explicitly describes:\n\n * `MaskPainter` as a mask-drawing feature\n * `FaceDetailer` as a face detector/improver\n * `MaskDetailer` as a simple inpaint node that applies the detailer to the masked area\n\n\n\nThat is extremely close to your actual need.\n\n## F. IPAdapter Plus\n\nBest when you want reference-guided identity repair.\n\n * ComfyUI IPAdapter Plus\n\n\n\nWhy I care:\n\n * strongest “use this face as the guide” option\n * but more setup-heavy than plain inpaint\n\n\n\n## G. VACE\n\nImportant later, but **not** my first recommendation for your machine.\n\n * Wan VACE To Video node docs\n\n\n\nWhy it matters:\n\n * this is the **heavier** path for real video-region editing / masked V2V\n * it is useful to know it exists\n * but I would not start here on 8 GB\n\n\n\n## H. Musubi-tuner\n\nLater, not now.\n\n * musubi-tuner\n\n\n\nWhy it matters:\n\n * useful reality check for training\n * the repo recommends roughly:\n * **12 GB+** for image training\n * **24 GB+** for video training\n\n\n\nThat is why I would **not** make “train my own LoRA” your next move.\n\n* * *\n\n# My actual recommendation for your case, as a whole\n\nIf this were my setup, I would do it in this order:\n\n## Phase 1 — Stabilize ComfyUI\n\nGoal: get **one** repair path working, not ten.\n\n### 1. Stop expanding the setup\n\nFor now, stop downloading more:\n\n * checkpoints\n * LoRAs\n * random custom nodes\n * giant workflow packs\n\n\n\nKeep only a small active set.\n\n### 2. Fix custom node installation properly\n\nThe official docs say every custom node install has **two steps** :\n\n 1. put the node repo into `ComfyUI/custom_nodes`\n 2. install that node’s Python dependencies in the **same ComfyUI environment**\n\n\n\nOfficial docs:\n\n * Install custom nodes in ComfyUI\n * ComfyUI-Manager install\n * Custom-node troubleshooting\n\n\n\nIf a node repo is sitting in something like `custom_model`, that is the wrong place. Node repos go in `custom_nodes`.\n\n### 3. Read the startup logs every single time\n\nDo **not** trust “installed successfully” messages alone.\n\nTrust:\n\n * startup console\n * `import failed`\n * missing dependency messages\n * missing node report\n\n\n\nThe troubleshooting docs explicitly say to inspect logs and error reports.\n\n### 4. Try ReActor once, cleanly\n\nIf you want ReActor, follow the repo literally:\n\n * put it in `ComfyUI/custom_nodes/ComfyUI-ReActor`\n * run its install step\n * download required models\n * restart ComfyUI\n * check the logs\n * confirm the nodes actually appear\n\n\n\nIf it still fails after one clean pass, stop fighting it and move to **Impact Pack**.\n\nThat is not “giving up.”\nThat is good production discipline.\n\n* * *\n\n## Phase 2 — Prove a minimal workflow works\n\nGoal: one small workflow that is reliable.\n\n### 5. Use the official Wan 2.2 5B template\n\nDo **not** start from a huge community graph.\n\nStart from:\n\n * Wan2.2 Video Generation ComfyUI Official Native Workflow Example\n\n\n\nWhy:\n\n * official\n * documented\n * suitable for your VRAM tier\n * much easier to debug\n\n\n\n### 6. Stop thinking “2-minute video”\n\nThink in **shots** :\n\n 1. walk\n 2. approach bench\n 3. sit\n 4. seated\n\n\n\nThat is the correct structure for your project.\n\n### 7. Create three still anchors first\n\nBefore any more video, create:\n\n * **Anchor A** — both characters walking\n * **Anchor B** — both characters near the bench\n * **Anchor C** — both characters seated\n\n\n\nIf those three are not right, the video will not stay right.\n\nThese anchors are your cast lock.\n\n* * *\n\n## Phase 3 — Use repair and recreate correctly\n\nGoal: keep continuity without overcomplicating the workflow.\n\n### Shot 1 — Walk\n\nGenerate a short walking clip from **Anchor A**.\n\nAfter rendering:\n\n * if only the face drifted near the end → **repair the last frame**\n * if body motion / spacing / camera drifted → **recreate the shot**\n\n\n\n### Shot 2 — Approach bench\n\nUse the repaired last frame from Shot 1 as the next shot’s starting image.\n\nAgain:\n\n * local face problem → **repair**\n * global shot problem → **recreate**\n\n\n\n### Shot 3 — Sit down\n\nThis is where I would usually **recreate** , not repair.\n\nUse:\n\n * first frame = correct standing-near-bench frame\n * last frame = **Anchor C**\n * workflow = **FLF**\n\n\n\nThat is what Wan FLF is for.\n\n### Shot 4 — Seated\n\nGenerate from the seated anchor and keep motion subtle.\n\nThis is the safest place to get extra screen time.\n\n* * *\n\n# How I would decide: repair vs recreate\n\nUse this table mentally:\n\nSituation | What I would do\n---|---\nFace is wrong, everything else is good | **Repair**\nFace is slightly deformed, everything else is good | **Repair**\nFace is wrong and you have a reference image | **Repair** with identity guidance\nBody pose is wrong | **Recreate**\nBench/camera/staging drifted | **Recreate**\nMultiple frames in a row are bad | **Recreate**\nSit-down motion is wrong | **Recreate** with FLF\n\nThat is the real production logic.\n\n* * *\n\n# The actual repair routes I would use\n\n## Route 1 — Plain face-region inpaint\n\nUse when the face is only moderately wrong.\n\n**Workflow**\n\n 1. load broken frame\n 2. draw a tight mask over the face\n 3. run inpaint\n 4. save repaired frame\n\n\n\n**Learn from**\n\n * ComfyUI Inpainting Workflow\n\n\n\n**Best when**\n\n * the identity is close\n * the face just needs correction\n * you want the simplest path\n\n\n\n## Route 2 — ReActor face swap\n\nUse when the face became the wrong character.\n\n**Workflow**\n\n 1. load broken frame\n 2. load face reference / face model\n 3. run ReActor\n 4. save repaired frame\n\n\n\n**Source**\n\n * ComfyUI-ReActor\n\n\n\n**Best when**\n\n * the shot is fine\n * the identity is wrong\n * you want the fastest bridge-frame fix\n\n\n\n## Route 3 — Impact Pack + IPAdapter FaceID\n\nUse when you want stronger reference guidance and local repair.\n\n**Workflow**\n\n 1. load broken frame\n 2. mask the face with `MaskPainter`\n 3. use `FaceDetailer` / `MaskDetailer`\n 4. add IPAdapter FaceID guidance if needed\n 5. save repaired frame\n\n\n\n**Sources**\n\n * ComfyUI Impact Pack\n * ComfyUI IPAdapter Plus\n\n\n\n**Best when**\n\n * ReActor is unavailable or unstable\n * you want stronger reference control\n * you want local repair, not a global rewrite\n\n\n\n* * *\n\n# What I would **not** do right now\n\n## 1. I would not train a LoRA\n\nNot yet.\n\nThat may become useful later, but the current official/community guidance makes it a poor next step for your hardware and stage.\n\nUse:\n\n * repair\n * anchors\n * short shots\n * FLF\n\n\n\nfirst.\n\n## 2. I would not jump to full video inpainting\n\nTrue masked video editing exists, and VACE is the right place to look for that.\n\nBut for your current setup, it is the **later** tier, not the **next** tier.\n\n## 3. I would not keep downloading assets “just in case”\n\nThat is how disk fills up and clarity disappears.\n\nFor now, your active set should be small:\n\n * Wan 2.2 5B\n * one repair route\n * three anchor stills\n * your active project files\n\n\n\n* * *\n\n# The exact “if this were my setup” plan\n\n## Day 1 — setup sanity\n\n * clean `custom_nodes`\n * fix folder locations\n * try one clean ReActor install\n * read startup logs\n * if it still fails, switch to Impact Pack\n\n\n\n## Day 2 — learn one-frame repair\n\n * use the official inpaint tutorial\n * take one bad frame\n * repair one face\n * save a corrected frame\n\n\n\nIf you cannot do **one bad frame → one repaired frame** , do not touch the full video workflow yet.\n\n## Day 3 — generate one walk shot\n\n * use official Wan 2.2 5B template\n * keep it short\n * inspect the last frame\n\n\n\n## Day 4 — use the repaired frame as the handoff\n\n * repair the last frame if needed\n * feed it into the approach shot\n\n\n\n## Day 5 — build the sit-down shot with FLF\n\n * good standing frame\n * good seated frame\n * FLF transition\n\n\n\n## Day 6 — generate the seated shot\n\n * short and subtle\n * repair only if needed\n\n\n\n## Day 7 — assemble in an editor\n\nUse editing for pacing.\nDo **not** ask the model to generate every second of your screen time if editing can solve it more reliably.\n\n* * *\n\n# The most important takeaway\n\nThe winning pattern for your project is:\n\n**short shot → inspect last frame → repair if the problem is local → recreate if the problem is global → use the repaired frame to start the next shot**\n\nThat is the cleanest, safest, least frustrating version of the workflow.\n\n* * *\n\n# The actual links I would open first\n\nIf you only open a few tabs, I would make them these:\n\n 1. Install custom nodes in ComfyUI\n 2. ComfyUI-Manager install\n 3. Custom-node troubleshooting\n 4. ComfyUI Inpainting Workflow\n 5. Wan2.2 Video Generation ComfyUI Official Native Workflow Example\n 6. ComfyUI Wan FLF workflow\n 7. ComfyUI-ReActor\n 8. ComfyUI Impact Pack\n 9. ComfyUI IPAdapter Plus\n 10. Wan VACE To Video node docs\n 11. musubi-tuner\n\n\n\n* * *\n\n# Final recommendation\n\nIf I had to turn everything above into one practical recommendation, it would be this:\n\n## Right now\n\n * keep the stack small\n * fix installs properly\n * use **Wan 2.2 5B**\n * repair only **bridge frames**\n * recreate bad transitions\n * use **FLF** for the sit-down shot\n * treat ReActor as useful but optional\n * use Impact Pack if ReActor wastes time\n\n\n\n## Later\n\n * stronger reference-guided repair\n * true video-region editing\n * training, if you still need it after the workflow is stable\n\n\n\nThat is the path I would trust most for your setup and your specific project.",
"title": "1st movie clip!"
}