Files
fn_registry/python/functions/pipelines/comfyui_txt2img_oneshot.md
T
egutierrez cda36408d0 feat(ml): modelos con prefijo de categoría (IMG_/VIDEO_/3D_) + refs actualizadas
Renombra los 13 checkpoints/diffusion models de ComfyUI prefijando la
categoría al inicio del nombre, para que en el dropdown de carga el usuario
distinga de inmediato imagen/vídeo/3D y no cargue un modelo en el nodo
equivocado. Misma operación que se hizo con los LoRAs (report 0197) pero
sobre los modelos.

Clasificación:
- IMG_: dreamshaper_8, juggernaut_xl_v11, v1-5-pruned-emaonly-fp16,
  flux1-dev-fp8-e4m3fn, flux1-schnell-fp8-e4m3fn
- VIDEO_: svd, ltx-video-2b-v0.9.5, wan2.1_t2v_1.3B_fp16
- 3D_: stable_zero123, sv3d_p, hunyuan3d-dit-v2-mini, hunyuan3d-dit-v2-mv,
  hy3dgen/hunyuan3d-dit-v2-0-fp16 (mantiene subcarpeta)

A diferencia de los LoRAs aquí solo se PREFIJA la categoría conservando el
nombre completo (versión/arquitectura). Archivos físicos renombrados en
~/ComfyUI/models/checkpoints, /mnt/2tb/comfyui_models/{checkpoints,
diffusion_models} y la subcarpeta hy3dgen/. Mapa de reversión en
~/ComfyUI/models/checkpoints/_ckpt_rename_map.json.

Actualiza todas las refs (ckpt_name/unet_name + defaults + prosa) en los
builders gamedev/vídeo/3D, style presets, pipelines, tests y los workflows
de ComfyUI. Arregla de paso el default roto de comfyui_text_to_3d_oneshot
(apuntaba a v1-5-pruned-emaonly.safetensors inexistente; ahora al real
IMG_v1-5-pruned-emaonly-fp16.safetensors).

No tocados (justificado): repo-paths de HuggingFace en comfyui_install_3d_model
(<repo>/model.fp16.safetensors son rutas de descarga, no nombres de dropdown)
y el mock de stable-diffusion.cpp en test_genconfig_to_sdcpp_args.

Verificado: dropdowns CheckpointLoaderSimple + UNETLoader listan los nombres
con prefijo; 1 generación real con IMG_juggernaut_xl_v11 (node_errors vacío,
pixelart_00003_.png); 327 tests comfyui verdes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 18:24:52 +02:00

4.2 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_txt2img_oneshot pipeline py pipelines 1.0.0 impure def comfyui_txt2img_oneshot(prompt: str, *, ckpt: str = "IMG_dreamshaper_8.safetensors", negative: str = "", server: str = "127.0.0.1:8188", dest: str | None = None, wait_timeout: float = 300.0, **gen) -> dict Pipeline prompt de texto -> PNG en disco en una sola llamada. Construye el workflow txt2img de Stable Diffusion, lo encola en ComfyUI, espera y descarga la imagen. Compone comfyui_build_txt2img_workflow + comfyui_submit_workflow + comfyui_wait_result + comfyui_fetch_output_image. Promocion de secuencia (issue 0087). Impuro: HTTP + disco.
comfyui
pipelines
txt2img
stable-diffusion
launcher
comfyui_build_txt2img_workflow_py_ml
comfyui_submit_workflow_py_ml
comfyui_wait_result_py_ml
comfyui_fetch_output_image_py_ml
false error_py_core
comfyui_build_txt2img_workflow_py_ml
comfyui_submit_workflow_py_ml
comfyui_wait_result_py_ml
comfyui_fetch_output_image_py_ml
name desc
prompt Prompt positivo (lo que se quiere ver en la imagen).
name desc
ckpt Checkpoint Stable Diffusion tal como lo ve el servidor (CheckpointLoaderSimple). Por defecto 'IMG_dreamshaper_8.safetensors'. keyword-only.
name desc
negative Prompt negativo. Por defecto ''. keyword-only.
name desc
server host:port del servidor ComfyUI (sin esquema). keyword-only.
name desc
dest Directorio local donde guardar el PNG (None = cwd). keyword-only.
name desc
wait_timeout Segundos maximos esperando a que el server termine. keyword-only.
name desc
gen Parametros de generacion pasados a comfyui_build_txt2img_workflow (steps, cfg, width, height, seed, sampler_name, scheduler, filename_prefix). keyword-only (**gen).
dict {ok, image_path, prompt_id, error}. image_path = ruta local del PNG descargado; prompt_id = id del trabajo en ComfyUI. Si falla, ok=False y error explica en que paso. false
python/functions/pipelines/comfyui_txt2img_oneshot.py

Ejemplo

# Genera una imagen desde texto y la baja a /tmp.
./fn run comfyui_txt2img_oneshot "a red apple on a wooden table, sharp focus"
import sys, os
sys.path.insert(0, os.path.join(os.environ["HOME"], "fn_registry", "python", "functions"))
from pipelines.comfyui_txt2img_oneshot import comfyui_txt2img_oneshot

res = comfyui_txt2img_oneshot(
    "a red apple on a wooden table, sharp focus",
    negative="blurry, low quality",
    dest="/tmp/comfy_txt2img",
    steps=20,
    seed=42,
)
# res["ok"] == True
# res["image_path"]  # ruta local del PNG
print(res["image_path"], res["prompt_id"])

Cuando usarla

Cuando solo quieres "texto → imagen" sin montar el grafo a mano ni encadenar submit/wait/fetch tú mismo. Es la forma de una sola llamada del flujo txt2img más común. Para añadir detalle de caras encadénala con comfyui_build_facedetailer_workflow, o para nitidez en alta con comfyui_build_hires_fix_workflow (esos son builders; este pipeline ejecuta el camino básico end-to-end).

Gotchas

  • Impuro: requiere el servidor ComfyUI vivo en server (default 127.0.0.1:8188). Si está caído, falla en el paso submit con el error de conexión.
  • ckpt debe existir en el servidor (CheckpointLoaderSimple). Default IMG_dreamshaper_8.safetensors; cámbialo si usas SDXL u otro.
  • dest es un directorio (se crea si no existe), no un nombre de archivo: el PNG conserva el nombre que le da ComfyUI (<filename_prefix>_NNNNN_.png).
  • wait_timeout por defecto 300 s. Subir resolución/steps puede requerir más; si el server está cargando el modelo por primera vez, la primera generación tarda más.
  • Devuelve el primer PNG de los outputs. Para batches de varias imágenes usa comfyui_batch_generate o itera con distintos seed.
  • No reintenta: si el server está ocupado con otra cola, encola igualmente y espera su turno hasta wait_timeout.

Capability growth log

  • v1.0.0 (2026-06-24) — pipeline inicial. Compone build_txt2img + submit + wait + fetch_output_image (issue 0087, roadmap del report 0092).