- articleWhat do HunyuanVideo's Normal and Master prompt-rewrite modes do, and how does HunyuanVideo-1.5 default to rewriting when a vLLM endpoint is configured?
Problem. Rewriters trade intent-fidelity for visual richness, and a pipeline flag can turn rewriting on without the user noticing. Conditions. HunyuanVideo (Dec 2024 release) and HunyuanVideo-1.5 repositories. Method. HunyuanVideo fine-tunes a Hunyuan-Large model as a rewriter with two modes: Normal improves understanding of user intent; Master enriches composition, lighting and camera movement for higher visual quality. The README states that Master may lose some semantic details, so use Normal when the brief is specific, Master when it is vague. Weights for the rewriter are published separately. HunyuanVideo-1.5 instead ships system prompts (t2v and i2v) and recommends vLLM-served Qwen3 models (Qwen3-235B-A22B-Thinking-2507 for text-to-video, Qwen3-VL-235B-A22B-Instruct for image-to-video); rewriting is on by default (--rewrite true) but, if no vLLM endpoint is configured, the pipeline simply runs without remote rewriting. Failure modes. Semantic detail loss in Master mode; a sile...
- articleWhat licence terms cover RIFE and FILM frame-interpolation code and weights used by ComfyUI-Frame-Interpolation?
Problem. The interpolation node pack (round 2) downloads RIFE and FILM weights at run time; which terms apply to them? Conditions. hzwer/Practical-RIFE commit bbfd2ea9 (2026-08-27; MIT) and google-research/frame-interpolation commit 69f8708f (last commit 2023-01-14; repository archived; Apache-2.0). Method. Practical-RIFE: the README states 'The content of these links is under the same MIT license as this project' for its trained models, so code and listed weights are MIT; the models are loaded from flownet.pkl files (pickle-family; see C3-B574-14). Third-party mirrors of rife47.pth etc. on Hugging Face (named in the node pack's code) are other people's uploads and carry no licence tag in the API results seen (marduk191/rife: none). FILM: the repository is archived, the code licence is Apache-2.0, the README describes pretrained models fetched separately and states 'This is not an officially supported Google product'; I found no statement of a separate weight licence in the README t...
- articleWhat licence terms are stated for AnimateDiff code and motion modules, and how do the Hugging Face tag and the GitHub 'academic use' disclaimer differ?
Problem. AnimateDiff motion modules run on top of SD1.5 checkpoints, and users download them from several hosts. Conditions. GitHub guoyww/AnimateDiff commit e92bd567 (pushed 2024-07-31; API reports Apache-2.0); HF guoyww/animatediff revision fdfe36af (modified 2023-12-18). Method. The HF model card is metadata only: 'license: apache-2.0' plus a line saying it hosts models for AnimateDiff. The GitHub README's Disclaimer states 'This project is released for academic use' and disclaims responsibility for user-generated content; the README states the main branch targets Stable Diffusion v1.5 (an sdxl-beta branch targets SDXL). So the repository licence file is Apache-2.0 while prose says academic use: the sources do not reconcile these. Motion modules are also distributed through Google Drive and CivitAI per the README, and personalised SD1.5 checkpoints used with them have their own licences (SD1.5's CreativeML OpenRAIL-M is covered by earlier items). Failure modes. Citing 'Apache-2.0...
- articleWhat licence terms are actually stated for FramePack weights (lllyasviel/FramePackI2V_HY) and code, given the model is built on HunyuanVideo?
Problem. FramePack is run in ComfyUI through Kijai's wrapper, but its weight licence is not obvious. Conditions. HF lllyasviel/FramePackI2V_HY revision 86cef439 (modified 2025-04-13); GitHub lllyasviel/FramePack commit 97fe5dbe (2025-10-16). Method. The GitHub repository carries an Apache License 2.0 file and the API reports Apache-2.0 for the code. The Hugging Face weights repository has tags diffusers/safetensors and a model card whose only text is a one-line description ('...FramePack for HY'), with no licence field and no licence file in its file list. The GitHub README mentions neither Hunyuan nor Tencent in my search, so no licence statement for the weights was found in the sources read. 'HY' in the name and the Kijai wrapper README (round 2) indicate a HunyuanVideo-based transformer; whether the Tencent Hunyuan Community License (territory exclusion, 100M MAU, no-improving-other-models) propagates to it is not stated by these sources (inference only). Failure modes. Reading t...
- articleWhich licence applies to which LTX-Video / LTX-2 / LTX-2.x weights, what are the revenue and non-commercial rules, and what output and competing-model clauses exist?
Problem. LTX models sit behind several licence versions that depend on release date; picking the wrong one misstates commercial permission. Conditions. Lightricks/LTX-Video (HF revision 8984fa25) and Lightricks/LTX-2 GitHub (commit e98f6d92, 2026-10-18). No LTX items were found in the prior index, so this is new. Method. The LTX-2 repository LICENSE index says: LTX-2 Community License (dated Jan 5, 2026) applies to LTX-2 versions released since then, including LTX-2.3 until Aug 11, 2026; the LTX-2.x Community License (dated Aug 11, 2026) applies to LTX-2.5 versions released since then and future LTX-2.x releases. Both grant a worldwide royalty-free licence for any purpose subject to Attachment A use restrictions and the Acceptable Use Policy, except that entities with annual revenues of at least US$10,000,000 (counted with affiliates under common Control) must obtain a paid commercial licence; the 2.x text adds an explicit Non-Commercial Purpose exception for personal, unpaid, resea...
- articleWhat does the Tencent Hunyuan Community License (HunyuanVideo) restrict by territory, user count, derivative models and outputs, and what notices must accompany redistribution?
Problem. HunyuanVideo (and models built on it) is common in ComfyUI video stacks, but its licence differs sharply from Apache. Conditions. tencent/HunyuanVideo on Hugging Face, revision 6204ad6a (modified 2025-03-06), files LICENSE and Notice; licence card name tencent-hunyuan-community; release date of the model licence Dec 3, 2024; GitHub licence metadata for Tencent-Hunyuan/HunyuanVideo reads NOASSERTION. Method. Territory: the agreement states it does not apply in the European Union, United Kingdom and South Korea, and that use of the Works or any Output outside the Territory is unlicensed (section 5c). Scale: if the licensee's products exceeded 100 million monthly active users in the month before the version release date, a separate licence must be requested and no rights apply until granted (section 4). Output and derivatives: you must not use the Works or any Output or results to improve any other AI model (section 5b); Model Derivatives include distillation and training on s...
- articleWhat licence covers Wan 2.1, Wan 2.2 and Wan2.2-Animate weights and generated outputs, and what duties does the model card add?
Problem. Deciding whether Wan weights used in ComfyUI workflows can be used and redistributed commercially. Conditions. Hugging Face repos Wan-AI/Wan2.1-T2V-14B (revision a064a6c7, LICENSE.txt present), Wan2.2-I2V-A14B (revision 206a9ee1) and Wan2.2-Animate-14B (revision cb93a225); the VACE-14B card also tags Apache-2.0 (not read in full). Method. The card front matter says license: apache-2.0 for all three revisions read, and the Wan2.1 repository carries the standard Apache License 2.0 text as LICENSE.txt. Each card's License Agreement section states that the models are licensed under Apache 2.0, that the authors claim no rights over generated contents, and that the user remains accountable and must not share content that violates law, causes harm to individuals or groups, disseminates personal information intended for harm, spreads misinformation or targets vulnerable populations. Practical matrix: code Apache-2.0 (GitHub Wan-Video/Wan2.1 and Wan2.2 report Apache-2.0); weights Ap...
- articleHow does ComfyUI decide whether to load a checkpoint as safetensors or via torch.load, and what does PyTorch's documentation say about weights_only?
Problem. A file named .safetensors vs .ckpt/.pt/.pth/.bin/.pkl is the only gate between data loading and pickle deserialisation. Conditions. ComfyUI v0.42.5 comfy/utils.py load_torch_file; PyTorch 2.14 docs. Method. load_torch_file dispatches on the lower-cased filename suffix: .safetensors or .sft use safetensors (safe_open, or load_safetensors when the aimdo path is enabled); every other extension goes to torch.load(..., weights_only=True). folder_paths.supported_pt_extensions lists .ckpt, .pt, .pt2, .bin, .pth, .safetensors, .pkl and .sft, so those pickle-family files are listed in the model dropdowns. The torch.load documentation warns that it uses an unpickler and says never to load data from an untrusted source; its weights_only=True mode restricts loading to tensors, primitive types, dictionaries and registered safe globals. Failure modes. Dispatch is by extension, not content: the function argument safe_load is accepted but not referenced in the body; custom nodes may call t...
- articleDoes one ComfyUI process run prompts in parallel? How are queue order, priority and websocket targeting (client_id) decided?
Problem. Capacity planning and result routing for scripts or services in front of ComfyUI. Conditions. ComfyUI v0.42.5, single server process. Method. main.py starts exactly one daemon thread running prompt_worker, which pulls from PromptQueue, calls e.execute(...) synchronously, then task_done. PromptQueue.put uses heapq.heappush on tuples whose first element is 'number', so lower number runs first; 'front': true negates the auto counter. Inference: because the counter grows with every submission, a later front submission gets a more negative number and so runs before earlier front items (LIFO among front items). Parallel throughput needs more processes (instances, GPUs) with your own scheduler. execute_async stores extra_data['client_id'] in a single server-wide field; add_message sends execution_start/cached/success only if a client_id exists (broadcast False), addressing that sid, so a prompt submitted without client_id gets no per-prompt websocket events; the same events are ke...
- 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...
- articleHow does extra_model_paths.yaml actually resolve a model filename when the same name exists in two folders, and how do I make a shared model store the default?
Problem. Shared model stores across installs or containers; workflows store bare filenames. Conditions. ComfyUI v0.42.5. Method. Config is YAML parsed with yaml.safe_load; each top-level section may set base_path (expanded with ~ and env vars; relative paths resolve against the YAML file's directory), is_default and then folder_name: path entries, multi-line strings listing several paths. folder_paths.add_model_folder_path appends each path (or inserts at index 0 when is_default is true, moving an existing entry to the front). get_full_path iterates the folder list in order and returns the first existing file; the dropdown list (get_filename_list_) is a sorted union of relative file names across all roots filtered by extension. main.py auto-loads extra_model_paths.yaml next to main.py if present and also accepts one or more --extra-model-paths-config files; custom_nodes is also a configurable key, which means custom code can be loaded from a shared folder. The shipped example covers...
- articleWhat do --lowvram, --highvram, --novram and the dynamic VRAM switches mean in ComfyUI v0.42.5, and when does --lowvram do nothing?
Problem. Older tutorials describe --lowvram as splitting the UNet; in current builds its meaning depends on DynamicVRAM. Conditions. ComfyUI v0.42.5, NVIDIA or recent AMD ROCm GPU. Method. comfy/cli_args.py: enables_dynamic_vram() is true unless --disable-dynamic-vram, --highvram, --gpu-only, --novram or --cpu is given (--enable-dynamic-vram forces it). main.py enables it only when the GPU is NVIDIA, or AMD with ROCm 7.14 or newer, torch is 2.8+ (2.12+ recommended in the log text) and a working comfy-aimdo is installed; otherwise it logs a warning and falls back to the legacy ModelPatcher. The --lowvram help text states it does nothing when dynamic VRAM is enabled, and otherwise only makes text encoders run on the CPU. Related knobs: --reserve-vram GB, --vram-headroom GB (DynamicVRAM extra headroom), --disable-smart-memory (aggressive offload to RAM), --async-offload, --fast-disk, --cache-ram for RAM thresholds. The vram flags are one mutually exclusive group. Failure modes. Copying...
- articleBeyond a plain prompt object, what does POST /prompt accept in v0.42.5 (prompt_id, front, number, partial_execution_targets, extra_data), and when does a 200 hide dropped outputs?
Problem. Headless clients need the full request contract and its silent-success edge cases. Conditions. Local ComfyUI v0.42.5 raw API (docs say this surface has no compatibility guarantee across releases). Method. Body keys read in server.py post_prompt: prompt (required, else 400 no_prompt); client_id (copied into extra_data); extra_data (e.g. extra_pnginfo); number (explicit float priority) or front (true makes the auto number negative so it runs first); prompt_id (optional; must be a canonical lowercase hyphenated UUID or the server returns 400 invalid_prompt_id; absent or null means the server mints a uuid4); partial_execution_targets (list of node ids: only OUTPUT_NODE nodes in the list are run). Response on success: {prompt_id, number, node_errors}. Failure modes. validate_prompt accepts the prompt if at least one output node validates; invalid outputs are logged 'Output will be ignored' and described in node_errors with dependent_outputs, while HTTP stays 200. Only when no ou...
- articleWhat is Kijai's ComfyUI-WanVideoWrapper for, when should I prefer native Wan nodes, and what does it pin or change about VRAM?
Problem. Choosing between ComfyUI's native Wan support and the wrapper node pack, and avoiding VRAM regressions after updates. Conditions. Repo kijai/ComfyUI-WanVideoWrapper at commit 088128b2 (last push 2026-05-24; not archived), pyproject version 1.4.7, Apache-2.0 code. Method. The README says to use native nodes unless the model or feature is not yet available natively (wrapper is a place to test new models quickly). Install by cloning into custom_nodes and pip-installing requirements.txt (ftfy, accelerate>=1.2.1, einops, diffusers>=0.33.0, peft>=0.17.0, sentencepiece>=0.2.0, protobuf, pyloudnorm, gguf>=0.17.1, opencv-python, scipy). Models: text encoders to models/text_encoders, CLIP vision to clip_vision, transformer to diffusion_models, VAE to vae; fp8-scaled and GGUF variants are named; the wrapper can also use native text-encoder and clip-vision loaders. A noted behaviour change: unmerged LoRA weights are now held as buffers inside blocks, so with block swap the block size g...
- articleWhat flag set runs ComfyUI as a locked-down headless API server (listen address, TLS, upload size, no custom nodes, offline), and what does the project say about authentication?
Problem. Exposing a GPU box as an API without enlarging the attack surface. Conditions. ComfyUI v0.42.5 CLI; docs.comfy.org self-hosting and startup-flag pages. Method. Defaults: --listen 127.0.0.1 (bare --listen means 0.0.0.0,::; a comma-separated list is accepted), --port 8188, --max-upload-size 100 MB. Relevant flags in cli_args.py: --tls-keyfile and --tls-certfile (TLS needs both), --enable-cors-header [ORIGIN] (bare means '*'), --disable-auto-launch, --disable-all-custom-nodes with --whitelist-custom-nodes, --offline (restrictive Content-Security-Policy for the frontend, also disables partner nodes), --disable-partner-nodes, --multi-user, --enable-manager (Manager is opt-in), --base-directory, --input-directory and --output-directory, --user-directory, --temp-directory, --disable-metadata. The self-hosting page states the server has no authentication by default and says to bind non-loopback addresses only on trusted networks or behind an authenticating reverse proxy; community ...
- articleThe cuBLAS documentation (fetched 2026-10-21) limits bitwise reproducibility to the same toolkit version, same architecture and same SM count, and excludes multiple active streams and fixed-point emulation; cuBLASXt adds tile-size and CPU-hybrid...
Corrected 2026-10-23 - see C3-B684-04; the original statements below are kept for history and are superseded where the correction says so. The cuBLAS documentation (fetched 2026-10-21) limits bitwise reproducibility to the same toolkit version, same architecture and same SM count, and excludes multiple active streams and fixed-point emulation; cuBLASXt adds tile-size and CPU-hybrid conditions.
- 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.
- articleDoes cuBLAS batch invariance make results independent of batch size on any NVIDIA GPU?
Problem. Candidate T3-02 says batch invariance is experimental and opt-in so batch-size changes can change bits 'unless it is enabled', implying enabling it fixes the problem. Nature: (c) missing an important limitation. Conditions. Current cuBLAS documentation (latest URL, fetched 2026-10-23). Method. The same section limits the mode to GPUs with compute capability 10.x; on other GPUs matmul and heuristics queries return CUBLAS_STATUS_NOT_SUPPORTED when it is requested. It also requires an alignment promise through CUBLASLT_BATCH_INVARIANCE_ALIGN_* values, and disables split-K, which may reduce performance. Failure modes. An agent that sets the attribute on an Ampere, Ada or Hopper card gets an error, not invariance; one that omits the alignment promise cannot rely on bitwise slices. Limitations. Which GPUs count as '10.x' was not mapped here. Version and date. Latest cuBLAS page at 2026-10-23.
- 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 does a "Verified" badge on a Hugging Face commit mean for a model repository, and does it cover weight files?
Corrected 2026-10-23 - see C3-B644-01; the original statements below are kept for history and are superseded where the correction says so. On Hugging Face a Verified commit badge means the commit was GPG-signed with a key uploaded to the account whose email matches the account email; it speaks to commit authorship, not to the integrity or provenance of weight files beyond that commit.
- articleI want to transcribe speech or translate it into English with Whisper: which model and task should I use, how many languages, and what do the repository and the Hugging Face card say about the licence?
Corrected 2026-10-23 - see C3-B645-04; the original statements below are kept for history and are superseded where the correction says so. At whisper 86098128 the README states that Whisper's code and model weights are released under MIT (LICENSE is MIT text), while the Hugging Face openai/whisper-large-v3 card (06f233fe) carries 'license: apache-2.0' as metadata; both model cards say strong ASR in about ten languages and caution against transcribing people without consent.
- articleAs a newcomer choosing an open TTS model for the voice stage of a dubbing pipeline, which common ones have permissive weights, which are non-commercial or custom-licensed, and what do they say about languages?
Corrected 2026-10-23 - see C3-B644-03; the original statements below are kept for history and are superseded where the correction says so. Partially verified: the curator re-read S32, S35; S18, S30, S31, S33, S36, S38 were not re-read by the curator and rest on the producer's pinned reading. Open TTS terms differ by component: F5-TTS code is MIT but its pre-trained weights are CC-BY-NC because of the Emilia training data; XTTS-v2 uses the custom Coqui Public Model License (17 languages); Kokoro, OpenVoice, Chatterbox and Dia state permissive terms per producer reading.
- articleWhich tasks does the Whisper repository document beyond transcription and translation to English?
Problem. C2-B68-V4-01 says the Whisper repository documents a transcription task and a translate-to-English task only. Conditions. The README lead describes a multitasking model for multilingual speech recognition, speech translation and language identification; the architecture paragraph also lists voice activity detection among the jointly trained tasks. The command-line --task option exposes transcribe and translate. Method. Say: CLI tasks are transcribe and translate (to English only); the README additionally names language identification as a capability and VAD as a training task. Failure modes. An agent would skip language detection when the model can provide it. Limitations. This audit did not run Whisper. The rest of the candidate (translation into English only, MIT for code and weights, turbo not trained for translation) was confirmed. Version/date. openai/whisper at the pinned commit, fetched 2026-10-23.
- articleIs the Croissant JSON that Hugging Face generates for a dataset whose card says it moved still a useful licence source?
Problem: C2-B04-H-07 reports four HF auto-generated Croissant outputs; the fourth (common_voice_17_0) had no licence and no Croissant distribution. Conditions: relying on the /api/datasets/<id>/croissant endpoint for licence evidence. Method (audit): re-fetched all four on 2026-10-23. squad, librispeech_asr and expresso still return conformsTo http://mlcommons.org/croissant/1.1 with a choosealicense.com licence URL and a sha256 field holding a GitHub issue URL (issue 80), as C2 reported. common_voice_17_0 still returns plain schema.org JSON with no licence, but its description now reads that Common Voice datasets are exclusively available through Mozilla Data Collective since October 2025. Correction (nature: changed since / context missing): the missing licence is explained by a card that is now a pointer, not by an incomplete export; for such datasets the Croissant output is not evidence of terms. Failure modes: treating absent licence as unrestricted. Limitations: four datasets r...
- articleWhere does the Chatterbox TTS licence appear: Hugging Face card prose, card metadata, or the GitHub repository?
Problem: C2-B68-V4-03 says Kokoro, OpenVoice, Chatterbox and Dia 'state permissive terms in card or README prose'. Conditions: picking an open TTS model for a dubbing voice stage and recording its licence evidence. Method (audit): fetched the ResembleAI/chatterbox card at the pinned revision 5bb1f6ee and at main (identical bytes, same SHA-256), plus the GitHub resemble-ai/chatterbox LICENSE and README. The HF card carries licence only as front-matter key 'license: mit'; searching its prose for licen/MIT/Apache finds no licence sentence, only 'open source' in the introduction. The MIT text is in the GitHub repository LICENSE. Kokoro (prose 'Apache-licensed'), Dia (prose 'Apache License 2.0') and OpenVoice V2 (prose 'MIT License') do have prose statements. Correction (nature: overstated for Chatterbox): the licence for Chatterbox weights on HF rests on metadata plus the separate GitHub LICENSE. Also the card now presents Multilingual V3 with '23+' languages and a 'Single Language Pack...
- articleDoes Croissant's RAI extension really contain no licence field, and is Croissant 1.1 still the current version?
Problem: C2-B04-H-06 says none of the properties in the Croissant RAI 1.0 specification is a licence field, and dates Croissant 1.1 to 2026-01-29. Conditions: choosing where to record dataset licence and provenance. Method (audit): fetched croissant-spec-1.1.md, croissant-rai-spec.md and the release feed from mlcommons/croissant main (commit ec24358). The 1.1 spec still says Published 2026-01-29 and still recommends a licence URL such as an SPDX list URL. The RAI spec defines rai: properties with no licence property, but its use-case overview table maps 'Use case 1: The data life cycle' to rai: properties AND to schema.org sc:license among the reused core properties, so the RAI spec itself expects licence to be supplied alongside the rai: fields. Also (changed since): the release feed lists tag v1.1.0 on 2026-04-16 and a '1.1.1 Release' on 2026-10-05; I did not diff the spec text against 1.1.1. Correction (nature: overstated by omission, plus changed since): treat licence as expecte...
- articleDoes the Hugging Face 'Verified' commit badge say anything about the safety or origin of a weight file, or only about commit authorship?
Problem: C2-B20-H3-06 says nothing in the Hub security pages read extends the Verified badge to the content of individual files. Conditions: a user deciding whether a model repo's weights come from a trusted source. Method (audit): re-read hub-docs at the pinned commit 5ef2e84 and current main. security-gpg.md defines Verified only as a verified signature on a commit and requires the signer key uploaded to the account with a matching, verified account email. But security-pickle.md (same commit, unchanged on main) goes further: it says signed commits 'guarantee the origin of the file' and suggests a signed commit from a trusted user makes loading its file 'pretty safe'. Correction (nature: missing an important statement): the HF docs do link the badge to file origin, but only as an origin claim for a file in that commit, explicitly not a safety guarantee, and still not a per-file hash or signature. Failure modes: reading 'origin' as 'content verified'; a signed commit can still add a...
- articleFor each open video model inspected, what are the licence terms per component (docs, code, weights, outputs) and in which file formats are the weights shipped?
Corrected 2026-10-23 - see C3-B681-02; the original statements below are kept for history and are superseded where the correction says so. Corrected 2026-10-23 - see C3-B595-04; the original statements below are kept for history and are superseded where the correction says so. Code and weights terms differ per project. Wan and Mochi: Apache 2.0 for repository and stated for models. HunyuanVideo and 1.5: Tencent Hunyuan Community License, excluding EU, UK and South Korea, needing a separate licence above 100M monthly active users, and barring use of outputs to improve other AI models. LTX-Video: repository Apache 2.0 text but weights under versioned licences (Open RAIL-M for 0.9.5; LTXV Open Weights License 0.X from 0.9.6 with a $10M annual-revenue commercial-licence clause). CogVideoX: code Apache 2.0, 2B model Apache 2.0, 5B models under the CogVideoX licence (academic free; commercial registration; 1M monthly visits cap). Weight formats from HF listings: safetensors for most; Wan ...
- articleFor video pipelines in diffusers v0.41.0, what do the docs and source say about quantized loading (bitsandbytes, torchao, GGUF), layerwise casting and attention backends, which combinations are documented, refused or untested, and what do the linked benchmarks actually measure?
Corrected 2026-10-23 - see C3-B681-07; 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; S4, S5, S6, S7, S9, S1, S13, S21, S22, S23, S24, S15, S3, S33, S32, S2 rest on the producer's pinned reading. Documented per-backend statements: bitsandbytes 8-bit halves and 4-bit cuts memory 4x (weights only; get_memory_footprint does not estimate inference memory); torchao weight-only keeps activation peaks, fp8 is recommended for compute capability >= 8.9, and its serialization path uses safe_serialization=False and a torch.load(weights_only=False) workaround (pickle-capable); GGUF loads only via model-class from_single_file (no pipeline-level loading), dequantizes per forward, and its optional CUDA kernels require trusting a non-default publisher. Layerwise casting is applied by default except to normalization/embedding-like modules, with per-transformer skip lists in source....
- articleWhat do the LTX-Video, CogVideoX and Mochi READMEs state about quantisation, offloading, memory and speed on named GPUs, and where do they say the numbers apply?
Corrected 2026-10-23 - see C3-B681-02; the original statements below are kept for history and are superseded where the correction says so. CogVideoX has the most explicit table: SAT BF16 76GB (1.5-5B), diffusers BF16 from 10GB, INT8 (torchao) from 7GB; 2B diffusers FP16 from 4GB, INT8 3.6GB; 5B diffusers BF16 from 5GB, INT8 4.4GB; speed at 50 steps single A100 about 1000 s for a 5-second 1.5 video and about 90 s (2B) or 180 s (5B) on an A100 for the original 6-second videos; 3x peak memory if optimisations are disabled. LTX-Video lists FP8 checkpoints and an 8-bit community fork claiming 720x480x121 in under a minute on an RTX 4060 (8GB); H100 timings are given for the distilled 13B. Mochi: about 60GB on one GPU, H100 recommended, --cpu_offload and tiled spatial decoding in the example, ComfyUI said to get under 20GB.
- 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.
- articleDoes diffusers' torchao serialization always need safe_serialization=False and torch.load(weights_only=False)?
Problem. C3-B169-G60-04 states torchao serialization 'uses safe_serialization=False and a torch.load(weights_only=False) workaround (pickle-capable)'. Correction type: (c) missing limitation. Method. The guide's example saves with safe_serialization=False and loads with use_safetensors=False, so pickle-capable files are involved. The weights_only=False step is a conditional workaround only for torch<=2.6.0 and for some methods such as uint4 weight-only, and the guide says to use it only for trusted weights. Limitations. Which torchao configs write safetensors on newer torch was not tested. Version and date. v0.41.0 docs, fetched 2026-10-23.
- articleIs the LTX-Video repository and its Open RAIL-M / Open Weights licence summary still the current picture of the LTX family?
Problem. C3-B133-G48-05 and -06 describe LTX-Video (0.9.x to 0.9.8) licences and memory figures as the LTX state. Correction type: (e) changed since. Conditions. Applies when choosing an LTX checkpoint or reading its terms. Method. The same README now says LTX-2 is the primary home for LTX development; the LTX-2 model card names a different licence (ltx-2-community-license-agreement) and its text repeats a USD 10,000,000 annual-revenue threshold for 'Entities'. The candidates' LTX-Video facts (8n+1 frames, divisible-by-32 sizes, 0.9.5 Open RAIL-M, 0.9.6+ Open Weights Licence 0.X) were checked and are accurate for that repository; they just no longer describe the newest LTX models. Failure modes. Reading the old licence as covering LTX-2 weights. Limitations. LTX-2 licence clauses beyond the revenue threshold were not analysed; frame and memory rules for LTX-2 were not checked. Version and date. Fetched 2026-10-23.
- 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...
- articleWhat can Demucs (HTDemucs) separate, what can it not, and what are the practical artefact and licence considerations if I try to build an M&E or dialogue stem from a mixed track?
Corrected 2026-10-23 - see C3-B709-01; the original statements below are kept for history and are superseded where the correction says so. Problem: a dub or remix needs a music-and-effects (or dialogue) stem but only a final mix exists. Conditions: single mixed audio file. Method: the Demucs README describes a MUSIC source separation model that outputs four stereo 44.1 kHz stems: drums, bass, other, vocals (a --two-stems option gives e.g. vocals versus accompaniment); an experimental 6-source model adds guitar and piano. v4 is Hybrid Transformer Demucs, trained on MUSDB HQ plus an extra 800-song set, reporting 9.00 dB SDR on the MUSDB HQ test set. What it does not offer (inference from the stem list and training data): no dialogue / effects / ambience classes, so 'vocals' is a singing-voice target, not a speech-dialogue target, and film effects land in 'other' or leak into any stem; the README itself reports 'a lot of bleeding and artifacts' for the experimental piano source. Artefa...
- articleWhat tasks does Wan VACE cover (reference-to-video, video editing, masked editing, expand), what inputs does it take, and which base-model licences apply?
Problem. One toolchain for video control tasks that otherwise need separate models. Conditions. VACE built on Wan2.1 (1.3B at about 81x480x832, 14B at about 81x720x1280) and LTX-Video 0.9. Method. VACE takes a text prompt plus optional video, mask and reference images; tasks include reference-to-video (R2V), video-to-video (V2V) and masked video-to-video (MV2V), which the README markets as Move-Anything, Swap-Anything, Reference-Anything, Expand-Anything and Animate-Anything. Run through vace_pipeline.py with a preprocessor task name, e.g. --task depth for V2V depth control or --task inpainting --mode bbox --bbox x1,y1,x2,y2 for masked editing; or preprocess into src_video, src_mask, src_ref_images and call vace_wan_inference.py. Prompt extension is needed for LTX-Video and English-language Wan2.1 to unlock full performance, but in editing tasks check the expanded text still matches the unseen input video. Failure modes. The README warns prompt extension may not match the video bein...
- 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...
- articleWhich cache classes does ComfyUI construct for each --cache-* flag, what is the separate 'objects' cache, and how do I clear cached node results on a running server?
Problem. Memory growth or stale-looking reruns on a server; choosing a cache flag. Conditions. ComfyUI v0.42.5. Method. main.py prompt_worker maps flags to execution.CacheType: default RAM_PRESSURE; --cache-classic (and --high-ram, which cli_args rewrites to classic) CLASSIC; --cache-lru N (N>0) LRU; --cache-none NONE. The flags live in one mutually exclusive argparse group. CacheSet creates two caches: 'outputs' (HierarchicalCache / LRUCache / RAMPressureCache keyed by input signature) and 'objects' (HierarchicalCache keyed by node id and class type, holding node instances); NONE replaces both with NullCache. --cache-ram takes at most two GB values (active-cache threshold, then inactive/pin threshold) and defaults to 10% of RAM clamped to 2-10 GB active. Runtime reset: POST /free with {"free_memory": true} sets a queue flag; the worker thread then calls e.reset(), building a fresh CacheSet; {"unload_models": true} only unloads models. Failure modes. /free only sets flags and return...
- articleIf I overwrite a checkpoint or LoRA file in place under the same filename, will ComfyUI's cache notice? Which core nodes hash file contents in IS_CHANGED?
Problem. A long-lived headless server may keep serving cached results after a model file is replaced under the same name. Conditions. ComfyUI v0.42.5, default RAM-pressure or any non-null cache, same server process. Method. In nodes.py only three IS_CHANGED definitions exist (LoadLatent, LoadImage, and the channel-based LoadImageMask delegating to LoadImage); the first two hash the file with sha256. CheckpointLoaderSimple has no IS_CHANGED and its only input is the ckpt_name string chosen from folder_paths.get_filename_list. From the cache-key code (previous finding) the node signature therefore contains just the filename. Inference: replacing the file's bytes without renaming does not change the key, so a still-cached loader (and anything downstream) can be reused; use new filenames per version, or restart the server, or POST /free with free_memory true to reset the executor caches (main.py prompt_worker calls e.reset()). Failure modes. Provenance logs that record only the filename...
- 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...
- articleHow does Re3 generate a 2,000-word story automatically, and what did its human evaluation and ablations show?
Partially verified: the curator re-read none of the cited sources; S2 rests on the producer's pinned reading. Re3 (Yang et al., EMNLP 2022) has four modules: Plan (setting, characters, three-point outline via GPT3-Instruct-175B), Draft (recursively rebuilt prompt from relevant plan items, summaries and the last passage, GPT3-175B), Rewrite (rerank continuations with trained coherence and relevance classifiers plus heuristics) and Edit (character attribute contradiction detection and correction). Against GPT-3 rolling-window baselines, MTurk raters judged 14.3 and 20.0 points more Re3 stories coherent and premise-relevant; ablations show Plan and Rewrite matter and Edit does not; inter-annotator agreement was low.
- articleWhat do Real-ESRGAN (super-resolution), RIFE and FILM (frame interpolation) each take as input and produce, and which documented settings should a newcomer know first?
Partially verified: the curator re-read none of the cited sources; S1, S6, S9 rest on the producer's pinned reading. Real-ESRGAN enlarges single images (and frame-by-frame video) by a model-specific factor; RIFE and FILM synthesise new frames between two input frames, which changes frame count or speed, not resolution. The READMEs at the pinned commits document the CLI settings: scale/tile/precision/face-enhance for Real-ESRGAN; exp/multi, scale and fps for RIFE; times_to_interpolate and block grid for FILM. All three are research code run from Python; none of the READMEs read states a finishing-pipeline recommendation for broadcast delivery.
- articleInstead of trusting an LLM to simulate each step, can it write an explicit rule model (PDDL) that a validator and planner then use, and how many errors did the LLM make doing so?
Partially verified: the curator re-read none of the cited sources; S3 rests on the producer's pinned reading. Guan et al. (NeurIPS 2023, arXiv 2305.14909 v2) use GPT-4 to write a PDDL domain model (actions with preconditions and effects) that humans and a validator correct, then feed a classical planner. GPT-4 made 53 errors on a 22-action Household model, 2 on Logistics (6 actions) and 4 on Tyreworld (13 actions); most were missing preconditions or effects, not syntax. With corrected models, Fast Downward found valid plans in 95% (Household) and 100% (Logistics) versus 15% and 0% for an LLM-only planner. The paper argues that using LLMs directly as the world model adds another layer of errors; it cites prior work for this rather than testing it.
- 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.
- articleWhat is inside a GGUF file, in order (header, metadata key-values, tensor infos, padding, tensor data), and what fixed rules (magic, version, endianness, alignment, key and tensor-name limits) does the ggml specification state?
Partially verified: the curator re-read none of the cited sources; S1, S2, S7 rest on the producer's pinned reading. At ggml commit da8e2a54 (observed 2026-10-22), docs/gguf.md defines a single-file binary: a header (magic bytes GGUF, version 3, tensor_count, metadata_kv_count), then typed key-value metadata, then one tensor-info record per tensor (name, dimensions, ggml type, offset), then padding to a global alignment, then the tensor data. Keys are ASCII lower_snake_case segments joined by dots (max 65,535 bytes), tensor names at most 64 bytes, default alignment 32 when general.alignment is absent, little-endian unless the file is a big-endian variant that the spec says cannot be detected from the file. A reader can find every tensor from the header and tensor infos alone, which is why layout can be inspected without loading weights.
- articleFor each 4D generator, which components (code, weights, datasets, third-party priors, outputs) have stated terms, what do those texts actually address, and where do texts disagree?
Rights differ by component and no system is cleared by one licence. Code: 4D-fy Apache-2.0, L4GM Apache-2.0 with embedded third-party notices, Consistent4D Apache-2.0, Stability code MIT, DreamGaussian4D MIT plus Inria non-commercial headers in the same repository, MAV3D no code, Diffusion4D no LICENSE file. Weights: L4GM weights repository carries three statements (front matter apache-2.0, body and LICENSE file CC BY-NC-SA 4.0); SV4D 2.0 is under the Stability AI Community Licence with a revenue threshold worded inconsistently between card and licence; 4D-fy fetches third-party priors (Zeroscope metadata cc-by-nc-4.0; MVDream metadata openrail). Data: Objaverse-derived assets with mixed per-object licences; the Diffusion4D dataset carries only a front-matter apache-2.0. No inspected text addresses model training on outputs; output ownership is addressed only in the Stability licence.
- articleWhich VAE memory options (slicing, tiling, frame-wise decoding) do the diffusers docs and source support for Wan, LTX-Video, HunyuanVideo and CogVideoX at v0.41.0, and where do docs and code disagree?
At v0.41.0 the memory guide says AutoencoderKLWan supports neither slicing nor tiling (same sentence at an older commit from 2025-08-19), but AutoencoderKLWan in the same tag defines enable_tiling and has use_slicing/use_tiling branches in encode/decode, and the shared AutoencoderMixin only raises NotImplementedError when the attributes are missing. The docs/code conflict is unresolved from reading alone (not executed). Other VAEs differ in defaults: HunyuanVideo's VAE decodes frame-wise by default and the HunyuanVideo page example calls vae.enable_tiling(); LTX's VAE has frame-wise off by default; CogVideoX's page table lists 11GB with tiling plus model offload (no hardware stated). Slicing, per the docs, only helps batches larger than one, so it does not apply to a single-clip run.
- articleFor each long-rollout video system, what code, weights and licence text is public at a pinned revision, and where do the code, card and file licences disagree?
At the pins read (2026-10-22): Self Forcing, SVI and Diffusion Forcing publish code and (except Diffusion Forcing: Drive link) weights with permissive statements (Apache-2.0, MIT, MIT). CausVid (code/weights CC BY-NC-SA per files), LongLive (code Apache-2.0, weights non-commercial CC BY-NC(-SA)) and Rolling Forcing (code and weights: academic-only licence text) are restricted. Self-Forcing++ has no code, licence or weights at its pinned commit. Three conflicts exist between licence file, card prose and metadata.
- articleFor each system that turns structural-control renders into photoreal video, what is actually released (code, weights, licence) and what is closed or unavailable?
Cosmos-Transfer1 and 2.5: code under Apache-2.0, weights under the NVIDIA Open Model License on gated Hugging Face repos (.pt checkpoints). VACE: Apache-2.0 code and ungated Wan2.1-VACE weights (safetensors) whose repo ships an Apache-2.0 licence text; the LTX variant carries a different licence tag. EPE: MIT code, discontinued, no weights in the tree or release, data unreleasable. RealMaster: paper only, no official code found. Runway Aleph and Luma Modify Video: closed metered services. Licence prose for Cosmos weights is not re-read here (C3-B019-W6 covers it).
- articleWhat do the HunyuanDiT, FlashVDM and bria-rmbg-1.4 agreements require of someone who reuses or redistributes TripoSG code or output: territory, user caps, output-use limits, attribution?
The two Tencent agreements share one template with different numbers: HunyuanDiT (14 May 2024) excludes only the EU and sets a 100 million monthly-active-user trigger; FlashVDM (March 19, 2025) excludes the EU, UK and South Korea and sets a 1 million trigger. Both bar using the works or their output to improve other models (HunyuanDiT: large language model; FlashVDM: AI model), bar use outside the Territory including of output, claim no rights in Outputs, require a Notice file and the agreement copy on distribution, and require the use restrictions to flow down. The RMBG-1.4 card says non-commercial and offers a commercial agreement, but the licence URL it names now returns 404 and its archived page embeds the Bria 2.0 agreement, which does not name RMBG.