Image models, control, editing, inpainting, identities, consistency and upscaling
- articleHow does comfyui-prompt-control schedule prompts and LoRAs over sampling steps, and what are its syntax limits and version pin?
Problem. Changing prompts or LoRA strength during sampling (A1111-style prompt editing) inside ComfyUI. Conditions. asagi4/comfyui-prompt-control at commit 71f464c3 (pushed 2026-10-13), version 3.0.0-beta.10, GPL-3.0, requires Python >= 3.10. Method. Available only with the PC: Schedule Prompt and PC: Schedule LoRAs nodes (and advanced variants). Syntax [before:after:X] switches at fraction X of the timesteps (0.0-1.0); nesting is allowed; [cat:0.5] means empty then cat; range form [before:during:after:0.3,0.7]; LoRAs are scheduled by placing <lora:name:strength> inside a scheduling expression. Only fractions are supported in the basic nodes; the Advanced nodes accept step numbers if num_steps is non-zero (values with a decimal point below 1 are percentages, otherwise absolute steps), converted to percentages internally. FilterSchedule can select by tag (e.g. SECOND_PASS). Comments start with #, and # : \\ can be escaped. Failure modes. Whitespace is stripped (use NOSTRIP() to keep ...
- articleHow do the Inpaint Crop and Stitch nodes work, which parameters control context and resolution, and what do they guarantee about unmasked pixels?
Problem. Inpainting only a masked region quickly, at a model-friendly resolution, without touching the rest of the image. Conditions. lquesada/ComfyUI-Inpaint-CropAndStitch, commit 6005efc0 (pushed 2026-10-21), version 3.0.20, GPL-3.0; no extra requirements file. Method. Inpaint Crop cuts around the mask (optionally with a wider context area), can pre-resize, extend for outpainting, fill mask holes, grow or blur the mask; output goes to any sampler workflow (even upscaled or hi-res fixed), then Inpaint Stitch pastes the result back. Key parameters: context_from_mask_extend_factor (1 = no growth, 2 = grow by mask size each direction), output_resize_to_target_size (force e.g. 1024x1024 for SDXL), output_padding (make width/height multiples of 8/16/32), mask_blend_pixels (grow and blur the stitch mask to avoid seams), mask_hipass_filter (ignore near-zero mask values), device_mode (cpu or gpu). The README states the unmasked part is not modified, not even passed through VAE encode/decod...
- articleIs ComfyUI_IPAdapter_plus still maintained, what does the Unified Model Loader require, and what extra dependencies and file formats come with FaceID models?
Problem. IP-Adapter is widely used for reference-image style/composition transfer, but the node pack is in maintenance mode. Conditions. cubiq/ComfyUI_IPAdapter_plus, commit a0f451a5 (last push 2025-04-14), version 2.0.0, GPL-3.0. Method. README states from 2025-04-14 the repository is in 'maintenance only' mode, with no plan for consistent work. It requires the latest ComfyUI. The Unified Model Loader needs files named exactly as listed (CLIP vision encoder renamed into models/clip_vision, adapters into models/ipadapter, which can be set in extra_model_paths.yaml); legacy loaders accept any filename. FaceID variants require insightface installed into the ComfyUI environment and most also need a paired LoRA; Kolors FaceID needs a manually downloaded antelopev2 model. Several listed adapters are marked Deprecated, and some FaceID adapters are .bin files (pickle-family format; see C3-B574-14 for how ComfyUI loads those). Failure modes. Breakage against new ComfyUI releases without ups...
- articleIs a face-recognition similarity threshold equally reliable for every kind of face (NIST IR 8280 demographic effects)?
Problem: an identity check that is tuned on one group may over-flag or under-flag others. Conditions: any automated pass/fail on face similarity. Method (NIST's finding): algorithms submitted to NIST's evaluation showed demographic differentials of various magnitudes; false-positive differentials were much larger than false-negative ones; across demographics false-positive rates often varied by factors of 10 to beyond 100, and results depended on the algorithm and on the photo set. Mapping to AI review (inference): set a similarity threshold per character or per cast from known-good pairs rather than a global number; treat a pass as weak evidence and a fail as a prompt for human review; log the model name and version used. Failure modes: a gate that never fails because the threshold is too loose; a gate that fails characters of one appearance more often. Limitations: the report tests 1:1 verification and 1:N on photographs with mugshot, visa and application images, not stylised or g...
- articleWhat checklist makes a hosted image or video render repeatable months later, and when should I give up on re-rendering and keep the originals?
Problem: hosted models are retired on vendor schedules. Conditions: any project that may need an exact re-render (changes, localisation, deliverable re-export). Method (inference from the provider documents in this round, plus C3-B609-02/06 for open weights): (1) record the exact model id string used, never an alias such as latest or chatgpt-image-latest; (2) record the provider API version (Runway header) and the date; (3) save the prompt, seed if the API exposes one, input images by hash, and the output file by hash; (4) store a poll of the vendor's shutdown signal (OpenAI shutdown_date; Google tables) with each project and re-check on a schedule shorter than the shortest notice (2 weeks for previews and latest-alias swaps); (5) for work that must be re-rendered bit-for-bit, prefer open weights pinned to a commit and run on your own hardware (see HF pinning); (6) for hosted-only models, treat the delivered master and the source frames as the archive and plan edits as new generatio...
- articleWhat notice period does OpenAI promise before retiring a model, how can I read shutdown dates by API, and what happened to its image and video models (DALL-E, GPT Image, Sora 2)?
Problem: image/video ids disappear; reproducing a 2025 project in late 2026 can be impossible on the original API. Conditions: OpenAI API users. Method: (1) the deprecations page promises minimum notice: at least 6 months for generally available models, at least 3 months for specialised variants, and preview models may go on about 2 weeks notice, unless safety or compliance require faster. (2) Programmatic check: GET /v1/models returns an optional shutdown_date (YYYY-MM-DD) per model, null if none announced; also on Retrieve a model. (3) Recorded history: DALL-E 2 and 3 shutdown 2026-05-12; the Videos API and sora-2, sora-2-pro and dated snapshots (sora-2-2025-10-06, sora-2-2025-12-08, sora-2-pro-2025-10-06) shutdown 2026-09-24 with no replacement listed; gpt-image-1-mini, gpt-image-1.5 and the alias chatgpt-image-latest shutdown December 1, 2026. Dated snapshots and aliases are removed together, so pinning a dated id delays but does not prevent loss. Failure modes: not every table ...
- articleWhich Google image and video models (Imagen 4, Veo 2/3/3.1 previews) have shutdown dates, and how much notice do the Gemini API and the cloud platform promise?
Problem: a project made on Imagen 4 or Veo 3.0 may not re-render at all months later. Conditions: Gemini API (AI Studio side) and the Google Cloud Agent Platform (formerly Vertex AI) both list schedules. Method: read both tables. Gemini API: imagen-4.0-generate-001, -ultra-generate-001 and -fast-generate-001 shutdown August 17, 2026; imagen-3.0-generate-002 November 10, 2025; the Imagen 4 preview names February 17, 2026; veo-3.0 and veo-2.0 June 30, 2026; veo-3.1 preview names October 22, 2026 (replacement named: gemini-omni-1.1-flash and, for Veo, the GA models on the cloud platform). The page states these are earliest possible shutdown dates, with the exact date communicated in advance. Cloud platform page: models released with a 12-month minimum availability window (for example veo-3.1-generate-001, retirement November 17, 2026 or later; gemini-3.1-flash-image May 28, 2027 or later; gemini-2.5-flash-image March 15, 2027), retirement dates may be extended but not moved earlier, an...
- articleWhat do Gemini API model-name patterns (stable, preview, latest, experimental) promise, and which should a reproducible image or video project pin?
Problem: a project that calls an alias renders differently after a vendor swaps the model behind it. Conditions: using Google's Gemini API for image (Nano Banana family) or other generation. Method (source statements): stable names point to a specific stable model that usually does not change and are recommended for most production apps; preview names may be used in production but can be deprecated with at least 2 weeks notice; 'latest' aliases (for example gemini-flash-latest) are hot-swapped on each release of that variation, with a 2-week email notice for breaking changes; experimental names are unsuitable for production and may change. Rule for a reproducible project (inference): store the exact stable model string in the job record, never a latest alias, and treat a preview name as having a two-week shelf life. Failure modes: the page says its naming convention applies to models from September 2025, so older strings differ; the same page notes capacity limits for legacy 2.5 mod...
- articleDoes an image's position and the batch size change which image I get for a given seed (ComfyUI and diffusers), and how do I regenerate one image from a batch on its own?
Corrected 2026-10-23 - see C3-B681-09; the original statements below are kept for history and are superseded where the correction says so. In ComfyUI the default KSampler path (a latent with no batch_index) draws noise for the whole batch in one call, while a latent that carries batch_index gets noise per index, so a picked-out image can be regenerated from its index; LatentBatchSeedBehavior 'fixed' (the node default) gives every batch item the same index and so the same starting noise. Diffusers does the same split with a single generator (one draw for the batch) versus a list of generators (one draw per image). Separately from RNG, a 2023 diffusers thread reports that batch size changed the image on three GPUs even with equal seeds, and a maintainer attributed this to different CUDA kernels per batch size (a claim); the reporter's workaround was to regenerate the wanted image at batch size 1 with deterministic flags.
- articleWhy does batch size change a diffusers image with equal seeds, and what did the thread's reporter actually do?
Problem. C3-B060-G23-02 summarises a '2023 diffusers thread' but none of its four cited URLs is that thread, so that part is unsupported by the cited sources (it is supported by issue 2659). Correction type: (d) plus (c). Method. In the thread a maintainer said batch sizes tend to use different CUDA kernels that can change numerical output; a commenter noted the VAE has full-batch layers 'at least without vae slicing' (the reporter then tried slicing and tiling with no change); the reporter's final workaround was batch_size=1 with deterministic algorithms AND CUBLAS_WORKSPACE_CONFIG=:16:8, and the issue was closed as won't fix. The candidate omits the CUBLAS setting and the VAE-batch hypothesis. Limitations. Anecdotal thread on diffusers 0.16-era and torch 2.0. Version and date. Fetched 2026-10-23.
- articleWhat would a regression gate for a ComfyUI workflow change look like, and which parts are documented versus my own design?
Problem: a workflow edit (new node, changed sampler, swapped model) can silently change output or break on another machine. Conditions: you can run a ComfyUI server (CPU or GPU) in CI and keep a baseline output set. Method (INFERENCE, assembled from documented parts): (1) static portability layer: compare the workflow's node types and recorded version fields with the target install (see C3-B590-04..06). (2) start-up layer: launch with the node pack installed and fail on import errors, as in ComfyUI's launch smoke test. (3) execution layer: submit the API-format graph with comfy run --wait --timeout and require exit 0 and expected output files, which is all Comfy's GPU CI checks. (4) quality layer: fixed seed, baseline directory and image-similarity threshold as described in C3-B579-13; keep it on the same hardware and software pins as the baseline because the repo provides no cross-device guarantee. (5) drift layer: scheduled re-check of pins. (6) release layer: publish only after l...
- articleDoes ComfyUI's CI run the inference and image-quality (SSIM) regression tests?
Problem: C3-B579-13 describes tests/inference and the quality comparison; whether CI exercises them is a separate question. Conditions: ComfyUI commit fb3befd. Method: tests/README.md documents the baseline flow (pytest tests/inference --output_dir tests/inference/baseline, edit, then run pytest). tests/conftest.py forces test_quality to run last. I fetched 26 of the 29 workflow files from the same tree and searched them for pytest, tests/inference and test_quality: only tests-unit and tests/execution appear; tests/inference and the quality comparison are not invoked by any of them (three windows_*release_dependencies* files were not read). Inference: the SSIM regression is a manual local workflow, not an automated gate in this repo. The GPU CI (comfy-action) compares nothing pixel-wise (see sibling finding). Failure modes: assuming ComfyUI core changes are SSIM-checked in CI. Limitations: negative result from a text search; other repositories (Comfy-Org CI containers) were not sear...
- articleHow did GenAI-Arena adapt arena voting to text-to-image, image editing and text-to-video, and what pitfalls and vote-quality numbers did it report?
Problem. Build a human-preference evaluation for generative media on a budget, without paying for live inference per vote. Conditions. GenAI-Arena (arXiv 2406.04485v4, NeurIPS 2024 Datasets and Benchmarks); leaderboard figures are as of 24 Oct 2024 and are not current. Method. (1) Anonymous battle: one prompt, two anonymous models, side by side; four vote options (left better, right better, tie, both bad); a vote does not count if model identity was revealed. (2) To avoid GPU cost per vote, a 'Museum' serves pre-computed outputs for sampled prompts (from ImagenHub and VBench) and balances votes per unique input. (3) Ratings: online Elo is order-dependent and unstable with few votes, so they follow Chatbot Arena and fit Bradley-Terry by logistic regression, with confidence intervals from bootstrap-style resampling. Reported pitfalls. Random pair selection gave some models far more matches; the authors note Elo can be biased by an imbalance between 'easy games' (against weak models) a...
- articleHow well do image detectors trained on one generator family detect images from generators they never saw, and does a better feature space fix it?
Corrected 2026-10-23 - see C3-B678-01; the original statements below are kept for history and are superseded where the correction says so. Ojha et al. (v2) show that a ProGAN-trained real-vs-fake classifier keeps near-perfect accuracy on GANs but falls toward chance on unseen diffusion and autoregressive generators, labelling the fakes as real; they report that nearest-neighbour or linear probing on frozen CLIP ViT features reaches about 82-84 percent average accuracy on those unseen families against 53-58 percent for trained networks. A later benchmark (AIDE paper) re-ran UnivFD and eight other detectors and found UnivFD at 78.43 mean accuracy on the 16-generator AIGCDetect set with 50.75 on DALLE2. On the harder Chameleon set UnivFD caught 74.97 percent of fakes but passed only 41.09 percent of real images. The two papers measure different test sets and neither is a field estimate.
- articleWhat does ComfyUI-qwenmultiangle output for camera control, what must be installed with it, and what language caveat does it state?
Problem. Control camera azimuth, elevation and distance in an image-edit model through ComfyUI without hand-typing camera phrases. Conditions. jtydhr88/ComfyUI-qwenmultiangle at commit bf8d032a (MIT, copyright 2026 Terry Jia). The node is an interactive Three.js viewport that only builds a prompt string; it generates nothing itself and works with a separate Qwen-Image-Edit-2511 multiple-angles LoRA. Method. (1) Clone the repo into custom_nodes and restart. (2) Download the LoRA named in the README from its Hugging Face page into the lora folder (its licence was not read). (3) Add 'Qwen Multiangle Camera' (image/multiangle); set horizontal angle 0-360 degrees, vertical angle -30 to 60 degrees and zoom 0-10 by handles, sliders or dropdowns. (4) The output prompt has the form <sks> {azimuth} {elevation} {distance}, using fixed vocabulary: eight azimuth terms (front view ... front-left quarter view), four elevation terms (low-angle shot -30, eye-level shot 0, elevated shot 30, high-angl...
- articleIs Masquerade Nodes still worth installing for mask-driven inpainting, and what do its mask-to-region and cut/paste nodes do?
Problem. Decide whether to depend on an old mask utility pack. Conditions. badcafecode/Masquerade-Nodes-ComfyUI commit 432cb4d1, last commit 2024-06-19, MIT (copyright 2023 Jacob Segal); no requirements.txt at that commit (404). Examples use SD1.5 and SD1.5-inpainting. Method. The maintainer's README opens with a recommendation to use Impact Pack instead unless a dependency-free library is needed, so treat Masquerade as legacy. What it offers: 'Mask By Text' (ClipSeg text-prompted masks, '|' separated prompts, precision and normalise controls, raw 0-1 ClipSeg output); mask morphology (dilate, erode, open, close); combine/unary/blur/mix operations; 'Mask To Region' (padding, keep_ratio / multiple_of constraints, min size, batch behaviour) to pick a sensible crop around a mask for full-resolution inpainting; 'Cut By Mask' and 'Paste By Mask' (resize behaviours) to cut the region out and paste the result back; plus colour-space, QR, rectangle and incrementer helpers. For a maintained a...
- articleWhich workflow settings multiply or divide GPU cost per job in ComfyUI: CFG 1, regional sampling, recovery samplers, cached partial re-runs?
Problem. Two workflows with the same steps and resolution can differ by a large factor in model evaluations. Conditions. ComfyUI core samplers.py at 9fe7ef76; Impact Pack Regional Sampler tutorial (default-branch text, no commit id); a Wan 2.2 end-frame example. Levers. (1) CFG 1.0: in the sampler, when cond_scale is close to 1.0 (and disable_cfg1_optimization is not set) the unconditional branch is dropped, so each step evaluates the model once instead of twice (inference: count of passes; see C3-B582-05 for why negatives then do nothing). (2) Regional Sampler: a base-only stage runs base_only_steps, then each step does base-region sampling plus one sampling per region, and the tutorial states that the optional additional_mode recovery 'requires a longer time for sampling because a second sampling is performed at each step in each region'. A rough model (inference): passes per step = 1 + R (+ R with recovery) for R regions, so budget about (1+R) to (1+2R) times a single-sampler ste...
- articleCan invisible watermarks be forged (spoofed onto real images), and what theory limits both watermark and classifier detector reliability?
Corrected 2026-10-23 - see C3-B681-03; the original statements below are kept for history and are superseded where the correction says so. Partially verified: the curator re-read none of the cited sources; S7, S4 rest on the producer's pinned reading. Saberi et al. (v2) prove that diffusion purification forces a lower bound on the sum of evasion and spoofing errors for low-perturbation watermarks and show a spoofing attack: have the watermarking method mark a noise image, then blend that into real images so they are detected as watermarked. RivaGAN was the most resistant, yet some images spoofed at low FPR. WAVES tried spoofing via surrogate detectors and reports it failed. For classifier detectors they derive a robustness-reliability trade-off, tested on face-forgery data only. This is one primary paper for forging; coverage is thin.
- articleWhat did Deepfake-Eval-2024 find about open-source and commercial detectors on in-the-wild deepfakes, including false positives on real media and which media traits cause errors?
Corrected 2026-10-23 - see C3-B678-02; the original statements below are kept for history and are superseded where the correction says so. Deepfake-Eval-2024 (TrueMedia.org; 45 h video, 56.5 h audio, 1,975 images collected in 2024) is the in-the-wild benchmark read here. Off-the-shelf open-source detectors scored AUC 0.43-0.63 across modalities, with real-media false-positive rates of 0.31-0.39 for video and 0.22-0.99 for images (UFD labelled 99 percent of real images fake). Anonymised commercial detectors did better but none reached 90 percent accuracy (best video 0.78, image 0.82 to 0.86 depending on which table is read). Errors concentrated on diffusion-generated video, mixed real/fake faces (31 percent accuracy drop) and non-facial edits. Commercial results are the benchmark authors measurement of vendors who partnered with them, with vendors anonymised.
- articleHow does ViStoryBench define and score character consistency for story visualisation (metrics, dataset, headline numbers, validity checks, stated limits), and which components are under which licence?
Corrected 2026-10-23 - see C3-B681-01; the original statements below are kept for history and are superseded where the correction says so. ViStoryBench (arXiv 2505.24862v5, 'Accepted by CVPR 2026' per the arXiv API comment) provides 80 stories with 344 characters, 509 reference images, 1,317 shots across 10 style genres (39 photorealistic), in English and Chinese, and 12 automated metrics: cross/self style similarity (CSD), cross/self character identification similarity (CIDS: Grounding DINO crops, ArcFace/AdaFace/FaceNet for realistic characters and CLIP otherwise, bipartite matching), VLM-judged prompt alignment (scene, shot, character interaction, individual action), on-stage character count, aesthetics, Inception score and a copy-paste detector. Table 2 gives the copy-paste baseline (CIDS cross 0.929) as a reference and e.g. OmniGen2 0.548, UNO 0.485 and StoryDiffusion 0.397/0.436 on cross-CIDS. Self-CIDS correlates with a user study at Kendall 0.4978, Spearman 0.6759, Pearson 0...
- articleI want the same character to look the same across the panels of a storyboard made with an image model: what does 'consistent' mean in the primary research, and which method family should I try first?
Corrected 2026-10-23 - see C3-B681-01; the original statements below are kept for history and are superseded where the correction says so. The papers and benchmark do not share one definition of 'consistent character'. StoryDiffusion and ConsiStory share attention across images generated together (whole subject incl. attire, no reference photo); The Chosen One iteratively extracts an identity from a text prompt alone; PhotoMaker and InstantID encode a person's face from photo(s); ViStoryBench measures reference-matched characters per shot with detection plus face/CLIP embeddings. Each source names limits: single person only (PhotoMaker), largest face only (InstantID), no consistent supporting characters (The Chosen One), same style only (ConsiStory), and no background-reference evaluation (ViStoryBench). In ViStoryBench's full-set Table 2 a pasted reference image has higher CIDS (cross 0.929, self 0.984) than any generator row, so similarity must be read together with prompt alignme...
- articleWhat does the open diffusion-based toon-shading paper (Diffutoon) actually demonstrate for turning video into an anime look, how was it evaluated, and what does it not show?
Corrected 2026-10-23 - see C3-B681-08; the original statements below are kept for history and are superseded where the correction says so. Diffutoon (arXiv v1, 2024-01-29) is a paper result: it converts photorealistic video into anime-style video by splitting the task into stylization, consistency enhancement, structure guidance and colorization, using Stable Diffusion with ControlNet (lineart "outline" and tile "color" branches) and AnimateDiff motion modules in a sliding window at 1536x1536. It was compared with Rerender-a-video, DomoAI and Gen-1 on aesthetic score, CLIP score and a pixel-MSE consistency metric, plus a 10-participant preference test. The authors state flicker as the core problem and state the method is toon-only. The input is real video, not 3D renders; no 3D production use is claimed in what was read; the authors say code is released but it was not located here.
- articleHow do the TextDiffuser (MARIO-Eval) and AnyText (AnyText-benchmark) evaluations score rendered text, which OCR checks them, and what do the sources say about validating or breaking those checks?
Corrected 2026-10-23 - see C3-B678-03; the original statements below are kept for history and are superseded where the correction says so. Two primary text-rendering evaluations use OCR as the judge. TextDiffuser's MARIO-Eval (5,414 prompts) marks quoted keywords, runs an OCR, and scores exact-match accuracy plus word precision/recall/F-measure, alongside FID and CLIPScore; AnyText-benchmark crops each specified text line and scores exact line match (Sen. Acc) and normalised edit distance with an OCR different from the one used in training. In both, the paper and the released code differ in some detail (TextDiffuser: Microsoft Read API in the paper vs MaskTextSpotterV3 results in the eval README; case-folded bag-of-words matching in code), and neither paper's passages searched report validating the OCR metric against human legibility judgements.
- articleI have an image made in A1111/Forge or diffusers with a seed; why does the same seed and prompt in ComfyUI (or the reverse) give a different image, and which differences are known?
Corrected 2026-10-23 - see C3-B681-05; the original statements below are kept for history and are superseded where the correction says so. Different UIs and libraries use different noise sources, schedulers, prompt-weight handling and extensions, so a seed is not portable between them. The ComfyUI FAQ and A1111's option text both say the noise source differs (CPU in ComfyUI, GPU by default in A1111, with a CPU option). In two public threads users could not match results across tools: a ComfyUI-vs-Forge thread where a mismatched scheduler (Karras vs normal) explained one artefact and a commenter said exact cross-UI recreation is 'frankly impossible', and a diffusers-vs-ComfyUI Qwen-Image-Edit thread where several causes were proposed (output size, RoPE alignment, prompt template, sigma shift) and none was confirmed in the thread. Treat seed + prompt as non-portable and compare like with like.
- articleIn the diffusers-vs-ComfyUI Qwen-Image-Edit thread, did anyone identify a practical cause of the quality gap?
Problem. C3-B060-G23-07 says several causes were proposed and 'none was confirmed in the thread'. Correction type: (c) missing an important limitation/finding. Method. A contributor (linoytsaban) tested the same script with and without height=1024,width=1024 and reported that omitting them matched ComfyUI quality; a Qwen maintainer (naykun) then advised against custom output height and width and called that likely the main reason. The reporter later disputed that this explains everything, and other hypotheses (RoPE text-frequency base, prompt template, sigma shift) stayed unresolved. Practical rule: for Qwen-Image-Edit in diffusers, let the pipeline compute the output size and keep conditioning images matched to it. Limitations. No maintainer confirmed that the size effect fully closes the gap. Version and date. Thread state as fetched 2026-10-23.
- articleWhat exactly does WAVES say about StegaStamp's image quality and how many watermarks does its comparison cover?
Problem. C3-B116-G42-06 says StegaStamp 'is most robust but visibly degrades images' and frames WAVES as '5 watermarks'. Correction type: (b) overstated plus scope. Method. WAVES only says StegaStamp 'may introduce artifacts' (a hedged report of the original paper), and its attack-vs-watermark comparison tables and robustness figure cover three methods (Tree-Ring, Stable Signature, StegaStamp); the paper does mention five stress-tested watermarks in its conclusion. The Stable Signature Regen-Diff average of 0.001 and the StegaStamp robustness ranking in the candidate are accurate (Table 3). Zhao et al. (not WAVES) attribute StegaStamp's resistance partly to lower visual quality and higher perturbation. Limitations. The two other watermarks' results were not located in the tables read. Version and date. Fetched 2026-10-23.
- articleDid WAVES show that surrogate-detector spoofing of image watermarks fails in general?
Problem. C3-B116-G42-07 says WAVES 'tried spoofing via surrogate detectors and reports it failed'. Correction type: (b) overstated. Conditions. Applies when judging whether watermarks can be forged. Method. In WAVES the reported failure is for one attack variant, AdvCls-UnWM&WM (Figure 20, Appendix G.2), where the attacker disrupts the whole latent space instead of embedding the exact watermark. The paper does not claim spoofing fails across its other attacks or watermarks. Saberi et al. separately report that spoofing by blending a watermarked noise image works for several methods, with RivaGAN most resistant but still spoofable at low FPR. Limitations. The rest of WAVES' spoofing appendix was not read line by line. Version and date. WAVES v3, Saberi v2, fetched 2026-10-23.
- articleCan I treat ViStoryBench's copy-paste CIDS baseline (cross 0.929, self 0.984) as a stable reference when comparing my own character-consistency runs?
Problem. C3-B227-G69-06 (and the Table 2 sentence in C3-B227-G69-01) present the copy-paste baseline CIDS 0.929 cross / 0.984 self as a fixed reference. Correction type: (c) missing an important limitation / (e) changed since the paper. Conditions. Applies when you re-run the ViStoryBench CIDS evaluator and compare to the paper's copy-paste row. Method. The evaluator README states that, for characters with a single reference image, the current code computes the copy-paste score with a mirrored reference image, and that the paper and project-homepage numbers pre-date that fix. Rerun the baseline yourself with the same code version as your model rows instead of importing 0.929/0.984. Limitations. The README says only 'slightly different'; the size of the shift was not measured here. Version and date. README at pinned commit b44ec91 (identical bytes at main, fetched 2026-10-23).
- articleDoes C3-B111-G40-06 miss that TextDiffuser reports a human evaluation and that its README gives a different MARIO-Eval size from the paper?
Problem. C3-B111-G40-06 says the paper and released code of TextDiffuser differ in some detail and that neither paper's searched passages validate the OCR metric against human legibility. Conditions. Two points were left out. (1) TextDiffuser (arXiv 2305.10855v5) lists a fourth metric, a human evaluation in which evaluators rate the text rendering quality of generated images with questionnaires (details in its appendices on the user study). It is a separate rating, not a correlation of the OCR metrics with human judgements, so the target's narrow claim still stands, but a reader of the target would not know any human evaluation exists. (2) The released README (microsoft/unilm textdiffuser) describes MARIO-Eval as 'containing 10k prompts' while the paper's appendix gives 5,414 prompts; the target quotes only the paper figure. Method. Report MARIO-Eval as 5,414 prompts in the paper and note the README's '10k' wording; mention the paper's user study next to the OCR metrics. Failure mod...
- articleDoes C3-B116-G42-02 overstate how well a ProGAN-trained detector holds up on GANs, and which training set do its Chameleon numbers belong to?
Problem. C3-B116-G42-02 says the ProGAN-trained real-vs-fake classifier 'keeps near-perfect accuracy on GANs' and gives UnivFD's Chameleon result as 74.97 percent of fakes caught and 41.09 percent of real images passed. Conditions. Two conditions were dropped. (1) Ojha et al. (arXiv 2302.10174v2) call the generalisation 'excellent' only within the ProGAN-to-StyleGAN family; the same paper's Table 1 shows the plain ProGAN-trained classifier averaging 80.77 (CycleGAN) and 79.25 (GauGAN), with fake-image accuracy of 62.91 and 59.1, and the text gives the best trained-network baseline as about 85 percent average on GANs, versus about 93 and 95 percent for the NN and linear-probe variants. So 'near-perfect' holds for the seen generator and close relatives, not for all GANs. (2) In the AIDE paper (arXiv 2406.19435v3) Table 5 the 74.97/41.09 pair is UnivFD trained on SD v1.4 images, given as 'fake image / real image' accuracy. In the ProGAN-trained row the same UnivFD column reads 3.18/97....
- articleWhat is a negative prompt mechanically, and why does it only matter when classifier-free guidance is active?
Problem. Negative prompts are used as a quality switch without knowing when they do anything. Conditions. Diffusion pipelines in diffusers. Source statements. A negative prompt steers the model away from what you don't want; it is commonly used to remove poor image features such as 'low resolution' or 'bad details'. In the diffusers CFG loop the update is noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond), so the unconditional branch is what the negative prompt replaces in pipelines that accept negative_prompt (this last step is my inference from how the loop and pipeline arguments relate). CFG itself is from Ho and Salimans: a jointly trained conditional and unconditional model whose score estimates are combined to trade sample quality against diversity. Method. (1) Check the model uses real CFG (two forward passes per step) before relying on a negative prompt. (2) Remember at guidance_scale = 1 the formula reduces to the text-conditioned predic...
- articleFor FLUX models, which variants use true CFG and negative prompts, and which are guidance-distilled with a scalar guidance_scale?
Problem. Negative prompts written for SD models are carried over to FLUX. Conditions. diffusers FluxPipeline family. Source statements. FLUX.1-schnell is timestep-distilled: guidance_scale needs to be 0, it benefits from fewer steps and max_sequence_length cannot exceed 256. FLUX.1-dev is guidance-distilled: it takes about 50 steps and the docs use guidance_scale=3.5. Fill and control variants (Canny, Depth, Fill) are also guidance-distilled; the docs use guidance_scale=30.0 for Canny, 10.0 for Depth. One diffusers example for FLUX.1-dev with an IP-Adapter passes negative_prompt='' together with true_cfg_scale=4.0, showing that FluxPipeline exposes a separate true CFG path. BFL's CLI example for Kontext uses --guidance 2.5 (C3-B576-16). Method (inference). Treat the scalar guidance_scale on dev as a distilled 'fake CFG' that is not driven by a negative prompt; to use a negative prompt on FLUX.1-dev set true_cfg_scale above 1 and supply negative_prompt, accepting about double compute...
- articleWhat guidance parameters does InstructPix2Pix expose for balancing the instruction against the original image, and what do FLUX.1 Kontext's paper and open-weight licence say for multi-turn edits?
Problem. Instruction-based editing should change what you ask and keep the rest. Conditions. Local diffusers models. Method. InstructPix2Pix (Brooks, Holynski, Efros) edits an image from a written instruction in a forward pass with no per-example fine-tuning or inversion. The diffusers guide shows StableDiffusionInstructPix2PixPipeline with num_inference_steps=20, image_guidance_scale=1.5 and guidance_scale=10, and states that the two guidance scales control how much the original image and the edit instruction affect the result; training uses conditioning dropout so classifier-free guidance can be applied to the image and the prompt separately. Inference: raise image_guidance_scale to stay closer to the source frame, raise guidance_scale for stronger edits. FLUX.1 Kontext: the paper abstract states it handles local and global editing, character and style reference, and text editing in one model and reports improved preservation of objects and characters in iterative multi-turn workf...
- articleWhat does Hailuo's knowledge page recommend for keeping eye-line consistent across angles (master reference image, subtractive prompting), and how much of it is evidence?
Problem. Gaze direction drifts between generated shots. Conditions. Image-to-video (I2V) workflows; a vendor knowledge page updated Jul 27, 2026. Vendor recommendations (creator-style claims). (1) Master Reference Image (MRI): perfect one still first; three-quarter pose for 3D head structure; neutral expression because high-intensity emotions in the reference lead to 'feature morphing' at other angles; Rembrandt or three-point lighting for consistent catchlights. (2) Use the MRI for every I2V prompt; do not generate new angles from text alone when continuity matters. (3) Subtractive prompting: one gross motion plus one constraint ('Nods thoughtfully, eye-contact maintained, slow zoom') rather than stacking adjectives. (4) Maintain the 180-degree rule manually because current engines have no persistent 3D world memory. (5) Plan for several takes. Evidence quality. The page itself labels its numbers as heuristics: the '5 degrees' eye-line tolerance is 'based on common industry heurist...
- articleWhat four properties of light do film-course texts teach (source, quality, direction, colour), what is motivated light, and how do I write them into a prompt?
Problem. 'Cinematic lighting' is vague; light has separable attributes. Conditions. Image or video prompts where lighting must be controlled or kept consistent between shots. Course-text statements (LibreTexts). Four properties: source, quality, direction and colour. Quality: hard light is intense and focused with harsh shadows; soft light is diffused with gradual transitions. Direction: practical lights in the set can motivate direction, e.g. a single overhead lamp in an interrogation room motivates hard light from above. Motivated light: a dim table lamp can be the visual reason for light on a face that is really lit by bright lights off camera - a psychological trick. Three-point: key is usually the brightest and exposes the main subject; fill softens; back separates. Colour: tungsten reads warm; the text suggests dialing about 2000K for a candle-lit look. Method (inference). Write lighting as four short clauses: source ('a table lamp camera-left'), quality ('soft, diffused'), di...
- articleWhich automatic metric does T2I-CompBench++ use for each compositional category (colour/shape/texture binding, 2D/3D spatial, numeracy, non-spatial, complex), and how well does each correlate with human ratings?
Partially verified: the curator re-read none of the cited sources; S3, S4, S5 rest on the producer's pinned reading. T2I-CompBench++ (arXiv v3) has 8,000 prompts in four groups and eight sub-categories, and uses a different checker per sub-category: disentangled BLIP-VQA for colour/shape/texture binding, a UniDet detection (plus depth for 3D) rule for spatial relations and numeracy, CLIPScore or an MLLM for non-spatial relations, and a 3-in-1 average for complex prompts. Validated by Kendall tau / Spearman rho against 3-worker MTurk ratings, B-VQA is strongest for colour (tau 0.63) but weak for shape (0.27), UniDet is the best non-MLLM metric for spatial and numeracy, and plain CLIPScore is weak almost everywhere.
- articleHow well does GenEval agree with human raters, which settings were tuned to get that agreement, and where does it fail or stop discriminating?
Partially verified: the curator re-read none of the cited sources; S1 rests on the producer's pinned reading. In the authors' MTurk study (6,000 annotations over 1,200 images) GenEval agreed with humans on 83% of images versus 88% pairwise annotator agreement and 80% for a per-task thresholded CLIPScore; on 860 unanimous images agreement was 91% vs 87%. The counting confidence threshold (0.9) and the colour crop+mask step were chosen against human labels, and the paper lists holes in objects, overlapping same-type objects and non-photographic art as failures. Single-object prompts are near ceiling for all tested Stable Diffusion/IF models, and the paper notes kappa 0 there because almost all images were correct.
- articleFor a newcomer: what do LoRA, DreamBooth and textual inversion each change in an image model, how many example images does each need according to its source, and which source actually covers image models?
Partially verified: the curator re-read none of the cited sources; S10, S11, S12, S13, S14, S15, S16, S17 rest on the producer's pinned reading. Per the sources: textual inversion (Gal et al., arXiv v1) learns one new word embedding and leaves the model's weights frozen, from 'typically 3-5' images; DreamBooth (Ruiz et al., arXiv v2) fine-tunes the diffusion model itself to bind a rare-token identifier plus class noun to a subject from 3-5 images; LoRA (Hu et al., arXiv v2) freezes pre-trained weights and trains small low-rank matrices, but its paper evaluates language models (RoBERTa, DeBERTa, GPT-2, GPT-3), not image generators. Hugging Face diffusers v0.41.0 docs describe all three for Stable Diffusion-family models and provide training scripts, including DreamBooth-with-LoRA. A newcomer should therefore cite the diffusion papers for DreamBooth/textual inversion and treat LoRA-for-diffusion behaviour as documented by diffusers, not by the LoRA paper.
- articleHow does DPG-Bench score dense, long prompts, which judge does it use, and how was that judge validated against humans?
DPG-Bench (introduced in the ELLA paper, arXiv v1) has 1,065 long prompts; GPT-4 wrote the dense prompts and, following the Davidsonian Scene Graph (DSG) recipe, per-prompt yes/no questions with dependencies. The released scorer asks an mPLUG VQA model each question on each of the four images in a 2x2 grid, counts an exact 'yes' as 1, zeroes questions whose parent question was answered 'no', and averages. Human validation described in the passages read is a ranking study of three models by 20 users per prompt, not a per-question agreement measurement of the VQA judge.
- articleWhat does the sd-scripts FLUX.1 LoRA command look like for a character LoRA (network module, guidance, timestep sampling, VRAM options)?
Problem. FLUX.1 differs from SD, so SD-style LoRA settings do not transfer one-to-one. Conditions. flux_train_network.py in sd-scripts with FLUX.1 weights, CLIP-L, T5-XXL and AE files. Method. The documented example uses --network_module=networks.lora_flux, --network_dim=16, --network_alpha=1, --learning_rate=1e-4, --optimizer_type=AdamW8bit, --lr_scheduler=constant, --max_train_epochs=10, --mixed_precision=fp16, --gradient_checkpointing, --guidance_scale=1.0, --timestep_sampling=flux_shift, --model_prediction_type=raw, --blocks_to_swap=18, --cache_text_encoder_outputs, --cache_latents. For Chroma, --guidance_scale=0.0 is required. Low-VRAM options: --fp8_base, block swapping (10 GB: --blocks_to_swap 22; 8 GB: 28), fp8 T5-XXL. Dataset and caption keys are shared with the SD guide (see C3-B571-07). Failure modes. fp8 training results 'may vary' per the doc. Limitations. Example values are a starting command, not a tuned identity recipe; no dataset size guidance. Version/date. flux_tr...
- articleFor a character LoRA with kohya sd-scripts, which dataset-config keys control repeats and captions, what do the docs say about rank, alpha and learning rate, and how do I watch for overfitting?
Problem. A character LoRA must learn identity without memorising poses, backgrounds or captions. Conditions. sd-scripts train_network.py (SD 1.x/2.x) with a dataset .toml. Method. (1) Dataset toml: num_repeats per subset (repeats images each epoch), caption_extension='.txt', shuffle_caption=true with keep_tokens=N (or keep_tokens_separator '|||') to pin the trigger token at the front, caption_prefix/caption_suffix, resolution and batch_size per dataset. (2) Network: --network_module=networks.lora, --network_dim (rank; 4-128 commonly used), --network_alpha (docs: generally about half of dim, or equal), example dim=16, alpha=1. (3) Learning rate: --learning_rate=1e-4 in the example; for alpha=1 'relatively higher values (1e-4 to 1e-3)' are common; separate --unet_lr and --text_encoder_lr, text encoder smaller. (4) Overfitting watch: hold out a validation subset with validation_split (per-subset in toml, or global --validation_split), and generate samples during training with --sample_...
- articleAcross IP-Adapter, FaceID, InstantID, PuLID and PhotoMaker, where is the licence line between code and weights, and what blocks commercial use?
Problem. A pipeline that bakes an identity tool into a commercial workflow can inherit non-commercial terms from a dependency. Conditions. Any use of the five tools in client or product work. Method. Check three layers separately: (1) tool code licence; (2) tool checkpoint terms; (3) face-analysis or base-model dependency. From the files fetched: IP-Adapter repo code Apache-2.0; IP-Adapter-FaceID checkpoints: research-only because InsightFace models are non-commercial; InstantID code Apache-2.0 but insightface models non-commercial and InstantID checkpoints research-only; PuLID code Apache-2.0 with FLUX use bound to the FLUX.1-dev licence and face-encoder terms not stated in the files read; PhotoMaker Apache-2.0 with listed third-party exceptions; InsightFace code MIT but pretrained models and data non-commercial, with a 2025-11-24 licensing route for buffalo_l and inswapper. Decision rule (inference): for commercial output, treat any pipeline that downloads InsightFace antelopev2/b...
- articleHow do I prompt PhotoMaker with several photos of one person (trigger word, merge step, style strength)?
Problem. Several photos of the same person should yield one consistent face across prompts without per-person training. Conditions. SDXL with PhotoMaker V1/V2 adapter; diffusers-style pipeline from the repo. Method. (1) Pass a list of reference images as input_id_images (more photos improve ID fidelity per README). (2) Put the trigger word img directly after the class word in the prompt, e.g. 'a half-body portrait of a man img wearing ...'. (3) Example call uses start_merge_step=10 and a seeded torch.Generator (manual_seed(42)). (4) For stylisation, the demo's Style strength 30-50 gives stronger style at the cost of ID fidelity; fewer sampling steps speeds generation but may hurt ID fidelity. (5) V2 adds improved ID fidelity and a ControlNet integration script. Failure modes. Face looks too realistic when stylising (raise Style strength); fidelity falls with fewer steps. Limitations. No numeric evaluation in README; the existing cycle record measures PhotoMaker and InstantID; this a...
- articleFor FLUX, how do I set PuLID's 'timestep to start inserting ID' and true-vs-fake CFG to trade identity fidelity against editability?
Problem. Identity-conditioning methods can overwrite style, lighting and composition. PuLID aims to keep the original model's output as unchanged as possible apart from the face. Conditions. FLUX.1-dev with PuLID-FLUX v0.9.1 (better ID fidelity than v0.9.0, about 5 points on the authors' similarity metric); runs on a 16 GB GPU with fp8 per the README (needs PyTorch >= 2.4.1 for flux-dev-fp8). Method. (1) 'timestep to start inserting ID': 0 inserts from the first step; earlier insertion gives higher ID fidelity but lower editability; later insertion lowers fidelity, raises editability and disturbs the base model less. Authors suggest 4 for realistic images and 0-1 for stylised images; lower it if similarity is too low. (2) CFG: FLUX.1-dev is guidance-distilled, so the usual guidance_scale (e.g. 4) is 'fake CFG'. Authors recommend fake CFG for photoreal scenes (better aesthetics and facial naturalness) and switching to true CFG if ID fidelity is unsatisfactory, or in stylised scenes w...
- articleHow do I tune InstantID's two weights, what does the keypoint ControlNet lock, and what does its licence permit?
Problem. Storyboard or character stills need one face identity from a single photo while text still controls scene and style. Conditions. SDXL; InstantID checkpoints (ControlNetModel IdentityNet + ip-adapter.bin); insightface antelopev2 for the face embedding. Method. (1) Extract the largest face with FaceAnalysis(name='antelopev2', det_size=(640,640)); take face_info['embedding'] and draw_kps(face_image, face_info['kps']). (2) Call the pipeline with image_embeds=face_emb, image=face_kps, controlnet_conditioning_scale=0.8, ip_adapter_scale=0.8 (README example). (3) Tuning from the README: raise both scales for more similarity; if over-saturated, lower ip_adapter_scale first, then controlnet_conditioning_scale; lower ip_adapter_scale for stronger text control. (4) With LCM-LoRA use about 10 steps and guidance_scale in [0,1]. Failure modes. Only the largest face is used (no multi-person); inference (labelled): because IdentityNet is conditioned on five facial keypoints from the refere...
- articleWhat do the IP-Adapter-FaceID variants (FaceID, Plus, PlusV2, Portrait) condition on, which parameters tune them, and can I use them commercially?
Problem. Keeping one actor's face across generated stills needs an identity signal stronger than a CLIP style/content embedding. Conditions. SD 1.5 or SDXL generation where you have one or a few clean face photos. Method. (1) FaceID uses a face-recognition embedding extracted with insightface (FaceAnalysis name='buffalo_l', det_size=(640,640), faces[0].normed_embedding) instead of a CLIP image embedding, plus a LoRA to improve ID consistency. (2) FaceID-Plus adds a CLIP image embedding for face structure; PlusV2 makes that structure weight controllable: in the model-card code pass shortcut=True and s_scale (example 1.0) to generate(). (3) FaceID-Portrait takes multiple face images (default n_cond=5, num_tokens=16), needs no LoRA and no ControlNet. (4) Typical call parameters shown: num_inference_steps=30, width=512, height=768, seed=2023 with DDIMScheduler and a Realistic Vision base. Failure modes. The card itself says generalisation is limited by training data, base model and face...
- articleHow strongly should I set IP-Adapter's image-prompt scale, how do I limit it to style or layout blocks, and what does it do to non-square references?
Problem. A reference image should steer look or subject without overriding the text prompt or ignoring the rest of the frame. Conditions. Stable Diffusion 1.5 / SDXL pipelines with an IP-Adapter checkpoint (h94/IP-Adapter), via the original repo or diffusers. Method. (1) Image-only prompting: scale=1.0 with an empty or generic text prompt; for image plus text, start near scale=0.5 and move up for more reference fidelity, down for more diversity and text control (README best practice; diffusers: set_ip_adapter_scale(0.5) balances). (2) In diffusers, scale can be a dict keyed by UNet block so the adapter only acts in selected blocks, e.g. {'down': {'block_2': [0.0, 1.0]}, 'up': {'block_0': [0.0, 1.0, 0.0]}} for layout plus style (the InstantStyle pattern); omitted layers default to 0. Style-only activation uses just up block_0. (3) Multiple adapters or reference images take a list of scales, e.g. set_ip_adapter_scale([0.7, 0.3]). (4) CLIP's default processor centre-crops, so pre-crop ...
- articleWhich AI-generated or AI-edited images from Microsoft Designer (and Canva) does the vendor say carry Content Credentials or an AI label?
Partially verified: the curator re-read S11, S12, S14; S13 was not re-read by the curator and rests on the producer's pinned reading. Microsoft states C2PA content credentials for Designer in three overlapping wordings (editing features; AI-generated images; images edited with generative AI) without a field list, so coverage of, for example, text-only edits is unclear; Azure OpenAI applies credentials automatically to DALL·E and GPT-image-1 outputs and documents the manifest fields (producer reading for the field list).
- articleWhat do design-system docs say about visual hierarchy and white space in layout (Apple HIG; Material)?
Apple's HIG Layout page (observed 2026-10-22) states hierarchy rules in plain prose: order by importance along reading order, align to signal relatedness, indent to signal subordination, group with negative space/containers/separators, and use progressive disclosure. It gives few numbers (tvOS 60/80 pt insets) and no white-space ratio. Material Design layout pages could not be read without JavaScript, so no Material rule is recorded.
- articleImage model choice for AI film stills (creator comparison, May 2026): GPT Image 2 preferred ~80% of the time for coherence/realism/text, Nano Banana Pro for lighting detail, Nano Banana 2 for speed, text and dense instructions, Midjourney for art direction
Creator-reported: statements attributed to the creator(s) come from discovery's reading of auto-caption transcript excerpts; the curator checked the video metadata (title, date, length) and any cited documentation pages, not the spoken claims. Nothing was tested; promotional or sponsored framing applies where stated. Dankieft side-by-side tests with the same simple prompts (R1): GPT Image 2 strongest overall on prompt coherence, realism and colour ("I would pick GT image 2 80% of the time over Nano Banana") but with more background hiccups; Nano Banana has a recognisable look and tends to over-expose; Nano Banana Pro (older, pricier) gives more detail, more accurate lighting and texture, while Nano Banana 2 (Gemini 3.1 Flash image) is cheaper, faster, better at text rendering and prompt adherence (R1, R2); Midjourney is best for stylised/art looks and control but weak at reference editing and refused one prompt under its community guidelines; all models lose facial consistency on sm...