f12272d002
- docs/capabilities/INDEX.md - docs/capabilities/comfyui.md - python/functions/browser/comfyui_export_workflow_ui.md - python/functions/browser/comfyui_export_workflow_ui.py - python/functions/browser/comfyui_load_workflow_ui.md - python/functions/browser/comfyui_load_workflow_ui.py - python/functions/browser/comfyui_queue_prompt_ui.md - python/functions/browser/comfyui_queue_prompt_ui.py - python/functions/browser/comfyui_refresh_nodes_ui.md - python/functions/browser/comfyui_refresh_nodes_ui.py - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| comfyui_install_3d_model | function | py | ml | 1.0.0 | impure | def comfyui_install_3d_model(variant: str = "mini", *, hf_token: str | None = None, comfyui_dir: str = "~/ComfyUI") -> dict | Instala un checkpoint Hunyuan3D-2 (mini/standard/mv) en la carpeta checkpoints/ de ComfyUI para los nodos nativos imagen->3D (ImageOnlyCheckpointLoader). Cascada: si el destino ya existe reutiliza; si esta en la cache de HuggingFace copia desde ahi (sin red); si no, descarga con huggingface_hub (token de pass si gated). Resuelve la ruta real de checkpoints via extra_model_paths.yaml. Impura: YAML + disco + posible red + subprocess pass. |
|
false | error_go_core |
|
dict {ok, path, bytes, reused_cache, error}. path = ruta del checkpoint en checkpoints/; reused_cache=True si ya estaba instalado o se copio de la cache de HF (sin descarga de red). Si falla, ok=False y error explica. | false | python/functions/ml/comfyui_install_3d_model.py |
Ejemplo
import sys, os
sys.path.insert(0, os.path.join(os.environ["HOME"], "fn_registry", "python", "functions"))
from ml.comfyui_install_3d_model import comfyui_install_3d_model
res = comfyui_install_3d_model("mini")
# Si ya esta (cache o instalado): reused_cache=True, sin re-bajar 3.8 GB.
# res == {"ok": True, "path": "/mnt/2tb/comfyui_models/checkpoints/hunyuan3d-dit-v2-mini.safetensors",
# "bytes": 3819958234, "reused_cache": True, "error": ""}
Lánzalo con el python del venv (import de arriba o heredoc). Nota: ./fn run directo no aplica porque la firma usa * (keyword-only), no soportado por el generador de runner de fn run.
Cuando usarla
Antes de reconstruir mallas 3D con los nodos nativos de Hunyuan3D-2: asegura que
el checkpoint que pide ImageOnlyCheckpointLoader esta en checkpoints/. Llamala
una vez por PC/variante; en sucesivas devuelve reused_cache=True al instante. El
pipeline comfyui_image_to_3d_oneshot NO la llama (asume el modelo ya instalado);
ejecutala tu antes la primera vez.
Gotchas
- Impura: lee YAML, escribe en disco (copia de GBs cuando toca), y puede hacer red
- subprocess
pass. La copia desde la cache de HF de un .safetensors de ~3.8 GB tarda unos segundos; el casoreused_cacheya-instalado es instantaneo.
- subprocess
- Resuelve la carpeta de checkpoints real via
extra_model_paths.yaml(en este equipo/mnt/2tb/comfyui_models/checkpoints/, seccionis_default). Si el YAML falta cae a<comfyui_dir>/models/checkpoints. - La descarga (rama 3) necesita
huggingface_huben el venv. Si no esta instalado y el modelo no esta en la cache, devuelveok=Falsecon instrucciones (instalar huggingface_hub o usarcomfyui_download_modelcon la URL de resolve de HF). - Hunyuan3D-2 mini NO es gated (no requiere token).
standard/mvse asumen publicos tambien; si alguno fuera gated, pasahf_tokeno ten el token enpass. - Tras instalar, ComfyUI re-escanea
checkpoints/dinamicamente (no hace falta reiniciar el server para checkpoints; solo los custom nodes nuevos exigen restart). - No valida el contenido del .safetensors mas alla de un tamano minimo; confia en la integridad de la cache de HF o de la descarga de huggingface_hub.