From 15cc675050fe1878bc5248aa80a681e86e42cb7f Mon Sep 17 00:00:00 2001 From: "Daxiong (Lin)" Date: Sun, 25 Oct 2026 05:23:58 -0400 Subject: [PATCH 1/2] Revert "i18n: add Spanish (es) as a docs locale (Getting started tab) (#2070)" This reverts commit d8bd08180b2a6307e101a4858c0ba161b71a07a1. --- .github/scripts/check-anchors.py | 2 +- .../scripts/i18n/check-structure-parity.ts | 2 +- .../scripts/i18n/glossary/frontend/es.json | 3164 ----------------- .../scripts/i18n/staged-locale-maintenance.py | 368 -- .../i18n/staged-locale-maintenance.test.ts | 220 -- .github/scripts/i18n/translate-i18n.ts | 7 +- .../i18n/translate-router-pricing.test.ts | 6 +- .github/scripts/i18n/translation-config.json | 6 - docs.json | 75 - es/get_started/cloud.mdx | 177 - es/get_started/first_generation.mdx | 175 - es/index.mdx | 284 -- es/installation/comfyui_portable_windows.mdx | 169 - es/installation/desktop/faq.mdx | 153 - es/installation/desktop/linux.mdx | 132 - es/installation/desktop/macos.mdx | 71 - es/installation/desktop/overview.mdx | 112 - es/installation/desktop/usage/downloads.mdx | 73 - .../desktop/usage/instance-management.mdx | 223 -- es/installation/desktop/usage/manage.mdx | 158 - es/installation/desktop/usage/migrate.mdx | 135 - es/installation/desktop/usage/overview.mdx | 114 - .../desktop/usage/performance-tests.mdx | 155 - es/installation/desktop/usage/settings.mdx | 147 - es/installation/desktop/usage/snapshots.mdx | 123 - .../desktop/usage/workspaces-and-builds.mdx | 60 - es/installation/desktop/windows.mdx | 74 - es/installation/install_custom_node.mdx | 132 - es/installation/manual_install.mdx | 105 - es/installation/system_requirements.mdx | 82 - es/installation/update_comfyui.mdx | 298 -- es/manager/configuration.mdx | 145 - es/manager/install.mdx | 202 -- es/manager/legacy-ui.mdx | 108 - es/manager/overview.mdx | 38 - es/manager/pack-management.mdx | 65 - es/manager/troubleshooting.mdx | 155 - snippets/es/amd-install.mdx | 36 - snippets/es/cli-reference/generate.mdx | 147 - snippets/es/cli-reference/models.mdx | 65 - snippets/es/cli-reference/nodes.mdx | 266 -- snippets/es/cloud-feature.mdx | 4 - snippets/es/cloud/complete-example.mdx | 142 - snippets/es/cloud/download-outputs.mdx | 124 - snippets/es/cloud/poll-job-completion.mdx | 102 - snippets/es/cloud/websocket-progress.mdx | 130 - snippets/es/comfy-cli/agent-skills.mdx | 12 - snippets/es/comfy-cli/cloud-auth.mdx | 26 - snippets/es/comfy-cli/generate-beta-info.mdx | 4 - .../es/comfy-cli/generate-common-models.mdx | 55 - snippets/es/comfy-cli/generate-first-call.mdx | 9 - snippets/es/comfy-cli/generate-image-edit.mdx | 26 - .../es/comfy-cli/generate-prerequisites.mdx | 4 - .../es/comfy-cli/generate-upload-24h-note.mdx | 4 - .../es/comfy-cli/generate-video-async.mdx | 22 - snippets/es/comfy-cli/setup.mdx | 29 - snippets/es/comfy-cli/two-surfaces-note.mdx | 4 - .../es/comfy-router/model-code-footer.mdx | 22 - snippets/es/conda.mdx | 9 - snippets/es/desktop/migrate.mdx | 6 - snippets/es/desktop/update.mdx | 37 - snippets/es/get-api-key.mdx | 24 - snippets/es/git-clone.mdx | 6 - snippets/es/install-comfy-from-cli.mdx | 33 - snippets/es/install-comfycli.mdx | 19 - snippets/es/install-gpu-dependencies.mdx | 20 - snippets/es/install/add-external-models.mdx | 180 - .../es/install/desktop-resource-warning.mdx | 8 - snippets/es/install/desktop-venv.mdx | 78 - snippets/es/install/docker-notice.mdx | 4 - .../es/install/external-models-desktop.mdx | 13 - snippets/es/install/find-models-folder.mdx | 15 - snippets/es/install/first-generation.mdx | 8 - snippets/es/install/install-link.mdx | 41 - snippets/es/install/maintenance-page.mdx | 17 - snippets/es/install/mirror-links.mdx | 36 - .../es/install/troubleshooting-feedback.mdx | 27 - snippets/es/install/troubleshooting-gpt.mdx | 19 - snippets/es/install/update-comfyui.mdx | 10 - snippets/es/install/update-requirement.mdx | 44 - snippets/es/install/user-directory.mdx | 46 - snippets/es/intel-install.mdx | 8 - snippets/es/interface/cancel-bypass.mdx | 11 - .../es/interface/settings-menu-context.mdx | 4 - snippets/es/interface/supported-languages.mdx | 18 - snippets/es/mac-silicon-install.mdx | 4 - snippets/es/nvidia-install.mdx | 13 - snippets/es/pip-install.mdx | 5 - snippets/es/run-comfy.mdx | 9 - snippets/es/sdk/surfaces.mdx | 26 - snippets/es/sdk/versions.mdx | 11 - .../tutorials/basic/installation-models.mdx | 7 - .../es/tutorials/flux/prompt-techniques.mdx | 59 - snippets/es/tutorials/partner-nodes/faq.mdx | 79 - .../es/tutorials/partner-nodes/req-hint.mdx | 4 - .../tutorials/partner-nodes/requirements.mdx | 55 - .../partner-nodes/supported-models.mdx | 19 - snippets/es/tutorials/update-reminder.mdx | 22 - 98 files changed, 5 insertions(+), 9997 deletions(-) delete mode 100644 .github/scripts/i18n/glossary/frontend/es.json delete mode 100644 .github/scripts/i18n/staged-locale-maintenance.py delete mode 100644 .github/scripts/i18n/staged-locale-maintenance.test.ts delete mode 100644 es/get_started/cloud.mdx delete mode 100644 es/get_started/first_generation.mdx delete mode 100644 es/index.mdx delete mode 100644 es/installation/comfyui_portable_windows.mdx delete mode 100644 es/installation/desktop/faq.mdx delete mode 100644 es/installation/desktop/linux.mdx delete mode 100644 es/installation/desktop/macos.mdx delete mode 100644 es/installation/desktop/overview.mdx delete mode 100644 es/installation/desktop/usage/downloads.mdx delete mode 100644 es/installation/desktop/usage/instance-management.mdx delete mode 100644 es/installation/desktop/usage/manage.mdx delete mode 100644 es/installation/desktop/usage/migrate.mdx delete mode 100644 es/installation/desktop/usage/overview.mdx delete mode 100644 es/installation/desktop/usage/performance-tests.mdx delete mode 100644 es/installation/desktop/usage/settings.mdx delete mode 100644 es/installation/desktop/usage/snapshots.mdx delete mode 100644 es/installation/desktop/usage/workspaces-and-builds.mdx delete mode 100644 es/installation/desktop/windows.mdx delete mode 100644 es/installation/install_custom_node.mdx delete mode 100644 es/installation/manual_install.mdx delete mode 100644 es/installation/system_requirements.mdx delete mode 100644 es/installation/update_comfyui.mdx delete mode 100644 es/manager/configuration.mdx delete mode 100644 es/manager/install.mdx delete mode 100644 es/manager/legacy-ui.mdx delete mode 100644 es/manager/overview.mdx delete mode 100644 es/manager/pack-management.mdx delete mode 100644 es/manager/troubleshooting.mdx delete mode 100644 snippets/es/amd-install.mdx delete mode 100644 snippets/es/cli-reference/generate.mdx delete mode 100644 snippets/es/cli-reference/models.mdx delete mode 100644 snippets/es/cli-reference/nodes.mdx delete mode 100644 snippets/es/cloud-feature.mdx delete mode 100644 snippets/es/cloud/complete-example.mdx delete mode 100644 snippets/es/cloud/download-outputs.mdx delete mode 100644 snippets/es/cloud/poll-job-completion.mdx delete mode 100644 snippets/es/cloud/websocket-progress.mdx delete mode 100644 snippets/es/comfy-cli/agent-skills.mdx delete mode 100644 snippets/es/comfy-cli/cloud-auth.mdx delete mode 100644 snippets/es/comfy-cli/generate-beta-info.mdx delete mode 100644 snippets/es/comfy-cli/generate-common-models.mdx delete mode 100644 snippets/es/comfy-cli/generate-first-call.mdx delete mode 100644 snippets/es/comfy-cli/generate-image-edit.mdx delete mode 100644 snippets/es/comfy-cli/generate-prerequisites.mdx delete mode 100644 snippets/es/comfy-cli/generate-upload-24h-note.mdx delete mode 100644 snippets/es/comfy-cli/generate-video-async.mdx delete mode 100644 snippets/es/comfy-cli/setup.mdx delete mode 100644 snippets/es/comfy-cli/two-surfaces-note.mdx delete mode 100644 snippets/es/comfy-router/model-code-footer.mdx delete mode 100644 snippets/es/conda.mdx delete mode 100644 snippets/es/desktop/migrate.mdx delete mode 100644 snippets/es/desktop/update.mdx delete mode 100644 snippets/es/get-api-key.mdx delete mode 100644 snippets/es/git-clone.mdx delete mode 100644 snippets/es/install-comfy-from-cli.mdx delete mode 100644 snippets/es/install-comfycli.mdx delete mode 100644 snippets/es/install-gpu-dependencies.mdx delete mode 100644 snippets/es/install/add-external-models.mdx delete mode 100644 snippets/es/install/desktop-resource-warning.mdx delete mode 100644 snippets/es/install/desktop-venv.mdx delete mode 100644 snippets/es/install/docker-notice.mdx delete mode 100644 snippets/es/install/external-models-desktop.mdx delete mode 100644 snippets/es/install/find-models-folder.mdx delete mode 100644 snippets/es/install/first-generation.mdx delete mode 100644 snippets/es/install/install-link.mdx delete mode 100644 snippets/es/install/maintenance-page.mdx delete mode 100644 snippets/es/install/mirror-links.mdx delete mode 100644 snippets/es/install/troubleshooting-feedback.mdx delete mode 100644 snippets/es/install/troubleshooting-gpt.mdx delete mode 100644 snippets/es/install/update-comfyui.mdx delete mode 100644 snippets/es/install/update-requirement.mdx delete mode 100644 snippets/es/install/user-directory.mdx delete mode 100644 snippets/es/intel-install.mdx delete mode 100644 snippets/es/interface/cancel-bypass.mdx delete mode 100644 snippets/es/interface/settings-menu-context.mdx delete mode 100644 snippets/es/interface/supported-languages.mdx delete mode 100644 snippets/es/mac-silicon-install.mdx delete mode 100644 snippets/es/nvidia-install.mdx delete mode 100644 snippets/es/pip-install.mdx delete mode 100644 snippets/es/run-comfy.mdx delete mode 100644 snippets/es/sdk/surfaces.mdx delete mode 100644 snippets/es/sdk/versions.mdx delete mode 100644 snippets/es/tutorials/basic/installation-models.mdx delete mode 100644 snippets/es/tutorials/flux/prompt-techniques.mdx delete mode 100644 snippets/es/tutorials/partner-nodes/faq.mdx delete mode 100644 snippets/es/tutorials/partner-nodes/req-hint.mdx delete mode 100644 snippets/es/tutorials/partner-nodes/requirements.mdx delete mode 100644 snippets/es/tutorials/partner-nodes/supported-models.mdx delete mode 100644 snippets/es/tutorials/update-reminder.mdx diff --git a/.github/scripts/check-anchors.py b/.github/scripts/check-anchors.py index e6ad60ca79..c52987180a 100644 --- a/.github/scripts/check-anchors.py +++ b/.github/scripts/check-anchors.py @@ -318,7 +318,7 @@ def main(): if f in changed_abs: continue rel = os.path.relpath(f, root) - if rel.split('/')[0] in ('ja', 'ko', 'zh', 'es'): + if rel.split('/')[0] in ('ja', 'ko', 'zh'): continue # translations swept separately for url, _match, _ln in iter_links(f): target, anchor = resolve_target(f, url, root) diff --git a/.github/scripts/i18n/check-structure-parity.ts b/.github/scripts/i18n/check-structure-parity.ts index 4098b22880..18e529c1bf 100644 --- a/.github/scripts/i18n/check-structure-parity.ts +++ b/.github/scripts/i18n/check-structure-parity.ts @@ -46,7 +46,7 @@ import { dirname, join } from "node:path"; import { execFileSync } from "node:child_process"; import { SYNC_OWNED_RULES } from "../sync-owned/check-sync-owned.ts"; -const LOCALES = ["ja", "zh", "ko", "es"]; +const LOCALES = ["ja", "zh", "ko"]; /** Paths that are not one-to-one translations of an English page. */ const EXEMPT_PATTERNS: RegExp[] = [ diff --git a/.github/scripts/i18n/glossary/frontend/es.json b/.github/scripts/i18n/glossary/frontend/es.json deleted file mode 100644 index 11a375a2b8..0000000000 --- a/.github/scripts/i18n/glossary/frontend/es.json +++ /dev/null @@ -1,3164 +0,0 @@ -{ - "\"partner nodes\" credit balance": "Saldo de créditos de \"Nodos de Partners\"", - "(iterative)": "(Iterativo)", - "(linked)": "(Vinculado)", - "(requires page reload)": "(requiere recargar la página)", - "+ upload a cover": "+ Subir una portada", - "+ upload a profile picture": "+ Subir una foto de perfil", - "/ member": "/ miembro", - "/ month": "USD / mes", - "/ year": "/ año", - "/mo": "/mes", - "1 hr": "1 h", - "1 output": "1 salida", - "10 min": "30 min", - "30 minute max workflow runtime": "Tiempo máximo de ejecución del flujo de trabajo de 30 minutos", - "3d model": "Modelo 3D", - "3d model loaded successfully": "Modelo 3D cargado exitosamente", - "3d transform": "Transformación 3D", - "3d viewer": "Visor 3D", - "a community or forum": "Una comunidad o foro", - "a friend or colleague": "Amigo o colega", - "a-z": "Alfabético", - "about": "Acerca de", - "about additional credits": "Acerca de los créditos adicionales", - "about comfyui": "Acerca de ComfyUI", - "about data collection": "Acerca de la Recolección de Datos", - "about non-whitelisted sites": "Acerca de los sitios no incluidos en la lista blanca", - "accept terms": "Aceptar términos", - "access required": "Acceso requerido", - "account changed": "La cuenta cambió", - "account created": "Cuenta creada", - "account initialized": "Cuenta inicializada", - "account settings": "Configuración de la cuenta", - "action on link release (shift)": "Acción al soltar el enlace (Shift)", - "actions": "Acciones", - "activate layer": "Activar capa", - "active": "Activo", - "active jobs": "trabajos activos", - "activity": "Actividad", - "adaptive projected guidance": "Guía adaptativa proyectada", - "add a color": "Agregar un color", - "add additional credits": "Agregar créditos adicionales", - "add api credits": "Agregar créditos de API", - "add credit card": "Agregar tarjeta de crédito", - "add credits": "Agregar créditos", - "add group": "Agregar Grupo", - "add group for selected nodes": "Agregar Grupo para Nodos Seleccionados", - "add guide for minimax h3": "Añadir guía para MiniMax H3", - "add layer": "Agregar capa", - "add light": "Añadir luz", - "add more credits": "Agregar más créditos", - "add more credits anytime": "Agrega más créditos en cualquier momento", - "add more credits to run": "Agrega más créditos para ejecutar", - "add more credits whenever": "Agrega más créditos cuando quieras", - "add new keybinding": "Agregar nueva combinación de teclas", - "add new payment method": "Añadir nuevo método de pago", - "add node": "Agregar Nodo", - "add node filter condition": "Agregar condición de filtro de nodo", - "add noise to image": "Añadir ruido a imagen", - "add output examples": "Agrega ejemplos de salida", - "add secret": "Agregar secreto", - "add skill pack": "Añadir paquete de habilidades", - "add subgraph to library": "Agregar Subgrafo a Biblioteca", - "add text prefix": "Agregar prefijo de texto", - "add text suffix": "Agregar sufijo de texto", - "add to bookmarks": "Agregar a marcadores", - "add to current workflow": "Agregar al flujo de trabajo actual", - "add to prompt": "Añadir al prompt", - "add your inputs": "Agrega tus entradas", - "added nodes follow the cursor": "Los nodos añadidos siguen el cursor", - "additional credits": "Créditos adicionales", - "additional info": "Información adicional", - "additional information": "Información adicional", - "additional tags": "Etiquetas adicionales", - "addnoise": "Agregar ruido", - "adjust audio volume": "Ajustar volumen de audio", - "adjust brightness": "Ajustar brillo", - "adjust contrast": "Ajustar contraste", - "adjust crop region": "Ajustar región de recorte", - "adjust end frame": "Ajustar fotograma final", - "adjust size": "Ajustar Tamaño", - "adjust start frame": "Ajustar fotograma inicial", - "adjustments": "ajustes", - "advanced": "avanzado", - "advanced inputs": "ENTRADAS AVANZADAS", - "after": "DESPUÉS", - "after delay": "después de retraso", - "after image": "Imagen posterior", - "after that": "Después de eso", - "agent": "Agente", - "agent edit failed": "Error en la edición del agente", - "agent edit rejected": "Edición del agente rechazada", - "agent edits partially applied": "Ediciones del agente aplicadas parcialmente", - "agent skill packs": "Paquetes de habilidades del agente", - "agent target for this chat": "Destino del agente para este chat", - "agent update blocked": "Actualización del agente bloqueada", - "agent updated this workflow": "El agente actualizó este flujo de trabajo", - "align bottom": "Alinear abajo", - "align horizontal center": "Centrar horizontalmente", - "align left": "Alinear a la izquierda", - "align right": "Alinear a la derecha", - "align selected to": "Alinear Selección a", - "align top": "Alinear arriba", - "align vertical center": "Centrar verticalmente", - "alignment": "Alineación", - "alignyourstepsscheduler": "Programador alinea tus pasos", - "all downloads completed": "Todas las descargas completadas", - "all exports completed": "Todas las exportaciones completadas", - "all extensions": "Todas las extensiones", - "all installed": "Todo instalado", - "all keybindings reset to default": "Todas las combinaciones de teclas se restablecieron a los valores predeterminados", - "all models": "Todos los modelos", - "all nodes": "Todos los nodos", - "all templates": "Todas las plantillas", - "all time": "Todo el tiempo", - "all up to date": "Todo actualizado", - "all workflows": "Todos los flujos de trabajo", - "allow all partner models": "Permitir todos los modelos de socios", - "alpha": "Alfa", - "always shrink new nodes": "Reducir siempre los nuevos nodos", - "always snap to grid": "Siempre ajustar a la cuadrícula", - "amount": "Cantidad", - "amount (usd)": "Cantidad (USD)", - "amount to pay in dollars": "Cantidad a pagar en dólares", - "an error occurred": "Ocurrió un error", - "an unexpected error occurred": "Ocurrió un error inesperado", - "an unknown error occurred": "Ocurrió un error desconocido", - "angle": "Ángulo", - "animate": "animar", - "animation clip": "Clip de animación", - "another model type": "otro tipo de modelo", - "api key": "Clave API", - "api key cleared": "Clave API eliminada", - "api key stored": "Clave API guardada", - "api keys & secrets": "Claves API y Secretos", - "api nodes": "Nodos API", - "api pricing": "Precios de la API", - "api usage": "Uso de API", - "app": "Aplicación", - "app builder": "Constructor de aplicaciones", - "app builder mode": "Modo constructor de aplicaciones", - "app has no outputs": "La aplicación no tiene salidas", - "app mode": "Modo App", - "appearance": "Apariencia", - "applied": "Aplicado", - "apply": "Aplicar", - "apply anima lllite": "Aplicar Anima LLLite", - "apply changes": "Aplicar Cambios", - "apply controlnet": "Aplicar ControlNet (ANTIGUO)", - "apply controlnet inpainting (alimama)": "Aplicar ControlNet inpainting AliMama", - "apply controlnet with vae": "Aplicar controlnet con VAE", - "apply fun controlnet": "Aplicar Fun ControlNet", - "apply gligen text box": "Aplicar cuadro de texto GLIGEN", - "apply minimax h3 fun controlnet": "Aplicar MiniMax H3 Fun ControlNet", - "apply morphology": "MorfologiaDeImagen", - "apply qwen image diffsynth controlnet": "Aplicar ControlNet DiffSynth para Qwen Image", - "apply seedvr2 conditioning": "Aplicar Condicionamiento SeedVR2", - "apply style model": "Aplicar modelo de estilo", - "apply texture to mesh": "Aplicar textura a malla", - "apply to whole image": "Aplicar a toda la imagen", - "apply uso style reference": "Referencia de estilo USO", - "apply wan uni3c controlnet": "Aplicar Wan Uni3C ControlNet", - "apps": "Aplicaciones", - "apps and apis": "Aplicaciones y APIs", - "architecture": "Arquitectura", - "area composition": "Composición de Área", - "arguments": "Argumentos", - "arrange": "Organizar", - "arrange as grid": "Organizar como cuadrícula", - "arrange horizontally": "Organizar horizontalmente", - "arrange vertically": "Organizar verticalmente", - "arrangement spacing": "Espaciado de organización", - "arrow": "Flecha", - "ask": "Preguntar", - "ask before a workflow runs": "Preguntar antes de ejecutar un flujo de trabajo", - "ask for permission": "Pedir permiso", - "asset collection": "Colección de activos", - "assets": "Recursos", - "at least one": "al menos uno", - "attach a file": "Adjuntar un archivo", - "attention": "Atención", - "attention_experiments": "experimentos_de_atención", - "attribute": "Atributo", - "audio equalizer (3-band)": "Ecualizador de audio (3 bandas)", - "audio failed to load": "No se pudo cargar el audio", - "audio progress": "Progreso de audio", - "audio_encoder": "CODIFICADOR_AUDIO", - "audio_encoder_output": "SALIDA_CODIFICADOR_AUDIO", - "audio_record": "GRABACIÓN_AUDIO", - "audioencoderencode": "Codificar con codificador de audio", - "author": "Autor", - "auto": "Automático", - "auto (limited)": "Automático (limitado)", - "auto exposure": "Exposición automática", - "auto queue": "Cola automática", - "auto save": "Auto guardar", - "auto save delay (ms)": "Retraso de auto guardar (ms)", - "auto-pan speed": "Velocidad de auto-desplazamiento", - "auto-run with limits": "Ejecución automática con límites", - "auto-run without approval": "Ejecución automática sin aprobación", - "automated pipelines": "Pipelines automatizados", - "automatic updates": "Actualizaciones Automáticas", - "automatically check for updates": "Verificar actualizaciones automáticamente", - "automatically load all model folders": "Cargar automáticamente todas las carpetas de modelos", - "automatically update the value": "Actualizar automáticamente el valor", - "autoregressive": "autoregresivo", - "back left": "Parte trasera izquierda", - "back right": "Parte trasera derecha", - "back to all assets": "Volver a todos los recursos", - "back to all plans": "Volver a todos los planes", - "back to login": "Volver al inicio de sesión", - "back to previous chat": "Volver al chat anterior", - "back to workflow": "Volver al flujo de trabajo", - "background": "Fondo", - "background color": "Color de fondo", - "background removal": "eliminación de fondo", - "background_removal": "ELIMINACIÓN_DE_FONDO", - "bake ambient occlusion": "Hornear oclusión ambiental", - "bake normal map from mesh": "Hornear mapa normal desde malla", - "bake texture from voxel": "Hornear textura desde vóxel", - "banned": "Prohibido", - "base image layer": "Capa de imagen base", - "base layer preview": "Vista previa de la capa base", - "base model": "Modelo base", - "base model unknown": "Modelo base desconocido", - "base models": "Modelos base", - "basic guider": "Guía básica", - "basic info": "Información básica", - "basics": "Básicos", - "basicscheduler": "Programador básico", - "batch": "lote", - "batch count": "Conteo de lotes", - "batch count limit": "Límite de conteo de lotes", - "batch images": "Procesar imágenes por lotes", - "batch latents": "Procesar latentes por lotes", - "batch masks": "Procesar máscaras por lotes", - "batch rename": "Renombrar en lote", - "beeble switchx image edit": "Beeble SwitchX Edición de Imagen", - "beeble switchx video edit": "Beeble SwitchX Edición de Video", - "before": "ANTES", - "before image": "Imagen anterior", - "before you go": "Antes de irte", - "betasamplingscheduler": "Programador de muestreo beta", - "bg color": "Color de fondo", - "bg image": "Imagen de fondo", - "billed monthly": "Facturado mensualmente", - "billing & invoices": "Facturación y facturas", - "billing address": "Dirección de facturación", - "black": "Negro", - "blend images": "Mezcla de imágenes", - "blend mode": "Modo de fusión", - "blocked last run": "Bloqueado en la última ejecución", - "blocking errors": "Errores bloqueantes", - "blue": "Azul", - "blueprint": "Plano", - "blueprints": "Planos", - "blur image": "Desenfoque de imagen", - "bookmark": "Marcador", - "bookmark node": "Nodo favorito", - "bookmarked": "Marcado como favorito", - "bookmarks": "Favoritos", - "boolean": "BOOLEANO", - "bottom": "Abajo", - "bottom panel": "Panel inferior", - "bounding box": "Caja delimitadora", - "bounding_box": "CUADRO DELIMITADOR", - "bounding_boxes": "CUADROS DELIMITADORES", - "box": "Caja", - "bria add object": "Bria Añadir objeto", - "bria erase by text": "Bria Borrar por texto", - "bria erase foreground": "Bria Borrar primer plano", - "bria eraser": "Borrador Bria", - "bria expand image": "Ampliar imagen con Bria", - "bria fibo image edit": "Bria: Edición de imagen FIBO", - "bria generative fill": "Relleno generativo de Bria", - "bria increase resolution": "Aumentar resolución con Bria", - "bria relight": "Bria Reiluminar", - "bria remove image background": "Bria: Quitar fondo de imagen", - "bria remove video background": "Bria: Quitar fondo de video", - "bria remove video background (transparent)": "Bria Eliminar Fondo de Video (Transparente)", - "bria replace image background": "Bria Reemplazar fondo de imagen", - "bria replace object": "Bria Reemplazar objeto", - "bria reseason": "Bria Cambiar estación", - "bria restore photo": "Bria Restaurar foto", - "bria video eraser": "Borrador de vídeo Bria", - "bria video replace background": "Bria Video Reemplazar Fondo", - "briefcase": "Maletín", - "brown": "Marrón", - "browse": "Explorar", - "browse assets": "Explorar recursos", - "browse example templates": "Explorar plantillas de ejemplo", - "browse files": "Buscar archivos", - "browse templates": "Explorar plantillas", - "brush": "Pincel", - "brush adjustment": "Ajuste de Pincel", - "brush adjustment speed multiplier": "Multiplicador de velocidad de ajuste del pincel", - "brush settings": "Configuración del pincel", - "brush shape": "Forma del pincel", - "build an app": "Crear una aplicación", - "build an image-to-video workflow": "Crea un flujo de trabajo de imagen a vídeo", - "build app": "Entrar al constructor de aplicaciones", - "build json prompt (ideogram)": "Construir prompt JSON (Ideogram)", - "build with your agent": "Crea con tu agente", - "buy": "Comprar", - "buy now": "Comprar ahora", - "bypass": "Omitir", - "bypass group nodes": "Omitir nodos de grupo", - "bypass/unbypass selected nodes": "Evitar/No evitar nodos seleccionados", - "bytedance create image asset": "Crear asset de imagen usando ByteDance", - "bytedance create video asset": "Crear asset de video usando ByteDance", - "bytedance first-last-frame to video": "Primer-Último-Fotograma a video usando ByteDance", - "bytedance image to video": "Imagen a video usando ByteDance", - "bytedance text to video": "Texto a video usando ByteDance", - "bytedance vcube video enhance": "ByteDance vCube Mejora de vídeo", - "cache": "Caché", - "calculating dimensions": "Calculando dimensiones", - "cam pos": "Pos. cámara", - "cam rot": "Rot. cámara", - "camera": "Cámara", - "camera settings": "Configuración de Cámara", - "camera type": "Tipo de Cámara", - "camera view": "Vista de cámara", - "cancel": "Cancelar", - "cancel all running jobs": "Cancelar todos los trabajos en ejecución", - "cancel current run": "Cancelar ejecución actual", - "cancel download": "Cancelar descarga", - "cancel invite": "Cancelar invitación", - "cancel job": "Cancelar trabajo", - "cancel my plan": "Cancelar mi plan", - "cancel payment and try again": "Cancelar el pago e intentarlo de nuevo", - "cancel plan": "Cancelar plan", - "cancel this run": "Cancelar esta ejecución", - "canceled": "Cancelada", - "cancelled": "Cancelado", - "cannot create subgraph": "No se puede crear el subgrafo", - "cannot delete installed blueprints": "No se pueden eliminar los blueprints instalados", - "canvas": "Lienzo", - "canvas background image": "Imagen de fondo del lienzo", - "canvas mode": "Modo lienzo", - "canvas navigation": "Navegación del lienzo", - "canvas performance": "Rendimiento del Lienzo", - "canvas toggle link visibility": "Alternar visibilidad de enlaces del lienzo", - "canvas toggle lock": "Alternar bloqueo en lienzo", - "canvas toggle minimap": "Alternar minimapa del lienzo", - "canvas toolbar": "Barra de herramientas del lienzo", - "canvas zoom speed": "Velocidad de zoom del lienzo", - "capture": "captura", - "card": "Tarjeta", - "carousel": "carrusel", - "cast shadow": "Proyectar sombra", - "categories": "Categorías", - "categorized": "Original", - "category": "Categoría", - "center camera on model": "Centrar la cámara en el modelo", - "cfg guider": "Guía CFG", - "cfg override": "Anulación de CFG", - "cfgnorm": "Normalización CFG", - "change keybinding": "Cambiar combinación de teclas", - "change plan": "Cambiar plan", - "change role": "Cambiar rol", - "channel": "Canal", - "chart": "Gráfico", - "chat history": "Historial de chat", - "chat options": "Opciones de chat", - "check again": "Comprobar de nuevo", - "check for custom node updates": "Buscar actualizaciones de nodos personalizados", - "check for updates": "Buscar actualizaciones", - "checking media visibility…": "Comprobando visibilidad de los archivos multimedia…", - "choose a plan": "Elige el mejor plan para tu espacio de trabajo", - "choose a profile picture": "Elige una foto de perfil", - "choose a workflow": "Elige un flujo de trabajo", - "choose download servers manually": "Elegir servidores de descarga manualmente", - "choose file to upload": "elige archivo para subir", - "choose inputs": "Elige entradas", - "choose installation location": "Elegir Ubicación de Instalación", - "choose outputs": "Elige salidas", - "choose where to install comfyui": "Elige dónde instalar ComfyUI", - "choose your hardware setup": "Elige tu configuración de hardware", - "chromaradianceoptions": "Opciones Chroma Radiance", - "circle": "Círculo", - "clarity ai crystal upscale": "Ampliación Crystal de Clarity AI", - "clay": "Arcilla", - "clear": "Limpiar", - "clear all": "Borrar todo", - "clear all filters": "Borrar todos los filtros", - "clear filters": "Borrar filtros", - "clear job history": "Limpiar historial de la cola de trabajos", - "clear pending tasks": "Borrar tareas pendientes", - "clear queue": "Limpiar cola", - "clear queued": "Limpiar en cola", - "clear recording": "Borrar grabación", - "clear workflow": "Limpiar flujo de trabajo", - "click": "Haz clic", - "click here": "haz clic aquí", - "click to browse or": "Haz clic para buscar o", - "click to clear queue": "Haz clic para limpiar la cola", - "click to learn more →": "Haz clic para saber más →", - "click to reset zoom": "Haz clic para restablecer el zoom", - "clip set last layer": "Establecer última capa de CLIP", - "clip text encode (controlnet)": "Codificar texto CLIP para ControlNet", - "clip text encode (hidream)": "Codificar texto CLIP para HiDream", - "clip text encode (hunyuan image)": "Codificar texto CLIP para Hunyuan Image", - "clip text encode (kandinsky 5)": "Codificar texto CLIP para Kandinsky 5", - "clip text encode (lumina 2)": "Codificar texto CLIP para Lumina2", - "clip text encode (pixart alpha)": "Codificar texto CLIP para PixArt Alpha", - "clip text encode (prompt)": "Codificar texto CLIP (Prompt)", - "clip text encode (sd3)": "Codificar texto CLIP para SD3", - "clip text encode (sdxl refiner)": "Codificar texto CLIP para SDXL Refiner", - "clip text encode (sdxl)": "Codificar texto CLIP para SDXL", - "clip vision encode": "Codificar CLIP Vision", - "clip warnings": "Avisos de recorte", - "clip_vision_output": "SALIDA_CLIP_VISION", - "clipattentionmultiply": "Multiplicar atención CLIP", - "clipmergeadd": "Fusionar CLIP (sumar)", - "clipmergesimple": "Fusionar CLIP (simple)", - "clipmergesubtract": "Fusionar CLIP (restar)", - "clipsave": "Guardar CLIP", - "clipspace": "Espacio de clip", - "cliptextencodeflux": "Codificar texto CLIP para Flux", - "clone": "Clonar", - "close anyway": "Cerrar de todos modos", - "close current workflow": "Cerrar flujo de trabajo actual", - "close dialog": "Cerrar diálogo", - "close other tabs": "Cerrar otras pestañas", - "close sidebar": "Cerrar barra lateral", - "close tab": "Cerrar pestaña", - "close tabs to left": "Cerrar pestañas a la izquierda", - "close tabs to right": "Cerrar pestañas a la derecha", - "close-up": "Primer plano", - "cloud gpus": "GPU en la nube", - "cloud version": "Versión de la Nube", - "collapse": "Contraer", - "collapse all": "Colapsar todo", - "collapse/expand selected nodes": "Contraer/Expandir nodos seleccionados", - "color burn": "Sobreexponer color", - "color dodge": "Subexponer color", - "color palette": "Paleta de Colores", - "color picker": "Selector de color", - "color saturation and brightness": "Saturación y brillo del color", - "color select settings": "Configuración de selección de color", - "color selector": "Selector de color", - "color_palette": "paleta_de_colores", - "colors": "Colores", - "combine": "combinar", - "combine hooks [2]": "Combinar hooks [2]", - "combine hooks [4]": "Combinar hooks [4]", - "combine hooks [8]": "Combinar hooks [8]", - "combine masks": "Componer máscara", - "comfy agent error": "Error de Comfy Agent", - "comfy api key": "Clave API de Comfy", - "comfy blueprints": "Planos Comfy", - "comfy cloud logo": "Logo de Comfy Cloud", - "comfy nodes": "Nodos Comfy", - "comfy-org discord": "Discord de Comfy-Org", - "comfyorg logo": "Logo de ComfyOrg", - "comfyui docs": "Documentos de ComfyUI", - "comfyui examples": "Ejemplos de ComfyUI", - "comfyui forum": "Foro de ComfyUI", - "comfyui issues": "Problemas de ComfyUI", - "comfyui logo": "Logo de ComfyUI", - "comfyui version": "Versión de ComfyUI", - "comfyui-manager upgrade required": "Actualización de ComfyUI-Manager requerida", - "coming soon": "Próximamente", - "command": "Comando", - "commitment": "compromiso", - "community": "Comunidad", - "compare images": "Comparar imágenes", - "compare open-weights and partner-node output": "Comparar la salida de pesos abiertos y de nodos asociados", - "compare text": "Comparar", - "compatible alternatives": "Alternativas compatibles", - "compatible base models": "Modelos base compatibles", - "complete verification": "Completa la verificación", - "complete your payment": "Complete su pago", - "completed": "Completado", - "completed ✓": "Completado ✓", - "compose camera angle prompt": "Componer indicación de ángulo de cámara", - "compositing": "composición", - "compute hours used": "Horas de cómputo usadas", - "compute hours used (most first)": "Horas de cómputo usadas (primero el mayor)", - "concat av latent": "Concatenar AV Latent", - "concatenate audio": "Concatenar audio", - "concatenate text": "Concatenar", - "concatenate video": "Concatenar vídeo", - "cond pair": "par_cond", - "cond pair combine": "Combinar pares de acondicionamiento", - "cond pair set default combine": "Combinar pares de acondicionamiento (Establecer por defecto)", - "cond pair set props": "Establecer propiedades de pares de acondicionamiento", - "cond pair set props combine": "Establecer propiedades de pares de acondicionamiento y combinar", - "cond set default combine": "Acondicionamiento (Establecer combinación predeterminada)", - "cond set props": "Establecer propiedades de acondicionamiento", - "cond set props combine": "Establecer propiedades de acondicionamiento y combinar", - "cond single": "cond único", - "conditioning": "acondicionamiento", - "conditioning (average)": "Acondicionamiento (Promediar)", - "conditioning (combine)": "Acondicionamiento (Combinar)", - "conditioning (concat)": "Acondicionamiento (Concatenar)", - "conditioning (multiply)": "Condicionamiento (Multiplicar)", - "conditioning (set area strength)": "Acondicionamiento (Establecer intensidad de área)", - "conditioning (set area with percentage)": "Acondicionamiento (Establecer área con porcentaje)", - "conditioning (set area)": "Acondicionamiento (Establecer área)", - "conditioning (set mask)": "Acondicionamiento (Establecer máscara)", - "conditioning zero out": "Acondicionamiento (Poner a cero)", - "conditioningsettimesteprange": "Acondicionamiento (Establecer rango de pasos)", - "conditioningstableaudio": "Acondicionamiento Stable Audio", - "confirm": "Confirmar", - "confirm & reactivate": "Confirmar y reactivar", - "confirm change": "Confirmar cambio", - "confirm model details": "Confirmar detalles del modelo", - "confirm password": "Confirmar contraseña", - "confirm upgrade": "Confirmar actualización", - "confirm your payment": "Confirma tu pago", - "confirm your plan change": "Confirma el cambio de plan", - "confirm your upgrade": "Confirma tu actualización", - "confirmed": "Confirmado", - "conflicting": "En conflicto", - "conflicts": "Conflictos", - "connect an output": "Conectar una salida", - "connected": "conectada", - "connection links": "ENLACES DE CONEXIÓN", - "connection taking too long": "La conexión está tardando demasiado", - "console": "Consola", - "console logs": "Registros de la consola", - "contact our support": "contacta a nuestro soporte", - "contact sales": "Contactar con ventas", - "contact support": "Contactar soporte", - "contact us": "Contáctanos", - "contains text": "Contiene", - "content": "contenido", - "content blocked": "Contenido bloqueado", - "context menu": "Menú Contextual", - "context windows (manual)": "Ventanas de contexto (Manual)", - "continue": "Continuar", - "continue cancelling": "Continuar con la cancelación", - "continue locally": "Continuar Localmente", - "continue to payment": "Continuar al pago", - "continue with sso": "Continuar con SSO", - "control & guidance": "Control y Guía", - "control after generate": "control después de generar", - "control before generate": "control antes de generar", - "control_net": "RED_DE_CONTROL", - "convert array to string": "Convertir Array a Cadena", - "convert da3 geometry to mesh": "Convertir geometría DA3 a malla", - "convert dictionary to string": "Convertir Diccionario a Cadena", - "convert image color space": "Convertir espacio de color de imagen", - "convert image color to mask": "Color de imagen a máscara", - "convert image to mask": "Convertir imagen a máscara", - "convert mask to image": "Convertir máscara a imagen", - "convert number": "Conversión de número", - "convert selection to subgraph": "Convertir selección en subgrafo", - "convert text case": "Convertidor de mayúsculas y minúsculas", - "convert text to lowercase": "Convertir texto a minúsculas", - "convert text to uppercase": "Convertir texto a mayúsculas", - "convert to subgraph": "Convertir a Subgrafo", - "converted to app workflow": "Convertido a flujo de trabajo de aplicación", - "copied": "Copiado", - "copied to clipboard": "Copiado al portapapeles", - "copy": "Copiar", - "copy (clipspace)": "Copiar (Espacio de Clip)", - "copy all": "Copiar todo", - "copy as markdown": "Copiar como markdown", - "copy error": "Error al copiar", - "copy error message": "Copiar mensaje de error", - "copy image": "Copiar Imagen", - "copy invite link": "Copiar enlace de invitación", - "copy job id": "Copiar ID de trabajo", - "copy model name": "Copiar nombre del modelo", - "copy selection": "Copiar selección", - "copy system info": "Copiar información del sistema", - "copy to clipboard": "Copiar al portapapeles", - "copy url": "Copiar URL", - "cosmosimagetovideolatent": "Cosmos imagen a latente de video", - "cosmospredict2imagetovideolatent": "Cosmos Predict2 imagen a latente de video", - "could not determine file type": "No se pudo determinar el tipo de archivo", - "could not replay onboarding": "No se pudo repetir la incorporación", - "could not start recording": "No se pudo iniciar la grabación", - "could not submit the survey": "No se pudo enviar la encuesta", - "couldn't continue oauth sign-in": "No se pudo continuar con el inicio de sesión OAuth", - "couldn't copy the invite link": "No se pudo copiar el enlace de invitación", - "couldn't load your workspace": "No se pudo cargar tu espacio de trabajo", - "cpu mode": "Modo CPU", - "create": "crear", - "create 3d animation file": "Crear archivo de animación 3D", - "create 3d file (from mesh)": "Crear archivo 3D (desde malla)", - "create 3d file (from splat)": "Crear archivo 3D (desde Splat)", - "create a link": "Crear un enlace", - "create a new blank workflow": "Crear un nuevo flujo de trabajo en blanco", - "create a new workspace": "Crear un nuevo espacio de trabajo", - "create a profile": "Crear un perfil", - "create a workspace": "Crear nuevo espacio de trabajo", - "create an account": "Crea una cuenta", - "create app": "Crear aplicación", - "create bounding boxes": "Crear Cajas Delimitadoras", - "create camera info": "Crear información de cámara", - "create hook keyframe": "Crear hook keyframe", - "create hook keyframes from floats": "Crear hook keyframes desde flotantes", - "create hook lora": "Crear hook LoRA", - "create hook lora (mo)": "Crear hook LoRA (MO)", - "create hook model as lora": "Crear hook model como LoRA", - "create layered image": "Crear imagen por capas", - "create list": "Crear lista", - "create my profile": "Crear mi perfil", - "create profile": "Crear perfil", - "create scail-2 colored mask": "Crear máscara coloreada SCAIL-2", - "create solid mask": "Máscara sólida", - "create video": "Crear video", - "create workspace": "Crear espacio de trabajo", - "create your comfy workflows profile": "Crea tu perfil de Comfy Workflows", - "created by": "Creado Por", - "creator": "Creador", - "credential type": "Tipo de credencial", - "credits": "Créditos", - "credits added": "Créditos añadidos", - "credits added successfully": "Créditos añadidos correctamente", - "credits available": "Créditos disponibles", - "credits have been unified": "Los créditos han sido unificados", - "credits per dollar": "créditos por dólar", - "credits per year": "créditos por año", - "credits refill monthly to": "Los créditos se recargan mensualmente a", - "credits refill to": "Los créditos se recargan hasta", - "credits to receive": "Créditos a recibir", - "credits used this month": "Créditos usados este mes", - "credits you'll get today": "Créditos que recibirás hoy", - "crop by bounding boxes": "Recortar por cajas delimitadoras", - "crop image": "Recorte de imagen (obsoleto)", - "crop image (center)": "Recorte central de imágenes", - "crop image (random)": "Recorte aleatorio de imágenes", - "crop image to mask": "Recortar imagen a máscara", - "crop latent": "Recortar latente", - "crop mask": "Recortar máscara", - "crop preview": "Vista previa del recorte", - "crop video": "Recortar vídeo", - "crop video (temporal random)": "Recortar video (temporal aleatorio)", - "crop video (temporal)": "Recortar video (temporal)", - "cross attention method": "Método de atención cruzada", - "ctrl+up/down precision": "Precisión Ctrl+arriba/abajo", - "cuda device index to use": "Índice de dispositivo CUDA para usar", - "current": "Actual", - "current plan": "Plan actual", - "current tab": "Pestaña actual", - "current user": "Usuario actual", - "current workflow": "Flujo de trabajo actual", - "cursor size": "Tamaño del cursor", - "curve": "CURVA", - "curve editor": "Editor de curvas", - "custom": "Personalizado", - "custom background": "Fondo personalizado", - "custom color palettes": "Paletas de Colores Personalizadas", - "custom combo": "Combinación personalizada", - "custom node configurations": "Configuraciones de nodo personalizadas", - "custom nodes": "Nodos Personalizados", - "custom nodes manager": "Gestor de nodos personalizados", - "custom nodes, ready": "Nodos personalizados, listos", - "custom up": "Arriba personalizado", - "customize": "Personalizar", - "customize folder": "Personalizar carpeta", - "cyan": "Cian", - "dancer": "bailarín", - "dark": "Oscuro", - "darken": "Oscurecer", - "dashboard": "Panel", - "dashboard workspace settings": "Configuración del panel del espacio de trabajo", - "date": "Fecha", - "debug": "depurar", - "decimate mesh": "Decimar malla", - "decoding…": "Decodificando…", - "decrease brush size in maskeditor": "Disminuir tamaño del pincel en MaskEditor", - "decrement": "Disminuir", - "decrement value": "Disminuir valor", - "deduplicate images": "Eliminación de imágenes duplicadas", - "deduplicate subgraph node ids": "Eliminar duplicados de IDs de nodos en subgráficos", - "default banner": "banner predeterminado", - "default pip install mirror": "Espejo de instalación pip por defecto", - "default preset": "Preajuste predeterminado", - "delete": "Eliminar", - "delete all": "Eliminar todo", - "delete audio file": "Eliminar archivo de audio", - "delete blueprint": "Eliminar Plano", - "delete failed": "Eliminación fallida", - "delete image": "Eliminar imagen", - "delete preset": "Eliminar preajuste", - "delete recording": "Eliminar grabación", - "delete secret": "Eliminar secreto", - "delete selected items": "Eliminar elementos seleccionados", - "delete skill pack": "Eliminar paquete de habilidades", - "delete these items": "Eliminar estos elementos", - "delete workflow": "Eliminar flujo de trabajo", - "delete workspace": "Eliminar espacio de trabajo", - "deleted": "Eliminado", - "deletion successful": "Eliminación completada", - "demote to member": "Degradar a miembro", - "dependencies": "Dependencias", - "deploy on platform": "Implementar en la plataforma", - "deploy to comfy api": "Implementar en la API de Comfy", - "deprecated": "obsoleto", - "depth": "Profundidad", - "describe how it should move": "Describe cómo debe moverse", - "describe what you want": "Describe lo que quieres", - "describe your workflow": "Describe tu flujo de trabajo", - "description": "Descripción", - "description is required": "Descripción es requerida", - "description of this region": "descripción de esta región", - "deselect all": "Deseleccionar todo", - "desktop app settings": "Configuraciones de la Aplicación de Escritorio", - "desktop settings": "Configuraciones de Escritorio", - "desktop sign-in failed": "Error en el inicio de sesión en el escritorio", - "desktop user guide": "Guía de usuario de escritorio", - "details": "Detalles", - "detect edges (canny)": "Canny", - "detect face landmarks (mediapipe)": "MediaPipe Face Landmarker", - "detected": "Detectado", - "detection": "detección", - "dev mode": "Modo de Desarrollo", - "devices": "Dispositivos", - "dict": "DICCIONARIO", - "difference": "Diferencia", - "differential diffusion": "Difusión diferencial", - "dimensions": "Dimensiones", - "directional": "Direccional", - "directml device index": "Índice de dispositivo DirectML", - "directories": "Directorios", - "disable animations": "Desactivar animaciones", - "disable ipex optimization": "Desactivar la optimización de IPEX", - "disable node widget sliders": "Desactivar los deslizadores del widget del nodo", - "disable selected": "Deshabilitar seleccionados", - "disable smart memory management": "Desactivar la gestión inteligente de memoria", - "disable third-party": "Deshabilitar terceros", - "disable xformers optimization": "Desactivar la optimización de xFormers", - "disabled node": "Nodo deshabilitado", - "disablenoise": "Desactivar ruido", - "discard and switch": "Descartar y cambiar", - "disconnected": "Desconectado", - "discounts": "Descuentos", - "dismiss": "Descartar", - "display name": "Nombre para mostrar", - "distribute nodes": "Distribuir Nodos", - "dither": "Difuminado", - "divide": "Dividir", - "dock to top": "Acoplar en la parte superior", - "docked job history": "Historial de trabajos acoplado", - "docked job history/queue panel": "Panel acoplado de historial/cola de trabajos", - "docs": "Documentación", - "documentation page": "página de documentación", - "does not apply to litegraph": "No se aplica a litegraph (heredado)", - "don't ask again": "No preguntar de nuevo", - "don't show again": "No mostrar de nuevo", - "don't show this again": "No mostrar esto de nuevo", - "double click interval (maximum)": "Intervalo de doble clic (máximo)", - "download": "Descargar", - "download all": "Descargar todo", - "download assets": "Descargar recursos", - "download audio": "Descargar audio", - "download available": "Descargar disponibles", - "download cancelled": "Descarga cancelada", - "download comfyui": "Descargar ComfyUI", - "download complete": "Descarga completa", - "download export": "Descargar exportación", - "download failed": "Error en la descarga", - "download git": "Descargar git", - "download image": "Descargar imagen", - "download images": "Descargar imágenes", - "download model": "Descargar modelo", - "download models & open": "Descargar modelos y abrir", - "download psd": "Descargar PSD", - "download recording": "Descargar grabación", - "download started": "Descarga iniciada", - "download video": "Descargar video", - "downloaded": "Descargado", - "downloading": "Descargando", - "downloads": "Descargas", - "drag and drop assets here": "Arrastra y suelta recursos aquí", - "drag navigation": "Navegación por arrastre", - "draw bboxes": "Dibujar BBoxes", - "draw face mask (mediapipe)": "MediaPipe Face Mask", - "draw text overlay": "Superponer texto", - "drop 3d model to load": "Suelta el modelo 3D para cargar", - "drop a video here": "arrastra un video aquí", - "drop an image here": "arrastra una imagen aquí", - "drop your file or": "Suelta tu archivo o", - "dual cfg guider": "Guía CFG dual", - "dual model cfg guider": "Guía CFG de Doble Modelo", - "duplicate": "Duplicar", - "duplicate current workflow": "Duplicar flujo de trabajo actual", - "duplicate tab": "Duplicar pestaña", - "duration": "Duración", - "each month credits refill to": "Cada mes los créditos se recargan a", - "each year credits refill to": "Cada año los créditos se recargan a", - "earlier": "Anteriores", - "edge threshold": "Umbral de borde", - "edit & run": "Editar y ejecutar", - "edit app": "Editar aplicación", - "edit control settings": "Editar configuración de control", - "edit display name": "Editar nombre para mostrar", - "edit image": "Editar imagen", - "edit model reference method": "Método de referencia del modelo de edición", - "edit or mask image": "Editar o enmascarar imagen", - "edit secret": "Editar secreto", - "edit skill pack": "Editar paquete de habilidades", - "edit subgraph": "Editar subgrafo", - "edit subgraph widgets": "Editar Widgets de Subgrafo", - "edit token weight": "Editar Peso del Token", - "edit workspace details": "Editar detalles del espacio de trabajo", - "editing & utilities": "Edición y Utilidades", - "elevated": "Elevado", - "elevenlabs instant voice clone": "ElevenLabs clonación instantánea de voz", - "elevenlabs speech to speech": "ElevenLabs conversión de voz a voz", - "elevenlabs speech to text": "ElevenLabs voz a texto", - "elevenlabs text to dialogue": "ElevenLabs texto a diálogo", - "elevenlabs text to sound effects": "ElevenLabs texto a efectos de sonido", - "elevenlabs text to speech": "ElevenLabs texto a voz", - "elevenlabs voice isolation": "ElevenLabs aislamiento de voz", - "elevenlabs voice selector": "Selector de voz de ElevenLabs", - "eligible for free tier": "Elegible para el plan gratuito", - "email": "Correo electrónico", - "email is required": "El correo electrónico es obligatorio", - "embedded python": "Python Integrado", - "empty": "Vacío", - "empty audio": "Audio vacío", - "empty canvas": "Lienzo vacío", - "empty cosmos latent video": "Vídeo latente Cosmos vacío", - "empty flux 2 latent": "Latente Flux 2 vacío", - "empty hidream-o1 latent image": "Imagen Latente Vacía HiDream-O1", - "empty hunyuan 3d v2 latent": "Latente Hunyuan 3D v2 vacío", - "empty hunyuan image latent": "Imagen latente Hunyuan vacía", - "empty image": "Imagen vacía", - "empty latent audio": "Audio latente vacío", - "empty latent image": "Imagen latente vacía", - "empty ltxv latent audio": "Audio latente LTXV vacío", - "empty ltxv latent video": "Vídeo latente LTXV vacío", - "empty minimax h3 av latent": "Latente AV MiniMax H3 Vacío", - "empty minimax music3 latent audio": "Audio latente vacío de MiniMax Music3", - "empty qwen image layered latent": "Latente Qwen Image en capas vacío", - "empty stable cascade latent image": "Imagen latente Stable Cascade vacía", - "empty trellis2 latent structure": "Estructura latente Trellis2 vacía", - "empty yue2 latent audio": "Audio latent vacío de YuE2", - "emptychromaradiancelatentimage": "Imagen latente Chroma Radiance vacía", - "emptymochilatentvideo": "Video latente Mochi vacío", - "emptysd3latentimage": "Imagen latente SD3 vacía", - "enable 3d viewer": "Habilitar visor 3D", - "enable anyway": "Habilitar de Todos Modos", - "enable cpu mode": "Habilitar Modo CPU", - "enable node replacement suggestions": "Habilitar sugerencias de reemplazo de nodos", - "enable or disable pack": "Activar o desactivar paquete", - "enable selected": "Habilitar seleccionados", - "enable tooltips": "Habilitar tooltips", - "encoding…": "Codificando…", - "end frame": "Fotograma final", - "end loop": "Finalizar bucle", - "enter": "Entrar", - "enter a description": "Introduce una descripción", - "enter a username": "Introduce un nombre de usuario", - "enter app mode": "Entrar en modo aplicación", - "enter base name": "Introduce el nombre base", - "enter emails separated by commas": "Introduce correos electrónicos separados por comas", - "enter name": "Introduzca el nombre", - "enter new name": "Introduce el nuevo nombre", - "enter new password": "Ingresa una nueva contraseña", - "enter new value to change": "Introduce un nuevo valor para cambiarlo", - "enter node graph": "Entrar al gráfico de nodos", - "enter pypi mirror url": "Ingresa la URL del espejo de PyPI", - "enter python mirror url": "Ingresa la URL del espejo de Python", - "enter search aliases (comma separated)": "Introduce alias de búsqueda (separados por comas)", - "enter subgraph": "Entrar en subgrafo", - "enter the filename": "Introduzca el nombre del archivo", - "enter the same password again": "Ingresa la misma contraseña nuevamente", - "enter your api key": "Introduce tu clave API", - "enter your email": "Ingresa tu correo electrónico", - "enter your keybind": "Introduce tu atajo de teclado", - "enter your name here": "Ingresa tu nombre aquí", - "enter your password": "Ingresa tu contraseña", - "enter your work email": "Introduce tu correo electrónico de trabajo", - "enterprise": "Empresa", - "enterprise discussions": "discusiones enterprise", - "epsilon scaling": "Escalado Épsilon", - "eraser": "Borrador", - "error checking for updates": "Error al buscar actualizaciones", - "error detected | errors detected": "Error detectado | Errores detectados", - "error installing update": "Error al instalar la actualización", - "error loading image": "Error al cargar imagen", - "error loading model": "Error al cargar el modelo", - "error loading video": "Error al cargar video", - "error log": "Registro de errores", - "error logs": "Registros de errores", - "error message": "Mensaje de error", - "error message and stack trace": "Mensaje de error y rastreo de pila", - "error system": "Sistema de errores", - "error updating consent": "Error Actualizando Consentimiento", - "essential": "Esencial", - "essential nodes": "Nodos Esenciales", - "essentials": "Esenciales", - "estimated to finish in": "Finalización estimada en", - "estimated to start in": "Inicio estimado en", - "event details": "Detalles del evento", - "event type": "Tipo de evento", - "every model, one balance": "Todos los modelos, un solo saldo", - "exclusion": "Exclusión", - "execute": "Ejecutar", - "execution": "Ejecución", - "execution failed": "Ejecución fallida", - "execution has been interrupted": "La ejecución ha sido interrumpida", - "existing user": "Usuario existente", - "exit app builder": "Salir del constructor de aplicaciones", - "exit app mode": "Salir del modo aplicación", - "exit builder": "Salir del constructor", - "exit camera view": "Salir de la vista de cámara", - "exit mode": "Salir del modo", - "exit subgraph": "Salir de Subgrafo", - "expand": "Expandir", - "expand all": "Expandir todo", - "expand job queue": "Expandir cola de trabajos", - "expand node": "Expandir Nodo", - "expiry date": "Fecha de vencimiento", - "explain the selected nodes": "Explica los nodos seleccionados", - "explore templates": "Explorar plantillas", - "exponentialscheduler": "Programador exponencial", - "export": "Exportar", - "export (api)": "Exportar (API)", - "export all workflows": "Exportar todos los flujos de trabajo", - "export failed": "Error en la exportación", - "export model": "Exportar modelo", - "export preset": "Exportar preajuste", - "export psd": "Exportar PSD", - "export recording": "Exportar grabación", - "export settings": "Configuración de Exportación", - "export workflow": "Exportar flujo de trabajo", - "export workflow (api format)": "Exportar flujo de trabajo (formato API)", - "exporting assets": "Exportando recursos", - "exposure": "Exposición", - "extendintermediatesigmas": "Extender sigmas intermedias", - "extension": "Extensión", - "extension at risk": "Extensión en Riesgo", - "extension name": "Nombre de la extensión", - "extensions": "Extensiones", - "extra resources upload failed": "No se pudieron cargar los recursos adicionales", - "extract and save lora": "Extraer y guardar LoRA", - "extract mesh from splat": "Extraer malla de Splat", - "extract text": "Extracción regex", - "extract text from json": "Extraer cadena de JSON", - "eye level": "A la altura de los ojos", - "face expression to sam3d body": "Expresión facial a cuerpo SAM3D", - "face_detection_model": "MODELO_DE_DETECCIÓN_DE_CARAS", - "failed": "Fallido", - "failed after": "Falló después de", - "failed to accept invite": "No se pudo aceptar la invitación", - "failed to apply texture": "Error al aplicar textura", - "failed to cancel subscription": "No se pudo cancelar la suscripción", - "failed to change plan": "No se pudo cambiar el plan", - "failed to copy job id": "Error al copiar el ID de trabajo", - "failed to copy to clipboard": "Error al copiar al portapapeles", - "failed to create node": "No se pudo crear el nodo", - "failed to create workspace": "No se pudo crear el espacio de trabajo", - "failed to create zip export": "No se pudo crear la exportación ZIP", - "failed to delete workspace": "No se pudo eliminar el espacio de trabajo", - "failed to download file": "No se pudo descargar el archivo", - "failed to download image": "Falló la descarga de imagen", - "failed to download video": "Falló la descarga de video", - "failed to export psd": "No se pudo exportar el PSD", - "failed to export workflow": "No se pudo exportar el flujo de trabajo", - "failed to fetch server logs": "Error al obtener los registros del servidor", - "failed to import workflow assets": "No se pudieron importar los recursos del flujo de trabajo", - "failed to initialize 3d viewer": "Error al inicializar el visor 3D", - "failed to install": "Falló la Instalación", - "failed to leave workspace": "No se pudo abandonar el espacio de trabajo", - "failed to load 3d model": "Error al cargar el modelo 3D", - "failed to load background image": "Error al cargar la imagen de fondo", - "failed to load hdr image": "No se pudo cargar la imagen HDR", - "failed to load hdri file": "No se pudo cargar el archivo HDRI", - "failed to load layers": "No se pudieron cargar las capas", - "failed to load outputs": "No se pudieron cargar las salidas", - "failed to load plans": "No se pudieron cargar los planes", - "failed to load shared workflow": "No se pudo cargar el flujo de trabajo compartido", - "failed to load subgraph blueprints": "No se pudieron cargar los subgrafos", - "failed to load subscription preview": "No se pudo cargar la vista previa de la suscripción", - "failed to load video": "No se pudo cargar el video", - "failed to load workspaces": "No se pudieron cargar los espacios de trabajo", - "failed to open workflow": "No se pudo abrir el flujo de trabajo", - "failed to queue": "Error al encolar", - "failed to reactivate subscription": "No se pudo reactivar la suscripción", - "failed to register subgraph": "No se pudo registrar el subgrafo", - "failed to remove member": "No se pudo eliminar al miembro", - "failed to render video preview": "No se pudo mostrar la vista previa del video", - "failed to replace nodes": "Error al reemplazar nodos", - "failed to resend invite": "No se pudo reenviar la invitación", - "failed to save composite": "No se pudo guardar el compuesto", - "failed to save node templates": "No se pudieron guardar las plantillas de nodos", - "failed to save workflow draft": "No se pudo guardar el borrador del flujo de trabajo", - "failed to select directory": "Falló al seleccionar el directorio", - "failed to set gizmo mode": "No se pudo establecer el modo de gizmo", - "failed to store api key": "No se pudo guardar la clave API", - "failed to subscribe": "No se pudo suscribir", - "failed to switch workspace": "No se pudo cambiar el espacio de trabajo", - "failed to toggle camera": "No se pudo alternar la cámara", - "failed to toggle gizmo": "No se pudo alternar el gizmo", - "failed to toggle grid": "No se pudo alternar la cuadrícula", - "failed to update background color": "No se pudo actualizar el color de fondo", - "failed to update background image": "No se pudo actualizar la imagen de fondo", - "failed to update edge threshold": "No se pudo actualizar el umbral de borde", - "failed to update light intensity": "No se pudo actualizar la intensidad de la luz", - "failed to update material mode": "No se pudo actualizar el modo de material", - "failed to update node definitions": "No se pudo actualizar las definiciones de nodos", - "failed to update role": "No se pudo actualizar el rol", - "failed to update up direction": "No se pudo actualizar la dirección superior", - "failed to update workspace": "No se pudo actualizar el espacio de trabajo", - "failed to upload background image": "No se pudo subir la imagen de fondo", - "failed to validate path": "Falló la validación de la ruta", - "false": "falso", - "faqs": "Preguntas frecuentes", - "favorite": "Favorito", - "favorite widget": "Marcar widget como favorito", - "favorited inputs": "ENTRADAS FAVORITAS", - "favorites": "Favoritos", - "feather mask": "Difuminar máscara", - "featured models": "Modelos destacados", - "feedback": "Retroalimentación", - "file": "archivo", - "file formats": "Formatos de archivo", - "file name": "Nombre del archivo", - "file size": "Tamaño del archivo", - "file system information": "Información del sistema de archivos", - "file upload": "Carga de archivos", - "file upload failed": "Error al subir el archivo", - "file_3d": "ARCHIVO_3D", - "file_3d_fbx": "ARCHIVO_3D_FBX", - "file_3d_glb": "ARCHIVO_3D_GLB", - "file_3d_gltf": "ARCHIVO_3D_GLTF", - "file_3d_obj": "ARCHIVO_3D_OBJ", - "file_3d_stl": "ARCHIVO_3D_STL", - "file_3d_usdz": "ARCHIVO_3D_USDZ", - "filename": "Nombre de archivo", - "fill": "Relleno", - "fill holes": "Rellenar agujeros", - "fill opacity": "Opacidad de relleno", - "filter": "Filtrar", - "filter by": "Filtrar por", - "filter jobs": "Filtrar trabajos", - "filters": "Filtros", - "find all your assets": "Encuentra todos tus recursos", - "find issues": "Encontrar problemas", - "find on github": "Buscar en GitHub", - "finish": "Finalizar", - "finish publishing": "Finalizar publicación", - "finished": "Finalizado", - "fish audio instant voice clone": "Clonación instantánea de voz de Fish Audio", - "fish audio speech to text": "Voz a texto de Fish Audio", - "fish audio text to speech": "Fish Audio Texto a voz", - "fish audio voice selector": "Selector de voz de Fish Audio", - "fit": "Ajustar", - "fit group to contents": "Ajustar grupo a contenidos", - "fit to viewer": "Ajustar al visor", - "fit view": "Ajustar vista", - "fit view to selected nodes": "Ajustar vista a los nodos seleccionados", - "fixed value": "Valor fijo", - "flagged": "Marcado", - "flashvsr video upscale": "FlashVSR escalado de video", - "flip": "Voltear", - "flip horizontal": "Voltear horizontalmente", - "flip image": "Voltear imagen", - "flip latent": "Voltear latente", - "flip vertical": "Voltear verticalmente", - "flipsigmas": "Invertir sigmas", - "float": "FLOTANTE", - "floating": "flotante", - "floats": "FLOTANTES", - "flux 3 image to video": "Flux 3 Imagen a Video", - "flux 3 text to video": "Flux 3 Texto a Video", - "flux 3 video continuation": "Flux 3 Continuación de Video", - "flux erase image": "Flux Borrar imagen", - "flux kv cache": "Flux KV cache", - "flux video edit": "Edición de vídeo Flux", - "flux video upscale": "Ampliación de vídeo Flux", - "flux virtual try-on": "Flux Prueba virtual de ropa", - "flux2scheduler": "Programador Flux 2", - "fluxdisableguidance": "Desactivar guía Flux", - "fluxguidance": "Guía Flux", - "fluxkontextimagescale": "Escalar imagen Flux Kontext", - "focus mode": "Modo de Enfoque", - "folder": "Carpeta", - "for more help, visit the": "Para más ayuda, visita la", - "for personal": "Para uso personal", - "for running commercial/proprietary models": "Para ejecutar modelos comerciales/propietarios", - "for teams": "Para equipos", - "force attention upcast": "Forzar la atención de upcast", - "force channels-last memory format": "Forzar el formato de memoria de los canales al final", - "forgetting a preference": "Olvidando una preferencia", - "forgot a preference": "Olvidó una preferencia", - "forgot password": "¿Olvidaste tu contraseña?", - "format text": "Formatear Texto", - "founder's edition": "Edición Fundador", - "fov": "Campo de visión", - "frame nodes": "Enmarcar Nodos", - "frame rate": "Frecuencia de cuadros", - "free": "Gratis", - "free to run": "Gratis de ejecutar", - "free use notice": "Aviso de uso gratuito", - "freeu_v2": "FreeU V2", - "front": "Frente", - "front left": "Frente izquierdo", - "front right": "Frente derecho", - "frontend version": "Versión del Frontend", - "full activity": "Actividad completa", - "full invoice history": "Historial completo de facturas", - "full screen": "Pantalla completa", - "full usage activity": "Actividad de uso completa", - "fullscreen": "Pantalla completa", - "fun control": "control divertido", - "fun inpaint": "relleno divertido", - "gallery": "Galería", - "gallery image": "Imagen de galería", - "gallery thumbnail": "Miniatura de galería", - "gemini input files": "Archivos de entrada de Gemini", - "gemini_input_files": "ARCHIVOS_ENTRADA_GEMINI", - "generate": "Generar", - "generate ltx2 prompt": "Generar prompt LTX2", - "generate text": "Generar texto", - "generate video tracks": "Generar pistas de video", - "generated": "Generados", - "generated assets": "Recursos generados", - "generated on": "Generado en", - "generating video…": "Generando video…", - "generating…": "Generando…", - "generation failed": "Generación fallida", - "generation stalled": "Generación detenida", - "generation time (fastest first)": "Tiempo de generación (más rápido primero)", - "generation time (longest first)": "Tiempo de generación (más largo primero)", - "generation timed out": "Tiempo de generación agotado", - "generation type": "Tipo de generación", - "geometry estimation": "estimación de geometría", - "get 3d components": "Obtener componentes 3D", - "get fov from moge geometry": "Obtener FoV de la geometría MoGe", - "get ic-lora parameters": "Obtener parámetros IC-LoRA", - "get image from batch": "Imagen desde lote", - "get image size": "Obtener tamaño de imagen", - "get it manually": "Obtenerlo manualmente", - "get item from list": "Obtener elemento de la lista", - "get latent from batch": "Latente de lote", - "get mesh info": "Obtener información de malla", - "get one here": "Consíguela aquí", - "get splat": "Obtener Splat", - "get splat count": "Obtener recuento de splats", - "get started": "Empezar", - "get started with a template": "Comienza con una Plantilla", - "get video components": "Obtener componentes de video", - "get your results": "Obtén tus resultados", - "getting started": "Primeros Pasos", - "getting started options": "Opciones para empezar", - "github": "GitHub", - "gitsscheduler": "Programador GITS", - "give feedback": "Enviar comentarios", - "global floating point precision": "Precisión global de punto flotante", - "global settings": "Configuración global", - "global value": "Valor Global", - "glsl shader": "Shader GLSL", - "go to node": "Ir al nodo", - "google gemini omni (video)": "Google Gemini Omni (Vídeo)", - "google veo 3 video generation": "Generación de video Google Veo 3", - "gpu usage": "Uso de GPU", - "grain extract": "Extraer grano", - "grain merge": "Fusionar grano", - "graph": "Gráfico", - "graph mode": "Modo gráfico", - "graph navigation": "Navegación de gráficos", - "green": "Verde", - "grid": "Cuadrícula", - "grid (large)": "Cuadrícula (grande)", - "grid (small)": "Cuadrícula (pequeña)", - "grid spacing": "Espaciado de la cuadrícula", - "grid view": "Vista de cuadrícula", - "grok image": "Imagen Grok", - "grok image edit": "Edición de imagen Grok", - "grok reference-to-video": "Referencia a video Grok", - "grok video": "Video Grok", - "grok video edit": "Edición de video Grok", - "grok video extend": "Extender video Grok", - "group": "Grupo", - "group by": "Agrupar por", - "group by module source": "Agrupar por fuente del módulo", - "group by node category": "Agrupar por categoría de nodo", - "group selected nodes": "Agrupar nodos seleccionados", - "group selected nodes padding": "Relleno de nodos seleccionados en grupo", - "group settings": "Configuración de grupo", - "groups": "Grupos", - "grow mask": "Expandir máscara", - "guidance": "orientación", - "guider": "GUÍA", - "guiders": "guías", - "hand": "Mano", - "hang tight": "Espera un momento", - "happyhorse image to video": "HappyHorse Imagen a Video", - "happyhorse reference to video": "HappyHorse Referencia a Video", - "happyhorse text to video": "HappyHorse Texto a Video", - "happyhorse video edit": "HappyHorse Edición de Video", - "hard light": "Luz fuerte", - "hard mix": "Mezcla fuerte", - "hardness": "Dureza", - "hdr image": "Imagen HDR", - "hdr viewer": "Visor HDR", - "hdri": "Entorno HDRI", - "heart": "Corazón", - "height": "Alto", - "help & support": "Ayuda y soporte", - "help center": "Centro de ayuda", - "help center menu": "Menú del Centro de Ayuda", - "help fix this": "Ayuda a Solucionar Esto", - "help us improve": "Ayúdanos a mejorar", - "helpful": "Útil", - "heygen avatar video": "Video de Avatar HeyGen", - "heygen create avatar": "Crear Avatar HeyGen", - "heygen text to speech": "HeyGen Texto a Voz", - "hidden": "Oculto", - "hidden / nested parameters": "Parámetros ocultos/anidados", - "hide advanced": "Ocultar avanzado", - "hide advanced inputs": "Ocultar entradas avanzadas", - "hide built-in": "Ocultar incorporados", - "hide deprecated nodes": "Ocultar nodos obsoletos", - "hide dev-only nodes": "Ocultar nodos solo para desarrolladores", - "hide experimental nodes": "Ocultar nodos experimentales", - "hide features": "Ocultar funciones", - "hide gizmos": "Ocultar controles", - "hide left panel": "Ocultar panel izquierdo", - "hide link": "Ocultar enlace", - "hide links": "Ocultar Enlaces", - "hide menu": "Ocultar menú", - "hide minimap": "Ocultar minimapa", - "hide password": "Ocultar contraseña", - "hide referencing nodes": "Ocultar nodos de referencia", - "hide right panel": "Ocultar panel derecho", - "hide shot preview": "Ocultar vista previa del plano", - "hide subgraph nodes": "Ocultar nodos de subgráfica", - "hidream": "HiDream", - "hidream-o1 patch seam smoothing": "Suavizado de Costuras de Parches HiDream-O1", - "hidream-o1 reference images": "Imágenes de Referencia HiDream-O1", - "high angle": "Picado", - "histogram": "Histograma", - "hitpaw general image enhance": "HitPaw mejora general de imagen", - "hitpaw video enhance": "HitPaw mejora de vídeo", - "hook_keyframes": "GANCHO_FOTOGRAMAS_CLAVE", - "hooks": "ganchos", - "horizontal angle": "Ángulo horizontal", - "hue": "Tono", - "hunyuan 3d vae decode": "Decodificación VAE de Hunyuan 3D", - "hunyuan latent refiner": "Refinador de latentes Hunyuan", - "hunyuan3dv2conditioning": "Acondicionamiento Hunyuan 3D v2", - "hunyuan3dv2conditioningmultiview": "Acondicionamiento Hunyuan 3D v2 (multi-vista)", - "hunyuanimagetovideo": "Hunyuan imagen a video", - "hunyuanvideo15imagetovideo": "HunyuanVideo 1.5 imagen a video", - "i know my way around": "Ya tengo experiencia", - "i understand": "Entiendo", - "i'm a power user": "Soy usuario avanzado", - "icon": "Icono", - "ideogram 4 scheduler": "Planificador Ideogram 4", - "if/else switch": "Interruptor", - "image": "Imagen", - "image api": "API de Imagen", - "image color": "Color de Imagen", - "image compare": "Comparación de imágenes", - "image comparison": "Comparación de imágenes", - "image composite masked": "Componer imagen con máscara", - "image does not exist": "La imagen no existe", - "image failed to load": "Falló la carga de la imagen", - "image filters & effects": "Filtros y Efectos de Imagen", - "image gallery": "galería de imágenes", - "image histogram": "Histograma de imagen", - "image layer": "Capa de imagen", - "image not loaded": "Imagen no cargada", - "image preview": "Vista previa de imagen", - "image rgb to yuv": "Imagen RGB a YUV", - "image selection & masking": "Selección y Enmascarado de Imagen", - "image to image": "Imagen a imagen", - "image transform": "Transformación de Imagen", - "image url": "URL de la imagen", - "image utilities": "Utilidades de Imagen", - "image yuv to rgb": "Imagen YUV a RGB", - "imagecompare": "COMPARARIMÁGENES", - "imageonlycheckpointsave": "Guardar punto de control (solo imagen)", - "images": "Imágenes", - "import": "Importar", - "import a model": "Importar un modelo", - "import a model from civitai": "Importar un modelo de Civitai", - "import another": "Importar otro", - "import assets & open workflow": "Importar recursos y abrir flujo de trabajo", - "import failed": "Importación Fallida", - "import failed extensions": "Extensiones con Importación Fallida", - "import keybinding preset": "Importar preajuste de atajos", - "import not supported": "Importación no soportada", - "import preset": "Importar preajuste", - "import your own loras": "Importa tus propios LoRAs", - "import your own models": "Importa tus propios modelos", - "imported": "Importados", - "imported assets": "Recursos importados", - "importing models": "Importando modelos", - "in library": "En la biblioteca", - "in progress": "En progreso", - "in workflow": "En Flujo de Trabajo", - "inactive": "Inactiva", - "inactive team subscription": "Suscripción de equipo inactiva", - "inbox": "Bandeja de entrada", - "included": "Incluido", - "increase brush size in maskeditor": "Aumentar tamaño del pincel en MaskEditor", - "increment": "Incrementar", - "increment value": "Incrementar valor", - "inference": "Inferencia", - "infinite talk": "charla infinita", - "info": "Información", - "initial background color": "Color de fondo inicial", - "initial camera type": "Tipo de cámara inicial", - "initial grid visibility": "Visibilidad inicial de la cuadrícula", - "initial light intensity": "Intensidad de luz inicial", - "initializing - almost ready": "Inicializando - Casi listo", - "inner cone": "Cono interior", - "inpainting": "Relleno inteligente", - "inpaintmodelconditioning": "Acondicionamiento modelo inpainting", - "input": "Entrada", - "input assets": "Recursos de entrada", - "input directory": "Directorio de entrada", - "input image couldn't be loaded": "No se pudo cargar la imagen de entrada", - "input out of range": "Entrada fuera de rango", - "inputs": "Entradas", - "inputs & outputs": "Entradas y Salidas", - "inputs will show up here": "Las entradas aparecerán aquí", - "insert": "Insertar", - "insert all assets as nodes": "Insertar todos los recursos como nodos", - "insert as node in workflow": "Insertar como nodo en el flujo de trabajo", - "inspect asset": "Inspeccionar recurso", - "install": "Instalar", - "install all": "Instalar todos los nodos faltantes", - "install anyway": "Instalar de Todos Modos", - "install error": "Error de Instalación", - "install location": "Ubicación de Instalación", - "install missing custom nodes": "Instalar nodos personalizados faltantes", - "install missing nodes": "Instalar nodos faltantes", - "install required": "Instalación requerida", - "install selected": "Instalar Seleccionado", - "installation queue": "Cola de Instalación", - "installation required": "Instalación requerida", - "installed": "Instalado", - "installing": "Instalando", - "installing comfyui": "Instalando ComfyUI", - "instant": "Instantáneo", - "instructions": "Instrucciones", - "instructions are required": "Las instrucciones son obligatorias", - "instructpix2pix": "instruirpix2pix", - "instructpixtopixconditioning": "Acondicionamiento InstructPix2Pix", - "insufficient credits": "Créditos insuficientes", - "int": "ENTERO", - "intensity": "Intensidad", - "interface overview": "Resumen de la interfaz", - "interp_model": "MODELO_INTERP", - "interrupt": "Interrumpir", - "interrupt all running jobs": "Interrumpir todos los trabajos en ejecución", - "interrupted": "Interrumpido", - "invalid api key": "Clave API no válida", - "invalid asset": "Recurso no válido", - "invalid clip input": "Entrada CLIP inválida", - "invalid connection": "Conexión inválida", - "invalid email address": "Dirección de correo electrónico inválida", - "invalid filename": "Nombre de archivo no válido", - "invalid input": "Entrada inválida", - "invalid portal url": "URL del portal no válida", - "invalid workflow": "Flujo de trabajo inválido", - "invalid workflow request": "Solicitud de flujo de trabajo inválida", - "invert": "Invertir", - "invert image colors": "Invertir imagen", - "invert mask": "Invertir máscara", - "invite": "Invitar", - "invite accepted": "Invitación aceptada", - "invite date": "Fecha de invitación", - "invite link copied": "Enlace de invitación copiado", - "invite member": "Invitar miembro", - "invite members": "Invitar miembros", - "invite members to this workspace": "Invitar a una persona a este espacio de trabajo", - "invite resent": "Invitación reenviada", - "invite team members": "Invita a miembros del equipo", - "invite up to": "Invita hasta", - "invite your team": "Invita a tu equipo", - "invoice history": "Historial de facturas", - "invoices": "Facturas", - "issue detected | issues detected": "Problema detectado | Problemas detectados", - "issues": "Problemas", - "items copied to clipboard": "Elementos copiados al portapapeles", - "items failed to delete": "No se pudieron eliminar algunos elementos", - "items per page": "Elementos por página", - "job": "Tarea", - "job completed": "Trabajo completado", - "job details": "Detalles del trabajo", - "job failed": "Trabajo fallido", - "job history": "Historial de trabajos", - "job id": "ID de trabajo", - "job id copied to clipboard": "ID de trabajo copiado al portapapeles", - "job queue": "Cola de trabajos", - "job queued": "Trabajo añadido a la cola", - "job queuing": "Encolando trabajo", - "jobs": "Tareas", - "join audio channels": "Unir canales de audio", - "join image with alpha": "Unir imagen con alfa", - "join the waitlist": "Únete a la lista de espera", - "jump to": "Ir a", - "just exploring": "Solo explorando", - "kandinsky5imagetovideo": "Kandinsky 5 imagen a video", - "karrasscheduler": "Programador Karras", - "keep my plan": "Mantener mi plan", - "keep original order": "Mantener el orden original", - "keybinding": "Combinación de teclas", - "keybinding already exists on": "La combinación de teclas ya existe en", - "keybinding preset imported": "Preajuste de atajos importado", - "keybindings": "Atajos de teclado", - "keyboard shortcuts": "Atajos de teclado", - "kling image(first frame) to video": "Kling imagen (primer fotograma) a video", - "kling motion control": "Kling control de movimiento", - "kling start-end frame to video": "Kling fotograma Inicial-Final a video", - "kling text to video": "Kling texto a video", - "kling virtual try-on": "Prueba virtual de Kling", - "krea 2 image": "Krea 2 Imagen", - "krea 2 style reference": "Referencia de Estilo Krea 2", - "ksampler (advanced)": "KSampler (Avanzado)", - "ksamplerselect": "Seleccionar KSampler", - "language": "Idioma", - "laplacescheduler": "Programador Laplace", - "last activity": "Última actividad", - "last updated": "Última Actualización", - "latent": "latente", - "latent blend": "Mezcla latente", - "latent composite": "Compuesto latente", - "latent composite masked": "Componer latente con máscara", - "latent operation blend": "Mezcla de operación latent", - "latent_operation": "OPERACIÓN_LATENTE", - "latentadd": "Sumar latentes", - "latentapplyoperation": "Aplicar operación a latente", - "latentapplyoperationcfg": "Aplicar operación CFG a latente", - "latentbatchseedbehavior": "Comportamiento semilla de lote latente", - "latentconcat": "Concatenar latentes", - "latentcut": "Cortar latente", - "latentcuttobatch": "Cortar latente a lote", - "latentinterpolate": "Interpolar latentes", - "latentmultiply": "Multiplicar latente", - "latentoperationsharpen": "Operación de enfoque de latente", - "latentoperationtonemapreinhard": "Operación latente tonemap Reinhard", - "latentsubtract": "Restar latentes", - "later": "Más tarde", - "latest": "Última", - "latest active": "Última activa", - "latest installable": "Última instalable", - "latest stable": "Última estable", - "layers": "Capas", - "layers from bounding boxes": "Capas desde cajas delimitadoras", - "learn about cloud": "Conoce más sobre Cloud", - "learn more": "Aprende más", - "learn more about data collection": "Aprende más sobre la recolección de datos", - "leave": "Abandonar", - "leave workspace": "Abandonar espacio de trabajo", - "leaves value unchanged": "Deja el valor sin cambios", - "left": "Izquierda", - "left mouse click behavior": "Comportamiento del clic izquierdo del ratón", - "left side": "Lado izquierdo", - "left workspace": "Saliste del espacio de trabajo", - "legacy": "Clásico", - "let's get to know you": "Encuesta en la Nube", - "let's make something": "Vamos a crear algo", - "license": "Licencia", - "light": "Claro", - "light adjustment increment": "Incremento de ajuste de luz", - "light intensity": "Intensidad de luz", - "light intensity maximum": "Intensidad máxima de luz", - "light intensity minimum": "Intensidad mínima de luz", - "light pos": "Posición de la luz", - "light settings": "Configuración de Luz", - "lighten": "Aclarar", - "linear": "Lineal", - "linear burn": "Sobreexposición lineal", - "linear dodge": "Subexposición lineal", - "linear light": "Luz lineal", - "lineart": "Arte lineal", - "link": "Enlace", - "link midpoint markers": "Marcadores de punto medio de enlace", - "link release": "Liberación de Enlace", - "link render mode": "Modo de renderizado de enlace", - "link shape": "Forma del enlace", - "link to": "Vincular a", - "list view": "Vista de lista", - "litegraph": "litegraph (heredado)", - "live preview": "Vista previa en vivo", - "live preview method": "Método de vista previa en vivo", - "live sampling preview": "Vista previa de muestreo en vivo", - "live selection": "Selección en vivo", - "llm api": "API LLM", - "load 3d & animation": "Cargar 3D", - "load 3d (advanced)": "Cargar 3D (Avanzado)", - "load a template": "Cargar una plantilla", - "load all folders": "Cargar todas las carpetas", - "load audio": "Cargar audio", - "load audio encoder": "Cargar codificador de audio", - "load background removal model": "Cargar modelo de eliminación de fondo", - "load checkpoint": "Cargar punto de control", - "load checkpoint with config": "Cargar punto de control con configuración (OBSOLETO)", - "load clip": "Cargar CLIP", - "load clip (dual)": "Cargar CLIP dual", - "load clip (quadruple)": "Cargar CLIP cuádruple", - "load clip (triple)": "Cargar CLIP triple", - "load clip vision": "Cargar CLIP vision", - "load conditioning": "Cargar condicionamiento", - "load controlnet model": "Cargar modelo ControlNet", - "load controlnet model (diff)": "Cargar modelo ControlNet (diff)", - "load default workflow": "Cargar flujo de trabajo predeterminado", - "load depth anything 3": "Cargar Depth Anything 3", - "load diffusers model": "Cargar modelo Diffusers (obsoleto)", - "load diffusion model": "Cargar modelo de difusión", - "load face detection model (mediapipe)": "Cargar MediaPipe Face Landmarker", - "load frame interpolation model": "Cargar modelo de interpolación de fotogramas", - "load gligen model": "Cargar GLIGEN", - "load hypernetwork": "Cargar hypernetwork", - "load image": "Cargar imagen", - "load image (as mask)": "Cargar imagen (como máscara)", - "load image (from folder)": "Cargar conjunto de imágenes desde carpeta", - "load image (from outputs)": "Cargar imagen (desde salidas)", - "load image-text (from folder)": "Cargar conjunto de imágenes y texto desde carpeta", - "load latent": "Cargar latente", - "load latent upscale model": "Cargar modelo de escalado latent", - "load lora": "Cargar LoRA", - "load lora (bypass) (for debugging)": "Cargar LoRA (Bypass) (Para depuración)", - "load lora (model and clip)": "Cargar LoRA (modelo y CLIP)", - "load lora (model)": "Cargar LoRA (modelo)", - "load lora (text encoder)": "Cargar LoRA (codificador de texto)", - "load lora model": "Cargar modelo LoRA", - "load ltxv audio text encoder": "Cargador de codificador de texto LTXV audio", - "load ltxv audio vae": "Cargador de LTXV audio VAE", - "load model patch": "Cargar parche de modelo", - "load moge model": "Cargar modelo MoGe", - "load optical flow model": "Cargar modelo de flujo óptico", - "load photomaker model": "Cargar PhotoMaker", - "load sam3d body model": "Cargar modelo de cuerpo SAM3D", - "load style model": "Cargar modelo de estilo", - "load training dataset": "Cargar conjunto de datos de entrenamiento", - "load unclip checkpoint": "Cargar punto de control unCLIP", - "load upscale model": "Cargar modelo de escala superior", - "load vae": "Cargar VAE", - "load video": "Cargar video", - "load video (from folder)": "Cargar Video (desde Carpeta)", - "load video-text (from folder)": "Cargar Video-Texto (desde Carpeta)", - "load workflow": "Cargar flujo de trabajo", - "load3d_camera": "CARGAR CÁMARA 3D", - "load3d_model_info": "CARGAR_INFO_MODELO_3D", - "load_3d": "CARGAR_3D", - "loaders": "cargadores", - "loading": "Cargando", - "loading asset": "Cargando recurso", - "loading authorization request…": "Cargando solicitud de autorización…", - "loading background image": "Cargando imagen de fondo", - "loading error": "Error de carga", - "loading filmstrip…": "Cargando tira de película…", - "loading human interface": "Finalizando...", - "loading partner model access": "Cargando acceso a nodos de socios", - "loading skills…": "Cargando habilidades…", - "loading video preview": "Cargando vista previa del video", - "loading…": "Cargando…", - "locale": "Localización", - "locate node on canvas": "Localizar nodo en el lienzo", - "lock aspect ratio": "Bloquear relación de aspecto", - "lock camera": "Bloquear cámara", - "lock canvas": "Bloquear Lienzo", - "log in to your account": "Inicia sesión en tu cuenta", - "log in with github": "Iniciar sesión con Github", - "log in with google": "Iniciar sesión con Google", - "log out": "Cerrar sesión", - "logging verbosity level": "Nivel de verbosidad de registro", - "logic": "lógica", - "login": "Iniciar sesión", - "login failed": "Inicio de sesión fallido", - "login successful": "Inicio de sesión exitoso", - "logout": "Cerrar sesión", - "logs": "Registros", - "looping": "bucle", - "lora_model": "MODELO_LORA", - "loss_map": "MAPA_PÉRDIDAS", - "lotusconditioning": "Acondicionamiento Lotus", - "low angle": "Contrapicado", - "ltxv add generated keyframes": "LTXV Añadir fotogramas clave generados", - "ltxv add latent guide": "LTXV Añadir guía latente", - "ltxv audio vae decode": "Decodificar LTXV audio VAE", - "ltxv audio vae encode": "Codificar LTXV audio VAE", - "ltxv context windows": "Ventanas de Contexto LTXV", - "ltxv freeze latent": "LTXV Congelar latente", - "ltxv generated keyframes to guides": "LTXV Fotogramas clave generados a guías", - "ltxv preprocess": "Preprocesar LTXV", - "ltxv separate generated keyframes": "LTXV Separar fotogramas clave generados", - "ltxvaddguide": "Añadir guía LTXV", - "ltxvconditioning": "Acondicionamiento LTXV", - "ltxvcropguides": "Recortar guías LTXV", - "ltxvimgtovideo": "LTXV imagen a video", - "ltxvimgtovideoinplace": "LTXV imagen a video (in-place)", - "ltxvlatentupsampler": "Ampliar latente LTXV", - "ltxvscheduler": "Programador LTXV", - "luma concepts": "Conceptos Luma", - "luma image to image": "Luma imagen a imagen", - "luma image to video": "Luma imagen a vídeo", - "luma reference": "Referencia Luma", - "luma text to image": "Luma texto a imagen", - "luma text to video": "Luma texto a video", - "luma_concepts": "CONCEPTOS LUMA", - "luma_ref": "REFERENCIA LUMA", - "luminance": "Luminancia", - "luminosity": "Luminosidad", - "macos (m1 or later)": "MacOS (M1 o posterior)", - "magnific image relight": "Magnific relight de imagen", - "magnific image skin enhancer": "Magnific mejorador de piel en imagen", - "magnific image style transfer": "Transferencia de estilo de imagen Magnific", - "magnific image upscale (creative)": "Magnific Image Upscale (creativo)", - "magnific image upscale (precise v2)": "Magnific Image Upscale (preciso V2)", - "maintenance": "Mantenimiento", - "make image grid": "Cuadrícula de imágenes", - "make owner": "Hacer propietario", - "make training dataset": "Crear conjunto de datos de entrenamiento", - "manage": "Administrar", - "manage billing": "Gestionar facturación", - "manage extensions": "Gestionar extensiones", - "manage plan": "Gestionar plan", - "manage shortcuts": "Gestionar atajos", - "manage subscription": "Gestionar suscripción", - "manager": "Administrador", - "manager extension": "Extensión del Administrador", - "manager menu": "Menú de gestión (heredado)", - "manual configuration": "Configuración Manual", - "manual setup": "Configuración Manual", - "manually configure python venv": "Configurar manualmente el entorno virtual de python", - "manualsigmas": "Sigmas manuales", - "marigold v2 post-process": "Posprocesado de Marigold V2", - "mask": "máscara", - "mask blending options": "Opciones de fusión de máscara", - "mask editor": "Editor de máscara", - "mask layer": "Capa de máscara", - "mask opacity": "Opacidad de máscara", - "mask tolerance": "Tolerancia de máscara", - "match text": "Coincidencia regex", - "material mode": "Modo de material", - "math expression": "Expresión matemática", - "max": "Máx", - "max run duration": "Duración máxima de cada ejecución de flujo de trabajo", - "maximize dialog": "Maximizar diálogo", - "maximize panel": "Maximizar panel", - "maximum fps": "FPS máximo", - "maximum selection limit reached": "Se alcanzó el límite máximo de selección", - "maximum upload size (mb)": "Tamaño máximo de carga (MB)", - "mean": "Media", - "media assets": "Recursos multimedia", - "media input missing": "Falta entrada de medio", - "media type": "Tipo de medio", - "medium shot": "Plano medio", - "meet comfy agent": "Conoce a Comfy Agent", - "meet your comfy agent": "Conoce a tu agente de Comfy", - "member": "Miembro", - "member removed": "Miembro eliminado", - "members": "Miembros", - "members can run workflows concurrently": "Los miembros pueden ejecutar flujos de trabajo simultáneamente", - "memory": "Memoria", - "mention a node": "Mencionar un nodo", - "mention nodes from graph": "Menciona nodos del grafo", - "menu": "Menú", - "merge audio": "Combinar audio", - "merge image lists": "Unir listas de imágenes", - "merge meshes": "Combinar mallas", - "merge seedvr2 latents": "Unir latentes de SeedVR2", - "merge splats": "Unir splats", - "merge text lists": "Unir listas de textos", - "merging": "fusión", - "mesh": "malla", - "mesh texture to image": "Textura de malla a imagen", - "message failed to send": "No se pudo enviar el mensaje", - "message support": "Contactar soporte", - "meta muse image edit": "Edición de imágenes Meta Muse", - "method": "Método", - "method used for latent previews": "Método utilizado para las vistas previas latentes", - "metrics disabled": "Métricas Deshabilitadas", - "metrics enabled": "Métricas Habilitadas", - "microphone permission denied": "Permiso de micrófono denegado", - "migrate": "Migrar", - "migrate from existing installation": "Migrar desde instalación existente", - "migration": "Migración", - "min": "Mín", - "minimap": "Minimapa", - "minimax h3 first-last-frame to video": "MiniMax H3 Primer-Último Fotograma a Video", - "minimax h3 image to video": "MiniMax H3 Imagen a Video", - "minimax h3 reference to video": "MiniMax H3 Referencia a Video", - "minimax h3 regenerate to 2k": "Regenerar MiniMax H3 a 2K", - "minimax h3 text to video": "MiniMax H3 Texto a Video", - "minimax hailuo 02 video": "MiniMax Hailuo Video", - "minimax image to video": "MiniMax imagen a video", - "minimax music3 text encode": "Codificación de texto MiniMax Music3", - "minimax text to video": "MiniMax texto a video", - "minimize node": "Minimizar Nodo", - "minimize panel": "Minimizar panel", - "mirror horizontal": "Espejar horizontalmente", - "mirror horizontal in maskeditor": "Espejar horizontalmente en el editor de máscaras", - "mirror settings": "Configuraciones de Espejo", - "mirror vertical": "Espejar verticalmente", - "mirror vertical in maskeditor": "Espejar verticalmente en el editor de máscaras", - "missing": "Faltante", - "missing connection": "Conexión faltante", - "missing features or models": "Faltan funciones o modelos", - "missing inputs": "Entradas faltantes", - "missing media inputs": "Faltan entradas de medio", - "missing models": "Modelos faltantes", - "missing node packs": "Paquetes de nodos faltantes", - "missing node type": "Falta tipo de nodo", - "missing nodes": "Nodos faltantes", - "model": "modelo", - "model access required": "Acceso al modelo requerido", - "model attention backend": "Backend de atención del modelo", - "model description": "Descripción del modelo", - "model download failed": "Descarga del modelo fallida", - "model filter": "Filtro de modelo", - "model info": "Información del modelo", - "model library": "Biblioteca de modelos", - "model name": "Nombre del modelo", - "model providers": "Proveedores de modelos", - "model settings": "Configuración de Modelo", - "model size (low to high)": "Tamaño del modelo (de bajo a alto)", - "model sparse attention": "Atención dispersa por bloques del modelo", - "model specific": "específico del modelo", - "model tagging": "Etiquetado del modelo", - "model type": "Tipo de modelo", - "model_patch": "PARCHE_MODELO", - "model_task_id": "ID_TAREA_MODELO", - "modelcomputedtype": "Tipo de dato de cómputo del modelo", - "modelmergeadd": "Fusionar modelo (sumar)", - "modelmergeauraflow": "Fusionar modelo Auraflow", - "modelmergeblocks": "Fusionar modelo (bloques)", - "modelmergecosmos14b": "Fusionar modelo Cosmos 14B", - "modelmergecosmos7b": "Fusionar modelo Cosmos 7B", - "modelmergecosmospredict2_14b": "Fusionar modelo Cosmos Predict2 14B", - "modelmergecosmospredict2_2b": "Fusionar modelo Cosmos Predict2 2B", - "modelmergeflux1": "Fusionar modelo Flux 1", - "modelmergeltxv": "Fusionar modelo LTXV", - "modelmergemochipreview": "Fusionar modelo Mochi Preview", - "modelmergeqwenimage": "Fusionar modelo Qwen Image", - "modelmergesd1": "Fusionar modelo SD 1", - "modelmergesd2": "Fusionar modelo SD 2", - "modelmergesd35_large": "Fusionar modelo SD 3.5 Large", - "modelmergesd3_2b": "Fusionar modelo SD3 2B", - "modelmergesdxl": "Fusionar modelo SDXL", - "modelmergesimple": "Fusionar modelo (simple)", - "modelmergesubtract": "Fusionar modelo (restar)", - "modelmergewan2_1": "Fusionar modelo WAN 2.1", - "modelnoisescale": "Escala de Ruido del Modelo", - "models": "Modelos", - "models aren't available on cloud": "Modelos no disponibles en la nube", - "models ready to use": "Modelos Listos para Usar", - "modelsamplingauraflow": "Muestreo de modelo AuraFlow", - "modelsamplingcontinuousedm": "Muestreo de modelo EDM continuo", - "modelsamplingcontinuousv": "Muestreo de modelo V continuo", - "modelsamplingdiscrete": "Muestreo de modelo discreto", - "modelsamplingflux": "Muestreo de modelo Flux", - "modelsamplingltxv": "Muestreo de modelo LTXV", - "modelsamplingminimaxh3": "MiniMax H3 Sigma Shift", - "modelsamplingsd3": "Muestreo de modelo SD3", - "modelsamplingstablecascade": "Muestreo de modelo Stable Cascade", - "modelsave": "Guardar modelo", - "modify keybinding": "Modificar atajo de teclado", - "module": "Módulo", - "monthly": "Mensual", - "monthly credit bonus": "Bono de créditos mensual", - "monthly credits": "créditos mensuales", - "monthly credits / member": "Créditos mensuales / miembro", - "monthly credits are used up": "Los créditos mensuales se han agotado", - "monthly credits, top up anytime": "Más créditos mensuales, recarga en cualquier momento", - "monthly plan": "plan mensual", - "more details on this template": "Más detalles sobre esta plantilla", - "more options": "Más Opciones", - "more workflows": "Más flujos de trabajo", - "most popular": "Más Popular", - "most recent": "Más reciente", - "most relevant": "Más relevante", - "mouse wheel scroll": "Desplazamiento de la rueda del ratón", - "move": "mover", - "move layer down": "Mover capa abajo", - "move layer up": "Mover capa arriba", - "move selected nodes down": "Mover nodos seleccionados hacia abajo", - "move selected nodes left": "Mover nodos seleccionados hacia la izquierda", - "move selected nodes right": "Mover nodos seleccionados hacia la derecha", - "move selected nodes up": "Mover nodos seleccionados hacia arriba", - "multi-select": "Selección múltiple", - "multi-select dropdown": "Menú desplegable de selección múltiple", - "multigpu cfg split": "División CFG MultiGPU", - "multiple assets selected": "Varios recursos seleccionados", - "multiply": "Multiplicar", - "mute": "Silenciar", - "mute open-weights clip": "Silenciar clip de pesos abiertos", - "mute partner-node clip": "Silenciar clip de nodo asociado", - "mute/unmute selected nodes": "Silenciar/Activar sonido de nodos seleccionados", - "my account settings": "Configuración de usuario", - "my blueprints": "Mis planos", - "my models": "Mis modelos", - "name (a → z)": "Nombre (A → Z)", - "name (z → a)": "Nombre (Z → A)", - "name is required": "El nombre es obligatorio", - "native app": "Aplicación nativa", - "natural up": "Arriba natural", - "navigation mode": "Modo de navegación del lienzo", - "negative": "Negativo", - "network": "Red", - "new blank workflow": "Nuevo flujo de trabajo en blanco", - "new chat": "Nuevo chat", - "new folder": "Nueva carpeta", - "new monthly subscription": "Nueva suscripción mensual", - "new node library design": "Nuevo diseño de la biblioteca de nodos", - "new to comfyui": "Nuevo en ComfyUI", - "new user": "Nuevo usuario", - "new workspace": "Nuevo espacio de trabajo", - "newest": "Más reciente", - "newest first": "Más recientes primero", - "next billing cycle": "próximo ciclo de facturación", - "next image": "Imagen siguiente", - "next invoice": "Próxima factura", - "next opened workflow": "Siguiente flujo de trabajo abierto", - "next slide": "Siguiente diapositiva", - "nightly": "Nocturna", - "no 3d scene to export": "No hay escena 3D para exportar", - "no action": "sin acción", - "no active jobs": "No hay trabajos activos", - "no additional tags": "Sin etiquetas adicionales", - "no assets found": "No se encontraron recursos", - "no audio recorded": "No se grabó audio", - "no bookmarks yet": "Aún no hay favoritos", - "no color": "Sin Color", - "no conflicts detected": "No se detectaron conflictos", - "no conversations yet": "Aún no hay conversaciones", - "no description available": "No hay descripción disponible", - "no description set": "Sin descripción", - "no extensions in workflow": "Sin extensiones en el flujo de trabajo", - "no extensions installed": "No hay extensiones instaladas", - "no favorited inputs": "SIN ENTRADAS FAVORITAS", - "no files found": "No se encontraron archivos", - "no generated files found": "No se encontraron archivos generados", - "no images to compare": "No hay imágenes para comparar", - "no imported files found": "No se encontraron archivos importados", - "no input image connected": "No hay imagen de entrada conectada", - "no inputs": "SIN ENTRADAS", - "no inputs added yet": "Aún no se han agregado entradas", - "no issues": "Sin problemas", - "no items match your search": "Ningún elemento coincide con tu búsqueda", - "no keybinding": "Sin atajo", - "no limit": "Sin límite", - "no matches": "Sin coincidencias", - "no members": "No hay miembros", - "no missing nodes": "No hay nodos faltantes", - "no nodes": "SIN NODOS", - "no nodes available to reference": "No hay nodos disponibles como referencia", - "no nodes found": "No se encontraron nodos", - "no nodes in this workflow": "No hay nodos en este flujo de trabajo", - "no output nodes added yet": "Aún no se han agregado nodos de salida", - "no output nodes selected": "No hay nodos de salida seleccionados", - "no outputs added yet": "Aún no se han añadido salidas", - "no pending invites": "No hay invitaciones pendientes", - "no recent releases": "No hay versiones recientes", - "no results": "Sin resultados", - "no results found": "No se encontraron resultados", - "no setup required": "No requiere configuración", - "no skills found": "No se encontraron habilidades", - "no stacktrace available": "No hay seguimiento de pila disponible", - "no tasks found": "No se encontraron tareas", - "no templates found": "No se encontraron plantillas", - "no templates to export": "No hay plantillas para exportar", - "no update found": "No se encontró ninguna actualización", - "no valid import source detected": "No se detectó una fuente de importación válida", - "no webcam image captured": "No se capturó ninguna imagen de la cámara web", - "no workflows available to reference": "No hay flujos de trabajo disponibles como referencia", - "node": "Nodo", - "node color": "Color del nodo", - "node colors": "Colores de nodos", - "node content error": "Error de Contenido del Nodo", - "node definitions updated": "Definiciones de nodos actualizadas", - "node graph": "Grafo de nodos", - "node has no inputs": "El nodo no tiene entradas", - "node header error": "Error de Encabezado del Nodo", - "node id badge mode": "Modo de insignia de ID de nodo", - "node info": "Información del Nodo", - "node library": "Biblioteca de nodos", - "node life cycle badge mode": "Modo de insignia de ciclo de vida del nodo", - "node links": "Enlaces de nodos", - "node opacity": "Opacidad del nodo", - "node pack": "Paquete de Nodos", - "node pack info": "Información del paquete de nodos", - "node preview": "Vista previa del nodo", - "node render error": "Error de Renderizado del Nodo", - "node search box": "Caja de Búsqueda de Nodo", - "node search box implementation": "Implementación de la caja de búsqueda de nodos", - "node slots error": "Error de Ranuras del Nodo", - "node source badge mode": "Modo de insignia de fuente de nodo", - "node state": "Estado del nodo", - "node templates": "Plantillas de Nodos", - "node widget": "Widget de Nodo", - "node widgets error": "Error de Widgets del Nodo", - "nodes": "Nodos", - "nodes aren't available on cloud": "Nodos no disponibles en la nube", - "nodes can be replaced": "Nodos pueden ser reemplazados", - "nodes manager": "Administrador de Nodos Personalizados", - "nodes running": "nodos en ejecución", - "noise": "ruido", - "normalize image colors": "Normalizar imágenes", - "normalized attention guidance": "Guía de atención normalizada", - "normalizevideolatentstart": "Normalizar inicio de latente de video", - "not available": "No Disponible", - "not helpful": "No útil", - "not included": "No incluido", - "not installed": "No instalado", - "not using it enough": "No lo uso lo suficiente", - "nothing selected": "Nada seleccionado", - "nothing to copy": "Nada para copiar", - "nothing to delete": "Nada para eliminar", - "nothing to duplicate": "Nada para duplicar", - "nothing to group": "Nada para agrupar", - "nothing to queue": "Nada para poner en cola", - "nothing to rename": "Nada para renombrar", - "notification": "Notificación", - "notification preferences": "Preferencias de notificación", - "number of frames": "Número de fotogramas", - "number of nodes suggestions": "Número de sugerencias de nodos", - "number of runs": "Número de ejecuciones:", - "object": "Objeto", - "ok, got it": "Entendido", - "oldest first": "Más antiguos primero", - "only applies to v1": "Solo se aplica a v1 (heredado)", - "only civitai urls are supported": "Solo se admiten URLs de Civitai", - "only for litegraph searchbox/context menu": "Solo para el cuadro de búsqueda/menú contextual de litegraph", - "only safetensor format is allowed": "Solo se permite el formato SafeTensor", - "opacity": "Opacidad", - "open about comfyui": "Abrir Acerca de ComfyUI", - "open all workflows": "Abrir todos los flujos de trabajo", - "open clipspace": "Abrir Clipspace", - "open color picker in maskeditor": "Abrir selector de color en MaskEditor", - "open comfy-org discord": "Abrir Discord de Comfy-Org", - "open comfyui docs": "Abrir documentación de ComfyUI", - "open comfyui forum": "Abrir foro de ComfyUI", - "open comfyui issues": "Abrir problemas de ComfyUI", - "open compositor": "Abrir Compositor", - "open custom nodes folder": "Abrir carpeta de nodos personalizados", - "open dev tools": "Abrir herramientas de desarrollo", - "open devtools": "Abrir herramientas de desarrollo", - "open image": "Abrir Imagen", - "open in 3d viewer": "Abrir en Visor 3D", - "open in cloud": "Abrir en la nube", - "open in hdr viewer": "Abrir en el visor HDR", - "open in mask editor": "Abrir en Editor de Máscara", - "open inputs folder": "Abrir carpeta de entradas", - "open layer editor": "Abrir editor de capas", - "open logs": "Abrir registros", - "open logs folder": "Abrir carpeta de registros", - "open manager": "Abrir administrador", - "open models folder": "Abrir carpeta de modelos", - "open new issue": "Abrir nuevo problema", - "open node manager": "Abrir Administrador de Nodos", - "open nodes": "Nodos abiertos", - "open outputs folder": "Abrir carpeta de salidas", - "open shared workflow": "Abrir flujo de trabajo compartido", - "open sign in dialog": "Abrir diálogo de inicio de sesión", - "open without importing": "Abrir sin importar", - "open workflow": "Abrir flujo de trabajo", - "open workflow in new tab": "Abrir flujo de trabajo en nueva pestaña", - "openai chatgpt advanced options": "Opciones avanzadas de OpenAI ChatGPT", - "openai chatgpt input files": "Archivos de entrada de OpenAI ChatGPT", - "openai_chat_config": "CONFIGURACIÓN_CHAT_OPENAI", - "openai_input_files": "ARCHIVOS_ENTRADA_OPENAI", - "opened a new tab": "Abrió una pestaña nueva", - "opened workflows position": "Posición de los flujos de trabajo abiertos", - "opening a new tab": "Abriendo una nueva pestaña", - "openrouter image": "Imagen de OpenRouter", - "operations": "operaciones", - "optimalstepsscheduler": "Programador de pasos óptimos", - "or continue with": "O continuar con", - "original material only": "Solo material original", - "orthographic": "Ortográfica", - "other open workflows": "Otros flujos de trabajo abiertos", - "out of credits": "Sin créditos", - "outer cone": "Cono exterior", - "output": "Salida", - "output directory": "Directorio de salida", - "output view": "Vista de salida", - "outputs": "Salidas", - "overlay": "Superponer", - "overwrite": "Sobrescribir", - "overwrite preset": "Sobrescribir preajuste", - "owner": "Propietario", - "ownership": "Propiedad", - "packs selected": "Paquetes Seleccionados", - "pad image for outpainting": "Rellenar imagen para pintar fuera", - "paint bucket settings": "Configuración del bote de pintura", - "paint layer": "Capa de pintura", - "paint mesh": "Pintar malla", - "painter": "Pintor", - "pale blue": "Azul Pálido", - "pan mode": "Modo de desplazamiento", - "panel controls": "Controles de panel", - "panning": "Desplazamiento", - "parameters": "Parámetros", - "partner": "Socio", - "partner api": "API de socios", - "partner model providers": "Proveedores de nodos de socios", - "partner models": "Lista permitida", - "partner node usage": "Uso de nodo asociado", - "partner node used": "Nodo de socio usado", - "partner nodes": "Nodos asociados", - "partner nodes in this workflow": "Nodos asociados en este flujo de trabajo", - "partner nodes pricing": "Créditos de Nodos de Socio", - "partner nodes pricing table": "Tabla de precios de Partner Nodes", - "partner nodes require an account": "Los nodos asociados requieren una cuenta", - "password": "Contraseña", - "password requirements": "Requisitos de la contraseña", - "password reset email sent": "Correo electrónico de restablecimiento de contraseña enviado", - "password reset sent": "Restablecimiento de contraseña enviado", - "password updated": "Contraseña actualizada", - "passwords must match": "Las contraseñas deben coincidir", - "past 30 days": "Últimos 30 días", - "past 7 days": "Últimos 7 días", - "paste": "Pegar", - "paste image": "Pegar imagen", - "paste link here": "Pega el enlace aquí", - "paste with connect": "Pegar con conectar", - "patchmodeladddownscale (kohya deep shrink)": "Reducir modelo (Kohya Deep Shrink)", - "pause": "Pausar", - "pause download": "Pausar descarga", - "paused": "En pausa", - "pay and subscribe": "Pagar y suscribirse", - "payment method": "Método de pago", - "payment received — confirmation pending": "Pago recibido — confirmación pendiente", - "pending": "Pendiente", - "pending tasks deleted": "Tareas pendientes eliminadas", - "permissions": "Permisos", - "perp-neg (deprecated by perp-neg guider)": "Perp-Neg (obsoleto; usar la guía Perp-Neg)", - "perp-neg guider": "Guía PerpNeg", - "personal information": "Información personal", - "personal workspace": "Espacio de trabajo personal", - "perspective": "Perspectiva", - "perturbedattentionguidance": "Guía de atención perturbada", - "phantom subject": "sujeto fantasma", - "photomaker encode": "Codificar PhotoMaker", - "pid conditioning": "Condicionamiento PiD", - "pin": "Anclar", - "pin light": "Luz focal", - "pin/unpin selected items": "Anclar/Desanclar elementos seleccionados", - "pin/unpin selected nodes": "Anclar/Desanclar nodos seleccionados", - "pink": "Rosa", - "pinned": "Fijado", - "pip install mirror for pytorch": "Espejo de instalación pip para pytorch", - "pixal3d conditioning": "Condicionamiento Pixal3D", - "pixal3d multi-view conditioning": "Pixal3D Acondicionamiento multivista", - "pixverse image to video": "PixVerse imagen a video", - "pixverse template": "Plantilla de PixVerse", - "pixverse text to video": "PixVerse texto a video", - "pixverse transition video": "Video de transición PixVerse", - "pixverse v6 extend video": "PixVerse V6 Extender vídeo", - "pixverse v6 first-last-frame to video": "PixVerse V6 de primer a último fotograma a vídeo", - "pixverse v6 image to video": "PixVerse V6 de imagen a vídeo", - "pixverse v6 text to video": "PixVerse V6 de texto a vídeo", - "pixverse_template": "PLANTILLA PIXVERSE", - "plan & credits": "Plan y créditos", - "plan discount": "Descuento del plan", - "plan inactive": "Plan inactivo", - "plans & pricing": "Planes y precios", - "plans and credits": "Planes y créditos", - "play": "Reproducir", - "play recording": "Reproducir grabación", - "play/pause": "Reproducir/Pausar", - "playback speed": "Velocidad de reproducción", - "playing": "Reproduciendo", - "please help improve comfyui": "Por favor ayuda a mejorar ComfyUI", - "please select a workflow first": "Primero selecciona un flujo de trabajo", - "please select output nodes": "Por favor, selecciona los nodos de salida", - "plot loss graph": "Graficar pérdida", - "point": "Puntual", - "point cloud": "Nube de puntos", - "point cloud engine": "Motor PLY", - "pointer": "Puntero", - "pointer click drift (maximum distance)": "Deriva del clic del puntero (distancia máxima)", - "polyexponentialscheduler": "Programador poliexponencial", - "porter-duff image composite": "Composición de imagen Porter-Duff", - "position": "Posición", - "positive-biased guidance": "¡Mahiro es tan linda que merece una mejor función de guía!! (。・ω・。)", - "post-process seedvr2 output": "Posprocesar salida de SeedVR2", - "post-processors": "post-procesadores", - "pre-paid credits": "Créditos prepagados", - "pre-process seedvr2 input": "Preprocesar entrada de SeedVR2", - "pre-processors": "pre-procesadores", - "premium template": "Plantilla premium", - "preparation failed": "Preparación fallida", - "preparation timed out": "Tiempo de preparación agotado", - "preparing downloaded starter inputs": "Preparando las entradas iniciales descargadas", - "preprocessors": "preprocesadores", - "prevent attention upcast": "Prevenir la atención de upcast", - "preview": "VISTA PREVIA", - "preview 3d & animation": "Vista previa 3D y animación (OBSOLETO)", - "preview 3d (advanced)": "Vista previa 3D (Avanzado)", - "preview as text": "Vista previa como texto", - "preview audio": "Vista previa de audio", - "preview image": "Vista previa de imagen", - "preview image format": "Formato de imagen de vista previa", - "preview mask": "Previsualizar máscara", - "preview output": "Vista previa de salida", - "preview point cloud": "Vista previa de nube de puntos", - "preview splat": "Vista previa de Splat", - "preview version": "Versión preliminar", - "previous": "Anterior", - "previous image": "Imagen anterior", - "previous opened workflow": "Flujo de trabajo abierto anterior", - "previous slide": "Diapositiva anterior", - "primitive": "primitivo", - "privacy policy": "política de privacidad", - "processing video…": "Procesando video…", - "processing…": "Procesando…", - "products for others": "Productos para otros", - "profile": "Perfil", - "profile creation": "Creación de perfil", - "project & asset management": "Gestión de proyectos y recursos", - "promo code": "Código promocional", - "prompt execution failed": "La ejecución del prompt falló", - "prompt has no outputs": "El prompt no tiene salidas", - "prompt is empty": "El prompt está vacío", - "prompt validation failed": "La validación del prompt falló", - "properties": "Propiedades", - "properties panel": "Panel de Propiedades", - "provider": "Proveedor", - "provider is required": "El proveedor es obligatorio", - "pruna p-video-2 image to video": "Pruna P-Video-2 Imagen a vídeo", - "pruna p-video-2 text to video": "Pruna P-Video-2 de texto a vídeo", - "public models": "Modelos públicos", - "publish": "Publicar", - "publish failed": "Error al publicar", - "publish subgraph": "Publicar subgrafo", - "publish to comfy workflows": "Publicar en Comfy Workflows", - "published successfully": "Publicado con éxito", - "publisher": "Editor", - "purchase credits": "Comprar créditos", - "purchase failed": "Compra fallida", - "purple": "Morado", - "pypi install mirror": "Espejo de instalación Pypi", - "python install mirror": "Espejo de instalación Python", - "python version": "Versión de Python", - "pytorch version": "Versión de PyTorch", - "quantize image": "Cuantizar imagen", - "questions": "preguntas", - "queue": "Cola", - "queue button": "Botón de Cola", - "queue history size": "Tamaño del historial de la cola", - "queue panel": "Panel de Cola", - "queue position": "Posición en la cola", - "queue progress": "Progreso de la cola", - "queue prompt": "Indicador de cola", - "queue prompt (front)": "Indicador de cola (Frente)", - "queue selected output nodes": "Encolar nodos de salida seleccionados", - "queued": "En cola", - "queued at": "En cola a las", - "quick fix available": "Solución rápida disponible", - "quick purchase": "Compra rápida", - "quit": "Salir", - "quiver image to svg": "Imagen a SVG con Quiver (heredado)", - "quiver text to svg": "Quiver Texto a SVG (heredado)", - "ram free": "RAM Libre", - "randomize value": "Aleatorizar valor", - "randomnoise": "Ruido aleatorio", - "range": "Alcance", - "ratio": "Relación", - "re-authentication required": "Reautenticación requerida", - "re-install": "Reinstalar", - "reactivate team": "Reactivar Team", - "reactivating your subscription": "Reactivando tu suscripción", - "read the docs": "Leer la documentación", - "ready": "Listo", - "rebatch images": "Reagrupar imágenes", - "rebatch latents": "Reagrupar latentes", - "recent": "Reciente", - "recent releases": "Lanzamientos recientes", - "recents": "Recientes", - "recommended": "RECOMENDADO", - "reconnected": "Reconectado", - "reconnecting": "Reconectando", - "reconnecting to your account": "Reconectando con tu cuenta", - "record": "Grabar", - "record audio": "Grabar audio", - "recording": "Grabando", - "recraft color rgb": "Recraft color RGB", - "recraft controls": "Controles de Recraft", - "recraft create style": "Recraft crear estilo", - "recraft creative upscale image": "Recraft escalado creativo de imagen", - "recraft crisp upscale image": "Recraft escalado nítido de imagen", - "recraft image inpainting": "Recraft relleno de imagen", - "recraft remove background": "Recraft eliminar fondo", - "recraft replace background": "Recraft reemplazar fondo", - "recraft style - digital illustration": "Estilo Recraft - ilustración digital", - "recraft style - logo raster": "Estilo Recraft - logo ráster", - "recraft style - realistic image": "Recraft style - imagen realista", - "recraft v3 image to image": "Recraft Imagen a Imagen", - "recraft v3 text to image": "Recraft Texto a Imagen", - "recraft v3 text to vector": "Recraft Texto a Vector", - "recraft v4 text to image": "Recraft V4 texto a imagen", - "recraft v4 text to vector": "Recraft V4 texto a vector", - "recraft vectorize image": "Recraft vectorizar imagen", - "recraft_color": "COLOR RECRAFT", - "recraft_controls": "CONTROLES RECRAFT", - "recraft_v3_style": "ESTILO RECRAFT V3", - "red": "Rojo", - "redo": "Rehacer", - "reference": "Referencia", - "refills next cycle": "Recargas en el próximo ciclo", - "refresh": "Actualizar", - "refresh credits": "Actualizar créditos", - "refresh node": "Actualizar Nodo", - "refresh node definitions": "Actualizar definiciones de nodos", - "refreshing": "Actualizando", - "reinstall": "Reinstalar", - "relevance": "Relevancia", - "reload to apply changes": "Recargar para aplicar cambios", - "remaining": "restante", - "remesh mesh (narrow-band dc)": "Remallar malla (DC de banda estrecha)", - "remove": "Eliminar", - "remove all": "Eliminar todo", - "remove background": "Eliminar fondo", - "remove background image": "Eliminar imagen de fondo", - "remove bg": "Quitar fondo", - "remove bypass": "Eliminar Bypass", - "remove example image": "Eliminar imagen de ejemplo", - "remove from bookmarks": "Eliminar de marcadores", - "remove image": "Eliminar imagen", - "remove job": "Quitar trabajo", - "remove keybinding": "Eliminar combinación de teclas", - "remove light": "Eliminar luz", - "remove member": "Eliminar miembro", - "remove tag": "Eliminar etiqueta", - "remove video": "Eliminar video", - "rename": "Renombrar", - "rename widget": "Renombrar widget", - "rename workflow": "Renombrar flujo de trabajo", - "render 3d body pose": "Renderizar pose corporal 3D", - "render bypass state": "Mostrar estado de omisión", - "render depth anything 3": "Renderizar Depth Anything 3", - "render error state": "Mostrar estado de error", - "render mesh": "Renderizar malla", - "render moge geometry": "MoGe Renderizado", - "render uv atlas": "Renderizar atlas UV", - "renormcfg": "Renormalizar CFG", - "repeat image batch": "Repetir lote de imágenes", - "repeat latent batch": "Repetir lote latente", - "replace all": "Reemplazar todo", - "replace node": "Reemplazar nodo", - "replace text": "Reemplazar texto", - "replace text (regex)": "Reemplazo regex", - "replace video latent frames": "Reemplazar fotogramas de latente de video", - "replaceable": "Reemplazable", - "replaced": "Reemplazado", - "replay onboarding": "Repetir la introducción", - "report": "Reportar", - "report error": "Reportar error", - "report issue": "Reportar problema", - "report submitted": "Informe enviado", - "report to copy": "Informe para copiar", - "repository": "Repositorio", - "request failed": "Solicitud fallida", - "require confirmation when clearing workflow": "Requerir confirmación al borrar el flujo de trabajo", - "required": "Requerido", - "required input missing": "Falta entrada requerida", - "requirements": "Requisitos", - "requires additional credits": "Requiere créditos adicionales", - "reroute": "Reenrutar", - "reroute spline offset": "Desplazamiento de spline de reenrutamiento", - "rerun": "Volver a ejecutar", - "rescalecfg": "Reescalar CFG", - "resend invite": "Reenviar invitación", - "reserved vram (gb)": "VRAM reservada (GB)", - "reset": "Reiniciar", - "reset all": "Restablecer todo", - "reset all keybindings to default": "Restablecer todas las teclas de acceso rápido a la configuración predeterminada", - "reset all parameters": "Restablecer todos los parámetros", - "reset camera up to y": "Restablecer la vertical de la cámara a Y", - "reset canvas view": "Restablecer vista del lienzo", - "reset to default": "Restablecer a predeterminado", - "reset view": "Restablecer vista", - "reset view to default": "Restablecer vista a la predeterminada", - "resize": "Redimensionar", - "resize and pad image": "Redimensionar y rellenar imagen", - "resize from bottom-left corner": "Redimensionar desde la esquina inferior izquierda", - "resize from bottom-right corner": "Redimensionar desde la esquina inferior derecha", - "resize from top-left corner": "Redimensionar desde la esquina superior izquierda", - "resize from top-right corner": "Redimensionar desde la esquina superior derecha", - "resize image/mask": "Redimensionar imagen/máscara", - "resize images by longer edge": "Redimensionar imágenes por el borde más largo", - "resize images by shorter edge": "Redimensionar imágenes por el borde más corto", - "resize node to match output": "Redimensionar nodo para coincidir con la salida", - "resize selected nodes": "Redimensionar Nodos Seleccionados", - "resizing…": "Redimensionando…", - "resolution": "Resolución", - "resolution bucket": "Agrupación por resolución", - "resolution selector": "Selector de resolución", - "resolve before running the workflow": "Resuelve antes de ejecutar el flujo de trabajo", - "restart": "Reiniciar", - "restart required": "Reinicio requerido", - "restore": "Restaurar", - "restore camera up from input": "Restaurar la vertical de la cámara desde la entrada", - "restore dialog": "Restaurar diálogo", - "restore widget values by name": "Restaurar valores de widget por nombre", - "resubscribe": "Volver a suscribirse", - "resume download": "Reanudar descarga", - "resume plan": "Reanudar plan", - "resume subscription": "Reanudar suscripción", - "retarget_task_id": "ID_TAREA_REDESTINACIÓN", - "retry": "Reintentar", - "retry copy report": "Reintentar copiar el informe", - "retry download": "Reintentar descarga", - "retry now": "Reintentar ahora", - "reuse parameters": "Reutilizar parámetros", - "reve image create": "Reve crear imagen", - "reve image edit": "Reve editar imagen", - "reve image remix": "Reve mezclar imagen", - "revert changes": "Revertir cambios", - "review app layout": "Revisar el diseño de la aplicación", - "review your scheduled change": "Revisa tu cambio programado", - "rig_task_id": "ID_TAREA_ARMADURA", - "right": "Derecha", - "right side": "Lado derecho", - "role": "Rol", - "role updated": "Rol actualizado", - "role-based permissions": "Permisos basados en roles", - "rotate": "Rotar", - "rotate image": "RotarImagen", - "rotate latent": "Rotar latente", - "rotate left": "Girar a la izquierda", - "rotate left in maskeditor": "Girar a la izquierda en el editor de máscaras", - "rotate mesh": "Rotar malla", - "rotate right": "Girar a la derecha", - "rotate right in maskeditor": "Girar a la derecha en el editor de máscaras", - "rotation": "Rotación", - "round": "Redondo", - "run branch": "Ejecutar Rama", - "run comfyui in the cloud": "Ejecuta ComfyUI en la Nube", - "run could not start": "No se pudo iniciar la ejecución", - "run depth anything 3": "Ejecutar Depth Anything 3", - "run ended unexpectedly": "La ejecución terminó inesperadamente", - "run frame interpolation model": "Interpolar fotogramas", - "run moge inference": "Inferencia MoGe", - "run moge panorama inference": "Inferencia panorámica MoGe", - "run options": "Opciones de ejecución", - "run permissions": "Permisos de ejecución", - "run real-time detection (rt-detr)": "Detección RT-DETR", - "run sam3 video track": "Seguimiento de vídeo SAM3", - "run sam3d body prediction": "Ejecutar predicción de cuerpo SAM3D", - "run vae on cpu": "Ejecutar VAE en CPU", - "run workflow (queue at front)": "Ejecutar flujo de trabajo (Encolar al frente)", - "run workflow without permission": "Ejecutar el flujo de trabajo sin permiso", - "run workflows on your behalf": "Ejecutar flujos de trabajo en tu nombre", - "run your app": "Ejecuta tu app", - "run your workflow": "Ejecuta tu flujo de trabajo", - "running…": "Ejecutando…", - "runs offline": "Funciona sin conexión", - "runs with credits": "Se ejecuta con créditos", - "runway aleph2 keyframe": "Runway Aleph2 Fotograma Clave", - "runway aleph2 prompt image": "Runway Aleph2 Imagen de Guía", - "runway aleph2 video to video": "Runway Aleph2 Video a Video", - "runway first-last-frame to video": "Runway Primer-Fotograma-Último a video", - "runway text to image": "Runway texto a imagen", - "sad girl illustration": "Ilustración de chica triste", - "sam3 detect": "Detector SAM3", - "sam3 track preview": "Previsualizar seguimiento SAM3", - "sam3 track to mask": "Seguimiento a máscara SAM3", - "sample video frame": "Muestrear fotograma de video", - "sampler": "MUESTREADOR", - "sampler ar video": "Muestreador de video autorregresivo", - "samplercustom": "Muestreador personalizado", - "samplercustomadvanced": "Muestreador personalizado (avanzado)", - "samplerdpmadaptative": "Muestreador DPM adaptativo", - "samplerdpmpp_2m_sde": "Muestreador DPM++ 2M SDE", - "samplerdpmpp_2s_ancestral": "Muestreador DPM++ 2S ancestral", - "samplerdpmpp_3m_sde": "Muestreador DPM++ 3M SDE", - "samplerdpmpp_sde": "Muestreador DPM++ SDE", - "samplerer_sde": "Muestreador ER SDE", - "samplereulerancestral": "Muestreador Euler ancestral", - "samplerlcmupscale": "Muestreador LCM ampliar", - "samplerlms": "Muestreador LMS", - "samplers": "muestreadores", - "samplersasolver": "Muestreador SA-Solver", - "samplerseeds2": "Muestreador SEEDS2", - "sampling": "muestreo", - "samplingpercenttosigma": "Porcentaje de muestreo a sigma", - "saturation": "Saturación", - "save 20%": "Ahorra 20%", - "save 3d (advanced)": "Guardar 3D (Avanzado)", - "save 3d model": "Guardar GLB", - "save and switch": "Guardar y cambiar", - "save animated png": "Guardar PNG animado", - "save animated webp": "Guardar WEBP animado", - "save anyway": "Guardar de todos modos", - "save as new preset": "Guardar como nuevo preajuste", - "save as template": "Guardar como plantilla", - "save audio (advanced)": "Guardar audio (avanzado)", - "save audio (flac)": "Guardar audio", - "save audio (mp3)": "Guardar audio (MP3)", - "save audio (opus)": "Guardar audio (Opus)", - "save checkpoint": "Guardar punto de control", - "save conditioning": "Guardar condicionamiento", - "save failed": "Error al guardar", - "save image": "Guardar Imagen", - "save image (advanced)": "Guardar imagen (avanzado)", - "save image (to folder)": "Guardar conjunto de imágenes en carpeta", - "save image (websocket)": "Guardar imagen por websocket", - "save image-text (to folder)": "Guardar conjunto de imágenes y textos en carpeta", - "save latent": "Guardar latente", - "save lora weights": "Guardar pesos de LoRA", - "save point cloud": "Guardar Nube de Puntos", - "save selected as template": "Guardar Seleccionado como Plantilla", - "save splat": "Guardar Splat", - "save subgraph to library": "Guardar subgrafo en la biblioteca", - "save svg": "Guardar SVG", - "save to library": "Guardar en Biblioteca", - "save training dataset": "Guardar conjunto de datos de entrenamiento", - "save up to 20%": "Ahorra hasta un 20%", - "save video": "Guardar video", - "save webm": "Guardar WEBM", - "save workflow": "Guardar flujo de trabajo", - "save workflow as": "Guardar flujo de trabajo como", - "save workflow first": "Guarda el flujo de trabajo primero", - "saved a preference": "Guardó una preferencia", - "saved to nodes library": "Guardado en la biblioteca de nodos", - "saving": "Guardando", - "saving a preference": "Guardando una preferencia", - "saving workflow": "Guardando flujo de trabajo", - "saving…": "Guardando…", - "say what to change": "Di qué quieres cambiar", - "scale": "Escalar", - "scale image to max dimension": "Escalar imagen a dimensión máxima", - "scale image to total pixels": "Escalar imagen a total de píxeles", - "scalerope": "Escalar ROPE", - "scene": "Escena", - "scene settings": "Configuración de Escena", - "schedulers": "programadores", - "scheduling": "programación", - "screen": "Trama", - "scroll left": "Desplazar a la izquierda", - "scroll right": "Desplazar a la derecha", - "sd_4xupscale_conditioning": "Acondicionamiento SD ampliar 4X", - "sdpose draw keypoints": "Dibujar puntos clave SDPose", - "sdpose face bounding boxes": "Cajas delimitadoras faciales SDPose", - "sdpose keypoint extractor": "Extractor de puntos clave SDPose", - "sdturboscheduler": "Programador SD Turbo", - "search": "Buscar", - "search aliases": "Buscar alias", - "search assets": "Buscar recursos", - "search box": "caja de búsqueda", - "search extensions": "Buscar extensiones", - "search keybindings": "Buscar combinaciones de teclas", - "search models": "Buscar modelos", - "search nodes": "Buscar nodos", - "search settings": "Buscar configuraciones", - "search workflows": "Buscar flujos de trabajo", - "secret value": "Valor secreto", - "secret value is required": "El valor secreto es obligatorio", - "secrets": "Credenciales", - "see a tutorial": "Ver un tutorial", - "see details": "Ver detalles", - "see error": "Ver error", - "see more outputs": "Ver más resultados", - "see what's new": "¿Qué hay de nuevo?", - "seed": "Semilla", - "seek video": "Buscar en el video", - "select": "Seleccionar", - "select a thumbnail": "Selecciona una miniatura", - "select a user": "Selecciona un usuario", - "select all": "Seleccionar todo", - "select amount": "Seleccionar cantidad", - "select button": "Botón de selección", - "select clip device": "Seleccionar Dispositivo CLIP", - "select existing comfyui installation (optional)": "Selecciona instalación existente de ComfyUI (opcional)", - "select frameworks": "Seleccionar frameworks", - "select gpu": "Seleccionar GPU", - "select group children on click": "Seleccionar los elementos del grupo al hacer clic", - "select items to copy": "Selecciona elementos para copiar", - "select items to delete": "Selecciona elementos para eliminar", - "select items to duplicate": "Selecciona elementos para duplicar", - "select items to migrate": "Selecciona los Elementos a Migrar", - "select items to rename": "Selecciona elementos para renombrar", - "select mode": "Modo de selección", - "select model": "Seleccionar modelo", - "select model device": "Seleccionar Dispositivo del Modelo", - "select model type": "Selecciona el tipo de modelo", - "select node": "Seleccionar nodo", - "select projects": "Seleccionar proyectos", - "select vae device": "Seleccionar dispositivo VAE", - "select version": "Seleccionar Versión", - "selected": "Seleccionado", - "selected file": "Archivo seleccionado", - "selection opacity": "Opacidad de selección", - "self-attention guidance": "Orientación de Auto-Atención", - "send": "Enviar", - "send anonymous usage metrics": "Enviar métricas de uso anónimas", - "send invites": "Enviar invitaciones", - "send report": "Enviar informe", - "send reset link": "Enviar enlace de restablecimiento", - "sensenova sampling options": "Opciones de muestreo de SenseNova", - "separate av latent": "Separar AV Latent", - "separate tags with commas": "Separa las etiquetas con comas", - "server": "Servidor", - "server crashed": "El servidor falló", - "server error": "Error del servidor", - "server-config": "Configuración del Servidor", - "servers are busy": "Los servidores están ocupados", - "service error": "Error del servicio", - "set as background": "Establecer como fondo", - "set clip hooks": "Establecer ganchos CLIP", - "set credit limit": "Establecer límite de crédito", - "set group nodes to always": "Establecer nodos de grupo en Siempre", - "set group nodes to never": "Establecer nodos de grupo en Nunca", - "set hook keyframes": "Establecer fotogramas clave de gancho", - "set latent noise mask": "Establecer máscara de ruido latente", - "set reference audio": "Audio de referencia", - "set reference latent": "Latente de referencia", - "set subgraph description": "Establecer descripción del subgrafo", - "set subgraph search aliases": "Establecer alias de búsqueda del subgrafo", - "set union controlnet type": "Establecer tipo Union ControlNet", - "setfirstsigma": "Establecer primera sigma", - "settings": "Configuraciones", - "setup required": "Configuración requerida", - "shader": "sombreador", - "shape": "Forma", - "shapes": "Formas", - "share anyway": "Compartir de todos modos", - "share feedback": "Compartir comentarios", - "share url": "URL para compartir", - "share workflow": "Compartir flujo de trabajo", - "sharpen image": "Enfocar imagen", - "sheetsage2 audio to abc": "SheetSage2 Audio a ABC", - "short­cuts": "Atajos", - "shot size": "Tamaño de plano", - "show advanced": "Mostrar avanzado", - "show advanced inputs": "Mostrar entradas avanzadas", - "show advanced parameters": "Mostrar parámetros avanzados", - "show api node pricing badge": "Mostrar insignia de precios de nodo API", - "show as background": "Mostrar como fondo", - "show assets": "Mostrar recursos", - "show assets panel": "Mostrar panel de recursos", - "show chat history": "Mostrar historial de chat", - "show confirmation when closing window": "Mostrar confirmación al cerrar la ventana", - "show confirmation when deleting workflows": "Mostrar confirmación al eliminar flujos de trabajo", - "show connected links": "Mostrar enlaces conectados", - "show deprecated nodes in search": "Mostrar nodos obsoletos en la búsqueda", - "show error report": "Mostrar informe de error", - "show errors in graph": "Mostrar errores en el grafo", - "show experimental nodes in search": "Mostrar nodos experimentales en la búsqueda", - "show frames/groups": "Mostrar marcos/grupos", - "show gizmos": "Mostrar controles", - "show graph canvas menu": "Mostrar menú del lienzo del gráfico", - "show grid": "Mostrar cuadrícula", - "show info badges": "Mostrar insignias de información", - "show input": "Mostrar entrada", - "show keybindings dialog": "Mostrar diálogo de combinaciones de teclas", - "show left panel": "Mostrar panel izquierdo", - "show link": "Mostrar enlace", - "show links": "Mostrar Enlaces", - "show maintenance tasks": "Mostrar tareas de mantenimiento", - "show menu": "Mostrar menú", - "show minimap": "Mostrar minimapa", - "show model selector (dev)": "Mostrar selector de modelo (Desarrollo)", - "show more features": "Mostrar más funciones", - "show on canvas": "Mostrar en el lienzo", - "show password": "Mostrar contraseña", - "show recommended widgets": "Mostrar widgets recomendados", - "show referencing nodes": "Mostrar nodos de referencia", - "show report": "Mostrar informe", - "show right panel": "Mostrar panel derecho", - "show run progress bar": "Mostrar barra de progreso de ejecución", - "show selection toolbox": "Mostrar caja de herramientas de selección", - "show settings dialog": "Mostrar diálogo de configuración", - "show shot preview": "Mostrar vista previa del plano", - "show skeleton": "Mostrar esqueleto", - "show target": "Mostrar objetivo", - "show terminal": "Mostrar terminal", - "show toolbox on selection": "Mostrar caja de herramientas al seleccionar", - "show transparency": "Mostrar transparencia", - "show version updates": "Mostrar actualizaciones de versión", - "shown on node": "Mostrado en el nodo", - "shuffle images list": "Barajar conjunto de imágenes", - "shuffle pairs of image-text": "Barajar conjunto de imágenes y textos", - "shuffle pairs of video-text": "Mezclar Pares de Video-Texto", - "shuffle videos list": "Mezclar Lista de Videos", - "sidebar": "Barra lateral", - "sidebar location": "Ubicación de la barra lateral", - "sidebar size": "Tamaño de la barra lateral", - "sidebar style": "Estilo de la barra lateral", - "sign in": "Iniciar sesión", - "sign in / sign up": "Iniciar sesión / Registrarse", - "sign in again": "Iniciar sesión nuevamente", - "sign in required": "Inicio de sesión requerido", - "sign in to run": "Inicia sesión para ejecutar", - "sign out": "Cerrar sesión", - "sign out & try again": "Cerrar sesión e intentar de nuevo", - "sign out anyway": "Cerrar sesión de todos modos", - "sign out of all devices": "Cerrar sesión en todos los dispositivos", - "sign up": "Regístrate", - "sign up here": "Regístrate aquí", - "sign up with github": "Registrarse con Github", - "sign up with github instead": "Regístrate con Github en su lugar", - "sign up with google": "Registrarse con Google", - "sign-in provider": "Método de inicio de sesión", - "signed in": "Sesión iniciada", - "signed out of all devices": "Se cerró sesión en todos los dispositivos", - "signed out successfully": "Sesión cerrada correctamente", - "single-select dropdown": "Menú desplegable de selección única", - "size": "Tamaño", - "size of preview images": "Tamaño de las imágenes de vista previa", - "skeleton": "Esqueleto", - "skill packs": "Paquetes de habilidades", - "skills": "Habilidades", - "skip": "Saltar", - "skip for now": "Omitir por ahora", - "skip to end": "Ir al final", - "skip to start": "Ir al inicio", - "skip to the cloud app": "Saltar a la aplicación en la nube", - "skiplayerguidancedit": "Guía saltar capa DiT", - "skiplayerguidanceditsimple": "Guía saltar capa DiT (simple)", - "skiplayerguidancesd3": "Guía saltar capa SD3", - "skipped": "Omitido", - "slide": "diapositiva", - "smooth": "Suave", - "smooth mesh normals": "Suavizar normales de malla", - "smooth sam3d body pose data": "Suavizar datos de pose corporal SAM3D", - "smoothing precision": "Precisión de suavizado", - "snap highlights node": "Resaltar nodo al ajustar enlace", - "snap nodes to grid": "Ajustar nodos a la cuadrícula", - "snap to grid size": "Tamaño de la cuadrícula para ajustar", - "social media": "Redes sociales", - "soft light": "Luz suave", - "solo use only": "Solo para uso individual", - "some items failed to delete": "No se pudieron eliminar algunos elementos", - "something else": "Otra cosa", - "somewhere else": "Otro", - "sonilo text to music": "Sonilo Texto a Música", - "sonilo video to music": "Sonilo Video a Música", - "sorry, contact support": "Lo sentimos, contacta al soporte", - "sort": "Ordenar", - "sort alphabetically within groups": "Ordenar alfabéticamente dentro de los grupos", - "sort by": "Ordenar por", - "sort jobs": "Ordenar trabajos", - "sort mode": "Modo de ordenación", - "sorting type": "Tipo de ordenación", - "sound": "sonido", - "source": "Fuente", - "source gamut": "Gama de origen", - "split audio channels": "Separar canales de audio", - "split image with alpha": "Dividir imagen con alfa", - "split seedvr2 latent": "Dividir latente de SeedVR2", - "splitsigmas": "Dividir sigmas", - "splitsigmasdenoise": "Dividir sigmas (desruidar)", - "spot": "Foco", - "stable diffusion upscaler": "ampliador de stable diffusion", - "stablecascade_stageb_conditioning": "Acondicionamiento Stable Cascade etapa B", - "stablecascade_superresolutioncontrolnet": "Super resolución ControlNet Stable Cascade", - "stablezero123_conditioning": "Acondicionamiento StableZero123", - "stablezero123_conditioning_batched": "Acondicionamiento StableZero123 (por lotes)", - "standard": "Estándar", - "standard (new)": "Estándar (Nuevo)", - "star": "Estrella", - "start creating in seconds": "comienza a crear en segundos", - "start frame": "Fotograma inicial", - "start loop": "Iniciar bucle", - "start new recording": "Iniciar nueva grabación", - "start over": "Empezar de nuevo", - "start publishing": "Comenzar a publicar", - "start recording": "Iniciar grabación", - "start tutorial": "Iniciar tutorial", - "start using comfy agent": "Empezar a usar Comfy Agent", - "start with a blank canvas": "Comenzar con un lienzo en blanco", - "start with an image": "Empieza con una imagen", - "starting": "Iniciando", - "starting comfyui": "Iniciando ComfyUI", - "starts today": "Comienza hoy", - "state": "Estado", - "status": "Estado", - "std dev": "Desv. estándar", - "step size": "Tamaño del paso", - "stitch images": "Unión de imágenes", - "stop": "Detener", - "stop at mask": "Detener en la máscara", - "stop playback": "Detener reproducción", - "stop recording": "Detener grabación", - "stop run (instant)": "Detener ejecución (instantáneo)", - "stop running": "Detener ejecución", - "straight": "Recto", - "string": "CADENA", - "strip whitespace": "Eliminar espacios en blanco", - "style_model": "MODELO_DE_ESTILO", - "subgraph blueprints": "Planos de subgráficos", - "subgraph name": "Nombre del subgrafo", - "submit": "Enviar", - "submit a github issue": "enviar un issue en GitHub", - "subscribe": "Suscribirse", - "subscribe to": "Suscribirse a", - "subscribe to comfy cloud": "Suscríbete a Comfy Cloud", - "subscribe to run": "Suscribirse a Ejecutar", - "subscribe to team monthly": "Suscribirse al plan mensual de equipo", - "subscribe to team yearly": "Suscribirse al plan anual de equipo", - "subscription": "Suscripción", - "subscription activation failed": "Error al activar la suscripción", - "subscription cancellation timed out": "La cancelación de la suscripción excedió el tiempo de espera", - "subscription paused": "Suscripción pausada", - "subscription reactivated successfully": "¡Suscripción reactivada correctamente!", - "subscription required": "Suscripción requerida", - "subscription update failed": "Error al actualizar la suscripción", - "subscription updated successfully": "Suscripción actualizada correctamente", - "subscription upgrade required": "Actualización de suscripción requerida", - "subscription verification timed out": "Tiempo de espera agotado al verificar la suscripción", - "substring": "Subcadena", - "subtract": "Restar", - "success": "Éxito", - "successfully saved": "Guardado exitosamente", - "suggested tags": "Etiquetas sugeridas", - "supirapply": "Aplicar SUPIR", - "support": "soporte", - "survey questions placeholder": "Marcador de posición para preguntas de la encuesta", - "sv3d_conditioning": "Acondicionamiento SV3D", - "svd_img2vid_conditioning": "Acondicionamiento SVD img2vid", - "swap nodes": "Intercambiar nodos", - "switch": "Cambiar", - "switch account": "Cambiar de cuenta", - "switch back": "Abrir Configuración", - "switch camera": "Cambiar cámara", - "switch projection": "Cambiar proyección", - "switch to grid view": "Cambiar a vista de cuadrícula", - "switch to outputs": "Cambiar a Salidas", - "switch to single view": "Cambiar a vista individual", - "switch workflow": "Cambiar de flujo de trabajo", - "switch workspace": "Cambiar espacio de trabajo", - "switched tabs": "Cambió de pestaña", - "switches today": "Cambios hoy", - "switching tabs": "Cambiando de pestaña", - "switching to another tool": "Cambiar a otra herramienta", - "system info": "Información del sistema", - "system locations": "Ubicaciones del Sistema", - "system status": "Estado del sistema", - "t5 tokenizer options": "Opciones de tokenizador T5", - "tab bar layout": "Diseño de barra de pestañas", - "tags": "Etiquetas", - "take the tour": "Hacer el recorrido", - "tangential damping cfg": "Amortiguación tangencial CFG", - "target": "Objetivo", - "task error": "Error de tarea", - "tasks": "Tareas", - "team": "Equipo", - "team plan": "Plan de equipo", - "team workspace": "Espacio de trabajo en equipo", - "team workspaces": "Espacios de trabajo en equipo", - "technical details": "Detalles técnicos", - "tell it what to make": "Indica qué crear", - "tell us anything": "Cuéntanos lo que quieras", - "tell us more": "Cuéntanos más", - "template navigation": "Navegación de plantillas", - "template requirements": "Requisitos de la plantilla", - "templates": "Plantillas", - "templates version": "Versión de Plantillas", - "tem­plates": "Plantillas", - "terms": "Términos", - "terms of use": "Términos de uso", - "text (multiline)": "Cadena (Multilínea)", - "text encode ming image edit": "Codificar texto para edición de imágenes Ming", - "text encode qwen image edit": "Codificación de texto para edición de Qwen Image", - "text encoder precision": "Precisión del codificador de texto", - "text failed to load": "No se pudo cargar el texto", - "text length": "Longitud", - "text to image": "Texto a imagen", - "text to render (verbatim)": "texto a renderizar (literal)", - "textarea widget font size": "Tamaño de fuente del widget de área de texto", - "textarea widget spellcheck": "Corrector ortográfico del widget de área de texto", - "textencodeacestepaudio": "Codificar texto Ace Step audio", - "textencodehunyuanvideo_imagetovideo": "Codificar texto HunyuanVideo imagen a video", - "textencodezimageomni": "Codificar texto ZImage Omni", - "texturing": "texturizado", - "that run didn't finish": "Esa ejecución no terminó", - "that was one of hundreds": "Ese fue uno de cientos", - "theme": "Tema", - "thickness": "Grosor", - "this app": "esta aplicación", - "this app encountered an error": "Esta aplicación encontró un error", - "this node": "Este nodo", - "this plan is not available": "Este plan no está disponible", - "this workflow": "este flujo de trabajo", - "this workflow can't sync": "Este flujo de trabajo no se puede sincronizar", - "this workflow has missing nodes": "Este flujo de trabajo tiene nodos faltantes", - "this workflow has no nodes": "Este flujo de trabajo no tiene nodos", - "this workflow is missing models": "Faltan modelos en este flujo de trabajo", - "this workflow uses partner nodes": "Este flujo de trabajo utiliza nodos asociados", - "this workspace's subscription is inactive": "La suscripción de este espacio de trabajo está inactiva", - "this year": "Este año", - "threshold mask": "Umbralizar máscara", - "thumbnail preview": "Vista previa de la miniatura", - "tiled": "Mosaico", - "time": "Hora", - "time elapsed": "Tiempo transcurrido", - "timesteps range": "Rango de pasos de tiempo", - "timesteps_range": "RANGO_DE_PASOS_DE_TIEMPO", - "to finish setup": "para finalizar la configuración", - "today": "Hoy", - "toggle app mode": "Alternar modo App", - "toggle apps sidebar": "Alternar barra lateral de aplicaciones", - "toggle assets sidebar": "Alternar barra lateral de recursos", - "toggle bottom panel": "Alternar panel inferior", - "toggle essential bottom panel": "Alternar panel inferior esencial", - "toggle focus mode": "Alternar modo de enfoque", - "toggle job history": "Alternar historial de trabajos", - "toggle link visibility": "Alternar visibilidad de enlace", - "toggle logs bottom panel": "Mostrar/ocultar panel inferior de registros", - "toggle minimap": "Alternar minimapa", - "toggle model library sidebar": "Alternar barra lateral de biblioteca de modelos", - "toggle node library sidebar": "Alternar barra lateral de biblioteca de nodos", - "toggle promotion of hovered widget": "Alternar promoción del widget sobre el que se pasa el cursor", - "toggle properties panel": "Mostrar/ocultar panel de propiedades", - "toggle queue panel v2": "Alternar panel de cola V2", - "toggle search box": "Alternar caja de búsqueda", - "toggle terminal bottom panel": "Mostrar/ocultar panel inferior de terminal", - "toggle theme": "Cambiar tema", - "toggle theme (dark/light)": "Alternar tema (Oscuro/Claro)", - "toggle view controls bottom panel": "Alternar panel inferior de controles de vista", - "toggle visibility": "Alternar visibilidad", - "toggle workflows sidebar": "Alternar barra lateral de flujos de trabajo", - "tolerance": "Tolerancia", - "tomepatchmodel": "Aplicar ToMe al modelo", - "too expensive": "Demasiado caro", - "tool": "Herramienta", - "tooltip delay": "Retraso de la información sobre herramientas", - "top": "Arriba", - "top custom node packs pre-installed": "Paquetes de Nodos Personalizados Preinstalados", - "top up": "Recargar", - "top-up failed": "Error al recargar créditos", - "top-up verification timed out": "Tiempo de espera agotado al verificar la recarga", - "topaz image enhance": "Mejorar imagen con Topaz", - "topaz video enhance": "Topaz mejora de vídeo (heredado)", - "topbar": "Barra superior", - "torch install mirror": "Espejo de instalación Torch", - "torchcompilemodel": "Compilar modelo con Torch", - "total credits": "Créditos totales", - "total credits used": "Total de créditos usados", - "total due today": "Total a pagar hoy", - "total generation time": "Tiempo total de generación", - "total generation time (longest first)": "Tiempo total de generación (primero el más largo)", - "total nodes": "Total de Nodos", - "total yearly credits": "Total de créditos anuales", - "tracks": "PISTAS", - "train lora": "Entrenar LoRA", - "training": "entrenamiento", - "training…": "Entrenando…", - "transfer color": "ColorTransfer", - "transform": "transformar", - "transform splat": "Transformar Splat", - "translate": "Trasladar", - "tree explorer": "Explorador de Árbol", - "tree explorer item padding": "Relleno del elemento del explorador de árboles", - "trellis2 conditioning": "Condicionamiento de Trellis2", - "trellis2 shape stage": "Etapa de forma de Trellis2", - "trellis2 texture stage": "Etapa de textura de Trellis2", - "trellis2 upsample stage": "Etapa de aumento de resolución de Trellis2", - "trellis2 vae decode shape": "Decodificación de forma VAE de Trellis2", - "trellis2 vae decode structure": "Decodificación de estructura VAE de Trellis2", - "trellis2 vae decode texture": "Decodificación de textura VAE de Trellis2", - "trigger line": "Línea de activación", - "trigger line is required": "La línea de activación es obligatoria", - "trigger phrase": "Frase de activación", - "trigger phrases": "Frases de activación", - "trim audio duration": "Recortar duración de audio", - "trim text": "Recortar", - "trim video": "Corte de Video", - "trim video (advanced)": "Recortar vídeo (avanzado)", - "trim video latent": "Recortar latente de video", - "triposplat conditioning": "Condicionamiento TripoSplat", - "triposplat decode": "Decodificar TripoSplat", - "triposplat preprocess image": "TripoSplat Preprocesar Imagen", - "triposplat sampling preview": "Vista Previa de Muestreo TripoSplat", - "troubleshoot": "Solucionar problemas", - "troubleshooting guide": "guía de solución de problemas", - "true": "verdadero", - "truncate text": "Truncar texto", - "try again": "Intentar de nuevo", - "try cloud for free": "Probar la Nube Gratis", - "try it out": "Pruébalo", - "try this template": "Probar esta plantilla", - "try update": "Intentar actualizar", - "tsr - temporal score rescaling": "TSR - reajuste de puntuación temporal", - "tutorials": "Tutoriales", - "type to search": "escribe para buscar", - "unable to start comfyui desktop": "No se puede iniciar ComfyUI Desktop", - "unable to subscribe": "No se pudo suscribir", - "unavailable": "No disponible", - "unbookmark node": "Quitar de favoritos", - "unclipconditioning": "Acondicionamiento unCLIP", - "undated": "Sin fecha", - "understood": "Entendido", - "undo": "Deshacer", - "unet precision": "Precisión de UNET", - "unetcrossattentionmultiply": "Multiplicar atención cruzada UNet", - "unetselfattentionmultiply": "Multiplicar autoatención UNet", - "unettemporalattentionmultiply": "Multiplicar atención temporal UNet", - "unfavorite": "Quitar de favoritos", - "unfavorite widget": "Quitar widget de favoritos", - "unified sidebar width": "Ancho unificado de la barra lateral", - "uninstall": "Desinstalar", - "uninstall selected": "Desinstalar Seleccionado", - "uninvite": "Desinvitar", - "unknown": "Desconocido", - "unknown error": "Error desconocido", - "unknown file": "Archivo desconocido", - "unknown input": "entrada desconocida", - "unknown pack": "Paquete desconocido", - "unload models": "Descargar modelos", - "unload models and execution cache": "Descargar modelos y caché de ejecución", - "unlock aspect ratio": "Desbloquear relación de aspecto", - "unlock camera": "Desbloquear cámara", - "unlock canvas": "Desbloquear lienzo", - "unmute": "Activar sonido", - "unmute open-weights clip": "Activar sonido del clip de pesos abiertos", - "unmute partner-node clip": "Activar sonido del clip de nodo asociado", - "unpack subgraph": "Desempaquetar Subgrafo", - "unpack the selected subgraph": "Desempaquetar el Subgrafo seleccionado", - "unpin": "Desanclar", - "unresolved missing nodes": "Nodos faltantes no resueltos", - "unresolved nodes": "Nodos no resueltos", - "unsafe install location detected": "Ubicación de instalación no segura detectada", - "unsaved": "Sin guardar", - "unsaved changes": "Cambios no guardados", - "unsorted": "Sin ordenar", - "unsupported export download url": "URL de descarga de exportación no compatible", - "unsupported node packs": "Paquetes de nodos no compatibles", - "untitled": "Sin título", - "unwrap mesh uvs": "Desplegar las UV de la malla", - "up direction": "Dirección hacia arriba", - "update": "Actualizar", - "update all": "Actualizar Todos", - "update available": "Actualización disponible", - "update comfyui": "Actualizar ComfyUI", - "update complete": "Actualización completa", - "update frontend": "Actualizar frontend", - "update limit": "Actualizar límite", - "update link": "Actualizar enlace", - "update options": "Opciones de actualización", - "update password": "Actualizar contraseña", - "update payment": "Actualizar pago", - "update payment to run": "Actualiza el pago para ejecutar", - "update requested": "Actualización solicitada", - "update selected": "Actualizar Seleccionados", - "update started": "Actualización iniciada", - "update workflow": "Actualizar flujo de trabajo", - "updated": "Actualizado", - "updated recently": "Actualizado recientemente", - "updates available": "Actualizaciones disponibles", - "updating all packages": "Actualizando todos los paquetes", - "updating comfyui desktop": "Actualizando ComfyUI Desktop", - "upgrade": "Mejorar", - "upgrade plan": "Mejorar plan", - "upgrade to team": "Actualizar a Team", - "upgrade to unlock this feature": "Actualiza para desbloquear esta función", - "upload": "Subir", - "upload a video": "Subir un video", - "upload already in progress": "La carga ya está en curso", - "upload an image": "Subir una imagen", - "upload background image": "Subir imagen de fondo", - "upload before and after": "Subir antes y después", - "upload example image": "Subir imagen de ejemplo", - "upload images or files": "Sube imágenes o archivos", - "upload json file": "Subir archivo JSON", - "upload model help video": "Video de ayuda para importar modelos", - "upload my workflow": "Subir mi flujo de trabajo", - "upload texture": "Subir textura", - "upload to comfy workflows": "Subir a Comfy Workflows", - "uploading": "Subiendo", - "upscale image": "Ampliar imagen", - "upscale image (using model)": "Ampliar imagen (usando modelo)", - "upscale image by": "Ampliar imagen por", - "upscale latent": "Escalar latente", - "upscale latent by": "Escalar latente por", - "upscale_model": "MODELO_DE_ESCALADO", - "upscaling": "Ampliación", - "usage hint": "Sugerencia de uso", - "usage metrics": "Métricas de Uso", - "usd / mo": "USD / mes", - "usd / mo / member": "USD / mes / miembro", - "usd / year": "USD / año", - "use classic cache system": "Usar el sistema de caché clásico", - "use email instead": "Usar correo electrónico en su lugar", - "use legacy manager ui": "Usar interfaz de usuario Manager heredada", - "use legacy ui": "Usar UI antigua", - "use new menu": "Usar nuevo menú", - "used after monthly runs out": "Usados después de agotar los mensuales", - "used after yearly runs out": "Se usan después de que se agoten los créditos anuales", - "user": "Usuario", - "user avatar": "Avatar de usuario", - "user journey events": "Eventos de trayectoria del usuario", - "user not authenticated": "Usuario no autenticado", - "utilities": "utilidades", - "vae decode": "Decodificación VAE", - "vae decode (tiled)": "Decodificación VAE (Mosaico)", - "vae decode audio": "Decodificación de audio con VAE", - "vae decode audio (tiled)": "Decodificación de audio con VAE (Mosaico)", - "vae encode": "Codificación VAE", - "vae encode (for inpainting)": "Codificación VAE (para inpainting)", - "vae encode (tiled)": "Codificación VAE (Mosaico)", - "vae encode audio": "Codificación de audio con VAE", - "vae precision": "Precisión de VAE", - "vaesave": "Guardar VAE", - "validate": "Validar", - "validate workflows": "Validar flujos de trabajo", - "validation": "Validación", - "validation failed": "La validación falló", - "verify your payment": "Verifica tu pago", - "version": "Versión", - "version compatibility warning": "Advertencia de compatibilidad de versión", - "vertical angle": "Ángulo vertical", - "video": "Vídeo", - "video api": "API de Video", - "video compose": "Composición de Video", - "video failed to load": "Falló la carga del video", - "video linear cfg guidance": "Guía CFG lineal para video", - "video selection & masking": "Selección y Enmascarado de Video", - "video thumbnail preview": "Vista previa de miniatura de video", - "video transform": "Transformación de Video", - "video triangle cfg guidance": "Guía CFG triangular para video", - "video unavailable": "Vídeo no disponible", - "vidu image to video generation": "Generación de video a partir de imagen Vidu", - "vidu multi-frame video generation": "Generación de video multifotograma Vidu", - "vidu q3 image-to-video generation": "Generación de video de imagen a video Vidu Q3", - "vidu q3 start/end frame-to-video generation": "Generación de video de inicio/fin de Vidu Q3", - "vidu q3 text-to-video generation": "Generación de video de texto a video Vidu Q3", - "vidu q4 image-to-video generation": "Generación de imagen a vídeo Vidu Q4", - "vidu q4 reference-to-video generation": "Generación de referencia a vídeo Vidu Q4", - "vidu reference to video generation": "Generación de video a partir de referencia Vidu", - "vidu text to video generation": "Generación de video Vidu de texto a video", - "vidu video extension": "Extensión de video Vidu", - "vidu2 image-to-video generation": "Vidu2 generación de imagen a video", - "vidu2 reference-to-video generation": "Vidu2 generación de video con referencias", - "vidu2 start/end frame-to-video generation": "Generación de video de Vidu2 desde fotogramas inicial/final", - "vidu2 text-to-video generation": "Generación de video de Vidu2 desde texto", - "view all jobs": "Ver todos los trabajos", - "view all settings": "Ver toda la configuración", - "view app": "Ver aplicación", - "view available workflow tools": "Ver herramientas de flujo de trabajo disponibles", - "view controls": "Controles de vista", - "view details": "Ver detalles", - "view enterprise": "Ver empresa", - "view full policy": "Ver política completa", - "view in manager": "Ver en el Gestor", - "view job": "Ver tarea", - "view more details": "Ver más detalles", - "view node graph": "Ver grafo de nodos", - "view node | view nodes": "Ver nodo | Ver nodos", - "view pricing details": "Ver detalles de precios", - "view settings": "Configuración de vista", - "view usage history": "Ver historial de uso", - "view workspace": "Ver espacio de trabajo", - "virtual environment path": "Ruta del entorno virtual", - "visualize face landmarks (mediapipe)": "Visualizar Malla Facial de MediaPipe", - "vivid light": "Luz intensa", - "void": "vacío", - "void quadmask preprocessor": "VOIDQuadmaskPreprocess", - "volume": "Volumen", - "voxel to mesh": "Voxel a malla", - "voxel to mesh (basic)": "Voxel a malla (básico)", - "vpscheduler": "Programador VP", - "vram management mode": "Modo de gestión de VRAM", - "wan context windows": "Ventanas de contexto WAN (Manual)", - "wan image to image": "Wan imagen a imagen", - "wan image to video": "Wan imagen a video", - "wan reference to video": "Wan referencia a vídeo", - "wan text to image": "Wan texto a imagen", - "wan text to video": "Wan texto a vídeo", - "wan22funcontroltovideo": "Wan 2.2 FunControl a video", - "wan22imagetovideolatent": "Wan 2.2 imagen a latente de video", - "wan_camera_embedding": "INCORPORACIÓN_CÁMARA_WAN", - "wananimatetovideo": "Wan animar a video", - "wanblockswap": "Wan intercambio de bloques", - "wancameraembedding": "Wan embedding de cámara", - "wancameraimagetovideo": "Wan imagen con cámara a video", - "wanfirstlastframetovideo": "Wan primer-último fotograma a video", - "wanfuncontroltovideo": "Wan FunControl a video", - "wanfuninpainttovideo": "Wan FunInpaint a video", - "wanhumoimagetovideo": "Wan HuMo imagen a video", - "wanimagetovideo": "Wan imagen a video", - "waninfinitetalktovideo": "Wan InfiniteTalk a video", - "wanmoveconcattrack": "Wan concatenar pista de movimiento", - "wanmovetracksfromcoords": "Wan pistas de movimiento desde coordenadas", - "wanmovetracktovideo": "Wan pista de movimiento a video", - "wanmovevisualizetracks": "Wan visualizar pistas de movimiento", - "wanphantomsubjecttovideo": "Wan Phantom sujeto a video", - "wanscailtovideo": "Wan SCAIL a video", - "wansoundimagetovideo": "Wan sonido e imagen a video", - "wansoundimagetovideoextend": "Wan sonido e imagen a video (extender)", - "wantracktovideo": "Wan pista a video", - "wanvacetovideo": "Wan Vace a video", - "warning": "Advertencia", - "wavespeed image upscale": "WaveSpeed escalado de imagen", - "we couldn't apply your discount": "No pudimos aplicar tu descuento", - "web app": "Aplicación web", - "web search": "Google / búsqueda", - "webcam capture": "Captura de Webcam", - "welcome to apps": "Bienvenido a Apps", - "welcome to comfyui": "Bienvenido a ComfyUI", - "weld vertices": "Soldar vértices", - "white": "Blanco", - "wide shot": "Plano general", - "widget control mode": "Modo de control del widget", - "widget not visible": "Widget no visible", - "width": "Ancho", - "window": "Ventana", - "window style": "Estilo de ventana", - "wireframe": "Malla", - "work email": "Correo electrónico de trabajo", - "worked": "Completado", - "workflow": "Flujo de trabajo", - "workflow actions": "Acciones del flujo de trabajo", - "workflow contents": "Contenidos de flujo de trabajo", - "workflow data is empty": "Los datos del flujo de trabajo están vacíos", - "workflow deleted": "Flujo de trabajo eliminado", - "workflow description": "Descripción del flujo de trabajo", - "workflow exported successfully": "Flujo de trabajo exportado correctamente", - "workflow links fixed": "Enlaces del flujo de trabajo corregidos", - "workflow name": "Nombre del flujo de trabajo", - "workflow opened in new tab": "Flujo de trabajo abierto en una nueva pestaña", - "workflow overview": "Resumen del flujo de trabajo", - "workflow validation": "Validación del flujo de trabajo", - "workflows": "Flujos de trabajo", - "workflows and pipelines": "Flujos de trabajo o pipelines personalizados", - "works anywhere, instantly": "Funciona en Cualquier Lugar, al Instante", - "workspace": "Espacio de trabajo", - "workspace created": "Espacio de trabajo creado", - "workspace created but setup incomplete": "Espacio de trabajo creado pero la configuración está incompleta", - "workspace credits": "Créditos del espacio de trabajo", - "workspace deleted": "Espacio de trabajo eliminado", - "workspace name": "Nombre del espacio de trabajo", - "workspace not found": "Espacio de trabajo no encontrado", - "workspace settings": "Configuración del espacio de trabajo", - "workspace updated": "Espacio de trabajo actualizado", - "work­flows": "Flujos de trabajo", - "yearly": "Anual", - "yearly credits / member": "Créditos anuales / miembro", - "yearly credits are used up": "Los créditos anuales se han agotado", - "yearly subscription": "Suscripción anual", - "yellow": "Amarillo", - "yesterday": "Ayer", - "you are at your limit": "Has alcanzado tu límite", - "you'll be charged": "Se te cobrará", - "you'll be redirected to": "Serás redirigido a", - "you're all set": "Todo listo", - "you're out of credits": "Te has quedado sin créditos", - "your credit balance": "Tu saldo de créditos", - "your description": "Tu descripción", - "your device is not supported": "Tu dispositivo no es compatible", - "your discount isn't confirmed yet": "Tu descuento aún no está confirmado", - "your enterprise plan has ended": "Tu plan Enterprise ha finalizado", - "your organization requires single sign-on": "Tu organización requiere inicio de sesión único", - "your organization's admin manages membership": "El administrador de tu organización gestiona la membresía", - "your packs": "Tus paquetes", - "your payment didn't go through": "Tu pago no se procesó", - "your plan has ended": "Tu plan ha finalizado", - "your plan is cancelled": "Tu plan está cancelado", - "your subscription has been canceled": "Tu suscripción ha sido cancelada", - "your team plan has ended": "Tu plan Team ha terminado", - "your team workspaces": "Tus espacios de trabajo en equipo", - "your username (required)": "Tu nombre de usuario (requerido)", - "your workspaces": "Espacio de trabajo", - "yue2 generate abc": "YuE2 Generar ABC", - "yue2 generate music": "YuE2 Generar música", - "zip download ready": "Descarga ZIP lista", - "zoom controls": "Controles de zoom", - "zoom in": "Acercar", - "zoom in/out": "Acercar/alejar", - "zoom options": "Opciones de Zoom", - "zoom out": "Alejar", - "zoom percentage": "Porcentaje de zoom", - "zoom to fit": "Ajustar zoom" -} diff --git a/.github/scripts/i18n/staged-locale-maintenance.py b/.github/scripts/i18n/staged-locale-maintenance.py deleted file mode 100644 index d815a18dc7..0000000000 --- a/.github/scripts/i18n/staged-locale-maintenance.py +++ /dev/null @@ -1,368 +0,0 @@ -#!/usr/bin/env python3 -"""Maintenance for a locale that is being rolled out page by page. - -A locale can go live before the whole English tree is translated: docs.json -navigation entries are pruned to the pages that exist (sync-docs-json.mjs does -that) and the locale grows batch by batch. Two gaps are left over, both fixed -here: - - relink-links `translate-i18n.ts` localizes every internal link to - `//...` and every import to `/snippets//...`. When - the target page has not been translated yet the link 404s and - `mint broken-links` fails. This rewrites links whose localized - target does not exist back to the English path, and localizes - links whose target has just landed. - - prune-nav docs.json keeps every top-level tab (and OpenAPI groups) even - when a locale has no pages in them, so the sidebar shows empty - sections. This drops groups with no page leaves. - -Both are idempotent: run them after every translation batch. - -`relink-links` only rewrites prose. Fenced code blocks (```/~~~, info string -included) and inline code spans are split out first and restored byte-for-byte, -so a documented URL inside a code sample is never localized. `prune-nav` drops -OpenAPI blocks only for a locale that has no localized `//api-reference` -pages on disk; locales that ship a localized API reference keep it. - -Usage: - python3 .github/scripts/i18n/staged-locale-maintenance.py relink-links --lang es [--dry-run] [--check] - python3 .github/scripts/i18n/staged-locale-maintenance.py prune-nav --lang es [--dry-run] [--check] -""" - -from __future__ import annotations - -import argparse -import json -import os -import re -import sys - -REPO_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..")) - -LINK_PATTERNS = ( - # markdown links and JSX href/src attributes - re.compile(r'(?P
\bhref="|src="|\]\()(?P/[^")\s]*)'),
-    # snippet imports: from "/snippets/foo.mdx" (closing quote not consumed)
-    re.compile(r'(?P
\bfrom\s+")(?P/snippets/[^"]*)(?=")'),
-)
-
-# A fence line: up to three spaces of indent, then ``` or ~~~, then an info string.
-FENCE_OPEN_RE = re.compile(r"^(?P {0,3})(?P`{3,}|~{3,})(?P.*)$")
-BACKTICK_RUN_RE = re.compile(r"`+")
-
-
-def split_code_segments(text: str) -> list[tuple[bool, str]]:
-    """Split `text` into `(is_code, chunk)` pairs; "".join(chunks) == text.
-
-    Fenced blocks (both fence lines and their body, info string included) come
-    back as code chunks so callers can leave them byte-for-byte untouched.
-    """
-    segments: list[tuple[bool, str]] = []
-    prose: list[str] = []
-    code: list[str] = []
-    fence_char = ""
-    fence_len = 0
-
-    def flush_prose() -> None:
-        if prose:
-            segments.append((False, "".join(prose)))
-            prose.clear()
-
-    def flush_code() -> None:
-        if code:
-            segments.append((True, "".join(code)))
-            code.clear()
-
-    for line in text.splitlines(keepends=True):
-        match = FENCE_OPEN_RE.match(line.rstrip("\r\n"))
-        if fence_char:
-            code.append(line)
-            # A closing fence is the same character, at least as long, no info string.
-            if match and match.group("fence")[0] == fence_char:
-                if len(match.group("fence")) >= fence_len and not match.group("info").strip():
-                    fence_char = ""
-                    flush_code()
-            continue
-        if match:
-            flush_prose()
-            fence_char = match.group("fence")[0]
-            fence_len = len(match.group("fence"))
-            code.append(line)
-            continue
-        prose.append(line)
-
-    flush_prose()
-    flush_code()
-    return segments
-
-
-def split_inline_code(chunk: str) -> list[tuple[bool, str]]:
-    """Split a prose chunk at inline code spans; "".join(chunks) == chunk.
-
-    A span opens on a backtick run and closes on the next run of exactly the
-    same length (CommonMark). An unmatched run is literal text, and a span never
-    crosses a blank line.
-    """
-    segments: list[tuple[bool, str]] = []
-    pos = 0
-    cursor = 0
-    while True:
-        opening = BACKTICK_RUN_RE.search(chunk, cursor)
-        if opening is None:
-            break
-        if opening.start() > 0 and chunk[opening.start() - 1] == "\\":
-            cursor = opening.end()  # escaped backtick: literal, not a span
-            continue
-        run_len = opening.end() - opening.start()
-        limit = chunk.find("\n\n", opening.end())
-        closing = None
-        search_from = opening.end()
-        while True:
-            candidate = BACKTICK_RUN_RE.search(chunk, search_from)
-            if candidate is None:
-                break
-            if limit != -1 and candidate.start() > limit:
-                break
-            if candidate.end() - candidate.start() == run_len:
-                closing = candidate
-                break
-            search_from = candidate.end()
-        if closing is None:
-            cursor = opening.end()
-            continue
-        if opening.start() > pos:
-            segments.append((False, chunk[pos : opening.start()]))
-        segments.append((True, chunk[opening.start() : closing.end()]))
-        pos = closing.end()
-        cursor = pos
-    if pos < len(chunk):
-        segments.append((False, chunk[pos:]))
-    return segments
-
-
-def page_file_exists(repo_rel: str) -> bool:
-    """True when a page file exists for a site path like `installation/foo`."""
-    rel = repo_rel.strip("/")
-    if not rel:
-        return False
-    path = os.path.join(REPO_ROOT, rel)
-    if path.endswith((".mdx", ".md")) and os.path.isfile(path):
-        return True  # snippet imports already carry the extension
-    for ext in (".mdx", ".md", ".json"):
-        if os.path.isfile(path + ext):
-            return True
-    for ext in (".mdx", ".md"):
-        if os.path.isfile(os.path.join(path, "index" + ext)):
-            return True
-    return False
-
-
-def split_suffix(url: str) -> tuple[str, str]:
-    """Split `/a/b#c?d` into (path, suffix)."""
-    for i, ch in enumerate(url):
-        if ch in "#?":
-            return url[:i], url[i:]
-    return url, ""
-
-
-class Relinker:
-    def __init__(self, lang: str, other_locales: list[str]) -> None:
-        self.lang = lang
-        self.other_locales = [c for c in other_locales if c != lang]
-
-    def relink(self, text: str) -> tuple[str, int, int]:
-        added = 0
-        removed = 0
-        lang = self.lang
-
-        def repl(match: re.Match[str]) -> str:
-            nonlocal added, removed
-            pre = match.group("pre")
-            raw = match.group("path")
-            path, suffix = split_suffix(raw)
-
-            if path.startswith(("/images/", "/logo/", "/public/", "/http")):
-                return match.group(0)
-
-            is_snippet = path.startswith("/snippets/")
-            rooted = "snippets/" if is_snippet else ""
-            localized = f"/{rooted}{lang}/"
-            for other in self.other_locales:
-                if path.startswith(f"/{rooted}{other}/"):
-                    return match.group(0)
-
-            if path.startswith(localized):
-                # locale prefix already applied: keep it only if the localized target exists
-                rel = path[len(localized) :]
-                if page_file_exists(f"{rooted}{lang}/{rel}"):
-                    return match.group(0)
-                removed += 1
-                return f"{pre}/{rooted}{rel}{suffix}"
-
-            # English link: localize it when the localized target exists.
-            en_rel = path[len("/snippets/") :] if is_snippet else path[1:]
-            if not page_file_exists(f"{rooted}{lang}/{en_rel}"):
-                return match.group(0)
-            added += 1
-            return f"{pre}{localized}{en_rel}{suffix}"
-
-        def relink_prose(segment: str) -> str:
-            out = segment
-            for pattern in LINK_PATTERNS:
-                out = pattern.sub(repl, out)
-            return out
-
-        pieces: list[str] = []
-        for is_code, chunk in split_code_segments(text):
-            if is_code:
-                pieces.append(chunk)  # fenced code: never rewritten
-                continue
-            for is_span, part in split_inline_code(chunk):
-                pieces.append(part if is_span else relink_prose(part))
-        return "".join(pieces), added, removed
-
-
-def iter_locale_files(lang: str) -> list[str]:
-    files: list[str] = []
-    for base in (lang, os.path.join("snippets", lang)):
-        root_dir = os.path.join(REPO_ROOT, base)
-        for root, dirs, names in os.walk(root_dir):
-            dirs[:] = [d for d in dirs if d not in ("node_modules", ".git")]
-            for name in names:
-                if name.endswith((".mdx", ".md")):
-                    files.append(os.path.join(root, name))
-    return files
-
-
-def cmd_relink_links(args: argparse.Namespace) -> int:
-    relinker = Relinker(args.lang, args.other_locales.split(","))
-    changed = 0
-    added_total = 0
-    removed_total = 0
-
-    for path in iter_locale_files(args.lang):
-        with open(path, encoding="utf-8") as fh:
-            original = fh.read()
-        updated, added, removed = relinker.relink(original)
-        if updated == original:
-            continue
-        changed += 1
-        added_total += added
-        removed_total += removed
-        print(f"{added:+d}/{-removed:+d}  {os.path.relpath(path, REPO_ROOT)}")
-        if not (args.dry_run or args.check):
-            with open(path, "w", encoding="utf-8") as fh:
-                fh.write(updated)
-
-    print(
-        f"\n{args.lang}: {changed} file(s) touched; "
-        f"{added_total} link(s) localized, {removed_total} fell back to English"
-    )
-    return 1 if (args.check and changed) else 0
-
-
-def has_localized_api_reference(lang: str) -> bool:
-    """True when `//api-reference` holds at least one localized page."""
-    root = os.path.join(REPO_ROOT, lang, "api-reference")
-    if not os.path.isdir(root):
-        return False
-    for _root, dirs, names in os.walk(root):
-        dirs[:] = [d for d in dirs if d not in ("node_modules", ".git")]
-        if any(name.endswith((".mdx", ".md")) for name in names):
-            return True
-    return False
-
-
-def prune_nodes(nodes: list, drop_openapi: bool = True) -> list:
-    """Drop groups/OpenAPI blocks that have no page leaves.
-
-    OpenAPI blocks are generated from a spec, so they carry no `pages` of their
-    own: they are dropped only when the locale has no localized API reference on
-    disk (`drop_openapi`), which keeps working tabs for zh/ja/ko.
-    """
-    out: list = []
-    for node in nodes:
-        if isinstance(node, str):
-            out.append(node)
-            continue
-        if not isinstance(node, dict):
-            continue
-        if node.get("openapi") is not None:
-            if drop_openapi:
-                continue
-            # Generated from a spec: it has no page leaves of its own to prune.
-            out.append(node)
-            continue
-        pages = prune_nodes(node.get("pages") or [], drop_openapi)
-        if pages:
-            out.append({**node, "pages": pages})
-    return out
-
-
-def cmd_prune_nav(args: argparse.Namespace) -> int:
-    path = os.path.join(REPO_ROOT, "docs.json")
-    with open(path, encoding="utf-8") as fh:
-        raw = fh.read()
-    docs = json.loads(raw)
-
-    entries = docs.get("navigation", {}).get("languages", [])
-    target = next((e for e in entries if e.get("language") == args.lang), None)
-    if target is None:
-        print(f"docs.json has no '{args.lang}' language entry", file=sys.stderr)
-        return 2
-
-    before = len(json.dumps(target, ensure_ascii=False))
-    # zh/ja/ko ship a localized api-reference directory; es (and any locale
-    # without one) has nothing to point those tabs at yet.
-    drop_openapi = not has_localized_api_reference(args.lang)
-    for tab in target.get("tabs", []):
-        if isinstance(tab, dict) and isinstance(tab.get("pages"), list):
-            tab["pages"] = prune_nodes(tab["pages"], drop_openapi)
-    kept_tabs = []
-    for tab in target.get("tabs", []):
-        if not isinstance(tab, dict):
-            continue
-        # An OpenAPI tab carries its pages in the spec, so it is kept only for a
-        # locale that actually ships that API reference.
-        if tab.get("pages") or (tab.get("openapi") is not None and not drop_openapi):
-            kept_tabs.append(tab)
-    target["tabs"] = kept_tabs
-    after = len(json.dumps(target, ensure_ascii=False))
-
-    if before == after:
-        print(f"docs.json {args.lang} navigation: nothing to prune")
-        return 0
-
-    updated = json.dumps(docs, ensure_ascii=False, indent=2) + "\n"
-    print(f"docs.json {args.lang} navigation pruned: {before} -> {after} chars")
-    if not (args.dry_run or args.check):
-        with open(path, "w", encoding="utf-8") as fh:
-            fh.write(updated)
-    return 1 if args.check else 0
-
-
-def main() -> int:
-    parser = argparse.ArgumentParser(description=__doc__)
-    sub = parser.add_subparsers(dest="command", required=True)
-
-    for name in ("relink-links", "prune-nav"):
-        p = sub.add_parser(name)
-        p.add_argument("--lang", required=True, help="locale code, e.g. es")
-        p.add_argument("--dry-run", action="store_true")
-        p.add_argument("--check", action="store_true", help="exit 1 if changes needed")
-        if name == "relink-links":
-            p.add_argument(
-                "--other-locales",
-                default="zh,ja,ko,es",
-                help="comma separated other locale codes to leave untouched",
-            )
-
-    args = parser.parse_args()
-    if args.command == "relink-links":
-        return cmd_relink_links(args)
-    return cmd_prune_nav(args)
-
-
-if __name__ == "__main__":
-    sys.exit(main())
diff --git a/.github/scripts/i18n/staged-locale-maintenance.test.ts b/.github/scripts/i18n/staged-locale-maintenance.test.ts
deleted file mode 100644
index db139494fd..0000000000
--- a/.github/scripts/i18n/staged-locale-maintenance.test.ts
+++ /dev/null
@@ -1,220 +0,0 @@
-import { describe, expect, test } from "bun:test";
-import { execFileSync } from "node:child_process";
-import { copyFileSync, mkdirSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs";
-import { tmpdir } from "node:os";
-import { dirname, join } from "node:path";
-
-/**
- * `staged-locale-maintenance.py` walks the repo relative to its own path, so each
- * case builds a throwaway repo root, copies the script into it and runs it there.
- */
-const SCRIPT = "staged-locale-maintenance.py";
-const SELF = join(import.meta.dir, SCRIPT);
-
-const python = ["python3", "python"].find((cmd) => {
-  try {
-    execFileSync(cmd, ["--version"], { stdio: "ignore" });
-    return true;
-  } catch {
-    return false;
-  }
-});
-
-const describePython = python ? describe : describe.skip;
-
-function makeRepo(files: Record): string {
-  const root = mkdtempSync(join(tmpdir(), "staged-locale-"));
-  const scriptPath = join(root, ".github/scripts/i18n", SCRIPT);
-  mkdirSync(dirname(scriptPath), { recursive: true });
-  copyFileSync(SELF, scriptPath);
-  for (const [rel, body] of Object.entries(files)) {
-    const path = join(root, rel);
-    mkdirSync(dirname(path), { recursive: true });
-    writeFileSync(path, body);
-  }
-  return root;
-}
-
-function run(root: string, args: string[]): string {
-  const scriptPath = join(root, ".github/scripts/i18n", SCRIPT);
-  return execFileSync(python as string, [scriptPath, ...args], { cwd: root, encoding: "utf8" });
-}
-
-const PAGE = `---
-title: "Prueba"
----
-
-Enlace en prosa a [manual](/installation/manual_install#step-2) y a [no traducido](/tutorials/nope).
-
-En línea: \`[inline](/installation/manual_install)\` y \`\`[doble](/es/installation/manual_install)\`\`.
-
-\`\`\`js
-const href = "/installation/manual_install";
-manual
-[y](/installation/manual_install)
-\`\`\`
-
-~~~bash
-curl -L "/installation/manual_install"
-~~~
-
-\`\`\`json {"title": "Muestra"}
-{"src": "/installation/manual_install"}
-\`\`\`
-
-Después: [ya localizado](/es/installation/manual_install) sigue, [zh](/zh/installation/manual_install) intacto, [roto](/es/installation/nope) vuelve a inglés.
-
-![mapa](/images/installation/manual_install.png)
-`;
-
-const EXPECTED = `---
-title: "Prueba"
----
-
-Enlace en prosa a [manual](/es/installation/manual_install#step-2) y a [no traducido](/tutorials/nope).
-
-En línea: \`[inline](/installation/manual_install)\` y \`\`[doble](/es/installation/manual_install)\`\`.
-
-\`\`\`js
-const href = "/installation/manual_install";
-manual
-[y](/installation/manual_install)
-\`\`\`
-
-~~~bash
-curl -L "/installation/manual_install"
-~~~
-
-\`\`\`json {"title": "Muestra"}
-{"src": "/installation/manual_install"}
-\`\`\`
-
-Después: [ya localizado](/es/installation/manual_install) sigue, [zh](/zh/installation/manual_install) intacto, [roto](/installation/nope) vuelve a inglés.
-
-![mapa](/images/installation/manual_install.png)
-`;
-
-describePython("staged-locale-maintenance.py relink-links", () => {
-  test("localizes prose links only, leaving fenced blocks and inline code byte-for-byte", () => {
-    const root = makeRepo({
-      "es/installation/manual_install.mdx": "# Instalación manual\n",
-      "es/test.mdx": PAGE,
-    });
-    try {
-      run(root, ["relink-links", "--lang", "es"]);
-      expect(readFileSync(join(root, "es/test.mdx"), { encoding: "utf8" })).toBe(EXPECTED);
-    } finally {
-      execFileSync("rm", ["-rf", root]);
-    }
-  });
-
-  test("is idempotent on the second run", () => {
-    const root = makeRepo({
-      "es/installation/manual_install.mdx": "# Instalación manual\n",
-      "es/test.mdx": PAGE,
-    });
-    try {
-      run(root, ["relink-links", "--lang", "es"]);
-      const once = readFileSync(join(root, "es/test.mdx"), { encoding: "utf8" });
-      const output = run(root, ["relink-links", "--lang", "es", "--check"]);
-      expect(readFileSync(join(root, "es/test.mdx"), { encoding: "utf8" })).toBe(once);
-      expect(output).toContain("0 file(s) touched");
-    } finally {
-      execFileSync("rm", ["-rf", root]);
-    }
-  });
-});
-
-const DOCS_JSON = `${JSON.stringify(
-  {
-    navigation: {
-      languages: [
-        {
-          language: "zh",
-          tabs: [
-            {
-              tab: "开始使用",
-              pages: [
-                "zh/index",
-                {
-                  group: "API Reference",
-                  openapi: { source: "openapi-v2.yaml", directory: "zh/api-reference/v2" },
-                  pages: [],
-                },
-              ],
-            },
-            {
-              tab: "Cloud API 参考文档",
-              openapi: { source: "openapi-cloud.yaml", directory: "zh/api-reference/cloud" },
-              pages: [],
-            },
-          ],
-        },
-        {
-          language: "es",
-          tabs: [
-            {
-              tab: "Empezar",
-              pages: [
-                "es/index",
-                {
-                  group: "API Reference",
-                  openapi: { source: "openapi-v2.yaml", directory: "es/api-reference/v2" },
-                  pages: [],
-                },
-              ],
-            },
-            {
-              tab: "Cloud API",
-              openapi: { source: "openapi-cloud.yaml", directory: "es/api-reference/cloud" },
-              pages: [],
-            },
-          ],
-        },
-      ],
-    },
-  },
-  null,
-  2,
-)}\n`;
-
-describePython("staged-locale-maintenance.py prune-nav", () => {
-  test("keeps the API reference tab for a locale that ships localized pages", () => {
-    const root = makeRepo({
-      "docs.json": DOCS_JSON,
-      "zh/index.mdx": "# Inicio\n",
-      "zh/api-reference/cloud/get-users.mdx": "# Users\n",
-      "es/index.mdx": "# Inicio\n",
-    });
-    try {
-      const output = run(root, ["prune-nav", "--lang", "zh", "--check"]);
-      expect(output).toContain("nothing to prune");
-      expect(readFileSync(join(root, "docs.json"), { encoding: "utf8" })).toBe(DOCS_JSON);
-    } finally {
-      execFileSync("rm", ["-rf", root]);
-    }
-  });
-
-  test("drops the API reference tab for a locale with no localized pages", () => {
-    const root = makeRepo({
-      "docs.json": DOCS_JSON,
-      "zh/index.mdx": "# Inicio\n",
-      "zh/api-reference/cloud/get-users.mdx": "# Users\n",
-      "es/index.mdx": "# Inicio\n",
-    });
-    try {
-      run(root, ["prune-nav", "--lang", "es"]);
-      const docs = JSON.parse(readFileSync(join(root, "docs.json"), { encoding: "utf8" }));
-      const tabs = (lang: string) =>
-        docs.navigation.languages.find((entry: { language: string }) => entry.language === lang).tabs;
-      expect(tabs("es").map((tab: { tab: string }) => tab.tab)).toEqual(["Empezar"]);
-      expect(tabs("es")[0].pages).toEqual(["es/index"]);
-      expect(tabs("zh").map((tab: { tab: string }) => tab.tab)).toEqual([
-        "开始使用",
-        "Cloud API 参考文档",
-      ]);
-    } finally {
-      execFileSync("rm", ["-rf", root]);
-    }
-  });
-});
diff --git a/.github/scripts/i18n/translate-i18n.ts b/.github/scripts/i18n/translate-i18n.ts
index 94fe11bb41..bab3a5973c 100644
--- a/.github/scripts/i18n/translate-i18n.ts
+++ b/.github/scripts/i18n/translate-i18n.ts
@@ -465,12 +465,7 @@ function buildTranslationInstructions(lang: LangConfig): string {
     "API literals in prose are values, not prose. When a line labels a value the caller sends (booleans `true`/`false`, enums such as `auto`, `disabled`, `standard`, `fast`, `mp4`, `mov`, JSON keys, model ids, endpoint paths), keep that value byte-for-byte identical to the English source, keep the label's own punctuation (`:` or `=`) and keep every labelled item on its own line. Translate only the explanation that follows the label.",
     "Translate the heading text itself (`## Schema`, `### Input`, `### Output`, `## Examples`) while keeping any `{#anchor}` exactly as in the English source, and follow the target language's own pages: ja uses スキーマ, 入力, 出力; ko uses 스키마, 입력, 출력; zh uses 输入 and 输出. Chinese model pages conventionally keep `## Schema` in English, so leave that one heading in English for zh.",
     "In Chinese prose use full-width punctuation (,。:;()) instead of ASCII commas or colons.",
-    lang.code === "es"
-      ? "For Spanish, write neutral Latin American Spanish in the informal second person (tú), matching the ComfyUI frontend's es locale: `flujo de trabajo` for workflow, `nodo` for node, `Inicia sesión` style imperatives. Localize the section headings as `## Esquema`, `### Entrada` and `### Salida`. Use the inverted opening marks ¿ and ¡ where the sentence needs them."
-      : "",
-    lang.code === "zh"
-      ? "Keep terminology consistent: follow the glossary below when it covers a term, and use the same rendering for a term everywhere within the file. Never invent words (for example `fixed` is 固定, not 顶固). Keep the senses of a word apart instead of translating it the same way everywhere: an English `link` that points to a URL or a document is a 链接 (hyperlinks), while a link between nodes in a graph (`LLink`, node connections, canvas wiring) is a 连线."
-      : "Keep terminology consistent: follow the glossary below when it covers a term, and use the same rendering for that term everywhere within the file. Never invent words for a term the glossary already covers. Keep the senses of a word apart instead of translating it the same way everywhere: an English `link` that points to a URL or a document is a hyperlink, while a link between nodes in a graph (`LLink`, node connections, canvas wiring) is a connection between nodes. Use the target language's own established wording for both senses and never collapse them into one word.",
+    "Keep terminology consistent: follow the glossary below when it covers a term, and use the same rendering for a term everywhere within the file. Never invent words (for example `fixed` is 固定, not 顶固). Keep the senses of a word apart instead of translating it the same way everywhere: an English `link` that points to a URL or a document is a 链接 (hyperlinks), while a link between nodes in a graph (`LLink`, node connections, canvas wiring) is a 连线.",
     "Preserve the logical direction of every sentence. Negations, conditions and consequences must keep the English polarity: `so it applies here` must never become `so it does not apply here`, and a note that a limit never rejects a real prompt must not read as an instruction to configure it.",
     "If you notice semantic issues in the existing translation relative to the English (wrong meaning, missing section, untranslated prose), note them AFTER the MDX content, separated by a line containing only '=== MISMATCHES ===' followed by one issue per line.",
     "Do NOT report expected localization as issues: /{lang}/ internal links, translated snippet import paths, or other path prefix changes applied for the target locale.",
diff --git a/.github/scripts/i18n/translate-router-pricing.test.ts b/.github/scripts/i18n/translate-router-pricing.test.ts
index 9df8912c27..6e69360dfa 100644
--- a/.github/scripts/i18n/translate-router-pricing.test.ts
+++ b/.github/scripts/i18n/translate-router-pricing.test.ts
@@ -111,10 +111,8 @@ test("pricing check validates all locales without writing them", () => {
 });
 
 test("keepLinksInsideLocale keeps an untranslated target inside the locale", () => {
-  // Fixture uses a model slug that is not in the tree, so no translation sync can
-  // turn this page into a translated one and silently invert the expectation.
   const untranslated =
-    "See [Ideogram 9.9](/ja/development/comfy-router/models/ideogram/ideogram-9-9/code).";
+    "See [Ideogram 4.5](/ja/development/comfy-router/models/ideogram/ideogram-4-5/code).";
   const kept = keepLinksInsideLocale(untranslated, "ja");
   expect(kept).toContain("](/ja/development/comfy-router/models)");
   expect(kept).not.toContain("/development/comfy-router/models/ideogram");
@@ -128,7 +126,7 @@ test("keepLinksInsideLocale keeps the exact target and fragment when it exists",
 
 test("keepLinksInsideLocale drops the fragment when it falls back to an ancestor page", () => {
   const fallback =
-    "See [Ideogram 9.9](/ja/development/comfy-router/models/ideogram/ideogram-9-9/code#examples).";
+    "See [Ideogram 4.5](/ja/development/comfy-router/models/ideogram/ideogram-4-5/code#examples).";
   const kept = keepLinksInsideLocale(fallback, "ja");
   expect(kept).toContain("](/ja/development/comfy-router/models)");
   expect(kept).not.toContain("#examples");
diff --git a/.github/scripts/i18n/translation-config.json b/.github/scripts/i18n/translation-config.json
index e16b800691..cbd8ef811b 100644
--- a/.github/scripts/i18n/translation-config.json
+++ b/.github/scripts/i18n/translation-config.json
@@ -38,12 +38,6 @@
       "name": "Korean",
       "dir": "ko",
       "snippets_dir": "snippets/ko"
-    },
-    {
-      "code": "es",
-      "name": "Spanish",
-      "dir": "es",
-      "snippets_dir": "snippets/es"
     }
   ],
   "preserve_terms": [
diff --git a/docs.json b/docs.json
index ce6af38bca..fb26581ab8 100644
--- a/docs.json
+++ b/docs.json
@@ -16064,81 +16064,6 @@
             "href": "https://comfy.org/cloud?utm_source=docs"
           }
         }
-      },
-      {
-        "language": "es",
-        "tabs": [
-          {
-            "tab": "Empezar",
-            "pages": [
-              "es/index",
-              "es/get_started/cloud",
-              {
-                "group": "Local (autoalojado)",
-                "icon": "download",
-                "pages": [
-                  "es/installation/system_requirements",
-                  {
-                    "group": "Comfy Desktop",
-                    "pages": [
-                      "es/installation/desktop/overview",
-                      {
-                        "group": "Instalación",
-                        "pages": [
-                          "es/installation/desktop/windows",
-                          "es/installation/desktop/macos",
-                          "es/installation/desktop/linux"
-                        ]
-                      },
-                      {
-                        "group": "Guía de uso",
-                        "pages": [
-                          "es/installation/desktop/usage/overview",
-                          "es/installation/desktop/usage/instance-management",
-                          "es/installation/desktop/usage/workspaces-and-builds",
-                          "es/installation/desktop/usage/snapshots",
-                          "es/installation/desktop/usage/downloads",
-                          "es/installation/desktop/usage/manage",
-                          "es/installation/desktop/usage/settings",
-                          "es/installation/desktop/usage/performance-tests",
-                          "es/installation/desktop/usage/migrate"
-                        ]
-                      },
-                      "es/installation/desktop/faq"
-                    ]
-                  },
-                  "es/installation/comfyui_portable_windows",
-                  "es/installation/manual_install",
-                  "es/installation/update_comfyui"
-                ]
-              },
-              {
-                "group": "Instalar nodos personalizados",
-                "icon": "puzzle-piece",
-                "pages": [
-                  "es/installation/install_custom_node",
-                  {
-                    "group": "ComfyUI-Manager",
-                    "pages": [
-                      "es/manager/overview",
-                      "es/manager/install",
-                      {
-                        "group": "Gestión de nodos",
-                        "pages": [
-                          "es/manager/pack-management",
-                          "es/manager/legacy-ui"
-                        ]
-                      },
-                      "es/manager/configuration",
-                      "es/manager/troubleshooting"
-                    ]
-                  }
-                ]
-              },
-              "es/get_started/first_generation"
-            ]
-          }
-        ]
       }
     ]
   },
diff --git a/es/get_started/cloud.mdx b/es/get_started/cloud.mdx
deleted file mode 100644
index c943a5672f..0000000000
--- a/es/get_started/cloud.mdx
+++ /dev/null
@@ -1,177 +0,0 @@
----
-title: "Comfy Cloud - Plataforma oficial de ComfyUI en la nube impulsada por RTX 6000 Pro"
-description: "Ejecuta flujos de trabajo de ComfyUI en línea con Comfy Cloud, la plataforma oficial en la nube impulsada por GPUs NVIDIA RTX 6000 Pro. No se requiere instalación local."
-sidebarTitle: "Comfy Cloud"
-icon: "cloud"
-translationSourceHash: fb4e1e1d
-translationFrom: get_started/cloud.mdx
-translationBlockHashes:
-  "_intro": a9cb9eab
-  "What is Comfy Cloud?": cfd66ef6
-  "Cloud vs local": dfa8e9e1
-  "Pricing and subscription": 038cc795
-  "Comfy Cloud firewall allowlist": 136dd044
-  "How to use ComfyUI Cloud": d7ca6aeb
-  "Feedback": 5f7e73e0
-  "Frequently Asked Questions": 8155dd5e
-  "Next steps": 1052e398
----
-
-  Haz clic aquí para acceder directamente a ComfyUI Cloud
-
-
-## ¿Qué es Comfy Cloud?
-
-ComfyUI Cloud es la versión en la nube de ComfyUI, con las mismas funciones que la versión local. Todo está preinstalado y listo para usar.
-
-### Funciones principales
-
-
-  
-    No se requiere instalación. Todos los modelos y nodos personalizados están preinstalados y listos para usar
-  
-  
-  
-    Ejecuta flujos de trabajo rápidamente en las potentes GPUs de nuestros servidores, sin necesidad de tener tu propio hardware
-  
-  
-  
-    Se mantiene automáticamente al día con las últimas versiones y funciones de ComfyUI
-  
-  
-  
-    Usa ComfyUI desde cualquier dispositivo con conexión a internet. No necesitas instalar nada localmente
-  
-  
-  
-    Crea espacios de trabajo en equipo para colaborar con los miembros de tu equipo. Comparte planes de suscripción, créditos y flujos de trabajo.
-  
-
-
-## Nube vs local
-
-ComfyUI ofrece tanto una versión oficial en la nube, [Comfy Cloud](https://comfy.org/cloud), como una versión de código abierto autoalojada. Si tienes una GPU potente, ejecutar ComfyUI localmente es una gran opción. La versión en la nube, por otro lado, es un servicio en línea que está listo para usar al instante: simplemente abre la URL, sin necesidad de instalación ni configuración.
-
-
-| Categoría | Comfy Cloud | Autoalojado (ComfyUI local) |
-|----------|-------------|------------------------------|
-| **Costo** | Nivel gratuito y planes de suscripción de pago | Gratis |
-| **GPU** | Potentes Blackwell RTX 6000 Pro | Usa tu propia GPU |
-| **Conocimientos técnicos** | No se requieren conocimientos técnicos. | Aunque las versiones de escritorio y portátil te ofrecen formas sencillas de empezar, tendrás que solucionar problemas con la instalación de nodos personalizados y con la instalación local. |
-| **Nodos personalizados** | Usa nodos personalizados preinstalados y olvídate de los problemas de compatibilidad. | Instala cualquier nodo personalizado que quieras, pero tendrás que administrarlo tú mismo. |
-| **Modelos** | Usa modelos preinstalados. Importa modelos desde Civitai y Hugging Face. | Usa cualquier modelo que quieras, pero primero tendrás que descargarlo. |
-| **Diferencias destacadas** | Es fácil incorporar a tu equipo con [Espacios de trabajo](/cloud/workspace) | Funciona sin conexión, personalizable sin límites |
-| **Empezar** | [Ejecutar ComfyUI Cloud](https://comfy.org/cloud) | [Instalar ComfyUI localmente](/es/installation/system_requirements) |
-
-## Precios y suscripción
-
-
-  Consulta las opciones de precios y suscripción de Comfy Cloud
-
-
-## Lista de permitidos del firewall de Comfy Cloud
-
-Permite el tráfico saliente HTTPS y WebSocket en TCP 443 hacia:
-
-- **Aplicación:** `cloud.comfy.org`, `api.comfy.org`, `cdn.comfy.org`
-- **Cargas y salidas:** `comfy-hub-assets.comfy.org`, `storage.googleapis.com`
-- **Inicio de sesión:** `dreamboothy.firebaseapp.com`, `identitytoolkit.googleapis.com`, `securetoken.googleapis.com`, `apis.google.com`, `challenges.cloudflare.com`
-- **Otras funciones:** `registry.comfy.org`, `*.algolia.net`, `media.comfy.org`
-
-## Cómo usar ComfyUI Cloud
-
-Usar ComfyUI Cloud es esencialmente lo mismo que usar tu ComfyUI local. Si es tu primera vez usando ComfyUI, aquí tienes algunos consejos rápidos para empezar:
-
-
-  
-    Haz clic en el icono de plantillas en la barra lateral izquierda para explorar los flujos de trabajo disponibles.
-    ![Abrir plantilla de flujo de trabajo](/images/cloud/open_template.webp)
-  
-  
-  
-    Haz clic en la plantilla que quieres ejecutar.
-    ![Seleccionar plantilla de flujo de trabajo](/images/cloud/template_library.webp)
-  
-  
-  
-    1. En el flujo de trabajo cargado, como hemos preinstalado todos los modelos en la versión de la Nube, todas las plantillas están listas para ejecutarse inmediatamente después de cargarse.
-    2. Si necesitas hacer cambios, solo tienes que proporcionar imágenes de entrada o prompts de texto. Revisa el nodo `Load Image` o el nodo `CLIP Text Encode`.
-    ![Revisar entradas](/images/cloud/workflow_input_or_loader.webp)
-  
-  
-  
-    Si todo es correcto, haz clic en el icono "Ejecutar" o usa el atajo "Ctrl + Enter" para ejecutar el flujo de trabajo.
-    ![Ejecutar flujo de trabajo](/images/cloud/workflow_run_workflow.webp)
-  
-
-  
-    Después de hacer clic en ejecutar, nuestro servicio comenzará a asignar una máquina para tu flujo de trabajo. Puedes consultar el estado de ejecución del flujo de trabajo correspondiente en el panel de Cola.
-    ![Ver cola](/images/cloud/workflow_check_queue.webp)
-  
-
-  
-    Una vez completada la ejecución del flujo de trabajo, puedes guardar el contenido generado localmente. Según el tipo de recurso, el método para guardar es el siguiente:
-    
-    
-      
-        En el panel de Cola o en el nodo de guardar imagen, haz clic derecho sobre la imagen generada y selecciona "Guardar imagen" para guardarla localmente.
-        
-        ![Guardar recursos de imagen](/images/cloud/download_image_assets.jpg)
-      
-      
-      
-        En el panel de Cola o en el nodo de guardar vídeo:
-        1. Haz clic en los tres puntos del componente de reproducción del navegador para abrir el menú
-        2. Selecciona "Descargar" para guardar el vídeo localmente.
-        
-        ![Guardar recursos de vídeo](/images/cloud/download_video_assets.webp)
-      
-      
-      
-        En el panel de Cola o en el nodo de guardar audio:
-        1. Haz clic en los tres puntos del componente de reproducción del navegador para abrir el menú
-        2. Selecciona "Descargar" para guardar el archivo de audio localmente.
-        
-        ![Guardar recursos de audio](/images/cloud/download_audio_assets.webp)
-      
-      
-      
-        En el menú del nodo de visor 3D, selecciona la opción "Exportar", elige el formato en el que quieres guardar y el archivo 3D se guardará localmente.
-        
-        ![Guardar recursos 3D](/images/cloud/download_3d_assets.webp)
-      
-    
-  
-
-
-## Retroalimentación
-
-Si tienes alguna idea, sugerencia o te encuentras con algún problema, simplemente haz clic en el icono de "Retroalimentación". Esto nos enviará tu retroalimentación directamente.
-
-![Retroalimentación](/images/cloud/feedback.webp)
-
-### Cómo detener/salir de Comfy Cloud
-
-Las sesiones de Cloud solo te cobran mientras la GPU está ejecutándose activamente. Cuando cierras la pestaña del navegador, la sesión se detiene automáticamente: puedes cerrarla en cualquier momento, igual que una pestaña normal del navegador.
-
-## Preguntas frecuentes
-
-
-  Consulta las preguntas frecuentes y sus respuestas acerca de Comfy Cloud, incluidos precios, funciones, limitaciones y más
-
-
-## Próximos pasos
-
-
-  
-    Ejecuta flujos de trabajo de forma programática mediante la Cloud API
-  
-  
-  
-    Explora tutoriales para aprender flujos de trabajo de ComfyUI
-  
-  
-  
-    Únete a nuestra comunidad de Discord para recibir ayuda
-  
-
diff --git a/es/get_started/first_generation.mdx b/es/get_started/first_generation.mdx
deleted file mode 100644
index 7af0721700..0000000000
--- a/es/get_started/first_generation.mdx
+++ /dev/null
@@ -1,175 +0,0 @@
----
-title: "Primeros pasos con la generación de imágenes con IA"
-description: "Genera tu primera imagen con IA con ComfyUI. Aprende a cargar flujos de trabajo de ejemplo, instalar modelos y completar tu primera generación de texto a imagen."
-sidebarTitle: "Primera generación"
-icon: "shoe-prints"
-translationSourceHash: fc72c975
-translationFrom: get_started/first_generation.mdx
-translationBlockHashes:
-  "_intro": 66f4e28f
-  "About Text-to-Image": fb392b22
-  "ComfyUI Text-to-Image Workflow Tutorial": 01d0871c
-  "Troubleshooting": fa44c541
----
-import InstallLink from "/snippets/es/install/install-link.mdx"
-import FindModelsFolder from "/snippets/es/install/find-models-folder.mdx"
-
-
-Esta guía está pensada para **usuarios locales** que ejecutan ComfyUI en su propio dispositivo. Si prefieres no instalar nada localmente, prueba nuestro servicio oficial en la nube.
-
-
-
-  Ejecuta ComfyUI en línea sin configuración alguna. Inicia sesión con Google para obtener **400 créditos gratis cada mes**.
-
-
-Esta guía tiene como objetivo ayudarte a comprender las operaciones básicas de ComfyUI y completar tu primera generación de imágenes. Cubriremos:
-
-1. Cargando flujos de trabajo de ejemplo
-    - Cargando desde las plantillas de flujos de trabajo de ComfyUI
-    - Cargando desde imágenes con metadatos de flujo de trabajo
-2. Orientación para la instalación de modelos
-    - Instalación automática de modelos
-    - Instalación manual de modelos
-3. Completar tu primera generación de texto a imagen
-
-## Acerca de Texto a imagen
-
-Texto a imagen es una función fundamental de dibujo con IA que genera imágenes a partir de descripciones de texto. Es una de las funciones más utilizadas en la generación de arte con IA. Puedes pensar en el proceso como si le explicaras tus requisitos (prompts positivos y negativos) a un artista (el modelo de dibujo), quien luego creará lo que deseas. Las explicaciones detalladas sobre texto a imagen se cubrirán en el capítulo [Texto a imagen](/tutorials/basic/text-to-image).
-
-## Tutorial del flujo de trabajo de texto a imagen de ComfyUI
-
-### 1. Inicia ComfyUI
-
-Asegúrate de haber seguido la [guía de instalación](/es/installation/system_requirements) para iniciar ComfyUI y poder entrar correctamente a la interfaz de ComfyUI. Como alternativa, puedes usar [Comfy Cloud](/es/get_started/cloud) para utilizar ComfyUI sin necesidad de instalación alguna.
-
-![Interfaz de ComfyUI](/images/desktop/comfyui-interface.jpg)
-
-Si no has instalado ComfyUI, elige la versión adecuada para instalar según tu dispositivo.
-
-
-
-### 2. Carga el flujo de trabajo predeterminado de texto a imagen
-
-Por lo general, ComfyUI carga automáticamente el flujo de trabajo predeterminado de texto a imagen al iniciarse. Sin embargo, puedes probar distintos métodos para cargar flujos de trabajo y familiarizarte con las operaciones básicas de ComfyUI:
-
-
-  {/*
-  ![Interfaz de ComfyUI](/images/tutorial/gettingstarted/sidebar_template.png)
-  Sigue los pasos numerados en la imagen:
-  1. Haz clic en el botón **Ajustar vista** en la parte inferior derecha para asegurarte de que cualquier flujo de trabajo cargado no quede oculto
-  2. Haz clic en el **icono de carpeta (flujos de trabajo)** en la barra lateral
-  3. Haz clic en el botón **Explorar flujos de trabajo de ejemplo** en la parte superior del panel Flujos de trabajo
-
-  Continúa con:
-  ![Cargar flujo de trabajo](/images/tutorial/gettingstarted/template_library_default_workflow.png)
-
-  4. Selecciona el primer flujo de trabajo predeterminado **Generación de imágenes** para cargarlo
-   */}
-  Todas las imágenes generadas por ComfyUI contienen metadatos, incluida la información del flujo de trabajo. Puedes cargar flujos de trabajo de las siguientes maneras:
-  - Arrastrando y soltando en la interfaz una imagen generada por ComfyUI
-  - Usando el menú **Workflows** -> **Open** para abrir una imagen
-
-  Prueba a cargar el flujo de trabajo usando esta imagen de ejemplo:
-  ![Flujo de trabajo Texto a imagen de ComfyUI](https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/text-to-image-workflow.png)
-
-  
-  Los flujos de trabajo de ComfyUI se pueden almacenar en formato JSON. Puedes exportar flujos de trabajo usando el menú **Workflows** -> **Export**.
-
-  Intenta descargar y cargar este flujo de trabajo de ejemplo:
-  
-    

Descargar text-to-image.json

-
- - Después de descargar, usa el menú **Workflows** -> **Open** para cargar el archivo JSON. -
-
- -### 3. Instalación de modelos - -La mayoría de las instalaciones de ComfyUI no incluyen modelos base por defecto. Después de cargar el flujo de trabajo, si no tienes instalado el modelo [v1-5-pruned-emaonly-fp16.safetensors](https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/blob/main/v1-5-pruned-emaonly-fp16.safetensors), verás este mensaje: - -Primero, ComfyUI te advertirá que faltan algunos modelos: - -![Advertencia de modelos faltantes](/images/tutorial/gettingstarted/missing_model_warning_1.png) - -Haz clic en la advertencia para ver qué modelo falta y el enlace de descarga: - -![Detalles del modelo faltante](/images/tutorial/gettingstarted/missing_model_warning_2.png) - - - -Puedes instalar modelos mediante: - - - - Después de hacer clic en el botón **Download**, ComfyUI ejecutará la descarga y el comportamiento variará según la versión que estés usando. - - - - La versión de escritorio completará automáticamente la descarga del modelo y lo guardará en el directorio `/ComfyUI/models/checkpoints`. - Puedes esperar a que se complete la instalación o ver el progreso de la instalación en el panel de modelos de la barra lateral. - - ![Progreso de descarga del modelo](/images/tutorial/gettingstarted/desktop_download_status.png) - - - Las descargas automáticas suelen obtener los modelos de **Hugging Face**. Asegúrate de que tu red pueda llegar de forma confiable a Hugging Face. - - Si la descarga **no se inicia** o muestra **ningún progreso durante mucho tiempo**, copia el enlace del modelo desde los detalles del modelo faltante (o usa la sección de instalación manual a continuación) e instala el modelo manualmente. - - - - - - El navegador realizará las descargas de archivos. Guarda el archivo en el directorio `/ComfyUI_windows_portable/ComfyUI/models/checkpoints` después de que se complete la descarga. - - - - - - - Visita [v1-5-pruned-emaonly-fp16.safetensors](https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/blob/main/v1-5-pruned-emaonly-fp16.safetensors) y sigue esta guía: - - ![Descarga del modelo de Hugging Face](/images/tutorial/gettingstarted/first-image-generation-5-hugging-face.jpg) - - Guarda el archivo descargado en: - - - - Guarda en `/ComfyUI/models/checkpoints` - - ![Ubicación de guardado del modelo en Comfy Desktop](/images/tutorial/gettingstarted/first-image-generation-6-2-desktop.jpg) - - - Guarda en `ComfyUI_windows_portable/ComfyUI/models/checkpoints` - - ![Ubicación de guardado del modelo en ComfyUI Portable](/images/tutorial/gettingstarted/first-image-generation-6-1-portable.jpg) - - - - Actualiza o reinicia ComfyUI después de guardar. - - - -### 4. Cargar el modelo y generar tu primera imagen - -Después de instalar o actualizar modelos, presiona **`R`** en tu teclado para actualizar las definiciones de objetos y las listas de modelos en los nodos (por ejemplo, el menú desplegable en **Load Checkpoint**). Luego continúa con los pasos a continuación: - -![Ejecutar flujo de trabajo](/images/tutorial/gettingstarted/run_workflow.png) -1. En el nodo **Load Checkpoint**, asegúrate de que **v1-5-pruned-emaonly-fp16.safetensors** esté seleccionado -2. Haz clic en `Run` o presiona `Ctrl + Enter` para generar - -El resultado aparecerá en el nodo **Save Image**. Haz clic derecho para guardarlo localmente. - -![Resultado de la primera generación de imagen con ComfyUI](/images/tutorial/gettingstarted/result.png) - -Para instrucciones detalladas de texto a imagen, consulta nuestra guía completa: - - - Haz clic aquí para ver las instrucciones detalladas del flujo de trabajo de texto a imagen - - -## Solución de problemas - -### Problemas al cargar modelos - -Si el nodo `Load Checkpoint` no muestra ningún modelo o muestra "null", verifica la ubicación donde instalaste tus modelos e intenta actualizar o reiniciar ComfyUI. diff --git a/es/index.mdx b/es/index.mdx deleted file mode 100644 index ad70961158..0000000000 --- a/es/index.mdx +++ /dev/null @@ -1,284 +0,0 @@ ---- -title: "Documentación oficial de ComfyUI" -description: "Documentación oficial de ComfyUI, la aplicación de código abierto basada en nodos para IA generativa. Aprende a crear flujos de trabajo para generar imágenes, video, audio y 3D." -icon: "book-open" -sidebarTitle: "Inicio" -mode: "frame" -translationSourceHash: 2a1adf8b -translationFrom: index.mdx ---- - -
-{/* header */} -
-
- - -
-
-

- Documentación oficial de ComfyUI -

-
-
-{/* header end */} - -{/* social start */} - -{/* social end */} - -
- -

-La aplicación de código abierto basada en nodos más potente para IA generativa -

- -{/* Getting Started Section */} -
-

Primeros pasos

- - - Instala ComfyUI en Windows, macOS o Linux - - - Crea tu primera imagen generada con IA - - - Comprende los flujos de trabajo, los nodos y las conexiones - - - Explora flujos de trabajo y plantillas de la comunidad creados por los mejores creadores - - -
- -{/* AI Agents & MCP Section */} -
-

Agentes de IA y MCP

- - - Conecta agentes de IA mediante MCP para generar imágenes, video, audio y 3D - - - MCP alojado en cloud.comfy.org: ejecuta flujos de trabajo en GPU en la nube - - - Llama a modelos de socios desde la terminal con comfy generate (beta) - - -
- -{/* Comfy Router Section */} -
-

Comfy Router

- - - Llama a modelos de socios a través de un único endpoint de API con una sola clave - - - Ejecuta flujos de trabajo en una implementación de ComfyUI desde tu aplicación - - - Referencia completa de los endpoints, los encabezados y los límites del Router - - -
- -{/* Learn & Tutorials Section */} -
-

Aprender y tutoriales

- - - Navega por la interfaz de ComfyUI - - - Guías paso a paso para tareas comunes - - - Conoce cada nodo de ComfyUI - - -
- -{/* Developers Section */} -
-

Desarrolladores

- - - Ejecuta ComfyUI de forma local, en un servidor o en la nube - - - Ejecuta flujos de trabajo en una implementación desde tu aplicación - - - Contribuye al desarrollo de ComfyUI - - -
- -{/* Build Custom Nodes Section */} -
-

Crear nodos personalizados

- - - Crea tu primer nodo personalizado paso a paso - - - Comparte tu nodo personalizado en el Comfy Registry - - -
- -{/* Get Help Section */} -
-

Obtener ayuda

- - - Obtén ayuda de nuestro equipo de soporte - - - Crea tu cuenta, inicia sesión y adminístrala - - - Administra suscripciones y pagos - - - Resuelve problemas y errores comunes - - - Únete a la comunidad de ComfyUI - - -
- -{/* About ComfyUI Section */} -
-

Acerca de ComfyUI

-

- Escrito por comfyanonymous y otros colaboradores. -

- -
    -
  • ComfyUI es una interfaz basada en nodos y un motor de inferencia para IA generativa
  • -
  • Los usuarios pueden combinar diversos modelos de IA y operaciones mediante nodos para lograr una generación de contenido altamente personalizable y controlable
  • -
  • ComfyUI es completamente de código abierto y puede ejecutarse en tu dispositivo local
  • -
-
- -
-
\ No newline at end of file diff --git a/es/installation/comfyui_portable_windows.mdx b/es/installation/comfyui_portable_windows.mdx deleted file mode 100644 index a53ac01730..0000000000 --- a/es/installation/comfyui_portable_windows.mdx +++ /dev/null @@ -1,169 +0,0 @@ ---- -title: "ComfyUI Portable para Windows" -description: "Descarga y ejecuta ComfyUI Portable en Windows: un paquete independiente con Python integrado y compilaciones CUDA para GPU NVIDIA. Extrae el archivo comprimido y luego ejecuta ComfyUI." -icon: "box" -sidebarTitle: "Portátil (Local)" -translationSourceHash: ed3fb870 -translationFrom: installation/comfyui_portable_windows.mdx -translationBlockHashes: - "_intro": 9b2047f9 - "Download ComfyUI Portable": 25d3ead4 - "Additional ComfyUI Portable Instructions": 466fad75 ---- -import FirstGeneration from "/snippets/es/install/first-generation.mdx" -import AddExternalModels from "/snippets/es/install/add-external-models.mdx" - -**ComfyUI Portable** es una versión completa, autónoma y empaquetada de ComfyUI para Windows que integra un **Python (python_embeded)** independiente, requerido para que ComfyUI funcione. Solo necesitas extraerlo para usarlo. - -Esta sección de la guía te mostrará cómo instalar ComfyUI Portable. - -## Descargar ComfyUI Portable - -Elige el paquete de descarga que coincida con tu tipo de GPU. ComfyUI Portable ofrece paquetes separados para los distintos tipos de hardware de GPU. - - - - ### Portable estándar para GPU Nvidia - - - - Para GPU Nvidia modernas (serie RTX) - - - Para GPU Nvidia serie 10 y anteriores - - - Para dispositivos Windows on ARM con una GPU Nvidia - - - - Descarga el archivo y extráelo con [7-ZIP](https://7-zip.org/). La estructura de carpetas extraída: - - ``` - ComfyUI_windows_portable - ├── 📂ComfyUI // Programa principal de ComfyUI - ├── 📂python_embeded // Entorno Python independiente - ├── 📂update // Scripts por lotes para actualizar la versión portable - ├── README_VERY_IMPORTANT.txt // Instrucciones de uso de ComfyUI Portable en inglés - ├── run_cpu.bat // Haz doble clic para iniciar ComfyUI (solo CPU) - └── run_nvidia_gpu.bat // Haz doble clic para iniciar ComfyUI (GPU Nvidia) - ``` - - Haz doble clic en `run_nvidia_gpu.bat` para iniciar ComfyUI. - - - - ### Portable para GPU AMD - - - Descarga para GPU AMD (ROCm) - - - Descarga el archivo y extráelo con [7-ZIP](https://7-zip.org/). La estructura de carpetas extraída: - - ``` - ComfyUI_windows_portable_amd - ├── 📂ComfyUI // Programa principal de ComfyUI - ├── 📂python_embeded // Entorno Python independiente - ├── 📂update // Scripts por lotes para actualizar la versión portable - ├── README_VERY_IMPORTANT.txt // Instrucciones de uso de ComfyUI Portable en inglés - ├── run_cpu.bat // Haz doble clic para iniciar ComfyUI (solo CPU) - └── run_amd_gpu.bat // Haz doble clic para iniciar ComfyUI (GPU AMD) - ``` - - Haz doble clic en `run_amd_gpu.bat` para iniciar ComfyUI. - - - - ### Portable para GPU Intel - - - Descarga para GPU Intel - - - Descarga el archivo y extráelo con [7-ZIP](https://7-zip.org/). La estructura de carpetas extraída: - - ``` - ComfyUI_windows_portable_intel - ├── 📂ComfyUI // Programa principal de ComfyUI - ├── 📂python_embeded // Entorno Python independiente - ├── 📂update // Scripts por lotes para actualizar la versión portable - ├── README_VERY_IMPORTANT.txt // Instrucciones de uso de ComfyUI Portable en inglés - ├── run_cpu.bat // Haz doble clic para iniciar ComfyUI (solo CPU) - └── run_intel_gpu.bat // Haz doble clic para iniciar ComfyUI (GPU Intel) - ``` - - Haz doble clic en `run_intel_gpu.bat` para iniciar ComfyUI. - - - -Después de descargar y extraer, verás el comando ejecutándose como se muestra en la imagen a continuación - -![ComfyUI Portable Command Prompt](/images/comfyui-portable-cmd.png) - -Cuando veas algo similar a la imagen -``` -To see the GUI go to: http://127.0.0.1:8188 -``` -En este punto, tu servicio de ComfyUI ya está iniciado. Normalmente, ComfyUI abrirá automáticamente tu navegador predeterminado y navegará a `http://127.0.0.1:8188`. Si no se abre automáticamente, abre tu navegador manualmente y visita esta dirección. - -Durante el uso, no cierres la ventana de la línea de comandos correspondiente, de lo contrario ComfyUI detendrá su ejecución. - - - - - -## Instrucciones adicionales de ComfyUI Portable - -### 1. Actualizar ComfyUI Portable - -Puedes usar los comandos por lotes en la carpeta update para actualizar tu versión de ComfyUI Portable - -``` -ComfyUI_windows_portable -└─ 📂update - ├── update.py - ├── update_comfyui.bat // Actualiza ComfyUI a la última versión del commit - ├── update_comfyui_and_python_dependencies.bat // Úsalo solo cuando tengas problemas con tu entorno de ejecución - └── update_comfyui_stable.bat // Actualiza ComfyUI a la última versión estable -``` - -### 2. Configurar el acceso a la red local para ComfyUI Portable - -Si tu ComfyUI se ejecuta en una red local y quieres que otros dispositivos accedan a ComfyUI, puedes modificar el archivo `.bat` correspondiente (por ejemplo, `run_nvidia_gpu.bat`, `run_amd_gpu.bat` o `run_cpu.bat`) con el Bloc de notas para completar la configuración. Esto se hace principalmente agregando `--listen` para especificar la dirección de escucha. -A continuación tienes un ejemplo del comando del archivo `run_nvidia_gpu.bat` con el parámetro `--listen` agregado - -```bat -.\python_embeded\python.exe -s ComfyUI\main.py --listen --windows-standalone-build -pause -``` - -Después de habilitar ComfyUI, notarás que la dirección de ejecución final será -``` -Starting server - -To see the GUI go to: http://0.0.0.0:8188 -To see the GUI go to: http://[::]:8188 -``` - -Puedes presionar `WIN + R` y escribir `cmd` para abrir el símbolo del sistema, luego ingresar `ipconfig` para ver tu dirección IP local. Otros dispositivos podrán acceder a ComfyUI ingresando `http://tu-IP-local:8188` en su navegador. - -### 3. Instalar paquetes adicionales de Python - -La versión portable incluye un entorno de Python Integrado (`python_embeded`). Para instalar paquetes adicionales de Python (como optimizaciones de atención, dependencias de nodos personalizados u otras herramientas), usa el pip del Python Integrado desde la línea de comandos: - -```bash -# Primero navega a tu carpeta de ComfyUI portable -cd ComfyUI_windows_portable - -# Instala un paquete usando el Python Integrado -.\python_embeded\python.exe -m pip install -``` - -Después de instalar un paquete que requiere un indicador de inicio, agrega el indicador correspondiente a tu archivo `.bat` (por ejemplo, `run_nvidia_gpu.bat`): - -```bat -.\python_embeded\python.exe -s ComfyUI\main.py -- --windows-standalone-build -``` - -Para obtener orientación detallada sobre cómo instalar las dependencias de nodos personalizados, consulta la [guía de dependencias de nodos personalizados](/basic-concepts/custom-nodes). diff --git a/es/installation/desktop/faq.mdx b/es/installation/desktop/faq.mdx deleted file mode 100644 index b8249de652..0000000000 --- a/es/installation/desktop/faq.mdx +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: "Preguntas frecuentes de Comfy Desktop" -description: "Preguntas comunes y consejos para solucionar problemas en Comfy Desktop" -sidebarTitle: "FAQ" -translationSourceHash: 4acea027 -translationFrom: installation/desktop/faq.mdx -translationBlockHashes: - "General Questions": 9176b487 - "Installation & Setup": b5578878 - "Usage": 7a9bf578 - "Troubleshooting": e89f60c3 ---- -## Preguntas generales - - -Comfy Desktop es una reescritura completa que funciona como un **administrador de múltiples instalaciones**. A diferencia de Legacy Desktop, que era una aplicación de instalación única, Comfy Desktop te permite instalar, administrar y ejecutar varias versiones de ComfyUI en paralelo. También agrega instantáneas y gestión de descargas de modelos. - -Si usas Legacy Desktop, consulta la [Guía de migración](/es/installation/desktop/usage/migrate) para transferir tu configuración existente. - - -Sí. El código fuente está en [GitHub](https://github.com/Comfy-Org/Comfy-Desktop). Comfy Desktop tiene doble licencia: [AGPL-3.0-or-later](https://github.com/Comfy-Org/Comfy-Desktop/blob/main/LICENSE), o una licencia comercial de Comfy Org (`licensing@comfy.org`). - - -Comfy Desktop es una de varias opciones de instalación. Aún puedes usar la instalación **Portable (Windows)**, la **Instalación manual** o **Comfy Cloud** según tus necesidades. Desktop es la opción RECOMENDADO para la mayoría de los usuarios por su facilidad de uso y funciones como las actualizaciones con un solo clic y la gestión de instantáneas. - - -No. Comfy Desktop comprueba si hay una nueva versión poco después de iniciarse y luego cada 10 minutos, y esa comprobación no se puede desactivar. La única configuración de actualización es **Instalar automáticamente las actualizaciones de Desktop** en **Configuraciones de Escritorio → Actualizaciones**, y está activada de forma predeterminada. - -- **Activada**: una nueva versión se descarga en segundo plano y se instala sin preguntar. La barra de título muestra **Descargando actualización…** mientras se descarga, y luego **Actualización de Desktop lista** cuando la actualización está lista para aplicarse. -- **Desactivada**: Comfy Desktop sigue comprobando y te avisa, pero deja de descargar por su cuenta. En su lugar, la barra de título muestra un indicador **Actualización de Desktop**, y al hacer clic en él se descarga la actualización y se ofrece reiniciar. - -La versión de ComfyUI dentro de una instancia se actualiza por separado. Usa la pestaña **Actualizar** de la instancia y elige allí el canal **Estable** o **Última en GitHub**. - -En Linux, el actualizador integrado no se aplica a las instalaciones con `.deb`. Descarga el nuevo paquete con el [enlace de descarga universal](https://dl.todesktop.com/241130tqe9q3y) e instálalo con `sudo apt install ./*.deb`. - - -## Instalación y configuración - - -Consulta los [requisitos del sistema](/es/installation/system_requirements) para ver todos los detalles. - -- **Windows:** Windows 10+, x64 o ARM64. Se recomienda una GPU dedicada (NVIDIA / AMD), pero no es obligatoria. -- **macOS:** macOS 13+ (Ventura), Apple Silicon (M1+) -- **Linux:** Los paquetes oficiales `.deb` y AppImage se distribuyen a través del [repositorio de Comfy Desktop](https://github.com/Comfy-Org/Comfy-Desktop). Se recomienda una GPU dedicada. -- **Disco:** al menos 4.85 GB por instalación independiente -- **RAM:** 8 GB como mínimo, 16 GB recomendados - - -En **Windows**, la instalación independiente no requiere permisos de administrador. En **macOS**, necesitarás permisos de administrador para la instalación inicial en todo el sistema. En **Linux**, instalar el paquete `.deb` requiere `sudo`; el AppImage se ejecuta en el espacio del usuario sin permisos de administrador. - - -Descarga la última versión para Windows o macOS desde la [página oficial de descarga de ComfyUI](https://comfy.org/download). En Linux, descarga el `.deb` o el AppImage con el [enlace de descarga universal](https://dl.todesktop.com/241130tqe9q3y) del [repositorio de Comfy Desktop](https://github.com/Comfy-Org/Comfy-Desktop). Si prefieres ejecutarlo desde la fuente, consulta la [guía de instalación en Linux](/es/installation/desktop/linux). - - -Sí, pueden coexistir. Sin embargo, recomendamos migrar tus instalaciones al nuevo Comfy Desktop y, con el tiempo, desinstalar Legacy Desktop. Consulta la [guía de migración](/es/installation/desktop/usage/migrate). - - -## Uso - - -En el Panel, haz clic en **Nueva Instancia** para crear una instancia independiente, o abre **Nueva Instancia** y elige **Agregar Instancia Existente** para rastrear un clon de git o una instalación portable de Windows. Usa la tarjeta **Comfy Cloud** para conectarte a Cloud. - -- **Independiente**: instalación nueva con Python incluido -- **Agregar Instancia Existente**: rastrea un clon de git o una instalación portable -- **Cloud**: conéctate a Comfy Cloud - - -¡Sí! Comfy Desktop está diseñado para eso. Cada instalación se ejecuta en su propio entorno aislado con su propio Python y sus propias dependencias. Puedes iniciarlas simultáneamente en ventanas separadas. - - -Los modelos se comparten entre instancias de forma predeterminada. Configura las carpetas compartidas en [Configuraciones de Escritorio → Almacenamiento](/es/installation/desktop/usage/settings#almacenamiento). - -- **Independiente:** la instalación en sí vive en su carpeta de instalación. Los nodos personalizados y el entorno de Python son por instalación. Los modelos normalmente provienen de los directorios de modelos compartidos. -- **Clon de git / portable (rastreado):** los datos permanecen en esa carpeta existente (`models/`, `custom_nodes/`, `user/`). Aún puedes optar por modelos, entradas y salidas compartidos. - - -Comfy Desktop crea instantáneas automáticamente en eventos clave: en cada arranque y reinicio, antes y después de una actualización, y después de una restauración. Una instantánea registra la versión de ComfyUI de la instancia, los nodos personalizados con sus versiones y todos los paquetes pip del entorno. Los archivos de modelos, las entradas y las salidas no forman parte de una instantánea. - -Puedes explorar, restaurar, exportar y compartir instantáneas desde la pestaña **Snapshots** de la instancia. Consulta [Instantáneas](/es/installation/desktop/usage/snapshots). - -### Cómo detener/salir de Comfy Desktop - -Para detener una instancia de ComfyUI en ejecución (detener el backend de Python manteniendo la aplicación abierta): - -1. Haz clic en el **menú ⋮ (kebab)** de la tarjeta de la instancia -2. Selecciona **Detener** -3. Confirma en el diálogo - -Esto detiene el proceso de Python de ComfyUI pero deja abierta la ventana de la aplicación de escritorio para que puedas relanzarla en cualquier momento. Para salir completamente de la aplicación de escritorio, abre el **menú ☰** en la esquina superior izquierda y selecciona **Salir de Desktop** (o usa el comando de salida equivalente del sistema operativo). Al cerrar la última ventana vuelves al Panel, a menos que salgas de la aplicación. - -## Solución de problemas - - -1. **Windows:** intenta ejecutarla como administrador una vez -2. **macOS:** si ves una advertencia de seguridad, ve a **Configuración del Sistema → Privacidad y seguridad** y haz clic en **Abrir de todos modos** -3. **Linux:** asegúrate de que FUSE 2 esté instalado (`sudo apt install libfuse2`) -4. Revisa la [página de Descargas](https://comfy.org/download) para obtener la última versión - - -En Windows, Comfy Desktop 1.0.46 y versiones anteriores pueden quedarse bloqueados si una descarga de actualización no terminó. La aplicación muestra brevemente una pantalla de actualización y luego se cierra sin mostrar un error. Esto se repite en cada inicio, y la aplicación se cierra antes de poder descargar la corrección. La versión 1.0.47 y posteriores corrigen este problema. - -Para recuperarte, instala la última versión manualmente: - -1. Descarga el [último instalador para Windows](https://dl.todesktop.com/241130tqe9q3y/windows), o consíguelo desde la [página de Descargas](https://comfy.org/download). -2. Ejecuta el instalador. No necesitas desinstalar la versión anterior primero. -3. Inicia Comfy Desktop. - -Tus instalaciones, modelos y configuraciones se conservan. - - -- Asegúrate de que tus controladores NVIDIA estén actualizados -- En Linux, verifica que el kit de herramientas CUDA esté instalado -- Comprueba que el tipo de instalación admita GPU (Standalone y Git Clone sí lo hacen; las conexiones Cloud usan una GPU remota) - - -- Revisa tu conexión a internet -- Crea una instantánea manual desde la pestaña **Snapshots** de la instancia antes de intentar de nuevo -- Si el problema persiste, restaura una instantánea anterior e intenta de nuevo - - -Durante **New Instance**, Comfy Desktop verifica el espacio libre en la unidad de instalación. **Low Disk Space** es una advertencia: selecciona **Continue Anyway** para continuar, o elige otra ruta. **Not Enough Space for Template Models** bloquea esa plantilla; elige un flujo de trabajo más ligero o libera espacio. Los discos muy pequeños pueden omitir el paso de la plantilla. Consulta [Crear una nueva instancia](/es/installation/desktop/usage/instance-management#crear-una-nueva-instancia). - - -La aplicación de Escritorio escribe un archivo `app.log` rotativo. La forma más rápida de encontrarlo es **Configuraciones de Escritorio → Registros → Diagnóstico → Abrir carpeta de registros** (menú ☰ en la esquina superior izquierda). - -Carpetas de registros predeterminadas: - -- **Windows:** `%APPDATA%\Comfy Desktop\logs` -- **macOS:** `~/Library/Logs/Comfy Desktop` -- **Linux:** `~/.config/Comfy Desktop/logs` - -Busca `app.log`. Las sesiones anteriores rotan a archivos `app.log_*.log` con marca de tiempo. - -Para ver la salida del proceso de ComfyUI (no la de la aplicación de Escritorio en sí), abre el panel **Administrar** de la instancia y usa la pestaña **Terminal**. Consulta [Administrar](/es/installation/desktop/usage/manage). - - -ComfyUI no se integra de forma nativa con [Ollama](https://ollama.ai) para backends de modelos de difusión. Sin embargo, puedes usar LLMs servidos por Ollama para la generación de prompts y el procesamiento de texto mediante **nodos personalizados** disponibles en el registro de ComfyUI Manager. - -Para conectar ComfyUI con servicios de LLM, consulta [Instalar nodos personalizados](/es/installation/install_custom_node). - - -Comfy Desktop y sus instalaciones están separados en el disco. Para desinstalar la aplicación y sus instalaciones: - -1. **Elimina las instalaciones** desde dentro de la aplicación (clic derecho → Eliminar) o borra las carpetas de instalación manualmente -2. **Desinstala la aplicación** usando el método estándar de tu sistema (Agregar o quitar programas en Windows, arrastrar a la Papelera en macOS, el gestor de paquetes en Linux) - -Eso no elimina las configuraciones de la aplicación, los registros, los modelos compartidos ni las salidas. Para las carpetas que quedan y una limpieza completa, consulta [Windows](/es/installation/desktop/windows#lo-que-la-desinstalación-de-la-aplicación-no-elimina), [macOS](/es/installation/desktop/macos#lo-que-la-desinstalación-de-la-app-no-elimina) o [Linux](/es/installation/desktop/linux#eliminar-datos-residuales). - - -No. Comfy Desktop está diseñado como una aplicación GUI local y no admite modos de operación headless, solo servidor ni remotos. Requiere un entorno de escritorio gráfico para iniciar y administrar instancias de ComfyUI. - -Para despliegues headless o de servidor, usa una **instalación manual de ComfyUI** o la compilación **Windows Portable** en su lugar. - diff --git a/es/installation/desktop/linux.mdx b/es/installation/desktop/linux.mdx deleted file mode 100644 index 04e1f638d2..0000000000 --- a/es/installation/desktop/linux.mdx +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: "Comfy Desktop en Linux" -description: "Instala Comfy Desktop en Linux usando los paquetes oficiales .deb o AppImage. Las compilaciones desde el código fuente requieren Ubuntu 22.04 o superior, x64 y Node.js v22 LTS." -icon: "linux" -sidebarTitle: "Linux" -translationSourceHash: e5b27cc1 -translationFrom: installation/desktop/linux.mdx -translationBlockHashes: - "_intro": 0534da4a - "System Requirements": 409b2af2 - "Install the official package": c9a03f09 - "Build and run from source": f0c9dcb4 - "Updating": cdc9a557 - "Optional: local package": 47dfdddc - "Removing leftover data": a42f3904 ---- - -**Comfy Desktop** puede ejecutarse en Linux. Los paquetes oficiales `.deb` (Debian/Ubuntu) y AppImage se distribuyen a través del [repositorio de Comfy Desktop](https://github.com/Comfy-Org/Comfy-Desktop). Descárgalos con el [enlace de descarga universal](https://dl.todesktop.com/241130tqe9q3y), que detecta tu plataforma automáticamente. La mayoría de los usuarios deberían usar uno de esos paquetes. Si en cambio prefieres ejecutar la aplicación desde la fuente, clona el repositorio y sigue los pasos a continuación. - -## Requisitos del sistema - -- **SO:** Linux (se recomienda Ubuntu 22.04 o posterior) -- **Arquitectura:** x64 -- **Node.js:** v22 LTS o posterior (solo compilación desde el código fuente) -- **pnpm:** v10 o posterior, habilitado con Corepack (solo compilación desde el código fuente) -- **Herramientas de compilación:** `build-essential` y `git` (solo compilación desde el código fuente) -- **GPU:** Se recomienda una GPU dedicada (NVIDIA / AMD), pero no es obligatoria -- **Espacio en disco:** Se recomiendan al menos 4.85 GB por cada instalación de ComfyUI - -## Instalar el paquete oficial - -Descarga el paquete para Linux con el [enlace de descarga universal](https://dl.todesktop.com/241130tqe9q3y) (detecta tu plataforma automáticamente) y luego instálalo: - -```bash -sudo apt install ./*.deb -``` - -Para el AppImage: - -```bash -chmod +x ./*.AppImage -./*.AppImage -``` - -Si la aplicación no logra iniciarse, es posible que tu distribución esté bloqueando el sandbox de Electron (Ubuntu 24.04+ restringe los espacios de nombres de usuario sin privilegios mediante AppArmor). En ese caso, reintenta con `--no-sandbox`. Ten en cuenta que esta marca desactiva el sandbox de Electron para todos los procesos, así que úsala solo cuando fallen los inicios con sandbox. - -## Compilar y ejecutar desde el código fuente {#build-and-run-from-source} - -Estos pasos coinciden con la sección [Development](https://github.com/Comfy-Org/Comfy-Desktop#development) del README del repositorio. - -### Requisitos previos - -Primero instala las herramientas de compilación y git. Una instalación reciente de Ubuntu no las incluye, y `pnpm run init` compila módulos nativos como `node-pty`, lo que falla con `Error: not found: make` si falta `build-essential`: - -```bash -sudo apt install build-essential git -``` - -Luego instala Node.js 22 y habilita pnpm: - -```bash -nvm install 22 && nvm use 22 -corepack enable -``` - -Si no usas nvm, instala Node.js 22 desde [nodejs.org](https://nodejs.org/) en su lugar. - -### Clonar e instalar - -```bash -git clone https://github.com/Comfy-Org/Comfy-Desktop.git -cd Comfy-Desktop -pnpm run init -``` - -`pnpm run init` instala las dependencias y compila el bootstrap de Python incluido. - -### Inicia la aplicación - -```bash -./linux-dev.sh -``` - -Esto inicia Comfy Desktop en modo de desarrollo. El script establece `ELECTRON_DISABLE_SANDBOX=1` porque el sandbox de Electron suele fallar en entornos de desarrollo de Linux. - - - Una vez que la aplicación esté en ejecución, aprende a crear instancias, administrar instalaciones y configurar los ajustes. - - -## Actualizar - -No hay actualización automática dentro de la aplicación para una instalación desde el código fuente. Obtén el código más reciente y vuelve a iniciar la aplicación: - -```bash -git pull -pnpm run init -./linux-dev.sh -``` - -## Opcional: paquete local - -Para generar un `.deb` local o un AppImage para ti (no es una descarga oficial de Comfy Org): - -```bash -pnpm run build:linux -``` - -Los artefactos se generan en `dist/`. Si un AppImage falla porque Chromium no puede crear un sandbox, reintenta con `--no-sandbox`. Esa opción desactiva el sandbox de Electron para todos los procesos. - -## Eliminar datos residuales - -Detener el checkout de la fuente no elimina las instalaciones de ComfyUI ni los datos de la aplicación. Elimina estas carpetas solo si deseas una limpieza completa: - -| Datos | Ubicación predeterminada | Descripción | -|------|-----------------|-------------| -| Instalaciones | `~/ComfyUI-Installs` | Cada instalación de ComfyUI que creaste (también se puede eliminar desde dentro de la aplicación). Las rutas de instalación personalizadas tampoco se eliminan. | -| Modelos y salidas compartidos | `~/ComfyUI-Shared` | Biblioteca de modelos compartida, directorios de entrada/salida | -| Configuración de la aplicación | `~/.config/comfyui-desktop-2` | Configuraciones y registros de instalación | -| Datos de la aplicación | `~/.local/share/comfyui-desktop-2` | Datos persistentes de la aplicación | -| Caché | `~/.cache/comfyui-desktop-2` | Caché de descargas y otros archivos no esenciales | -| Estado | `~/.local/state/comfyui-desktop-2` | Estado en tiempo de ejecución, como los bloqueos de puertos | -| Registros | `~/.config/comfyui-desktop-2/logs` | Registros de la aplicación de escritorio (`app.log`) | - -Para eliminar todo por completo: - -1. **Elimina el clon** de `Comfy-Desktop` -2. **Elimina la carpeta de configuración**: `~/.config/comfyui-desktop-2` -3. **Elimina las carpetas de datos, caché y estado**: `~/.local/share/comfyui-desktop-2`, `~/.cache/comfyui-desktop-2` y `~/.local/state/comfyui-desktop-2` -4. **Elimina las instalaciones individuales** desde dentro de la aplicación, o elimina manualmente `~/ComfyUI-Installs` junto con cualquier directorio de instalación personalizado que hayas configurado -5. **Elimina la biblioteca de modelos compartida** en `~/ComfyUI-Shared` (solo si ya no necesitas estos archivos) - -Las instalaciones empaquetadas (`.deb` o AppImage) también guardan el perfil y los registros de la aplicación en `~/.config/Comfy Desktop`. Para limpiarlos, ejecuta el script [reset-linux.sh](https://github.com/Comfy-Org/Comfy-Desktop/blob/main/scripts/reset-linux.sh) del repositorio; elimina todas las ubicaciones de datos conocidas de la aplicación, pero deja intacta tu `~/ComfyUI-Installs`. diff --git a/es/installation/desktop/macos.mdx b/es/installation/desktop/macos.mdx deleted file mode 100644 index a167f60ba5..0000000000 --- a/es/installation/desktop/macos.mdx +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: "Comfy Desktop para macOS" -description: "Instala Comfy Desktop en macOS: requisitos del sistema, pasos de configuración, actualizaciones y una desinstalación limpia para ejecutar ComfyUI localmente en Macs con Apple Silicon." -icon: "apple" -sidebarTitle: "macOS" -translationSourceHash: b6e10c30 -translationFrom: installation/desktop/macos.mdx ---- - -import MigrateTip from '/snippets/es/desktop/migrate.mdx' -import UpdateGuide from '/snippets/es/desktop/update.mdx' - -**Comfy Desktop** es un administrador de instalaciones múltiples que te permite ejecutar varias instancias de ComfyUI desde un único lanzador. Esta guía explica cómo instalar y desinstalar Comfy Desktop en macOS. - -## Requisitos del sistema - -- **SO:** macOS 13 (Ventura) o posterior -- **Hardware:** Apple Silicon (M1 o posterior) -- **Espacio en disco:** al menos 4.85 GB recomendados por instalación - - - Descarga el instalador más reciente para macOS. La página detectará tu plataforma automáticamente. - - -## Instalación - -1. Abre el archivo `.dmg` descargado -2. Arrastra **Comfy Desktop** a la carpeta **Aplicaciones** -3. Ábrelo desde Launchpad o Spotlight - -![Desktop MacOS](/images/desktop/installation/mac_1_install.png) -La primera vez que lo abras, macOS podría mostrar una advertencia de seguridad. Ve a **Configuración del Sistema → Privacidad y seguridad** y haz clic en **Abrir de todos modos** para permitirlo. - - - - - Una vez instalado, aprende a crear instancias, administrar instalaciones y configurar los ajustes. - - -## Actualizar Comfy Desktop - - - -## Desinstalar - -### Eliminar Comfy Desktop - -1. Abre la carpeta **Aplicaciones** en Finder -2. Haz clic derecho en **Comfy Desktop** y selecciona **Mover a la papelera** - -![Desinstalar Comfy Desktop en macOS](/images/desktop/installation/mac_2_uninstall.png) - -### Lo que la desinstalación de la app NO elimina - -Desinstalar Comfy Desktop solo elimina la aplicación del lanzador. Los siguientes datos **no** se eliminan y debes borrarlos manualmente si quieres una limpieza completa: - -| Datos | Ubicación predeterminada | Descripción | -|------|-----------------|-------------| -| Instalaciones | `~/ComfyUI-Installs` | Cada instalación de ComfyUI que creaste (también se puede eliminar desde la app). Las rutas de instalación personalizadas tampoco se eliminan. | -| Modelos y salidas compartidos | `~/ComfyUI-Shared` | Biblioteca de modelos compartida, directorios de entrada/salida | -| Configuraciones y registro de la app | `~/Library/Application Support/Comfy Desktop` | Configuraciones y registros de instalación | -| Registros | `~/Library/Logs/Comfy Desktop` | Registros de la app de escritorio (`app.log`) | - -Los directorios enumerados arriba contienen tus **datos personales de ComfyUI** (modelos, salidas, configuraciones e instalaciones). **No** son archivos de la aplicación Comfy Desktop. Si los eliminas, tus datos se borrarán de forma permanente. - -Para eliminar todo por completo: - -1. **Elimina la carpeta de datos de la app**: `~/Library/Application Support/Comfy Desktop` -2. **Elimina la carpeta de registros**: `~/Library/Logs/Comfy Desktop` -3. **Elimina las instalaciones individuales** desde la app, o borra manualmente `~/ComfyUI-Installs` junto con los directorios de instalación personalizados que hayas configurado -4. **Elimina la biblioteca de modelos compartida** en `~/ComfyUI-Shared` (solo si ya no necesitas estos archivos) \ No newline at end of file diff --git a/es/installation/desktop/overview.mdx b/es/installation/desktop/overview.mdx deleted file mode 100644 index 40fd3145fa..0000000000 --- a/es/installation/desktop/overview.mdx +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: "Descripción general de Comfy Desktop" -description: "Descripción general de Comfy Desktop: una aplicación de escritorio que instala, gestiona e inicia varias instancias de ComfyUI, el motor basado en nodos para IA generativa." -icon: "desktop" -sidebarTitle: "Descripción general" -translationSourceHash: 41336356 -translationFrom: installation/desktop/overview.mdx -translationBlockHashes: - "_intro": 7b398eef - "Get Started": 5c67594c - "First Launch": 9b929553 - "Usage Guide": 676a0e69 - "Migrate from Legacy Desktop": 3004732b - "Open Source": 52e2900a ---- -**Comfy Desktop** es una aplicación de escritorio que te permite instalar, administrar e iniciar múltiples instancias de ComfyUI desde un solo lanzador. - -En pocas palabras: **Comfy Desktop** es la aplicación que administra e inicia **ComfyUI**, el motor basado en nodos para IA generativa. No necesitas instalar ComfyUI por separado: Comfy Desktop se encarga de la instalación, el entorno de Python y las dependencias por ti. Cada instancia de ComfyUI se ejecuta de forma independiente con su propia versión, nodos personalizados y configuraciones. - -![Panel de Comfy Desktop con tarjetas de instancias](/images/desktop/usage/01-homepage.png) - -Comfy Desktop funciona en **Windows 10+**, **macOS 13+ (Apple Silicon)** y **Linux** (paquetes oficiales `.deb` y AppImage). Cada instalación independiente requiere al menos **4.85 GB** de espacio en disco y **8 GB de RAM (16 GB recomendado)**. Consulta las páginas específicas de cada plataforma para ver todos los detalles. - -## Empezar - -Elige tu plataforma para comenzar: - - - - Guía de instalación paso a paso para Windows 10 o posterior. - - - - Guía de instalación paso a paso para macOS 13+ (Apple Silicon). - - - - Instala el `.deb` oficial o el AppImage, o compila desde la fuente. - - - -## Primer inicio - -La primera vez que abras Comfy Desktop, una configuración a pantalla completa te pregunta **¿Cómo quieres ejecutar Comfy?** y recopila las opciones que necesita antes de instalar nada. La ventana permanece en esta configuración hasta que la termines: si cierras la aplicación a mitad de camino, la misma pantalla vuelve a aparecer en el siguiente inicio. - -### Nube o local - -![Configuración de primer inicio que pregunta por Nube o Local](/images/desktop/usage/first_run_cloud_local.png) - -Dos tarjetas cubren las dos formas de ejecutar ComfyUI: - -- **Nube** ejecuta ComfyUI en las GPU de Comfy Cloud. No se instala nada en tu máquina y no hay nada que descargar. La tarjeta muestra una insignia **PRUEBA GRATIS** mientras haya ejecuciones gratuitas en la nube disponibles. -- **Local** instala ComfyUI en esta máquina. Tú controlas la versión de ComfyUI, los nodos personalizados y los argumentos de inicio, y funciona sin conexión. - -Si Comfy Desktop detecta que la GPU de esta máquina no es lo suficientemente potente para la mayoría de los flujos de trabajo, la tarjeta Nube muestra una insignia **Recomendado para tu hardware** y ninguna tarjeta está preseleccionada, por lo que la elección es deliberada en lugar de predeterminada. **Continuar** permanece deshabilitado hasta que se seleccione una tarjeta. - -### Términos y uso compartido de datos - -Hay tres casillas de verificación debajo de las tarjetas: - -- **Acepto el EULA y los Términos de Servicio**: obligatorio. Los enlaces abren el EULA, los Términos de Servicio y la Política de Privacidad. **Continuar** no avanza hasta que se marque esta casilla, cada vez que se ejecuta la configuración. -- **Ayuda a mejorar Comfy compartiendo datos de uso anónimos**: opcional y marcada de forma predeterminada. Comfy Desktop envía datos de uso anónimos y nunca recopila contenidos de flujos de trabajo, prompts, medios generados ni información personal. Puedes cambiar esto más adelante en [Configuraciones de Escritorio](/es/installation/desktop/usage/settings). -- **Participa en funciones beta y ayuda a probar lo que se lanzará próximamente**: opcional y marcada de forma predeterminada, y disponible solo mientras el uso compartido de datos esté activado. Al desactivar el uso compartido de datos también se desmarca esta casilla. - -### Instalación exprés - -![Configuración de primer inicio con Local seleccionado](/images/desktop/usage/first_run_local_selected.png) - -Cuando se selecciona **Local**, aparece una casilla **Instalación exprés con configuraciones recomendadas**. Está desmarcada de forma predeterminada, por lo que el asistente de instalación muestra la versión de ComfyUI, la ubicación de instalación y las opciones de inicio antes de que se escriba algo en el disco. Márcala para omitir ese paso e instalar una instancia Standalone con las configuraciones recomendadas. Comfy Desktop entonces muestra el hardware que detectó debajo de la casilla, para que puedas desmarcarla si la GPU detectada no es la que quieres usar. - -### Migrar una instalación existente - -Si Comfy Desktop encuentra una instalación de Desktop clásico en la máquina, aparece una casilla **Migrar instancia existente** junto a Instalación exprés, marcada de forma predeterminada. Déjala marcada para transferir tus flujos de trabajo, modelos y configuraciones cuando continúes. Consulta [Migrar desde Desktop clásico](/es/installation/desktop/usage/migrate) para saber qué se transfiere. Desmárcala para instalar una instancia nueva en su lugar. Con ambas casillas desmarcadas, Comfy Desktop pregunta una vez más antes de que comience la instalación: selecciona **Migrar** para transferir la instalación de Desktop clásico, o **Empezar de cero** para instalar una instancia limpia y dejar los proyectos existentes en su lugar. - -### Espejos chinos - -Cuando la aplicación se ejecuta en chino, la configuración agrega una pregunta después de **Continuar**: **¿Habilitar espejos chinos?** Selecciona **Habilitar espejos** para clonar repositorios Git desde `gitcode.com` y obtener paquetes de PyPI desde los espejos de Aliyun y Tencent en lugar de `github.com` y `pypi.org`, lo que es más rápido en China continental. Selecciona **Ahora no** para mantener los valores predeterminados. Cualquiera de las dos respuestas se guarda como la configuración **Usar espejos chinos (Git y PyPI)**, así que puedes cambiarla más adelante. - -### Después de la configuración - -**Continuar** guarda tus elecciones y muestra un breve paso **Preparando tu instalación…**. - -- **Nube**: Comfy Desktop cierra la configuración e inicia Comfy Cloud. -- **Local**: el asistente de instalación se ejecuta a menos que la Instalación exprés esté activada, la instalación muestra su progreso y la instancia finalizada aparece en el Panel. - -Si Comfy Desktop ya tiene una instalación Standalone, con seguimiento o remota, omite la elección Nube o Local y te lleva directamente al Panel una vez que se aceptan los términos. Se requiere dar tu consentimiento cada vez que se ejecuta la configuración. - -La configuración ocupa toda la pantalla: la barra de título está bloqueada mientras está abierta y, una vez que sales del paso de consentimiento, el menú de la aplicación (☰) se reduce a un único elemento **Omitir la incorporación**, que cierra la configuración y te deja en el Panel sin instalar nada. - -## Guía de uso - -Una vez instalado, aprende a usar Comfy Desktop: - - - - Descripción general del Panel, gestión de instancias, configuraciones, instantáneas y más. - - - -## Migrar desde Legacy Desktop - -Si todavía usas la versión anterior Legacy Desktop (aplicación de escritorio de instalación única), puedes migrar tus nodos personalizados, flujos de trabajo y modelos al nuevo Comfy Desktop. Tus datos existentes se conservan: no se necesita ninguna migración manual. - - - - Guía paso a paso para migrar de Legacy Desktop a Comfy Desktop. - - - -## Código abierto - -El código fuente de Comfy Desktop está en [GitHub](https://github.com/Comfy-Org/Comfy-Desktop). Tiene doble licencia: AGPL-3.0-or-later, o una licencia comercial de Comfy Org. diff --git a/es/installation/desktop/usage/downloads.mdx b/es/installation/desktop/usage/downloads.mdx deleted file mode 100644 index 61982eb832..0000000000 --- a/es/installation/desktop/usage/downloads.mdx +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Descargas de modelos en Comfy Desktop" -description: "Sigue las descargas activas y recientes de modelos y salidas, reinténtalas o pausálas, y consulta dónde guarda Comfy Desktop cada archivo." -icon: "download" -sidebarTitle: "Descargas" -translationSourceHash: 3bf95cda -translationFrom: installation/desktop/usage/downloads.mdx -translationBlockHashes: - "_intro": b76dd6b3 - "What appears in the downloads list": b394c70b - "The Downloads tray": 41349f1e - "The full downloads view": 25f04653 - "Quitting with downloads in progress": b4673998 - "Where downloads are saved": 1cf62540 ---- -Comfy Desktop descarga los modelos para tus instancias y lleva el seguimiento de cada transferencia en un solo lugar. Cuando una instancia de ComfyUI solicita un modelo que todavía no está en el disco, Comfy Desktop se encarga de la descarga y guarda el archivo en el directorio de modelos de la instancia, así que no tienes que colocarlo a mano. - -Abre la bandeja **Descargas** desde la barra de título para seguir las descargas activas, reintentar una descarga fallida o ir a la carpeta donde quedó un archivo finalizado. - -## Lo que aparece en la lista de descargas - -- **Modelos faltantes**: cuando ComfyUI reporta modelos faltantes en el diálogo de modelos faltantes o en la pestaña **Errores** del panel del lado derecho, la acción de descarga se gestiona a través de Comfy Desktop. Cada archivo se guarda en la carpeta de modelos correspondiente, como `checkpoints`, `diffusion_models`, `text_encoders`, `loras` o `vae`. Los tipos de archivo de modelo admitidos son `.safetensors`, `.sft`, `.ckpt`, `.pth` y `.pt`. -- **Modelos de plantilla**: cuando configuras una instancia a partir de una plantilla de inicio, los modelos que esa plantilla necesita se descargan en segundo plano y aparecen en la bandeja como cualquier otra descarga. La pantalla de progreso mantiene visible el paso de descarga de modelos hasta que finalicen. Si prefieres empezar de inmediato, **Saltar y abrir ComfyUI** en esa pantalla abre ComfyUI enseguida y las descargas siguen ejecutándose en la bandeja. -- **Salidas de instancias remotas**: cuando ejecutas un flujo de trabajo en una instancia remota o de Cloud, las salidas finalizadas se descargan automáticamente en tu directorio de salida local. - -## La bandeja de Descargas - -Haz clic en el botón **Descargas** de los controles finales de la barra de título para abrir la bandeja. Las descargas se listan con las más recientes primero, etiquetadas con su carpeta de modelo y su nombre de archivo, y las filas activas muestran el tamaño transferido, el porcentaje, la velocidad y el tiempo restante estimado. - -![Bandeja de Descargas abierta desde la barra de título de Comfy Desktop, con las descargas de modelos listadas junto a su carpeta y su progreso](/images/desktop/usage/downloads_01_tray.png) - -El botón muestra una insignia con el número de descargas activas. Cuando no se está descargando nada, en su lugar señala las descargas que fallaron y no has revisado, o las que finalizaron y aún no has abierto. - -Cada fila tiene estas acciones: - -- **Haz clic en una fila finalizada** para abrir la carpeta que contiene el archivo (Mostrar en Finder, Mostrar en Explorer o Mostrar en carpeta, según tu sistema). -- **Reintentar** una descarga fallida o cancelada. -- **✕** para cancelar una descarga activa, o eliminar una finalizada de la lista. - -**Ver todas las descargas**, en la parte inferior de la bandeja, abre la vista completa de descargas. - -## La vista completa de Descargas - -La vista completa conserva el historial de descargas de la aplicación y añade los controles que no caben en la bandeja: - -- Filtra la lista por **Todas**, **Activas**, **Completadas** o **Fallidas**. -- **Pausar** una descarga activa y **Reanudar** una que esté en pausa. -- **Reintentar** una descarga fallida o cancelada. -- Abrir la carpeta del archivo o eliminar una sola fila. -- **Limpiar finalizadas** para eliminar todas las filas finalizadas a la vez. - -El pie de página muestra el recuento de las descargas activas y completadas que aparecen en la lista. - -![Vista completa de Descargas con descargas en pausa, cada una con una acción Reanudar, y el recuento de activas en el pie de página](/images/desktop/usage/downloads_02_full_view.png) - -## Salir con descargas en progreso - -Las descargas de modelos se pueden reanudar. Si sales de Comfy Desktop mientras se está ejecutando una transferencia de modelo, los bytes ya recibidos se conservan y, en el siguiente inicio, la transferencia vuelve como una fila en pausa en la bandeja Descargas. Abre **Ver todas las descargas** para **Reanudarla** desde donde se detuvo, o cancélala para descartar el archivo parcial. - -Las descargas de salida de instancias remotas se transfieren por una ruta separada y no se reanudan después de salir. - -Cuando los modelos de una plantilla aún se están descargando, Comfy Desktop te pide que confirmes la salida, porque la configuración de la plantilla espera esos archivos: - -- **Salir de todos modos**: pone las descargas en pausa y sale. Las filas siguen ahí en el siguiente inicio. -- **Seguir descargando**: cancela la salida y deja Comfy Desktop en ejecución. Esta es la opción predeterminada. - -Las salidas que inicia Comfy Desktop por sí mismo, como instalar una actualización o reiniciar, omiten este aviso. También lo hace **Salir de Desktop** en el menú de la barra de título, que muestra su propia confirmación con las descargas activas. Las transferencias se ponen en pausa en cualquier caso y vuelven en el siguiente inicio. - -## Dónde se guardan las descargas - -Los archivos de modelo se escriben en el directorio de descargas de modelos de la instancia: el directorio de modelos compartido marcado como **DESCARGAS** (se configura con **Usar para descargas de modelos**) cuando la instancia incluye directorios de modelos compartidos; de lo contrario, en la carpeta `models` propia de la instancia. Los directorios compartidos se configuran en [Configuraciones de Escritorio](/es/installation/desktop/usage/settings#almacenamiento), y cada instancia puede excluirse de ellos en su panel **Administrar**, [pestaña Almacenamiento](/es/installation/desktop/usage/manage#pestaña-almacenamiento). - -Las salidas descargadas desde una instancia remota se guardan en la carpeta de salidas compartida cuando la instancia la utiliza; de lo contrario, en la carpeta de salidas propia de la instancia. Una instancia remota puede desactivar la descarga automática de salidas con **Descarga automática de salidas** en sus configuraciones de almacenamiento. diff --git a/es/installation/desktop/usage/instance-management.mdx b/es/installation/desktop/usage/instance-management.mdx deleted file mode 100644 index c7af621f68..0000000000 --- a/es/installation/desktop/usage/instance-management.mdx +++ /dev/null @@ -1,223 +0,0 @@ ---- -title: "Gestión de instancias" -description: "Crea, edita, renombra y elimina instancias de ComfyUI en Comfy Desktop" -icon: "plus" -sidebarTitle: "Instancia" -translationSourceHash: 6af84463 -translationFrom: installation/desktop/usage/instance-management.mdx -translationBlockHashes: - "_intro": 40f594e6 - "Creating a New Instance": 7d50ddd9 - "Tracking an Existing Installation": 063be1e2 - "Launching, Stopping, and Restarting an Instance": 95513898 - "Uninstalling an Instance": d448f7e4 - "Duplicating an Instance": 2757e7a8 - "Editing an Instance": 26fca959 - "Error State": b966ac81 ---- - - -Comfy Desktop te permite administrar varias instancias de ComfyUI desde la vista Selector. - -### Tipos de instancia - -Comfy Desktop admite cuatro tipos de instancias. Cada tipo aparece en su tarjeta y en la barra de título; las instancias **Rastreadas** comparten el icono de **Independiente**. - -| Tipo | Icono | Descripción | -|------|------|-------------| -| **Independiente** | 💻 | Una instancia de ComfyUI autocontenida creada por Comfy Desktop. Incluye Python integrado, actualizaciones automáticas y compatibilidad total con instantáneas. Es la opción predeterminada al hacer clic en **Nueva instancia**. | -| **Cloud** | ☁️ | Una instancia de Comfy Cloud. Requiere una cuenta de Comfy Cloud. Las instancias Cloud se ejecutan en los servidores de Comfy y se facturan por separado. | -| **Remota** | 🌐 | Se conecta a una instancia de ComfyUI que se ejecuta en otra máquina de tu red. Configura el host y el puerto remotos durante la configuración. | -| **Rastreada** | 💻 | Rastrea una instalación existente de ComfyUI (clon de Git o portable). Usa el mismo icono que **Independiente**. Tú administras las actualizaciones manualmente. Consulta [Rastrear una instalación existente](#seguimiento-de-una-instalación-existente). | - -La siguiente imagen señala las acciones clave disponibles en cada tarjeta de instancia: - -![Menú ⋮ de la tarjeta de instancia: Administrar, Duplicar instancia, Mostrar en Finder, Exportar instantánea, Restaurar instantánea, Desinstalar](/images/desktop/interface/interface_instance_menu.png) - -1. **Nueva instancia**: Crea una instancia de ComfyUI desde cero. Consulta [Crear una nueva instancia](#crear-una-nueva-instancia). También puedes [crear una instancia a partir de un archivo de instantánea](/es/installation/desktop/usage/snapshots#crea-una-instancia-a-partir-de-un-archivo-de-instantánea). -2. **Menú ⋮**: Haz clic en el icono de tres puntos para abrir el menú de acciones de una instancia. Al hacer clic derecho en la tarjeta se abre el mismo menú. -3. **Administrar**: Abre el panel Administrar para configurar la instancia (ruta, argumentos de inicio, directorios de modelos, variables de entorno). Consulta la página [Administrar](/es/installation/desktop/usage/manage). -4. **Duplicar instancia**: Copia una instalación independiente, con su propio entorno de Python y nodos personalizados. Consulta [Duplicar una instancia](#duplicar-una-instancia). -5. **Mostrar en Finder**, **Mostrar en el Explorador** o **Mostrar en carpeta**: Abre la carpeta de instalación en tu administrador de archivos. El nombre depende de tu sistema operativo. -6. **Exportar instantánea**: Exporta la instantánea más reciente de la instancia a un archivo que puedas compartir. Consulta [Compartir una instantánea](/es/installation/desktop/usage/snapshots#compartir-una-instantánea). -7. **Restaurar instantánea**: Revierte la instancia a una instantánea anterior. Consulta la página [Instantáneas](/es/installation/desktop/usage/snapshots). -8. **Desinstalar**: Elimina de forma permanente la instancia y todos sus archivos del disco. Consulta [Desinstalar una instancia](#desinstalar-una-instancia). - -El menú también enumera acciones que solo aparecen en ciertos estados: **Detener** mientras la instancia se está ejecutando, **Actualizar** cuando hay una nueva versión de ComfyUI disponible, **Migrar a Independiente** para una instalación que puedas migrar, y **Crear compilación** para una instancia local que puedas publicar en un espacio de trabajo. **Olvidar** no forma parte de este menú; se encuentra en el panel Administrar, consulta [Desinstalar una instancia](#desinstalar-una-instancia). - -## Crear una nueva instancia - -Haz clic en la tarjeta **+** (arriba a la izquierda) en la vista Selector para agregar una nueva instancia de ComfyUI. - - - - - - - ![El asistente Crear una nueva instancia en Windows, señalando el nombre (1), el modo de compilación (2), el canal de lanzamiento (3), el hardware (4) y la ubicación de instalación (5)](/images/desktop/usage/new_install_01_settings_windows.png) - - - ![El asistente Crear una nueva instancia en macOS, señalando el nombre (1), el método de instalación (2), el canal de lanzamiento (3), el hardware (4) y la ubicación de instalación (5)](/images/desktop/usage/new_install_01_settings_mac.png) - - - ![Asistente Crear una nueva instancia en Linux: nombre, Public Builds, lanzamiento, hardware (AMD/NVIDIA/Intel Arc) y ubicación de instalación con espacio libre](/images/desktop/usage/new_install_01_settings_linux.png) - - - -1. **Nombre**: el nombre de tu instancia. El valor predeterminado es "ComfyUI". -2. **Public Builds**: la opción recomendada. Una instalación estándar de ComfyUI creada para el hardware detectado. Selecciona **Managed Builds** para instalar un Build desde uno de tus espacios de trabajo (consulta [Espacios de trabajo y ComfyUI Builds](/es/installation/desktop/usage/workspaces-and-builds#instalar-un-build)), o **Conexión Remota** para conectarte a una instancia de ComfyUI que se ejecuta en otra máquina. -3. **Lanzamiento**: el canal de lanzamiento que se va a instalar. **Estable (RECOMENDADO)** viene preseleccionado. -4. **Hardware**: Comfy Desktop detecta tu GPU y preselecciona la compilación correspondiente (NVIDIA, AMD, Intel Arc (XPU) o CPU). Cada opción muestra la versión de ComfyUI, la versión de Python y el tamaño de la descarga. -5. **Ubicación de Instalación**: dónde se instala ComfyUI. En Windows, se recomienda encarecidamente usar un **SSD** y evitar la raíz de la unidad C:. El campo muestra el espacio libre en la unidad y una estimación del tamaño de la instalación cuando Comfy Desktop la conoce. - -Si el espacio libre parece bajo, el asistente muestra el diálogo **Low Disk Space**. Elige **Continue Anyway**, o cancela y selecciona otra ruta. - -![Diálogo Low Disk Space que muestra el espacio libre frente al tamaño de instalación requerido, con Cancel y Continue Anyway](/images/desktop/usage/low_disk_space_dialog.png) - - - - -![Progreso de la instalación: Descargando ComfyUI con porcentaje, rendimiento y pasos restantes](/images/desktop/usage/new_install_02_installing.png) - -Comfy Desktop se encargará del resto: descargar Python, configurar el entorno e instalar ComfyUI. La pantalla de progreso muestra el paso actual. - - - - -![Paso Elegir un flujo de trabajo inicial con pestañas Vídeo/Imágenes/3D/Audio antes de que finalice la instalación](/images/desktop/usage/new_install_03_interface_template.png) - -Una vez completada la instalación, Comfy Desktop abre la biblioteca de plantillas donde puedes elegir una plantilla de flujo de trabajo para empezar. - -Las plantillas que descargan modelos necesitan suficiente espacio libre para esos archivos. Si la unidad no puede contener los modelos de una plantilla, el asistente bloquea esa opción. Elige una plantilla más ligera o libera espacio. En discos muy pequeños, el paso de plantillas puede omitirse por completo. - - - - -## Seguimiento de una Instalación Existente - -Si ya tienes una instalación de ComfyUI (configurada manualmente desde el repositorio de Git o descargada como versión portable), puedes agregarla a Comfy Desktop sin crear una nueva. - -Abre el menú ☰ en la barra de título y selecciona **Add Existing Instance**. - -![El menú ☰ abierto en el Panel, con Add Existing Instance marcado (2)](/images/desktop/usage/track_instance_01.png) - -1. El botón de menú **☰** en la esquina superior izquierda de la barra de título. -2. **Add Existing Instance**: Abre el diálogo que rastrea una instalación existente de ComfyUI. - -### Detectar tu Instalación - -En el diálogo, haz clic en **Browse…** y selecciona la carpeta de instalación. Comfy Desktop sondea la carpeta y completa el resto del diálogo. El menú desplegable **Detected type** muestra lo que encontró: - -- **Standalone**: Una instalación de Comfy Desktop. El sondeo busca un directorio `standalone-env` y `ComfyUI/main.py`. -- **Portable**: Una compilación portable de Windows. El sondeo busca `python_embeded`, ya sea en la carpeta que seleccionaste o en una carpeta directamente dentro de ella. -- **Git Clone**: Un clon del repositorio de ComfyUI. El sondeo busca un directorio `.git`. -- **Legacy Desktop**: Una instalación de la aplicación ComfyUI Desktop anterior, reconocida por sus directorios `models/`, `user/` y `.venv`. Consulta [Migrar desde Legacy Desktop](/es/installation/desktop/usage/migrate). - -Si el sondeo no encuentra nada, el menú desplegable muestra **No known install detected**. Selecciona la carpeta que contiene la instalación en sí, no una carpeta principal ni una carpeta no relacionada. - -### Confirmar la Instalación Detectada - -Cuando el sondeo termina, el diálogo muestra lo que encontró. Revisa las rutas antes de rastrear la instalación. - -![El diálogo Add Existing Instance con un clon de Git detectado: ubicación de instalación, versión, repositorio, rama y entorno virtual](/images/desktop/usage/track_instance_02.png) - -- **Install location**: La carpeta que seleccionaste. Haz clic en la ruta para abrirla, o en **Browse…** para elegir otra. Para una compilación portable, apunta a la carpeta que contiene `python_embeded`. -- **Name**: Cómo se lista la instancia en el Chooser. El diálogo sugiere un nombre. -- **Detected type**: Qué tipo de instalación contiene la carpeta. -- **Version**, **Repository** y **Branch**: Se muestran para un clon de Git. -- **Virtual Environment**: Se muestra para un clon de Git cuando Comfy Desktop encuentra uno, en `.venv`, `venv`, `.env` o `env` con un archivo `pyvenv.cfg` dentro. **Browse…** apunta la instancia a un entorno diferente. - -Haz clic en **Track Install** para agregar la instancia. No se mueve ni se copia ningún archivo. - -### Rastreada vs Standalone - -La diferencia clave entre una instalación **Rastreada** (Add Existing Instance) y una instalación **Standalone** es cómo se administran las actualizaciones: - -| Aspecto | Rastreada (Existente) | Standalone | -|--------|-------------------|------------| -| **Actualizaciones** | Sin actualizaciones automáticas: en un clon de Git haces el pull y reinstalas tú mismo, y una compilación portable se reemplaza por una más nueva | Actualizaciones automáticas integradas | -| **Python** | Usa un entorno de Python existente (`.venv`, `python_embeded`, etc.) | Python incluido, gestión automática de dependencias | -| **Aislamiento** | Comparte la ruta y el entorno existentes | Instalación completamente autocontenida y aislada | -| **Instantáneas** | No es compatible | Soporte de instantáneas disponible | -| **Caso de uso** | Ya tienes ComfyUI configurado y personalizado | Instalación nueva desde cero | - -> **Nota:** Comfy Desktop ejecuta una instalación rastreada con su entorno de Python existente y no reinstala ComfyUI ni administra sus paquetes. La captura de instantáneas solo se ejecuta para instancias Standalone. - -## Iniciar, detener y reiniciar una instancia - -[↩ Volver a la descripción general](#overview) - -### Iniciar una instancia - -Haz clic en la tarjeta de una instancia en el Selector para iniciarla. Mientras ComfyUI arranca, la ventana muestra el progreso de inicio y, cuando el servidor está listo, la interfaz de ComfyUI. - -### Iniciar mientras otra instancia está en ejecución - -Cuando inicias una instancia local mientras otra instancia local está en ejecución o iniciándose, Comfy Desktop muestra un diálogo **Ya hay una instancia en ejecución** que enumera las instancias que detendría: - -- **Cerrar e iniciar**: detiene las instancias enumeradas y luego inicia la que elegiste. -- **Ejecutar todas**: inicia la nueva instancia junto a las que ya están en ejecución. - -Descarta el diálogo para cancelar el inicio. Reiniciar una instancia nunca muestra este diálogo. Para dejar de verlo, desactiva **Advertir antes de ejecutar varias instancias** en [Configuraciones de Escritorio → Preferencias](/es/installation/desktop/usage/settings#preferencias). - -### Detener una instancia - -Selecciona **Detener** en el menú ⋮ de la tarjeta de la instancia. El servidor de ComfyUI se detiene y la ventana permanece abierta con una tarjeta **ComfyUI está detenido**. Selecciona **Volver a iniciar ComfyUI** para arrancar el servidor de nuevo, o **Volver al Panel** para regresar al Selector. - -### Reiniciar después de un fallo - -Si ComfyUI no logra iniciarse o se cierra inesperadamente, la ventana permanece abierta con una tarjeta que describe lo que ocurrió: - -- **ComfyUI no pudo iniciarse**: la instancia no arrancó. -- **ComfyUI se cerró inesperadamente**: el proceso se detuvo. Cuando Comfy Desktop puede leerlo, la tarjeta también muestra el código de salida, o la señal que terminó el proceso. - -En Windows, un fallo puede reportar una violación de acceso a la memoria y señalar que algunos archivos de Microsoft Visual C++ Redistributable parecen faltar. Expande los registros de la tarjeta para ver los detalles y luego selecciona **Reiniciar ComfyUI** para iniciar de nuevo, o **Volver** para regresar al panel. - -Si ComfyUI se detiene porque no puede abrir la base de datos de recursos que guarda dentro de la instalación, el error con el que se detiene explica el motivo en lugar de reportar solo un código de salida: - -- **Otro ComfyUI está usando la base de datos de esta instalación**: cierra ese ComfyUI (o la aplicación que lo inició), o dale a uno de ellos su propia ubicación de base de datos con el argumento de inicio `--database-url`. -- **Cualquier otro fallo de la base de datos**, desde una bloqueada por otro programa hasta una escrita por una versión más reciente de ComfyUI o imposible de crear en esa carpeta: el mensaje indica el archivo y la solución, y termina con la opción de iniciar la instancia sin el sistema de recursos, agregando `--disable-assets` a sus argumentos de inicio. - -## Desinstalar una instancia - -[↩ Volver a la descripción general](#overview) - -Cuando quieres eliminar una instancia, dos acciones determinan si sus archivos permanecen en el disco. - -![Olvidar y Desinstalar en el menú Más del panel Administrar](/images/desktop/usage/instance_uninstall.png) - -1. **Olvidar**: Elimina la instancia de la aplicación sin borrar nada. La carpeta de instalación y todos sus datos permanecen en el disco. Úsalo cuando solo quieras limpiar la lista pero podrías necesitar la instancia más tarde. -2. **Desinstalar**: Elimina permanentemente la instalación y todos sus archivos del disco. Los archivos de modelo en directorios compartidos no se ven afectados. - -**Desinstalar** también está en el menú ⋮ de la tarjeta de la instancia. **Olvidar** no forma parte de ese menú; lo encuentras en el panel Administrar, en el menú **Más** en la parte inferior del panel. Una instalación que Comfy Desktop adoptó, como una migrada desde Legacy Desktop, no tiene la acción **Olvidar**. - -## Duplicar una instancia - -[↩ Volver a la descripción general](#overview) - -Puedes duplicar una instalación independiente existente. Abre el menú ⋮ de la tarjeta y selecciona **Duplicar instancia**, o usa **Duplicar instancia** en el menú **Más** del panel Administrar. La copia obtiene: - -- Un nuevo entorno de Python -- La misma versión de ComfyUI -- Su propia configuración de nodos personalizados - -Escribe un nombre para la copia duplicada cuando se te solicite. La copia se crea junto a la original. Las instalaciones en la nube, remotas y rastreadas no se pueden duplicar. - -## Editar una instancia - -[↩ Volver a la descripción general](#overview) - -En el panel **Administrar** de una instancia, puedes: - -- Cambiar la ruta de instalación -- Ajustar los argumentos de inicio -- Modificar los directorios de modelos -- Actualizar las variables de entorno -- Renombrar la instancia, desde el nombre en la parte superior de la pestaña **Acerca de** o desde **Renombrar** en el menú **Más** -- Cambiar la dirección de conexión de una conexión remota, en la pestaña **Acerca de** - -Abre el panel **Administrar** haciendo clic derecho en la tarjeta de la instancia (o seleccionando **Administrar** en su menú ⋮). - -## Estado de error - -Si una instalación encuentra un problema, aparece una insignia **Error** en su tarjeta. Selecciona la insignia para leer los detalles: el mensaje, el código de salida o la señal cuando Comfy Desktop tenga uno, y las últimas líneas de la salida de error. Iniciar o reiniciar la instancia borra la insignia. Si el problema vuelve, revisa los registros en [Ubicaciones de datos](/es/installation/desktop/usage/settings#ubicaciones-de-datos). diff --git a/es/installation/desktop/usage/manage.mdx b/es/installation/desktop/usage/manage.mdx deleted file mode 100644 index 9c4988bfa6..0000000000 --- a/es/installation/desktop/usage/manage.mdx +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: "Administración de instalaciones" -description: "Inicia, actualiza, crea instantáneas y administra tus instalaciones de ComfyUI" -icon: "sliders" -sidebarTitle: "Administrar" -translationSourceHash: d0ebcc32 -translationFrom: installation/desktop/usage/manage.mdx -translationBlockHashes: - "The Manage Panel": 8e1aaf92 - "Installation Actions": 3bf198ca ---- -## El panel Administrar - -El contenido del panel Administrar varía según el tipo de instancia. Las capturas de pantalla de esta página muestran una **instalación local independiente**. Las instancias en la nube y remotas tienen menos pestañas y configuraciones. - -Selecciona **Administrar** en una instalación para abrir el panel de configuraciones. - -![Panel Administrar de una instancia local: Actualizar, Argumentos de inicio, Instantáneas, Almacenamiento, Terminal, Acerca de](/images/desktop/usage/instance_settings_00.png) - -- Abre la vista **Chooser** (la pantalla de inicio que muestra todas tus instancias) -- Haz clic en el icono ⋮ de la tarjeta de una instancia -- Selecciona **Administrar** en el menú contextual - -El panel tiene seis pestañas: - -### Pestaña Actualizar - -![Pestaña Actualizar de Administrar: la tarjeta de actualización de ComfyUI con las versiones instalada y más reciente, encima de la tarjeta del paquete PyTorch](/images/desktop/usage/instance_settings_01_update.png) - -La pestaña tiene una tarjeta para ComfyUI y otra para PyTorch. Ambas funcionan igual: el título muestra lo que tienes instalado, los desplegables eligen el canal o la pila de torch, y los botones debajo de la tarjeta actúan sobre esa elección. - -#### ComfyUI - -El título es la versión de ComfyUI, con una insignia **Up to date** mientras el canal seleccionado no tenga nada más reciente. Cuando existe una versión más nueva, el título muestra esa versión con una insignia **Update available**, y la tarjeta agrega una fila **Installed Version** y una fila **Latest Version**. **Last checked** indica hace cuánto miró Comfy Desktop; pásale el cursor para ver la hora exacta. - -- **Update Channel**: **Stable** (versiones probadas, la predeterminada) o **Latest on GitHub** (los commits más recientes de la rama master). El desplegable marca el canal en el que está la instancia con **Current**. -- **Check for updates**: aparece mientras el canal seleccionado no tenga nada más reciente, y vuelve a comprobar de inmediato. Comfy Desktop también ejecuta esta comprobación por su cuenta; consulta [las preguntas frecuentes](/installation/desktop/faq#general-questions). -- **Update Now**: aparece mientras el canal seleccionado tenga algo más reciente. La confirmación muestra las versiones entre las que se mueve, o el canal al que cambia, incluye las notas de la versión que publique el canal y apunta a la pestaña Instantáneas, porque Comfy Desktop guarda una instantánea antes de actualizar. Si la versión nueva rompe un nodo personalizado, restaura el estado anterior desde ahí. -- **Copy & Update**: copia la instancia, actualiza la copia y deja el original intacto. Úsalo para probar una versión nueva con el conjunto de nodos que ya tienes. -- **Switch Channel**: aparece cuando eliges un canal que no tiene nada más reciente que instalar, y mueve la instancia a ese canal sin actualizarla. - -Seleccionar **Stable** en una instancia que va por delante de la versión estable es un rollback: la confirmación lo indica, y se eliminan los commits más recientes. - -#### PyTorch - -La tarjeta muestra la compilación de torch instalada y enumera las pilas oficiales que Comfy Desktop puede instalar en esta instancia. Cuando el catálogo abarca varios backends, un segundo desplegable elige primero el backend (**CUDA 13.0**, **CUDA 12.8**, y así sucesivamente, además de **ROCm**, **Intel XPU** y **CPU**). Cada opción lista sus versiones de torchvision y torchaudio y, cuando la pila se distribuye como paquete, su tamaño de descarga. También avisa cuando la pila no incluye torchaudio, porque al cambiar se elimina y los nodos personalizados que lo necesitan dejan de funcionar. - -- **Change PyTorch** cambia esta instancia a la pila seleccionada. La confirmación muestra la descarga, y Comfy Desktop hace una copia de seguridad del entorno actual durante el cambio y la restaura si algo falla. -- **Copy & Change PyTorch** hace el mismo cambio en una copia nueva de la instancia y deja el original intacto. - -Las compilaciones nocturnas se marcan como inestables. El selector las ofrece durante unos 45 días después de la fecha de su wheel, por debajo de los aproximadamente 60 días tras los cuales PyTorch elimina una nightly fechada de su índice. - -### Pestaña Argumentos de inicio - -![Pestaña Argumentos de inicio del panel Administrar para los argumentos de lanzamiento de la instancia y los argumentos beta](/images/desktop/usage/instance_settings_02_startup_args.png) - -Configura argumentos CLI de inicio, la política del Administrador, el modo de lanzamiento, el uso compartido de la caché del navegador, el comportamiento ante conflictos de puertos y las variables de entorno. - -- **Argumentos de inicio**: Argumentos CLI personalizados para ComfyUI (por ejemplo, `--listen`). Haz clic en el icono de engranaje para ver las opciones categorizadas. Cuando las funciones beta están habilitadas, una etiqueta **+N beta** junto al campo enumera los argumentos beta que Comfy Desktop agregó para la sesión en ejecución, o los que son elegibles para el próximo lanzamiento. -- **Nivel de seguridad del Administrador**: Controla qué paquetes de nodos puede instalar ComfyUI-Manager para esta instancia. Se aplica la próxima vez que inicies. - - **Estricto**: Bloquea todas las instalaciones, actualizaciones y desinstalaciones de paquetes de nodos. El Administrador es de solo lectura. - - **Estándar (RECOMENDADO)**: Permite paquetes de nodos registrados. Bloquea las instalaciones desde fuentes no registradas (por ejemplo, URL de git arbitrarias). - - **Relajado**: Como Estándar, pero también permite instalaciones desde fuentes no registradas mientras ComfyUI solo sea accesible desde esta máquina. `--listen` las bloquea de nuevo. - - **Permisivo**: Permite todos los niveles de riesgo. Si ComfyUI está expuesto con `--listen`, las instalaciones aún requieren el modo de red **Personal cloud**. -- **Modo de red del Administrador**: Cómo se comunica el Administrador con el registro de nodos. - - **Público (predeterminado)**: Usa el registro público. `--listen` bloquea las instalaciones de paquetes de nodos en todos los niveles de seguridad. - - **Privado**: Usa una base de datos de nodos privada que configuras tú mismo. - - **Sin conexión**: Sin red externa. Las descargas no están disponibles. - - **Personal cloud**: Trata esta máquina como una caja remota de confianza y elimina el bloqueo de instalación de `--listen`. El nivel de seguridad elegido sigue aplicándose. Úsalo solo en una máquina que controles. -- **Modo de lanzamiento**: **Ventana de la aplicación** (integrada) o **Solo consola** (sin ventana de la aplicación; ComfyUI se ejecuta como un proceso de consola). -- **Caché del navegador**: **Única para esta instancia** o **Compartida**. -- **Si el puerto está ocupado**: **Preguntar qué hacer** o **Usar el siguiente puerto disponible (pregunta si --port está establecido)**. -- **Variables de entorno**: Agrega variables de entorno personalizadas con el botón **+ Agregar variable**. - - - - Consulta la lista completa de opciones de inicio de ComfyUI disponibles para Argumentos de inicio. - - - -### Pestaña Instantáneas - -![Pestaña Administrar instantáneas que muestra los puntos de restauración de la instancia](/images/desktop/usage/instance_settings_03_snapshots.png) - -Consulta, importa, exporta y crea instantáneas. Cada entrada muestra los cambios de versión y las estadísticas de los paquetes. - -- **Línea de tiempo**: Enumera todas las instantáneas en orden cronológico con los cambios de versión y las estadísticas. -- **Última**: Muestra cuándo se tomó la instantánea más reciente. -- **Importar**: Importa una instantánea desde un archivo. -- **Exportar todo**: Exporta todas las instantáneas como respaldo. -- **Crear instantánea**: Crea manualmente una nueva instantánea en cualquier momento. -- Cada entrada de instantánea muestra: - - Cambio de versión (p. ej. `v0.20.1 → v0.24.1`) - - Cambios en los paquetes - - Recuento de nodos y paquetes - - Botones **Exportar** y **Eliminar** - - - - Aprende acerca de las instantáneas automáticas, la comparación y la gestión completa de instantáneas. - - - -### Pestaña Almacenamiento - -![Pestaña Almacenamiento del panel Administrar para las rutas de modelos y E/S de cada instancia](/images/desktop/usage/instance_settings_04_storage.png) - -Configura si esta instancia usa las carpetas compartidas globales y agrega directorios de modelos adicionales que se aplican solo a esta instancia. - -- **Incluir directorios compartidos**: Activa o desactiva si esta instancia escanea los directorios de modelos compartidos globales desde [Configuraciones de Escritorio → Almacenamiento](/es/installation/desktop/usage/settings#almacenamiento). -- **Usar carpeta de entrada compartida**: Cuando está activada, esta instancia lee los archivos de entrada desde la carpeta de entrada compartida global. Desactívala para usar la carpeta de entrada propia de esta instancia. -- **Usar carpeta de salida compartida**: Cuando está activada, esta instancia escribe las salidas generadas en la carpeta de salida compartida global. Desactívala para usar la carpeta de salida propia de esta instancia. -- **Directorios de modelos**: Directorios de modelos adicionales solo para esta instancia, que se buscan además de los directorios de modelos compartidos. -- **Directorio de entrada** / **Directorio de salida**: Las carpetas propias de esta instancia cuando los interruptores compartidos de arriba están desactivados. - -### Pestaña Terminal - -![Pestaña Terminal de Administrar que muestra la consola de la instancia](/images/desktop/usage/instance_settings_05_console.png) - -Un shell interactivo en la carpeta de esta instancia. Funciona tanto si ComfyUI está en ejecución como si está detenido. - -- Úsalo para inspeccionar los registros de inicio, los errores y la salida de Python. -- Copiar, pegar y seleccionar todo siguen los atajos del sistema operativo. Haz clic derecho en la terminal para las mismas acciones. - -### Pestaña Acerca de - -![Pestaña Acerca de de Administrar: el nombre de instancia editable, los datos de la instancia y la ruta de instalación](/images/desktop/usage/instance_settings_05_about.png) - -La pestaña Acerca de reúne lo que Comfy Desktop sabe sobre la instancia. Al hacer clic en una ruta, esta se abre en tu administrador de archivos, y el botón de copiar que está al lado copia la ruta. - -Los datos están agrupados, y un grupo solo aparece cuando tiene algo que mostrar: - -- **Detalles de la instancia**: Versión de ComfyUI, hardware, y las versiones de Python y PyTorch. Para una Conexión remota, este grupo contiene la URL de conexión y la fecha en que se agregó la conexión. -- **Detalles de ejecución**: el puerto en el que ComfyUI está escuchando. Aparece mientras la instancia está en ejecución. -- **Ubicación y almacenamiento**: la ruta de instalación completa en el disco y cuánto espacio ocupa la instalación. Solo una instalación local guarda archivos en esta máquina, así que Comfy Cloud y las Conexiones remotas no tienen este grupo. -- **Linaje**: la instancia desde la que se copió esta, y cuándo. Aparece en una instancia que proviene de **Duplicar instancia**, de una copia que cambió su versión o PyTorch, de una migración desde Desktop clásico, o de una adopción in situ. - -#### Renombrar una instancia - -![Pestaña Acerca de con el nombre de la instancia y el lápiz que aparece al pasar el cursor, resaltados](/images/desktop/usage/instance_settings_06_rename.png) - -Haz clic en el nombre de la instancia en la parte superior de la pestaña Acerca de, escribe el nuevo nombre y luego presiona Enter o haz clic en cualquier otro lugar. Al pasar el cursor sobre el nombre aparece un lápiz que coloca el cursor en el mismo campo. Esc cancela la edición y conserva el nombre anterior, y un nombre vacío, o el nombre que la instancia ya tiene, no cambia nada. - -El menú **Más** del panel Administrar incluye la misma acción como **Renombrar**, que abre un diálogo **Renombrar instancia** con un campo **Nombre**. - -Comfy Desktop rechaza un nombre que ya use otra instancia, y el mensaje te pide que elijas uno diferente. Una entrada de Comfy Cloud conserva su nombre y no tiene lápiz; las instancias locales, remotas y registradas se pueden renombrar. - -#### Cambiar la URL de una Conexión remota - -![Pestaña Acerca de de una Conexión remota con la URL de conexión y su lápiz resaltados](/images/desktop/usage/instance_settings_07_remote_url.png) - -La dirección de una Conexión remota es la fila **URL** de la pestaña Acerca de. Haz clic en la URL, o en el lápiz que está al lado, escribe la nueva dirección y presiona Enter o haz clic en cualquier otro lugar. Una dirección sin esquema se interpreta como `http://`, y la barra final se elimina cuando se guarda la dirección. - -Mientras la instancia está conectada, una URL editada surte efecto en el próximo inicio: la fila muestra **Reinicia para aplicar** hasta que reinicies la instancia, y la sesión en ejecución conserva la dirección anterior. Una dirección que Comfy Desktop no puede leer no se guarda, y la fila vuelve al valor anterior. - -## Acciones de instalación - -Haz clic con el botón derecho en una tarjeta de instalación (o haz clic en el icono ⋮) para acceder a las acciones. Consulta la página de [Gestión de instancias](/es/installation/desktop/usage/instance-management) para ver la lista completa de acciones. diff --git a/es/installation/desktop/usage/migrate.mdx b/es/installation/desktop/usage/migrate.mdx deleted file mode 100644 index 6a360157f1..0000000000 --- a/es/installation/desktop/usage/migrate.mdx +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: "Migrar desde Legacy Desktop" -description: "Aprende a migrar tu instalación de Legacy Desktop a Comfy Desktop" -icon: "arrow-right" -sidebarTitle: "Migrar" -translationSourceHash: 5f3f3100 -translationFrom: installation/desktop/usage/migrate.mdx -translationBlockHashes: - "_intro": 14240c76 - "What Gets Migrated": 91f931e9 - "What Changes After Migration": 1f09d2db - "Does My Old Link Still Work?": 528b3e43 - "Step-by-Step Migration": d15dfd28 - "Migrate from the Chooser": 9517089b - "Troubleshooting": a6cd9f9b ---- - -Esta página cubre la migración desde **Legacy Desktop** (la aplicación de escritorio anterior de instalación única). Si es tu primera vez como usuario, puedes saltarte esta sección. - - - - - Si ya tienes una instalación de ComfyUI (portable, clon manual de git, etc.) y quieres agregarla a Comfy Desktop, consulta **Seguimiento de una instalación existente** en Gestión de instancias. - - - -Si ya tienes Legacy Desktop instalado, Comfy Desktop puede detectarlo y migrarlo, creando una nueva instalación Standalone en la vista Chooser. - -## Qué se migra - -Legacy Desktop era una aplicación de instalación única. Comfy Desktop es un administrador de múltiples instalaciones. Cuando migras: - -- **Flujos de trabajo y configuraciones**: se reutilizan en el mismo lugar, por lo que la nueva instancia conserva los mismos datos de usuario. -- **Nodos personalizados**: se escanean y se reinstalan en el nuevo entorno. -- **Modelos**: tu carpeta de modelos existente se agrega como un directorio compartido, por lo que los archivos permanecen donde están. -- **Archivos de entrada y salidas**: se reutilizan en el mismo lugar desde las carpetas existentes. -- **Entorno de Python**: tu entorno existente se valida y se reutiliza, con los paquetes que ComfyUI necesita instalados en él. -- **Versión de ComfyUI**: la fuente de ComfyUI se prepara en un nuevo directorio administrado, de modo que Comfy Desktop administra las actualizaciones a partir de entonces. - -La aplicación Legacy Desktop permanece instalada, y Comfy Desktop hace una copia de seguridad de tu estado de Legacy Desktop antes de iniciarse. La migración reutiliza esa configuración en el mismo lugar en vez de copiarla, por lo que la carpeta de datos compartida y el entorno de Python no son una copia intacta. Si necesitas una copia original sin modificar de tu configuración de Legacy Desktop, haz una copia de seguridad por tu cuenta antes de migrar. - -## Qué cambia después de la migración - -Una vez que se completa la migración, tu nueva instalación Standalone funciona como cualquier otra instalación de Comfy Desktop: - -- **Inicio**: haz clic en el botón Reproducir de la tarjeta de la nueva instalación en la vista Chooser para iniciar ComfyUI. -- **Puerto**: Legacy Desktop usaba el puerto `8000` de forma predeterminada. La nueva instalación conserva esta configuración de puerto (y cualquier otro argumento de inicio personalizado que tuvieras). -- **Administrar**: usa el panel Administrar para actualizar, tomar instantáneas y configurar la instalación. -- **Actualizaciones**: las instalaciones Standalone se pueden actualizar de forma independiente a través del panel Administrar. A diferencia de Legacy Desktop, ya no necesitas descargar una nueva compilación para cada actualización. -- **Varias instancias**: puedes tener varias instalaciones Standalone en paralelo, cada una con su propia versión de ComfyUI y su propia configuración. -- **Almacenamiento compartido**: los modelos se comparten entre todas las instalaciones Standalone de forma predeterminada. Los directorios de entrada y salida están fijados al espacio de trabajo de Legacy Desktop adoptado, para que tus archivos existentes permanezcan donde están. - -## ¿Mi enlace anterior sigue funcionando? - -Legacy Desktop se ejecutaba en el puerto `8000` de forma predeterminada. La nueva instalación **conserva el puerto** de tu configuración de Legacy Desktop, así que `http://localhost:8000` debería seguir funcionando. Si tenías argumentos de CLI personalizados configurados (por ejemplo, `--port 8188`), esos también se conservan. - -Si usas un acortador de URL, un marcador o una integración externa que hace referencia a la aplicación Legacy Desktop mediante una dirección diferente, es posible que tengas que revisar la pestaña Argumentos de inicio de la nueva instalación y actualizar lo que corresponda. - -## Migración paso a paso - - - -Descarga e instala Comfy Desktop desde la [página de descarga oficial](https://comfy.org/download). - - - -Cuando abras Comfy Desktop por primera vez, la configuración inicial detecta cualquier instalación de Legacy Desktop en tu sistema. Elige **Local**, y la configuración muestra **Migrar instancia existente**, ya seleccionada, de modo que tu instalación actual se traslada cuando continúas. - -![Configuración inicial con Local seleccionado y Migrar instancia existente marcado](/images/desktop/usage/migrate_01_first_run.png) - - - -Selecciona **Continuar** y luego confirma **Migrar Legacy Desktop a Standalone** con **Iniciar migración**. Comfy Desktop hará lo siguiente: - -1. Analizar tu instalación existente (nodos personalizados, modelos, flujos de trabajo) -2. Reutilizar tu carpeta de datos y tu entorno de Python existentes en su lugar, y preparar el código fuente de ComfyUI en un nuevo directorio gestionado para que las actualizaciones funcionen con normalidad -3. Reutilizar tus flujos de trabajo, configuraciones y otros datos de usuario en su lugar -4. Reutilizar tus archivos de entrada y tus salidas en su lugar -5. Agregar tu carpeta de modelos como directorio compartido -6. Instalar los nodos personalizados en el nuevo entorno - -Al finalizar, la nueva tarjeta de instalación Standalone aparece en la vista del selector. - - - -Inicia tu nueva instalación y confirma: -- Tus flujos de trabajo están disponibles -- Los nodos personalizados están instalados -- Los modelos son accesibles -- Tu servidor se ejecuta en la URL transferida (por defecto `http://localhost:8000`) - - - -## Migrar desde el Selector - -Si ya finalizaste la configuración inicial, o si la instalación de Legacy Desktop ya aparece en el Selector, inicia la migración desde la tarjeta de la instancia: - -1. Busca la tarjeta de la instancia de Legacy Desktop. Lleva una etiqueta **Migrar**. - - ![Tarjeta de la instancia de Legacy Desktop en el Selector con la etiqueta Migrar](/images/desktop/usage/migrate_02_pill.png) - -2. Haz clic en la etiqueta, o abre el menú **⋮** de la tarjeta y selecciona **Migrar a Standalone**. - - ![Menú de la tarjeta de instancia con Migrar a Standalone](/images/desktop/usage/migrate_03_menu.png) - -3. Revisa la confirmación y luego selecciona **Iniciar migración**. - - ![Confirmación para migrar Legacy Desktop a Standalone con Iniciar migración](/images/desktop/usage/migrate_04_confirm.png) - -Una instalación de Legacy Desktop se adopta en el mismo lugar, así que la instancia que aparece es tu configuración existente bajo la administración de Comfy Desktop. En cambio, migrar una instalación de Git rastreada o una instalación portátil crea una nueva instancia Standalone y deja la instalación rastreada en su lugar. En ambos casos, los archivos de modelo no se copian, se leen desde donde ya están. - -Una actualización pendiente tiene prioridad en esas tarjetas: muestran la etiqueta de actualización en lugar de **Migrar**. - -## Solución de problemas - -### Legacy Desktop no se detecta automáticamente - -La fuente Legacy Desktop es solo para migración y no aparece en el selector de Nueva instancia, por lo que no se puede agregar a mano. Si Comfy Desktop no detectó tu instalación de Legacy Desktop: - -1. Agrega la instalación como una instancia con seguimiento. Consulta [**Seguimiento de una instalación existente**](/es/installation/desktop/usage/instance-management#seguimiento-de-una-instalación-existente). -2. Una vez que aparezca en el Selector, migra con su botón **Migrar**, o con **Migrar a Standalone** en el menú **⋮**. - -### La migración falla - -- **Revisa los registros** en la pestaña Terminal del panel Administrar para ver los detalles del error -- **Asegúrate de que tu instalación de Legacy Desktop esté intacta**: la migración lee desde tu instalación existente -- **Inténtalo de nuevo**: los problemas de red pueden resolverse en un segundo intento - -### Modelos faltantes después de la migración - -Los modelos se agregan como una ruta de directorio compartida (no se copian). Si los modelos no aparecen: - -1. Abre el panel **Administrar** de la instalación migrada -2. Ve a la pestaña **Almacenamiento** y abre **Directorios de modelos** -3. Comprueba si tu carpeta de modelos antigua aparece en la lista. Si no es así, agrégala manualmente. diff --git a/es/installation/desktop/usage/overview.mdx b/es/installation/desktop/usage/overview.mdx deleted file mode 100644 index 158bd55f32..0000000000 --- a/es/installation/desktop/usage/overview.mdx +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: "Cómo usar Comfy Desktop" -description: "Descripción general de Comfy Desktop: crear instalaciones nuevas, administrar instancias y más" -icon: "book-open" -sidebarTitle: "Descripción general" -translationSourceHash: ebaea3ac -translationFrom: installation/desktop/usage/overview.mdx -translationBlockHashes: - "_intro": d96e3242 - "Dashboard Overview": 0cc8797c - "Feedback and Issues": 9304f358 ---- -Comfy Desktop es la aplicación oficial de escritorio para **ComfyUI**. Gestiona todo por ti: instala ComfyUI, lo mantiene actualizado y te permite ejecutar varias configuraciones independientes en paralelo. - -Para entender la relación: **Comfy Desktop** es la aplicación que administra e inicia instancias de **ComfyUI**. No instalas ComfyUI por separado: Comfy Desktop se encarga de la instalación, el entorno de Python y las dependencias de cada instancia de forma automática. - -### Características principales - -- **[Gestión de múltiples instancias](/es/installation/desktop/usage/instance-management)**: ejecuta varias instancias de ComfyUI en paralelo, cada una con su propia versión, nodos personalizados y configuración -- **[Snapshots](/es/installation/desktop/usage/manage#pestaña-instantáneas)**: guarda y restaura el estado completo de una instancia (versión de ComfyUI, nodos personalizados, paquetes de Python), lo que facilita revertir o reproducir un entorno -- **[Almacenamiento compartido](/es/installation/desktop/usage/settings#almacenamiento)**: los modelos se comparten entre todas las instancias de forma predeterminada, lo que ahorra espacio en disco. También puedes agregar carpetas de modelos externas -- **Actualizaciones automáticas**: el control **Desktop Update** de la barra de título actualiza Comfy Desktop. Usa la pestaña [Actualizar](/es/installation/desktop/usage/manage#pestaña-actualizar) del panel Administrar para actualizar cada instancia de ComfyUI. -- **Integración con la nube**: inicia o conéctate a instancias de Comfy Cloud directamente desde la vista Chooser -- **[Rastrear instalaciones existentes](/es/installation/desktop/usage/instance-management#seguimiento-de-una-instalación-existente)**: agrega tus instalaciones existentes de ComfyUI, ya sean portables o clonadas con git, a Comfy Desktop para una gestión unificada - -Esta guía explica cómo usar estas funciones. - -## Descripción general del Panel - -La ventana de Comfy Desktop se divide en varias áreas clave. La siguiente imagen señala las partes principales del Panel: - -![Panel de Comfy Desktop con Nueva instancia, tarjeta de instancia local y Comfy Cloud](/images/desktop/interface/interface_desktop_dashboard.png) - -### Menú de la aplicación - -El menú de hamburguesa (☰) de la esquina superior izquierda abre el menú de la aplicación, que contiene todas las acciones a nivel de aplicación: - -![Menú de la aplicación abierto desde la barra de título, incluyendo Pruebas de rendimiento, Benchmarks y Configuraciones de Escritorio](/images/desktop/usage/comfy_desktop_app_menu.png) - -- **Abrir el Panel**: abre el Panel en una nueva ventana. Las instancias que están en ejecución siguen ejecutándose. -- **Nueva instancia** y **Añadir instancia existente**: crea una nueva instancia, o da seguimiento a una instalación de ComfyUI que ya tengas. -- **Cargar instantánea**: crea una instancia a partir de un archivo de instantánea que alguien compartió contigo. -- **Iniciar sesión**: inicia sesión en tu cuenta de Comfy. Esta entrada solo aparece mientras no hayas iniciado sesión. -- **Pruebas de rendimiento**: ejecuta flujos de trabajo cronometrados contra una instancia. Consulta [Pruebas de rendimiento y Benchmarks](/es/installation/desktop/usage/performance-tests). -- **Benchmarks**: compara los resultados guardados de las pruebas de rendimiento entre hardware, flujos de trabajo e instancias. -- **Configuraciones de Escritorio**: configuración global para actualizaciones automáticas, proxy/espejo, almacenamiento compartido y ubicaciones de datos. -- **Enviar retroalimentación**: abre el panel de retroalimentación. -- **Cerrar ventana** y **Salir de Desktop**: cierra la ventana actual o sale de la aplicación. Cerrar la ventana de una instancia detiene la instancia de ComfyUI que ejecuta, y cerrar la última ventana cierra Comfy Desktop. - -Dos entradas aparecen solo en contexto: **Restablecer zoom (N%)** una vez que la vista de ComfyUI tiene zoom aplicado, y **Omitir la configuración inicial** durante la configuración de primer uso. Mientras la configuración de primer uso está en pantalla, **Omitir la configuración inicial** es la única entrada del menú. - -En macOS, la app también mantiene una barra de menús del sistema con los menús estándar de la app, Editar y Ventana. Las compilaciones para Windows y Linux no tienen barra de menús del sistema. - - - - Configuración global: actualizaciones automáticas, proxy/espejo, almacenamiento compartido y ubicaciones de datos. - - - Mide la velocidad de los flujos de trabajo en una instancia y luego compara las ejecuciones entre distintos hardware. - - - -### Selector de instancias - -La píldora central muestra el nombre de tu instancia de ComfyUI activa. Haz clic en ella para abrir el **Selector de instancias**, un popover que lista todas las instancias instaladas, muestra su estado de ejecución y te permite cambiar entre ellas o iniciar una nueva. Cuando hay una nueva versión de ComfyUI disponible para esa instancia, la píldora también incluye un chip de **Actualizar**; haz clic en el chip para actualizar la instancia sin abrir el selector. - - - - Inicia, actualiza, crea instantáneas y configura tus instalaciones a través del panel Administrar. - - - -### Botones del lado derecho - -![Controles del lado derecho de la barra de título: Novedades (campana), Retroalimentación y Descargas](/images/desktop/usage/title_bar_trailing.png) - -Los controles agrupados en el lado derecho de la barra de título dan acceso rápido a: - -- **Actualización de Desktop**: cuando hay una nueva versión de Comfy Desktop disponible, aparece una píldora aquí. Haz clic para descargar y aplicar la actualización. -- **Restablecer zoom**: aparece una píldora con el porcentaje de zoom actual mientras la vista de ComfyUI tiene un zoom distinto de 100%. Haz clic en ella para volver al 100%. -- **Novedades**: abre el panel de anuncios. Los anuncios cubren nuevas funciones de ComfyUI y lanzamientos de productos de Comfy, con un video corto, lo más destacado y enlaces para ver los detalles. La campana muestra un punto mientras haya un anuncio que no hayas abierto, y el punto desaparece en cuanto abres el panel. -- **Retroalimentación**: envía retroalimentación al equipo de Comfy Desktop. -- **Descargas**: abre la bandeja de descargas. La insignia muestra cuántas descargas están en curso y marca las descargas fallidas y las no abiertas. La bandeja te permite reintentar una descarga fallida o cancelar una que esté en curso; selecciona **Ver todas las descargas** para ver la lista completa, donde las descargas también se pueden pausar y reanudar. - -### Buscar - -La caja de búsqueda te permite filtrar tus instancias instaladas por nombre, lo que facilita encontrar una configuración específica cuando tienes muchas. - -### Selector (Lista de instancias) - -El área principal del Panel, llamada el **Selector**, muestra todas tus instancias de ComfyUI como tarjetas. **Haz clic en cualquier tarjeta de instancia para iniciar o cambiar a esa instancia.** - -Desde aquí puedes: - -- **+ Nueva instancia**: crea una nueva instancia de ComfyUI independiente. -- **Comfy Cloud**: conéctate a una instancia en la nube o iníciala. La tarjeta puede mostrar una píldora **PRUEBA GRATIS** cuando hay ejecuciones gratuitas de Cloud disponibles. -- **Chip de cuenta** (arriba a la derecha): inicia sesión con tu cuenta de Comfy. Una vez que hayas iniciado sesión, el chip muestra tu avatar y tu correo electrónico, y aparece un selector de espacios de trabajo encima de la cuadrícula. -- **Compilaciones del espacio de trabajo**: con la sesión iniciada, las ComfyUI Builds publicadas en el espacio de trabajo seleccionado se pueden instalar desde el flujo de Nueva instancia. Consulta [Espacios de trabajo y ComfyUI Builds](/es/installation/desktop/usage/workspaces-and-builds). -- **Tarjetas de instancias existentes**: cada tarjeta muestra el nombre, el estado y el tipo de la instancia. Haz clic derecho (o haz clic en el ícono ⋮) para administrar, actualizar, crear una instantánea o eliminar la instancia. - - - - Crea, renombra, edita y elimina instancias de ComfyUI. - - - -## Retroalimentación y problemas - -¿Encontraste un error o tienes una sugerencia? Comfy Desktop es de código abierto. Puedes reportar problemas y consultar las funciones planificadas aquí: - -- **Problemas de Comfy Desktop**: [github.com/Comfy-Org/Comfy-Desktop/issues](https://github.com/Comfy-Org/Comfy-Desktop/issues) -- **Problemas de la documentación**: [github.com/Comfy-Org/docs/issues](https://github.com/Comfy-Org/docs/issues) - -Para preguntas generales sobre ComfyUI, visita las [ComfyUI GitHub Discussions](https://github.com/Comfy-Org/ComfyUI/discussions) o únete al [ComfyUI Discord](https://www.comfy.org/discord). diff --git a/es/installation/desktop/usage/performance-tests.mdx b/es/installation/desktop/usage/performance-tests.mdx deleted file mode 100644 index 82311480f8..0000000000 --- a/es/installation/desktop/usage/performance-tests.mdx +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: "Pruebas de rendimiento y benchmarks" -description: "Mide la velocidad de los flujos de trabajo de ComfyUI con las Pruebas de rendimiento y luego compara las ejecuciones entre GPUs, flujos de trabajo e instancias con los Benchmarks en Comfy Desktop" -icon: "gauge" -sidebarTitle: "Pruebas de rendimiento" -translationSourceHash: 429915c2 -translationFrom: installation/desktop/usage/performance-tests.mdx -translationBlockHashes: - "_intro": 7a65e6d8 - "Running a Performance Test": d3b8adb1 - "Comparing Runs with Benchmarks": b85e9c09 - "Where results are stored": afbb1b95 - "Requirements": f8a3cde3 ---- -**Pruebas de rendimiento** mide cuánto tarda en ejecutarse un flujo de trabajo de ComfyUI en una de tus instancias. Eliges una instancia, cargas un flujo de trabajo y Comfy Desktop lo ejecuta un número determinado de veces, cronometrando cada ejecución medida y reportando la duración más rápida, la más lenta, el promedio y la mediana, junto con el hardware y el software de los que provienen los números. - -**Benchmarks** compara esos resultados registrados. Enumera cada ejecución guardada, las filtra por espacio de trabajo, instancia, hardware o flujo de trabajo, y alinea las ejecuciones seleccionadas una al lado de otra con un factor de velocidad relativa, para que puedas ver cuánto más rápida es una GPU, un flujo de trabajo o una instancia que otra. - -Ambos paneles se abren desde el menú hamburguesa (☰) en la esquina superior izquierda de la barra de título del Panel, no desde una barra lateral. Haz clic en el botón ☰ (1) y luego elige **Pruebas de rendimiento** (2), o **Benchmarks** justo debajo: - -![Panel con el menú hamburguesa abierto: (1) el botón ☰ en la barra de título, (2) la entrada de Pruebas de rendimiento](/images/desktop/usage/performance_tests_menu_entry.png) - - -Las Pruebas de rendimiento ejecutan un flujo de trabajo real en una instancia real, por lo que una prueba tarda aproximadamente lo mismo que el flujo de trabajo multiplicado por el número de ejecuciones. Los flujos de trabajo que importas deben exportarse primero en [formato API](/development/api-development/workflow-api-format). Los flujos de trabajo de ejemplo que vienen con Comfy Desktop ya están en ese formato. - - -## Ejecutar una prueba de rendimiento - -El panel se organiza en tres pasos numerados uno al lado del otro. Se apilan verticalmente en ventanas estrechas. - -![Panel de Pruebas de rendimiento: selecciona la instancia, elige el flujo de trabajo, define las ejecuciones de calentamiento y las medidas](/images/desktop/usage/performance_tests_01_panel.png) - -### 1. Selecciona una instancia - -Elige el **Espacio de trabajo** y la **Instancia** que vas a probar. La instancia y su hardware se registran junto con los resultados, y eso es lo que hace que las comparaciones posteriores tengan sentido: las ejecuciones de distintas GPU siguen siendo distinguibles. - -Cuando inicias una prueba, Comfy Desktop detiene la sesión de prueba de rendimiento anterior de esa instancia si todavía hay una en ejecución y, a continuación, inicia la instancia en una sesión de consola. Comfy Desktop se niega a iniciar una prueba mientras cualquier otro ComfyUI local esté en ejecución, todavía iniciando o deteniéndose, y nombra las instancias que lo impiden. Detenlas, o espera a que terminen de iniciar o de detenerse, y luego ejecuta la prueba de nuevo. Comfy Cloud y las instancias remotas se ejecutan en otro lugar y nunca bloquean una prueba. Otro trabajo que mantenga la GPU ocupada, como un juego o una exportación de video, sigue afectando las cifras, así que detenlo antes de ejecutar una prueba. - -### 2. Elige un flujo de trabajo - -Puedes elegir un flujo de trabajo de ejemplo que viene incluido con Comfy Desktop, o usar el tuyo propio. - -Los **flujos de trabajo de ejemplo** están listos para ejecutarse y sus modelos se descargan por ti. Haz clic en **Elegir un flujo de trabajo de ejemplo** para abrir el selector. Agrupa los ejemplos en pestañas por modalidad (Video, Imagen, 3D y Audio; solo las modalidades que tienen ejemplos reciben una pestaña), y cada tarjeta muestra el nombre del ejemplo, la tarea y cuánto descargan sus modelos. Haz clic en **Usar flujo de trabajo** para seleccionar uno. Comfy Desktop descarga entonces los modelos que aún le falten al flujo de trabajo, y la zona de arrastre muestra el progreso de la descarga hasta que termina. Para elegir un ejemplo, la instancia debe estar completamente instalada y debes estar en línea; si los modelos no caben en el espacio libre en disco, el selector bloquea la selección. Los flujos de trabajo de ejemplo están vinculados a una instancia: al cambiar a otra instancia se descarta el ejemplo preparado para la primera, a menos que la sesión de ese ejemplo ya haya registrado resultados. - -**Tu propio flujo de trabajo** debe exportarse en [formato API](/development/api-development/workflow-api-format). Arrastra el archivo `.json` a la zona de arrastre, o haz clic en la zona para buscar uno. - -![Selector de flujos de trabajo de ejemplo con pestañas Video/Imagen/Audio y el tamaño de descarga de modelos por flujo de trabajo](/images/desktop/usage/performance_tests_02_example_workflows.png) - -En cualquier caso, Comfy Desktop copia el flujo de trabajo en la carpeta de sesión de la prueba, así que la prueba se sigue ejecutando aunque muevas o edites el archivo original. - -### 3. Configura los ajustes de medición - -| Ajuste | Rango | Predeterminado | Qué hace | -|---------|-------|---------|--------------| -| **Ejecuciones de calentamiento** | 1 a 5 | 1 | Ejecuciones que se realizan primero para cargar los modelos y calentar las cachés. No se incluyen en los resultados. | -| **Ejecuciones medidas** | 1 a 100 | 5 | Ejecuciones cronometradas después de las ejecuciones de calentamiento. Sus duraciones se usan para calcular los resultados. | - -Cada ejecución avanza en uno las entradas numéricas de semilla del flujo de trabajo, de modo que las ejecuciones medidas no repiten un resultado idéntico en caché. - -Una vez configurados los tres pasos, haz clic en **Ejecutar** para iniciar la prueba. El botón **Detener** que está a su lado cancela una prueba en progreso. - -### Lee los resultados - -Mientras se ejecuta la prueba, el panel muestra cuántas ejecuciones han finalizado y los registros de la instancia. Cuando todas las ejecuciones terminan, se detiene la instancia y aparecen los resultados: - -- **Ejecución más rápida**, **Ejecución más lenta**, **Ejecución promedio** y **Ejecución mediana**, en segundos -- **Ejecuciones medidas** y **Ejecuciones fallidas**: cuántas ejecuciones produjeron una duración y cuántas no -- **Agregados de duración de las ejecuciones**: un gráfico de barras que compara los cuatro agregados (más rápida, más lenta, promedio y mediana) -- **Información del sistema**: dispositivo de cómputo, VRAM, RAM, versión de PyTorch, versión de xFormers, CPU, núcleos de CPU, sistema operativo y arquitectura - -La duración de una ejecución es el tiempo que ComfyUI pasó ejecutando el trabajo en el servidor, no el tiempo que esperaste. Las ejecuciones fallidas se cuentan por separado y se excluyen de las estadísticas. - -Junto a los resultados hay dos botones: **Abrir carpeta** abre la carpeta de la sesión, y **Exportar resultados** guarda el resumen y los gráficos como una imagen PNG. - -## Comparar ejecuciones con Benchmarks - -Benchmarks lee los resultados que guardaron las Pruebas de rendimiento, así que no tiene nada que mostrar hasta que al menos una prueba haya finalizado. - -### Biblioteca de ejecuciones - -La **Biblioteca de ejecuciones** enumera cada ejecución guardada en la carpeta de resultados, con las más recientes primero. Su barra de herramientas te ofrece: - -- **Seleccionar carpeta**: apunta el panel a una carpeta de resultados diferente, por ejemplo una carpeta en una unidad compartida. La predeterminada es la carpeta en la que escriben las Pruebas de rendimiento; consulta [Dónde se guardan los resultados](#dónde-se-almacenan-los-resultados). -- **Actualizar sesiones**: vuelve a cargar la carpeta después de que una prueba haya finalizado en otro lugar. -- **Buscar ejecuciones**: filtra la lista por texto. -- Filtros desplegables por espacio de trabajo, instancia, hardware y flujo de trabajo. -- **Propiedades**: elige qué columnas muestra la biblioteca (sesión, fecha y hora, flujo de trabajo, instancia, espacio de trabajo, número de ejecuciones, GPU y hardware). - -![Biblioteca de Benchmarks con filtros; vacía hasta que se guarda una ejecución de Prueba de rendimiento](/images/desktop/usage/benchmarks_01_runs_library.png) - -### Comparar ejecuciones - -Selecciona dos o más ejecuciones con las casillas, o usa **Seleccionar todas las ejecuciones visibles**. Las tres ejecuciones más recientes se seleccionan automáticamente al cargarse la biblioteca. Una selección abre la sección **Comparación** debajo de la biblioteca. - -La comparación coloca una columna por cada ejecución seleccionada junto a una serie de filas de métricas: duración más rápida, media, mediana y más lenta, además del número de ejecuciones medidas. Una ejecución es la **base de referencia**. De forma predeterminada es la primera columna mostrada. En la vista **Velocidad**, haz clic en el encabezado de una columna para que esa ejecución pase a ser la base de referencia. - -### Velocidad relativa - -La comparación tiene dos vistas, **Duración** y **Velocidad**, entre las que puedes cambiar en la barra de herramientas de la comparación. La velocidad relativa pertenece a la vista **Velocidad**, y la base de referencia también se elige allí. - -La **velocidad relativa** es la duración de la base de referencia dividida entre la duración de una ejecución: - -- **1.00×** significa que la ejecución tiene la misma velocidad que la base de referencia -- Un factor superior a 1.00× significa que la ejecución es **más rápida** que la base de referencia -- Un factor inferior a 1.00× significa que la ejecución es **más lenta** que la base de referencia - -La vista **Velocidad** representa cada ejecución en un eje logarítmico con **Más lenta** a la izquierda y **Más rápida** a la derecha, de modo que una diferencia de 2x y de 4x sigan siendo legibles en el mismo gráfico. La vista **Duración** dibuja el resultado más rápido y el más lento de cada ejecución como una línea con la media marcada. Las ejecuciones sin una duración utilizable se etiquetan como no disponibles. - -![La vista de velocidad relativa de Benchmarks con una ejecución como base de referencia y otra marcada como más lenta](/images/desktop/usage/benchmarks_02_relative_speed.png) - -### Ordenar y exportar - -- **Ordenar comparación** ordena las columnas por velocidad relativa. La **ordenación manual** te permite arrastrar las columnas en tu propio orden, o pulsar Alt+Left / Alt+Right en una columna enfocada. -- **Exportar resultados** guarda toda la comparación como una imagen PNG, la forma más rápida de adjuntar un resultado a un issue o a un mensaje de chat. - -### Administrar sesiones - -Cada prueba se almacena como una sesión. Desde la biblioteca puedes renombrar una sesión (**Editar sesión**) o eliminar una (**Eliminar**). Al eliminar, se borran todos los archivos registrados de esa sesión. - -## Dónde se almacenan los resultados - -Performance Tests crea una carpeta de sesión cuando agregas un flujo de trabajo al panel, con el nombre basado en la marca de tiempo de ese momento (`YYYYMMDDHHMMSS`): - -``` -📂 ComfyUI-Shared/ -└── 📂 benchmarks/ - ├── 📂 20260930141522/ - │ ├── my_workflow.json - │ ├── jobs.json - │ ├── results.json - │ └── logs.txt - └── 📂 20260930163005/ - └── ... -``` - -| Plataforma | Carpeta de resultados predeterminada | -|----------|------------------------| -| Windows | `%LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Shared\benchmarks` | -| macOS / Linux | `~/ComfyUI-Shared/benchmarks` | - -Cada carpeta de sesión contiene: - -- el archivo de flujo de trabajo que usó el panel -- `jobs.json`: la respuesta de tarea sin procesar de la instancia -- `results.json`: el resumen que lee el panel Benchmarks -- `logs.txt`: la salida de la consola de la instancia durante la ejecución - -Como Benchmarks lee `results.json` de cada carpeta de sesión que encuentra, copiar las carpetas de sesión en la carpeta a la que apunta Benchmarks es suficiente para comparar resultados de otra máquina. - -Ejecutar de nuevo el mismo flujo de trabajo importado escribe en la misma carpeta de sesión y sobrescribe los resultados que ya están almacenados allí. Para conservar un resultado para comparación, agrega el flujo de trabajo al panel de nuevo antes de la siguiente prueba. - -## Requisitos - -- Una instancia independiente, rastreada o remota que Comfy Desktop pueda iniciar. La prueba necesita una instancia de ComfyUI en funcionamiento, así que no puede ejecutarse contra una instancia de Cloud. -- Un flujo de trabajo que la instancia pueda ejecutar, incluidos los modelos y los nodos personalizados que necesite. Un flujo de trabajo que importes debe estar en formato API; los flujos de trabajo de ejemplo ya lo están, y Comfy Desktop descarga sus modelos. Si la instancia rechaza el flujo de trabajo, la prueba se detiene y el error aparece en los registros. Las ejecuciones que la instancia acepta pero que fallan durante la ejecución se cuentan como ejecuciones fallidas y quedan fuera de las estadísticas de duración. diff --git a/es/installation/desktop/usage/settings.mdx b/es/installation/desktop/usage/settings.mdx deleted file mode 100644 index 7dd81f638e..0000000000 --- a/es/installation/desktop/usage/settings.mdx +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: "Configuraciones de Comfy Desktop" -description: "Configuración global, configuración de proxy/espejo y ubicaciones de datos" -icon: "cog" -sidebarTitle: "Configuraciones" -translationSourceHash: 683dae44 -translationFrom: installation/desktop/usage/settings.mdx -translationBlockHashes: - "_intro": e8d1df4c - "Preferences": ef9d1575 - "Updates": 9e580f53 - "Storage": d135585d - "Advanced": d27d46ba - "Logs": f8e4484f - "Data Locations": 12e5d644 - "Keyboard Shortcuts": d2455e68 - "Feedback and Issues": 9304f358 ---- -Haz clic en el menú ☰ (1) en la esquina superior izquierda y selecciona **Configuraciones de Escritorio** (2) para abrir el panel de configuración global. - -![Panel de Comfy Desktop con el menú ☰ abierto y Configuraciones de Escritorio en el menú](/images/desktop/usage/comfy_desktop_settings_00_menu.png) - -El panel de configuraciones está organizado en cinco pestañas. Haz clic en una pestaña de la barra lateral para cambiar de vista. - -## Preferencias - -![Preferencias: idioma, comportamiento de la aplicación, telemetría y participación en funciones beta](/images/desktop/usage/comfy_desktop_settings_01_preferences.png) - -La pestaña Preferencias se abre con un selector de **Idioma** y luego agrupa el resto de sus controles en tres secciones. - -- **Idioma**: Elige el idioma de la interfaz. **English** y **简体中文** están disponibles. - -### Comportamiento de la aplicación - -- **Inicio automático al arrancar**: Elige qué instancia iniciar cuando se abre Comfy Desktop. **Ninguna (mostrar el panel)** es la opción predeterminada. También puedes elegir **Última instancia utilizada** o una instalación específica. -- **Confirmar antes de cerrar una ventana**: Pide confirmación antes de cerrar una ventana que está ejecutando una instalación local. -- **Advertir antes de ejecutar varias instancias**: Muestra una advertencia antes de iniciar otra instancia local de ComfyUI mientras una ya se está ejecutando o iniciando. -- **Ocultar Cloud del selector de instancias**: Oculta la fila de Cloud del panel. Cloud sigue funcionando si vuelves a activar esta opción más tarde. - -### Privacidad - -- **Compartir telemetría de uso anónima**: Envía datos de uso anónimos para ayudar a mejorar Comfy Desktop. -- **Participar en funciones beta**: Permite que Comfy Desktop active funciones Core en fase temprana para tus instancias. El interruptor permanece desactivado hasta que confirmes el uso compartido de datos con **Compartir telemetría de uso anónima**, incluso cuando la telemetría ya está activada. - -Las funciones beta llegan como argumentos de inicio adicionales, que se añaden encima de los que configuras tú mismo: Comfy Desktop nunca elimina ni reemplaza tus propios argumentos. Cuando una función beta se activa para una instancia, aparece en la barra de título una tarjeta con el encabezado **Hay una función beta activada**. **Entendido** la descarta, y **Configuraciones** abre este panel en el interruptor de participación. Puedes ver qué argumentos añadió una función beta en la pestaña de argumentos de inicio de la instancia, detrás de la etiqueta **+N beta** que aparece junto a **Argumentos de inicio**. - -### Comunidad - -- **Comfy Desktop**: Una tarjeta con un enlace al [repositorio de Comfy Desktop en GitHub](https://github.com/Comfy-Org/Comfy-Desktop), con un recuento de estrellas. - -## Actualizaciones - -![Pestaña Actualizaciones: versión instalada, Buscar actualizaciones, Instalar automáticamente las actualizaciones de Desktop](/images/desktop/usage/comfy_desktop_settings_02_updates.png) - -- **Estado**: Muestra si Comfy Desktop está actualizado y qué versión está instalada. Una vez que se ejecuta una comprobación, también muestra cuándo comprobó Comfy Desktop por última vez. -- **Buscar actualizaciones**: Comprueba manualmente si hay una nueva versión. Cuando hay una actualización disponible, el botón cambia a **Descargar** y luego a **Reiniciar y actualizar** cuando finaliza la descarga. -- **Instalar automáticamente las actualizaciones de Desktop**: Descarga e instala las actualizaciones automáticamente en segundo plano. - -## Almacenamiento - -La pestaña Almacenamiento es donde configuras dónde Comfy Desktop encuentra y almacena los archivos. El concepto clave es **compartir**: en lugar de que cada instancia tenga sus propios modelos, entradas y salidas aislados, configuras directorios compartidos accesibles para todas las instancias. - -![Pestaña Almacenamiento: rutas de Modelos compartidos, Entrada compartida y Salida compartida](/images/desktop/usage/comfy_desktop_settings_03_storage.png) - -- **Modelos compartidos**: cada directorio listado aquí es escaneado en busca de modelos por todas las instancias. Los modelos nuevos se descargan en el directorio marcado con la insignia **DESCARGAS**. - - ![Menú ⋯ del directorio con Usar para descargas de modelos](/images/desktop/usage/comfy_desktop_settings_03-2_storage.png) - - - Haz clic en la ruta del directorio para abrirlo en tu administrador de archivos. - - El menú **⋯** (1) aparece en todos los directorios compartidos excepto en el que ya recibe descargas. Selecciona **Usar para descargas de modelos** (2) para convertir ese directorio en el destino de las descargas, o **Eliminar** para quitarlo de la lista. Eliminar un directorio conserva sus archivos. - - Haz clic en **+ Agregar directorio compartido** para añadir más directorios de modelos. -- **Entrada compartida**: una ruta compartida donde todas las instancias buscan archivos de entrada (imágenes, videos, etc.). -- **Salida compartida**: una ruta compartida donde todas las instancias guardan las salidas generadas. Personalizarla te permite mantener todos los resultados en un solo lugar. -- Haz clic en el icono de carpeta para explorar y seleccionar una nueva ruta. Las descripciones emergentes de **?** proporcionan detalles adicionales. - -Las anulaciones por instancia (incluir directorios compartidos, separar entrada/salida, carpetas de modelos adicionales) se encuentran en la pestaña Almacenamiento de [Administrar](/es/installation/desktop/usage/manage#pestaña-almacenamiento) de la instancia. - -## Avanzado - -![Pestaña Avanzado: ubicación de instalación predeterminada, espejos y aceleración por hardware](/images/desktop/usage/comfy_desktop_settings_04_advanced.png) - -- **Ubicación de Instalación Predeterminada**: Donde se crean las nuevas instancias independientes. Haz clic en el icono de carpeta para cambiarla. -- **URL del espejo de PyPI**: Espejo de pip personalizado (por ejemplo, `https://mirrors.aliyun.com/pypi/simple/`). -- **Usar espejos chinos (Git y PyPI)**: Usa servidores espejo chinos para Git y PyPI. Útil en China continental. Cuando el idioma de la aplicación es chino, este interruptor se encuentra en **Comportamiento de la Aplicación**, en la pestaña Preferencias. -- **Usar aceleración por hardware**: Usa la GPU para renderizar Comfy Desktop. Reinicia Comfy Desktop para que los cambios surtan efecto. -- **Directorio de Caché**: Donde Comfy Desktop almacena datos temporales y en caché. Haz clic en el icono de carpeta para cambiarlo. - -## Registros - -- **Diagnósticos**: **Abrir carpeta de registros** muestra el directorio de registros de la aplicación de escritorio (`app.log`). Consulta [¿Cómo reviso los registros de inicio de Comfy Desktop?](/es/installation/desktop/faq#cómo-reviso-los-registros-de-inicio-de-comfy-desktop). - -## Ubicaciones de datos - -Comfy Desktop almacena los datos en directorios específicos de cada plataforma. - - - -``` -App data: %APPDATA%\Comfy Desktop -Logs: %APPDATA%\Comfy Desktop\logs -Installs: %LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Installs -Shared data: %LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Shared -``` - -Las instalaciones nuevas colocan los datos grandes (instalaciones, modelos compartidos, caché) en `%LOCALAPPDATA%\Comfy-Desktop`. Si ya tenías `ComfyUI-Installs` o `ComfyUI-Shared` en tu perfil de usuario antes de actualizar, esas carpetas ubicadas en la raíz del directorio personal se conservan. Si instalaste la aplicación en otra unidad, los datos grandes se guardan en `\Comfy-Desktop\`. - - -``` -App data: ~/Library/Application Support/Comfy Desktop -Logs: ~/Library/Logs/Comfy Desktop -Installs: ~/ComfyUI-Installs -Shared data: ~/ComfyUI-Shared -``` - - -``` -Config: ~/.config/comfyui-desktop-2 -Data: ~/.local/share/comfyui-desktop-2 -Cache: ~/.cache/comfyui-desktop-2 -State: ~/.local/state/comfyui-desktop-2 -Logs: ~/.config/comfyui-desktop-2/logs -Installs: ~/ComfyUI-Installs -Shared data: ~/ComfyUI-Shared -``` - -En Linux, Electron almacena los datos del usuario bajo el nombre del paquete `comfyui-desktop-2`, no bajo el nombre para mostrar Comfy Desktop. - - - -## Atajos de teclado - -| Atajo | Acción | -|----------|--------| -| `Ctrl+R` / `Cmd+R` | Recarga la vista actual de ComfyUI | -| `Ctrl`/`Cmd` + `+` / `-` / `0` | Acerca, aleja o restablece al 100% la vista de ComfyUI | -| `Escape` | Cierra un diálogo o una ventana emergente | - -Comfy Desktop no asigna `Ctrl+W` / `Cmd+W`, así que una pulsación accidental no puede cerrar una ventana con una instancia en ejecución. Para cerrar una ventana, usa **Close Window** en el menú ☰. - -## Comentarios y problemas - -¿Encontraste un error o tienes una sugerencia? Comfy Desktop es de código abierto. Puedes reportar problemas y consultar las funciones planificadas aquí: - -- **Problemas de Comfy Desktop**: [github.com/Comfy-Org/Comfy-Desktop/issues](https://github.com/Comfy-Org/Comfy-Desktop/issues) -- **Problemas de la documentación**: [github.com/Comfy-Org/docs/issues](https://github.com/Comfy-Org/docs/issues) - -Para preguntas generales sobre ComfyUI, visita las [Discusiones de ComfyUI en GitHub](https://github.com/Comfy-Org/ComfyUI/discussions) o únete al [Discord de ComfyUI](https://www.comfy.org/discord). diff --git a/es/installation/desktop/usage/snapshots.mdx b/es/installation/desktop/usage/snapshots.mdx deleted file mode 100644 index 9b0efac167..0000000000 --- a/es/installation/desktop/usage/snapshots.mdx +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: "Instantáneas de Comfy Desktop" -description: "Respalda, restaura y comparte configuraciones de instancias de ComfyUI en Comfy Desktop" -icon: "camera" -sidebarTitle: "Instantáneas" -translationSourceHash: 30336a5d -translationFrom: installation/desktop/usage/snapshots.mdx -translationBlockHashes: - "_intro": 6767194f - "Accessing Snapshots": df2b0b29 - "Snapshots Tab Overview": 24576e41 - "Share a Snapshot": 9f25beeb - "Create an Instance from a Snapshot File": baffe061 ---- -Una instantánea registra el estado actual de tu instancia, incluyendo: - -- **Versión de ComfyUI**: qué compilación de ComfyUI está instalada -- **Nodos personalizados**: cada nodo personalizado con su versión o hash de commit -- **Paquetes pip**: todos los paquetes de Python instalados en el entorno - -Las instantáneas sirven como puntos de restauración: vuelve atrás después de una actualización problemática, clona una instalación o comparte una configuración funcional con un compañero de equipo. - -Comfy Desktop crea instantáneas automáticamente en eventos clave: en cada arranque, reinicio, antes y después de una actualización, y después de una restauración. También puedes crear instantáneas manualmente en cualquier momento (hasta 200 instantáneas automáticas por instalación). - -## Acceder a las Instantáneas - -Desde cualquier tarjeta de instancia, haz clic en el **menú ⋮** (1) y selecciona **Restaurar instantánea** (2) para abrir la pestaña **Snapshots** directamente. - -![Punto de acceso a Restaurar instantánea](/images/desktop/usage/snapshots_01_restore_snapshot.png) - -Como alternativa, abre el panel **Manage** en cualquier tarjeta de instancia y navega a la pestaña **Snapshots**. - -## Descripción general de la pestaña Instantáneas - -La pestaña **Snapshots** es tu centro para administrar todas las acciones relacionadas con instantáneas. La línea de tiempo muestra las instantáneas de la instancia, más recientes primero, y etiqueta cada entrada según cómo se creó: **Inicio**, **Administrador**, **Actualización**, **Actualizado**, **Restaurado** o **Manual**. Si la instancia se copió hacia o desde otra instancia, la línea de tiempo también incluye esa copia. Acciones principales disponibles: - -![Descripción general de la pestaña Instantáneas](/images/desktop/usage/snapshots_02_snapshot_timeline.png) - -1. **Instancia seleccionada**: la instancia cuyas instantáneas se muestran en la línea de tiempo. -2. **Pestaña Snapshots**: pestaña activa actualmente en el panel Manage. -3. **Importar**: importa un archivo de instantánea exportado por otro usuario u otra instancia. -4. **Exportar todo**: exporta todas las instantáneas de esta instancia como un único archivo `.json`. -5. **Crear instantánea**: crea una instantánea manual del estado actual de la instancia. -6. **Restaurar**: restaura la instancia al estado de una instantánea específica. -7. **Exportar**: exporta una sola instantánea desde la línea de tiempo. -8. **Eliminar**: elimina una sola instantánea de la línea de tiempo. - -### Crear una instantánea manual - -Haz clic en **Crear instantánea** (5) en el encabezado de la pestaña **Snapshots**. De forma opcional puedes agregar una etiqueta (por ejemplo, "Antes de agregar LCM LoRA") para identificarla más adelante. La instantánea capturará: - -- El commit de Git actual de ComfyUI -- Todos los nodos personalizados habilitados (URL de `git clone` + commit, o ID de CNR + versión) -- Todos los paquetes pip de `pip freeze` - -Las instantáneas manuales no cuentan para el límite de instantáneas automáticas y se pueden eliminar individualmente. - -### Ver los detalles de una instantánea - -Haz clic en cualquier fila para expandirla. Una fila contraída ya muestra cómo se creó la instantánea, cuándo se tomó, la versión de ComfyUI y pills que resumen cuántos nodos y paquetes se agregaron, quitaron o cambiaron respecto a la instantánea anterior. La instantánea más reciente también lleva una insignia **Última**. - -La vista expandida muestra los totales de nodos y paquetes de la instantánea, su etiqueta si tiene una, y dos diferencias que se pueden contraer: - -- **Qué cambió en esta instantánea**: compara esta instantánea con la inmediatamente anterior. Oculto para la instantánea más antigua de la línea de tiempo. -- **Qué cambiaría al restaurar esto**: compara esta instantánea con el estado actual de la instancia. Oculto para la instantánea más reciente de la línea de tiempo. - -Los botones **Restaurar**, **Exportar** y **Eliminar** de esa instantánea también están en esta vista expandida. La instantánea más reciente de la línea de tiempo no tiene botón **Restaurar**. - -### Restaurar desde una instantánea - -1. En la pestaña **Snapshots**, busca la instantánea que quieres restaurar. -2. Haz clic en **Restaurar**: una vista previa muestra las diferencias (qué cambiará). -3. Revisa los cambios y haz clic en **Confirmar** para iniciar el proceso de restauración. - -Durante la restauración, Comfy Desktop hará lo siguiente: - -1. **Cambiar a la versión registrada de ComfyUI** (commit de Git) -2. **Instalar los nodos personalizados faltantes**, cambiar versiones y habilitar o deshabilitar nodos según sea necesario -3. **Restaurar los paquetes de pip**: instalar los paquetes faltantes, actualizar o degradar a la versión registrada y eliminar los sobrantes -4. **Ejecutar los scripts de posinstalación** de cualquier nodo personalizado recién instalado o al que se le haya cambiado la versión - -El proceso se puede cancelar en cualquier momento. Si se cancela o si falla la instalación de un paquete, el sistema revierte automáticamente al estado previo a la restauración usando una copia de seguridad integrada. - -Después de una restauración exitosa, Comfy Desktop crea automáticamente una instantánea `post-restore` para que puedas deshacer la restauración si es necesario. - -### Importar una instantánea a una instancia - -Usa **Importar** en la pestaña **Snapshots** para traer un archivo de instantánea al historial propio de la instancia. Solo se aplica la instantánea más reciente del archivo. Si el entorno se puede reproducir exactamente, esa instantánea se agrega a la línea de tiempo; de lo contrario, Comfy Desktop guarda una instantánea del estado resultante y las instantáneas más antiguas del archivo se ignoran. Si la compilación de PyTorch de la instantánea no se puede aplicar en esta máquina, Comfy Desktop te advierte antes de aplicarla. - -### Eliminar una instantánea - -Expande cualquier instantánea y haz clic en **Eliminar** para quitarla. Comfy Desktop conserva las 200 instantáneas más recientes sin etiqueta de tipo Inicio y Administrador por instalación y elimina las más antiguas automáticamente a medida que se escriben nuevas, así que nunca tendrás que limpiarlas a mano. Las instantáneas capturadas manualmente, antes o después de una actualización, o después de una restauración, nunca se eliminan automáticamente, así que elimínalas tú mismo cuando ya no las necesites. - -## Compartir una instantánea - -Los archivos de instantánea son portátiles: un solo archivo `.json` contiene toda la configuración, así que puedes pasárselo a un compañero de equipo o moverlo a otra máquina. - -Dos atajos exportan la instantánea **más reciente** de una instancia sin abrir la pestaña **Snapshots**: - -- En la tarjeta de la instancia en el Panel, abre el menú **⋮** y selecciona **Exportar instantánea**. -- En el selector de instancias, abre el menú **Más** en el pie de página y selecciona **Compartir**. - -Ambos abren un cuadro de diálogo de guardado y escriben un único archivo `.json`. Si la instancia aún no tiene instantáneas, Comfy Desktop te indica que no hay nada que compartir. Para exportar una instantánea en concreto, o todas las instantáneas a la vez, usa **Exportar** y **Exportar todo** en la pestaña **Snapshots**. - -Quien recibe el archivo puede crear una nueva instancia a partir de él o importarlo en una instancia que ya tenga. - -## Crea una instancia a partir de un archivo de instantánea - -Si alguien comparte un archivo de instantánea contigo, puedes usarlo para iniciar una nueva instancia de ComfyUI con exactamente la misma configuración. - -1. Haz clic en el **menú ☰** (1) en la esquina superior izquierda de la vista del Selector y selecciona **Cargar instantánea** (2). - -![Punto de entrada de Cargar instantánea](/images/desktop/usage/snapshots_load_snapshot_1.png) - -2. Explora tu sistema de archivos y selecciona el archivo de instantánea `.json`. - -![Selecciona un archivo de instantánea](/images/desktop/usage/snapshots_load_snapshot_2.png) - -3. Una vista previa muestra el contenido de la instantánea: nombre de la instancia fuente, versión de ComfyUI, nodos personalizados y paquetes pip. Revisa los detalles y luego haz clic en **Crear instancia** para construir una nueva instancia a partir de la instantánea. - -![Vista previa de la instantánea y creación](/images/desktop/usage/snapshots_load_snapshot_3.png) - -Esto crea una instancia independiente totalmente nueva, y la instancia original queda intacta. La verás aparecer en la vista del Selector junto a tus otras instancias. diff --git a/es/installation/desktop/usage/workspaces-and-builds.mdx b/es/installation/desktop/usage/workspaces-and-builds.mdx deleted file mode 100644 index f108a199f9..0000000000 --- a/es/installation/desktop/usage/workspaces-and-builds.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Espacios de trabajo y builds de ComfyUI en Comfy Desktop" -description: "Inicia sesión en Comfy Desktop para cambiar de espacio de trabajo, instalar builds de ComfyUI desde tu espacio de trabajo y crear un build a partir de una instancia local." -icon: "cube" -sidebarTitle: "Espacios de trabajo y builds" -translationSourceHash: 8ca12dd5 -translationFrom: installation/desktop/usage/workspaces-and-builds.mdx -translationBlockHashes: - "_intro": 4a52b8be - "Signing in": 0ed0a3a7 - "Switching workspaces": cb179574 - "Installing a Build": f5c46d8a - "Creating a Build from an instance": 9f445520 ---- -Comfy Desktop puede conectarse a tu cuenta de Comfy. Iniciar sesión agrega funciones de espacio de trabajo al Selector: cambia entre tu Espacio de trabajo personal y cualquier espacio de trabajo en equipo al que pertenezcas, consulta las instancias que pertenecen al espacio de trabajo seleccionado e instala ComfyUI Builds publicados en él. También puedes convertir una instancia local en un Build que otros miembros del espacio de trabajo puedan instalar. - -Iniciar sesión es opcional. Las instancias locales, las instantáneas y las configuraciones funcionan sin una cuenta. - -## Iniciar sesión - -El chip de la cuenta se encuentra en la parte superior derecha del Chooser. - -- **Sesión cerrada**: el chip muestra un botón **Inicia sesión**. Haz clic en él para abrir el flujo de inicio de sesión en el navegador y luego vuelve a la aplicación. -- **Sesión iniciada**: el chip muestra tu avatar y tu correo electrónico. Haz clic en él para abrir un menú con **Cerrar sesión**. - -Cerrar sesión solo finaliza la sesión. Tus instancias permanecen en su lugar. Si hay una instalación en progreso, Comfy Desktop te advierte que cerrar sesión la cancelará antes de continuar. - -## Cambiar de espacio de trabajo - -Una barra de espacios de trabajo se ubica sobre la cuadrícula de instancias: - -- **Selector de espacio de trabajo**: tu espacio **Personal** y cada espacio de trabajo en equipo al que perteneces. Haz clic en él para cambiar. -- **Actualizar espacios de trabajo**: aparece una vez que has iniciado sesión. Vuelve a cargar la lista de espacios de trabajo y el catálogo de Builds del espacio de trabajo seleccionado. -- **INSTANCES**: la cantidad de instancias que pertenecen al espacio de trabajo seleccionado. - -El espacio de trabajo seleccionado delimita el alcance del Chooser. La cuadrícula muestra solo las instancias que le pertenecen, y el flujo de Nueva instancia ofrece los Builds de ese espacio de trabajo. Comfy Desktop recuerda el espacio de trabajo que seleccionaste y lo restaura la próxima vez que abras la aplicación. - -## Instalar un Build - -Un Build es un entorno de ComfyUI empaquetado y publicado en un espacio de trabajo. El asistente de Nueva instancia muestra la versión de lanzamiento del Build, el creador, el objetivo de hardware y una estimación del espacio en disco que necesita. Instalar un Build te proporciona exactamente ese entorno como una instancia local, en lugar de una instalación simple de ComfyUI. - -1. Haz clic en la tarjeta **+** del Selector para abrir el asistente de Nueva instancia. -2. En la fila de método, selecciona **Managed Builds**. Si aún no has iniciado sesión, Comfy Desktop te pedirá que inicies sesión primero. -3. En **Release**, elige el Build que quieres instalar. Solo se muestran los Builds listos para instalar y compatibles con tu equipo. Usa **View builds online** para abrir la página de Builds en tu navegador, o el botón Actualizar para recargar la lista. -4. En **Hardware**, elige el objetivo de la versión para tu equipo, por ejemplo Windows con NVIDIA (CUDA 12.8). El objetivo recomendado para tu hardware está preseleccionado. -5. Continúa por el asistente para instalar la instancia. - -Cuando hayas iniciado sesión, el asistente se abre en **Managed Builds** y recurre a **Public Builds** cuando el espacio de trabajo seleccionado no tiene un Build compatible. **Public Builds** es la instalación estándar de ComfyUI para tu hardware detectado. - -## Crear un Build desde una instancia - -Puedes publicar una instancia local como Build para que otros miembros de su espacio de trabajo puedan instalarla. - -1. Inicia sesión en tu cuenta de Comfy. -2. En el Selector, abre el **menú ⋮** de la instancia y selecciona **Create Build**. -3. Comfy Desktop crea un Build en borrador a partir de esa instancia en Comfy Developer Platform. El borrador pertenece al espacio de trabajo al que pertenece la instancia. - -**Create Build** se ofrece para instancias locales que están instaladas y tienen una ruta de instalación en el disco. No se ofrece para instancias de Cloud o remotas. El Build comienza como borrador, así que puedes revisar su contenido antes de publicarlo. - -Para ver el flujo de trabajo completo de los Builds, incluido cómo crear un Build a partir de una instantánea de Desktop o de un archivo JSON de flujo de trabajo, consulta [Otras formas de crear un Build de Comfy API](/development/serverless/build-sources). diff --git a/es/installation/desktop/windows.mdx b/es/installation/desktop/windows.mdx deleted file mode 100644 index 618a01b64c..0000000000 --- a/es/installation/desktop/windows.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: "Comfy Desktop para Windows" -description: "Instala Comfy Desktop en Windows: requisitos del sistema, pasos de configuración, actualizaciones y una desinstalación limpia para ejecutar ComfyUI localmente en Windows 10 y versiones posteriores." -icon: "windows" -sidebarTitle: "Windows" -translationSourceHash: 592ccfc9 -translationFrom: installation/desktop/windows.mdx -translationBlockHashes: - "_intro": 27d36d8f - "System Requirements": ceeec5a6 - "Installation": 955f804c - "Updating Comfy Desktop": b0efe5cd - "Uninstalling": 4b80edaa ---- -import MigrateTip from '/snippets/es/desktop/migrate.mdx' -import UpdateGuide from '/snippets/es/desktop/update.mdx' - -**Comfy Desktop** es un administrador de instalaciones múltiples que te permite ejecutar varias instancias de ComfyUI desde un solo lanzador. Esta guía explica cómo instalar y desinstalar Comfy Desktop en Windows. - -## Requisitos del sistema - -- **SO:** Windows 10 o posterior -- **Arquitectura:** x64 o ARM64 -- **GPU:** Se recomienda una GPU dedicada (NVIDIA / AMD) para un buen rendimiento, pero no es obligatoria -- **Espacio en disco:** Se recomienda al menos 4.85 GB por instalación - - - Descarga el instalador más reciente para Windows. La página detectará tu plataforma automáticamente. - - -## Instalación - -Ejecuta el instalador `.exe` descargado (instalador NSIS) y sigue las instrucciones en pantalla. Después de la instalación, inicia Comfy Desktop desde el Menú Inicio o el acceso directo del escritorio. - -![Configuración de Windows](/images/desktop/installation/windows_1_install.png) -La primera vez que abras la aplicación, la configuración inicial te pregunta cómo quieres ejecutar Comfy: en Comfy Cloud o instalado localmente en esta máquina. Consulta [Primer inicio](/es/installation/desktop/overview#primer-inicio) para conocer las opciones que recopila. - - - - - Una vez instalado, aprende a crear instancias, administrar instalaciones y configurar los ajustes. - - -## Actualizar Comfy Desktop - - - -## Desinstalación - -### Eliminar Comfy Desktop - -1. Ve a **Configuración → Aplicaciones → Aplicaciones instaladas** -2. Busca **Comfy Desktop** y haz clic en **Desinstalar** - -![Desinstalar Comfy Desktop en Windows](/images/desktop/installation/windows_2_uninstall.png) - -### Lo que la desinstalación de la aplicación NO elimina - -Desinstalar Comfy Desktop solo elimina la aplicación lanzadora en sí. Los siguientes datos **no** se eliminan y debes eliminarlos manualmente si quieres una limpieza completa: - -| Datos | Ubicación predeterminada | Descripción | -|------|-----------------|-------------| -| Instalaciones | `%LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Installs` | Cada instalación de ComfyUI que hayas creado (también se puede eliminar desde la aplicación). Las rutas de instalación personalizadas tampoco se eliminan. Las instalaciones más antiguas pueden seguir en `%USERPROFILE%\ComfyUI-Installs`. | -| Modelos y salidas compartidos | `%LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Shared` | Biblioteca de modelos compartida, directorios de entrada y salida. Las instalaciones más antiguas pueden seguir usando `%USERPROFILE%\ComfyUI-Shared`. | -| Configuraciones y registro de la aplicación | `%APPDATA%\Comfy Desktop` | Configuraciones y registros de instalación | -| Registros | `%APPDATA%\Comfy Desktop\logs` | Registros de la aplicación de escritorio (`app.log`) | - -Los directorios enumerados arriba contienen tus **datos personales de ComfyUI** (modelos, salidas, configuraciones e instalaciones). **No** son archivos de la aplicación Comfy Desktop. Si los eliminas, borrarás tus datos de forma permanente. - -Para eliminar todo por completo: - -1. **Elimina la carpeta de datos de la aplicación**: `%APPDATA%\Comfy Desktop` -2. **Elimina las instalaciones individuales** desde la aplicación, o elimina manualmente `%LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Installs` (o `%USERPROFILE%\ComfyUI-Installs` si es allí donde se crearon). Elimina también los directorios de instalación personalizados que hayas configurado -3. **Elimina la biblioteca de modelos compartida** en `%LOCALAPPDATA%\Comfy-Desktop\ComfyUI-Shared` (o `%USERPROFILE%\ComfyUI-Shared`) solo si ya no necesitas estos archivos diff --git a/es/installation/install_custom_node.mdx b/es/installation/install_custom_node.mdx deleted file mode 100644 index ed15c5f177..0000000000 --- a/es/installation/install_custom_node.mdx +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: "Cómo instalar nodos personalizados en ComfyUI" -description: "Instala nodos personalizados en ComfyUI con ComfyUI Manager, git clone o una descarga ZIP, e instala sus dependencias de Python de forma segura." -sidebarTitle: "Nodos personalizados" -icon: "puzzle-piece" -translationSourceHash: d0088606 -translationFrom: installation/install_custom_node.mdx -translationBlockHashes: - "What are Custom Nodes ?": 6a5df82d - "Method 1: ComfyUI Manager (Recommended)": 747946d9 - "Method 2: Manual Installation Using Git": 9bb5622a - "Method 3: ZIP Download Installation": 56b7db7a - "Custom Node Resources": 4763c5a4 ---- -## ¿Qué son los nodos personalizados? - -Los nodos personalizados son extensiones para ComfyUI que añaden nuevas funcionalidades como procesamiento avanzado de imágenes, ajuste fino de aprendizaje automático, ajustes de color y más. Estos nodos desarrollados por la comunidad pueden expandir significativamente las capacidades principales de ComfyUI. - - -Antes de instalar nodos personalizados, es importante revisarlos cuidadosamente. Dado que ComfyUI es un proyecto de código abierto, los complementos maliciosos podrían potencialmente explotar los nodos personalizados: -1. Instala nodos personalizados solo de autores de confianza y de aquellos comúnmente usados por la comunidad -2. Comprende la funcionalidad del complemento antes de instalarlo y evita fuentes desconocidas para garantizar la seguridad del sistema -3. Evita instalar complementos oscuros o sospechosos: los complementos no verificados pueden plantear riesgos de seguridad que podrían comprometer el sistema - - -Todas las instalaciones de nodos personalizados requieren completar estos dos pasos: - -1. Clonar el código del nodo en el directorio `ComfyUI/custom_nodes` -2. Instalar las dependencias de Python requeridas - -Esta guía compara tres métodos de instalación. **ComfyUI Manager** está integrado en las versiones actuales de ComfyUI para la mayoría de las configuraciones. Comienza por la [descripción general de ComfyUI Manager](/es/manager/overview) para saber qué hace y cómo habilitarlo. Usa **Git clone** o **ZIP** cuando un nodo no esté en el registro o necesites una revisión específica. - -| Método | Ventajas | Desventajas | -| ---------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------- | -| **ComfyUI Manager** (recomendado) | 1. Instalación automatizada
2. Gestión de dependencias
3. Interfaz gráfica | No se pueden buscar directamente nodos que no estén registrados en el registro | -| **Git Clone** | Permite instalar nodos que no estén registrados en el registro | 1. Requiere conocimientos de Git
2. Gestión manual de dependencias
3. Riesgos de instalación | -| **Descarga de ZIP del repositorio** | 1. No requiere Git
2. Control manual | 1. Gestión manual de dependencias
2. Sin control de versiones
3. Riesgos de instalación | - -Consejo: Antes de instalar nodos personalizados, revisa el archivo README del complemento para comprender los métodos de instalación, el uso y los requisitos, como modelos específicos, versiones de dependencias y soluciones a problemas comunes. - -## Método 1: ComfyUI Manager (recomendado) - - -Necesitas tener ComfyUI Manager disponible en tu entorno antes de usar este método. Si falta o está deshabilitado, consulta la [descripción general de ComfyUI Manager](/es/manager/overview) y la [guía de instalación](/es/manager/install). - - -ComfyUI Manager ofrece dos versiones de interfaz para administrar nodos personalizados. Elige la guía que coincida con tu interfaz: - - - - La nueva interfaz de administración de nodos, habilitada de forma predeterminada para usuarios de Desktop. - - - La interfaz clásica de Manager para instalar nodos personalizados. - - - -## Método 2: Instalación manual usando Git - -Adecuado para nodos nuevos que no se encuentran en el Administrador o cuando se necesitan versiones específicas. Requiere tener [Git](https://git-scm.com/) instalado en tu sistema. - - - - Haz clic en el botón "Code" en GitHub y copia el enlace HTTPS - - - ```bash - cd /path/to/ComfyUI/custom_nodes - ``` - - - ```bash - git clone [repository URL] - ``` - - - Las dependencias deben instalarse en tu entorno de ComfyUI. Ten cuidado de no mezclarlas con tu entorno del sistema para evitar contaminación - - - Para la versión portable de Windows, instala las dependencias en el entorno de Python Integrado - ```bash - python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\[node directory]\requirements.txt - ``` - - - Instala las dependencias en tu entorno de ComfyUI - ```bash - cd [node directory] - pip install -r requirements.txt - ``` - - - - - Reinicia ComfyUI y actualiza tu navegador. Revisa los registros de inicio para detectar errores de `import failed` - - - -## Método 3: Instalación por descarga de ZIP -Adecuado para usuarios que no pueden usar Git o el Administrador - - -No recomendamos este método de instalación, ya que se pierde la capacidad de control de versiones - - - - - Haz clic en `Code` → `Download ZIP` en la página de GitHub - ![Haz clic en Code → Download ZIP en GitHub](/images/installation/custom_nodes/install-custom-nodes-by-zip.jpg) - - - Extrae el archivo ZIP descargado - - - Copia la carpeta extraída al directorio `ComfyUI/custom_nodes/` - - - Reinicia ComfyUI y actualiza el navegador - - - Revisa ComfyUI Manager después de reiniciar para confirmar que el complemento se instaló correctamente y que no hay errores de `import failed` - - - -## Recursos para nodos personalizados - -En ComfyUI, además de la funcionalidad básica de extensión de nodos, los nodos personalizados también pueden incluir los siguientes recursos adicionales: -- [Documentación de nodos](/custom-nodes/help_page): Esta función es compatible con todos los nodos personalizados y básicos. Puedes usarla para consultar la documentación de los nodos, entender el propósito y el uso de los nodos, y contribuir con documentación mediante PRs al autor. -- [Plantillas de flujos de trabajo para nodos personalizados](/custom-nodes/workflow_templates): Plantillas de flujos de trabajo proporcionadas por los autores de nodos como flujos de trabajo de ejemplo, que se pueden explorar y cargar desde las plantillas de ComfyUI. -- [Soporte multi-idioma](/custom-nodes/i18n) - -Si eres desarrollador de nodos personalizados, puedes agregar estos recursos para que tu nodo personalizado sea más fácil de usar. diff --git a/es/installation/manual_install.mdx b/es/installation/manual_install.mdx deleted file mode 100644 index 12d31c805b..0000000000 --- a/es/installation/manual_install.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: "Instalar ComfyUI manualmente (Windows, macOS, Linux)" -description: "Instala ComfyUI manualmente en Windows, macOS o Linux: crea un entorno virtual, clona el repositorio, instala las dependencias de la GPU e inicia la aplicación." -icon: "wrench" -sidebarTitle: "Manual (local)" -translationSourceHash: 062a9112 -translationFrom: installation/manual_install.mdx -translationBlockHashes: - "_intro": 61faae8e - "Create a virtual environment": 5eb1c645 - "Clone the ComfyUI code repository": 9cf6c41a - "Install GPU and ComfyUI dependencies": 43c8b909 - "How to update ComfyUI": 8f0d9365 - "FAQ": 71de4f2d ---- - -import Conda from "/snippets/es/conda.mdx"; -import PipInstall from "/snippets/es/pip-install.mdx"; -import InstallGpuDependencies from "/snippets/es/install-gpu-dependencies.mdx"; -import RunComfy from "/snippets/es/run-comfy.mdx"; -import AddExternalModels from "/snippets/es/install/add-external-models.mdx" -import DockerNotice from "/snippets/es/install/docker-notice.mdx" - - -La instalación de ComfyUI se divide principalmente en varios pasos: -1. Crear un entorno virtual (para evitar contaminar el entorno de Python del sistema) -2. Clonar el repositorio de código de ComfyUI -3. Instalar las dependencias -4. Iniciar ComfyUI - -También puedes consultar [ComfyUI CLI](/comfy-cli/getting-started) para instalar ComfyUI. Es una herramienta de línea de comandos que permite instalar ComfyUI y administrar sus dependencias fácilmente. - -## Crear un entorno virtual - - - Los entornos virtuales independientes son necesarios porque las dependencias de ComfyUI pueden entrar en conflicto con otras dependencias del sistema, y también permiten evitar contaminar el entorno de Python a nivel de sistema. - - - - -## Clona el repositorio de código de ComfyUI - -Asegúrate de tener [Git](https://git-scm.com/downloads) instalado en tu sistema. Primero abre la terminal (línea de comandos) y luego clona el repositorio. - - -Si no has instalado Microsoft Visual C++ Redistributable, instálalo [aquí.](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) - - -Abre la aplicación Terminal. - - -Abre la [aplicación Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac). - - - -```bash -git clone https://github.com/Comfy-Org/ComfyUI.git -``` - -## Instala las dependencias de GPU y de ComfyUI - - - - - - - - - - - - - -Para la configuración avanzada del servidor (puerto personalizado, acceso a la LAN, modos de VRAM y más), consulta la [referencia de indicadores de inicio](/development/comfyui-server/startup-flags). - -## Cómo actualizar ComfyUI - - - - Usa la línea de comandos para entrar a la ruta de instalación de ComfyUI y luego obtén el último código. - ```bash - cd /ComfyUI - git pull - ``` - - - Usa la línea de comandos para entrar a la ruta de instalación de ComfyUI y luego instala las dependencias. - - Debes asegurarte de que el entorno de Python actual sea el entorno virtual de ComfyUI; de lo contrario, las dependencias se instalarán en el entorno de Python del sistema, contaminándolo. - - ```bash - pip install -r requirements.txt - ``` - - - - - -## Preguntas frecuentes - - - -### Cómo detener o salir de ComfyUI - -Presiona **Ctrl+C** en la ventana de terminal donde se está ejecutando ComfyUI, o simplemente cierra la ventana de terminal. diff --git a/es/installation/system_requirements.mdx b/es/installation/system_requirements.mdx deleted file mode 100644 index 7509d5743e..0000000000 --- a/es/installation/system_requirements.mdx +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Requisitos del sistema" -description: "Requisitos de hardware y software para instalar y ejecutar ComfyUI." -sidebarTitle: "Requisitos del sistema" -icon: "computer" -translationSourceHash: 5455774d -translationFrom: installation/system_requirements.mdx ---- - -import InstallLink from "/snippets/es/install/install-link.mdx" -import DockerNotice from "/snippets/es/install/docker-notice.mdx" - - -En esta guía presentaremos los requisitos del sistema para instalar ComfyUI. Debido a las frecuentes actualizaciones de ComfyUI, es posible que este documento no se actualice de forma oportuna. Consulta las instrucciones correspondientes en [ComfyUI](https://github.com/Comfy-Org/ComfyUI). - -Independientemente de la versión de ComfyUI que uses, se ejecuta en un entorno Python separado. - -### Sistemas operativos compatibles - -Actualmente, admitimos los siguientes sistemas operativos: -- Windows -- Linux -- macOS (compatible con Apple Silicon, como la serie M) - -Consulta los enlaces a continuación para ver las instrucciones de instalación específicas de tu sistema operativo y configuración. - - - - -### Versión de Python - -- **Python 3.13** tiene muy buen soporte y es la versión recomendada -- Python 3.14 funciona, pero algunos nodos personalizados pueden tener problemas. La variante free threaded funciona, pero algunas dependencias habilitarán el GIL, por lo que no tiene soporte completo -- Python 3.12 es una buena alternativa si tienes problemas con las dependencias de algunos nodos personalizados en 3.13 - -### Requisitos del navegador - -Para obtener la mejor experiencia, usa **Google Chrome versión 143 o posterior**. Las versiones anteriores de Chrome (142 y anteriores) tienen problemas conocidos que pueden causar fallos visuales y problemas de rendimiento en ComfyUI. - -### Hardware compatible - -- **GPU NVIDIA** - Instala pytorch estable con CUDA 13.0: `pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130` -- **GPU AMD (Linux)** - ROCm 7.2 estable o nocturna -- **GPU AMD (Windows)** - ROCm 10.0 mediante los paquetes PyTorch multiarquitectura de AMD. Compatible con RDNA 2, RDNA 3, RDNA 3.5 y RDNA 4; no se necesita instalar el SDK de HIP por separado -- **GPU Intel** - Serie Arc con soporte nativo de PyTorch torch.xpu -- **Apple Silicon** - Serie M1/M2/M3/M4 con aceleración Metal -- **NPU Ascend** - Mediante la extensión torch_npu -- **MLU Cambricon** - Mediante la extensión torch_mlu -- **Iluvatar Corex** - Mediante Iluvatar Extension for PyTorch -- **CPU** - Usa el parámetro `--cpu` (más lento) - -Consulta la [sección de instalación manual de ComfyUI para Windows y Linux](https://github.com/Comfy-Org/ComfyUI?tab=readme-ov-file#manual-install-windows-linux) para ver los pasos de instalación detallados. - - -Se admite PyTorch 2.7 y versiones posteriores, pero se recomienda encarecidamente usar una versión más reciente. En las tarjetas Nvidia de la serie 20 y posteriores se requiere una versión de PyTorch con cu130 o superior. Algunas funciones y optimizaciones podrían funcionar solo en versiones más recientes. Por lo general, recomendamos usar la última versión principal de PyTorch con la última versión de CUDA, a menos que tenga menos de 2 semanas de antigüedad. - -La compilación portable para Windows actualmente incluye Python 3.13 y PyTorch CUDA 13.0. Actualiza tus controladores de Nvidia si no se inicia. - - -### Dependencias - -- Instala PyTorch (la versión específica para tu hardware) -- Instala todas las dependencias del archivo requirements.txt de ComfyUI: `pip install -r requirements.txt` - - -Consulta la sección de instalación manual para ver los pasos de instalación detallados. - - -## Preguntas frecuentes - - -ComfyUI no usa MLX directamente. En los Mac con Apple Silicon (M1/M2/M3/M4), ComfyUI usa PyTorch con el backend **MPS (Metal Performance Shaders)**, que aprovecha el framework gráfico Metal de Apple para la aceleración por GPU. - -MLX es un framework de arrays para aprendizaje automático independiente, diseñado para Apple Silicon. La arquitectura de ComfyUI, basada en PyTorch, usa MPS en su lugar. - -Para verificar que MPS funciona en tu Mac: -```bash -python -c "import torch; print(torch.backends.mps.is_available())" -``` - - - \ No newline at end of file diff --git a/es/installation/update_comfyui.mdx b/es/installation/update_comfyui.mdx deleted file mode 100644 index 998f776b95..0000000000 --- a/es/installation/update_comfyui.mdx +++ /dev/null @@ -1,298 +0,0 @@ ---- -title: "Cómo actualizar ComfyUI" -description: "Actualiza ComfyUI en cualquier tipo de instalación: scripts de actualización de Portable, actualizaciones de Desktop y git pull para instalaciones manuales, además de soluciones para problemas comunes de actualización." -icon: "circle-up" -sidebarTitle: "Actualizar ComfyUI" -translationSourceHash: 26f44c01 -translationFrom: installation/update_comfyui.mdx -translationBlockHashes: - "_intro": ea3fba01 - "How to Update ComfyUI?": c8ead7aa - "ComfyUI Version Types": 0f19bbda - "What Needs to Be Updated When Updating ComfyUI?": 9d192c1b - "Common Update Issues": 497a4219 ---- -import InstallLink from "/snippets/es/install/install-link.mdx" -import UpdateRequirement from "/snippets/es/install/update-requirement.mdx" - -Aunque ya hemos cubierto las actualizaciones de ComfyUI en los distintos métodos de instalación a lo largo de varias secciones, esta guía completa reúne todos los procedimientos de actualización para ayudarte a entender con claridad cómo actualizar ComfyUI. - -## ¿Cómo actualizar ComfyUI? - - - - ComfyUI Portable incluye prácticos scripts de lote para actualizar fácilmente. - - ### Ubicación de los scripts de actualización - En la carpeta `update` dentro de tu directorio de instalación portátil, encontrarás los siguientes scripts de actualización: - - ``` - ComfyUI_windows_portable - └─ 📂update - ├── update.py - ├── update_comfyui.bat // Actualizar a la última versión de desarrollo - ├── update_comfyui_stable.bat // Actualizar a la última versión estable - └── update_comfyui_and_python_dependencies.bat // ⚠️ PELIGRO: Reinstala las dependencias - puede causar conflictos -``` -Asegúrate de tener una conexión a internet estable durante las actualizaciones. - - -**⚠️ PELIGRO: ¡Usa `update_comfyui_and_python_dependencies.bat` con muchísima precaución!** - -Este script es más exhaustivo que las actualizaciones normales y hará lo siguiente: -- ✅ Actualizar el propio código de ComfyUI -- ✅ Actualizar PyTorch (para NVIDIA GPU CUDA 12.9) -- ✅ Reinstalar TODAS las dependencias de Python - -**Riesgos:** -- Puede causar conflictos de dependencias con tu configuración actual -- Puede romper nodos personalizados que dependen de versiones específicas de paquetes -- Puede sobrescribir paquetes configurados manualmente - -**⚠️ Usa este script solo cuando:** -- Necesites solucionar problemas de dependencias -- Vayas a realizar actualizaciones de versión mayor -- Para actualizaciones diarias, usa `update_comfyui.bat` en su lugar - -**Antes de ejecutar este script:** -1. **Haz una copia de seguridad de toda tu instalación de ComfyUI** -2. Documenta las versiones de paquetes personalizados que hayas instalado -3. Prepárate para reinstalar los nodos personalizados si es necesario - - - -Comfy Desktop usa Comfy Engine como administrador de paquetes para gestionar ComfyUI. Para actualizar el motor de ComfyUI, abre el [panel Administrar](/es/installation/desktop/usage/manage#pestaña-actualizar) y usa la pestaña Actualizar. Puedes elegir entre los canales de actualización **Estable** (predeterminado) y **Última en GitHub**. - -La aplicación de escritorio se actualiza automáticamente y es independiente de las actualizaciones del motor de ComfyUI. - - -ComfyUI instalado manualmente requiere comandos de Git para completar las actualizaciones. - -### Requisitos previos a la actualización -Asegúrate de que tu sistema tenga [Git](https://git-scm.com/downloads) instalado y de que ComfyUI se haya instalado mediante Git clone. - -### Pasos de actualización - - -Primero, activa el entorno virtual de Python de ComfyUI (si estás usando uno): -```bash -# Para entorno conda -conda activate comfyui - -# Para entorno venv -# Windows -venv\Scripts\activate -# macOS/Linux -source venv/bin/activate -``` - - -Navega a tu directorio de instalación de ComfyUI y obtén el código más reciente: -```bash -cd -git pull -``` - - -Instala o actualiza los paquetes de dependencias de ComfyUI: -```bash -pip install -r requirements.txt -``` - -Asegúrate de estar en el entorno virtual de ComfyUI para evitar contaminar el entorno de Python a nivel del sistema - - - -Después de actualizar, reinicia ComfyUI: -```bash -python main.py -``` - - - -### Cambiar de versión (opcional) -Para cambiar a una versión específica, usa estos comandos: -```bash -# Ver el historial de commits -git log --oneline - -# Cambiar a un commit específico -git checkout - -# Volver a la última versión -git checkout master -``` -Se recomiendan las actualizaciones regulares para obtener las últimas funciones y correcciones de seguridad, mientras que las versiones estables se recomiendan para la estabilidad del sistema - - - -## Tipos de versión de ComfyUI - -Según tu método de instalación, ComfyUI ofrece varias versiones de instalación. Los enlaces a continuación contienen las instrucciones de actualización para cada versión. - - - -## ¿Qué se debe actualizar al actualizar ComfyUI? - -Las actualizaciones de ComfyUI consisten principalmente en dos componentes: -1. Actualizar el código principal de ComfyUI -2. Actualizar las dependencias principales de ComfyUI, incluidas las dependencias necesarias de Python y los paquetes de dependencias funcionales de ComfyUI - -**Código principal**: Nuevos nodos, soporte para nuevos modelos, nuevas funciones, etc. -**Dependencias principales**: Incluye principalmente la funcionalidad del frontend de ComfyUI, plantillas de flujo de trabajo, documentación de ayuda de nodos, etc. - -``` -comfyui-frontend-package # Funcionalidad del frontend de ComfyUI -comfyui-workflow-templates # Plantillas de flujo de trabajo de ComfyUI -comfyui-embedded-docs # Documentación de ayuda de nodos de ComfyUI -comfy-kitchen # Utilidades principales de ComfyUI -comfy-aimdo # Utilidades principales de ComfyUI -``` - -Estas dependencias principales se mantienen en repositorios separados: -- [ComfyUI_frontend](https://github.com/Comfy-Org/ComfyUI_frontend/) - Interfaz del frontend y funciones interactivas -- [workflow_templates](https://github.com/Comfy-Org/workflow_templates) - Plantillas de flujo de trabajo prediseñadas -- [comfyui-embedded-docs](https://github.com/Comfy-Org/embedded-docs) - Documentación de ayuda de nodos -- [comfy-kitchen](https://github.com/Comfy-Org/comfy-kitchen) - Biblioteca de kernels rápida para inferencia de Diffusion con múltiples backends de cómputo -- [comfy-aimdo](https://github.com/Comfy-Org/comfy-aimdo) - Asignador de descarga bajo demanda de modelos de IA - -Es importante entender la diferencia entre las versiones de desarrollo (nocturnas) y las versiones estables (release): -- **Versión de desarrollo (nocturna)**: Código del último commit, que te da acceso a las funciones más recientes, pero puede contener posibles problemas -- **Versión estable (release)**: Basada en lanzamientos estables, normalmente va por detrás de las versiones de desarrollo, pero ofrece mayor estabilidad. Damos soporte a las versiones estables después de que las funciones se prueban y estabilizan - -Muchos usuarios suelen encontrarse en versiones estables (release) o versiones de escritorio durante las actualizaciones, pero descubren que las funciones que necesitan solo están disponibles en las versiones de desarrollo. En esos casos, verifica si tu archivo local `ComfyUI/requirements.txt` coincide con las [dependencias de la versión nocturna](https://github.com/Comfy-Org/ComfyUI/blob/master/requirements.txt) para determinar si todas las dependencias admiten las funciones más recientes. - -## Problemas comunes de actualización - -### Frontend, plantillas de flujos de trabajo o nodos faltantes o desactualizados después de las actualizaciones - - - - Muchos usuarios solo usan el comando `git pull` para actualizar el código de ComfyUI, pero **descuidan la actualización de las dependencias principales**, lo que provoca los siguientes problemas: - - - Funcionalidad del frontend faltante o anómala - - No se encuentran las plantillas de flujo de trabajo recién agregadas - - Documentación de ayuda de los nodos desactualizada o faltante - - Las nuevas funciones carecen del soporte correspondiente en el frontend - - Después de usar el comando `git pull`, usa el entorno de ComfyUI correspondiente para ejecutar `pip install -r requirements.txt` y actualizar las dependencias. - - Si fallan las actualizaciones de dependencias, suele deberse a problemas de red o de permisos del equipo. Cuando se producen fallos en las dependencias principales durante las actualizaciones, el sistema recurre a versiones anteriores. Normalmente verás registros como este durante el inicio: - ``` - Falling back to the default frontend. - ComfyUI frontend version: xxx - ``` - - Sigue estos pasos para solucionar problemas: - 1. Usa `pip list` en el entorno adecuado para ver los paquetes de dependencias instalados actualmente. Si encuentras inconsistencias de versión, usa `pip install -r requirements.txt` en el entorno de ComfyUI para intentar actualizar las dependencias de nuevo. - 2. Si los problemas persisten después de actualizar, revisa tu conexión de red. Los usuarios en China continental pueden necesitar configurar un proxy para acceder de forma fiable a los repositorios de GitHub. - 3. Si los problemas continúan, revisa los permisos del equipo. Si se requieren privilegios de administrador, ejecuta la línea de comandos con derechos de administrador. - - - -### Cómo actualizar correctamente las dependencias principales - - - -### Solución de problemas de actualización de dependencias principales - -Si fallan las actualizaciones de las dependencias principales, sigue estos pasos para solucionar problemas: - - - - Si te encuentras en China continental, asegúrate de poder acceder a PyPI o configura un espejo nacional: - ```bash - # Usando el espejo de la Universidad de Tsinghua - pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - ``` - - - Si falla la instalación por lotes, intenta instalar los paquetes individualmente. **Primero revisa los requisitos de versión en `ComfyUI/requirements.txt`**: - - **Luego instala según las versiones especificadas (usa los números de versión de tu requirements.txt):** - ```bash - pip install comfyui-frontend-package== - pip install comfyui-workflow-templates== - pip install comfyui-embedded-docs== - pip install comfy-kitchen== - pip install comfy-aimdo== - ``` - - Se recomienda usar los números de versión exactos especificados en `ComfyUI/requirements.txt`. No actualices a las últimas versiones por tu cuenta, ya que esto puede causar problemas de compatibilidad. - - - - -### ¿Por qué no encuentro las nuevas funciones después de actualizar? - -Este es uno de los problemas más comunes: -- Si usas la **versión de escritorio**, es posible que las funciones estén retrasadas porque la versión de escritorio se basa en versiones estables -- Asegúrate de usar la **versión de desarrollo (nocturna)**, no la **versión estable (release)** - -Además, asegúrate de que las dependencias correspondientes se hayan actualizado correctamente durante el proceso de actualización. Si los problemas persisten después de actualizar, consulta la sección [Solución de problemas de actualización de dependencias](#solución-de-problemas-de-actualización-de-dependencias-principales) para diagnosticar los problemas. - -### ¿Cómo cambiar entre la versión de desarrollo (nocturna) y la versión estable (release)? - -Diferencias entre versiones: - - - - - **Características**: contiene el código del commit más reciente - - **Ventajas**: experimenta primero las últimas funciones y mejoras - - **Riesgos**: puede contener errores no descubiertos o factores de inestabilidad - - **Adecuada para**: desarrolladores, testadores y usuarios que quieran experimentar las últimas funciones - - - - **Características**: código estable probado y verificado - - **Ventajas**: alta estabilidad, adecuada para entornos de producción - - **Desventajas**: las actualizaciones de funciones tienen retrasos y pueden ir por detrás de las versiones de desarrollo durante semanas o meses - - **Adecuada para**: usuarios que requieren estabilidad y usuarios de entornos de producción - - - - - - Usa `update_comfyui.bat` en lugar de `update_comfyui_stable.bat`: - ``` - # Versión de desarrollo (últimas funciones) - double-click: update_comfyui.bat - - # Versión estable - double-click: update_comfyui_stable.bat - ``` - - - ```bash - # Cambiar a la versión de desarrollo - git checkout master - git pull - - # Cambiar a la última versión estable - git fetch --tags - git checkout $(git describe --tags `git rev-list --tags --max-count=1`) - ``` - - - La versión de escritorio normalmente se basa en versiones estables y actualmente no admite el cambio de versión. Si necesitas las últimas funciones, te recomendamos: - 1. Esperar a que se actualice la versión de escritorio - 2. O usar la instalación portátil/manual para experimentar las últimas funciones - - - -### ¿Qué hacer cuando ocurren errores después de actualizar? - -1. **Revisa las dependencias**: ejecuta `pip install -r requirements.txt` para asegurarte de que todas las dependencias estén actualizadas -2. **Revisa los nodos personalizados**: algunos nodos personalizados pueden ser incompatibles con las nuevas versiones -3. **Revierte la versión**: si los problemas son graves, puedes volver a una versión estable anterior - -Si se producen problemas, consulta nuestra página de solución de problemas para encontrar soluciones. - - - Aprende a solucionar problemas de ComfyUI - - -### ¿Cómo estar al día con las nuevas funciones? - -- **GitHub Releases**: consulta [ComfyUI Releases](https://github.com/Comfy-Org/ComfyUI/releases) para ver las actualizaciones de la versión estable -- **Commits de GitHub**: consulta los [últimos commits](https://github.com/Comfy-Org/ComfyUI/commits/master) para entender el progreso del desarrollo -- **Discusión de la comunidad**: sigue nuestro [blog](https://blog.comfy.org) y [Twitter](https://x.com/comfyui) para conocer las últimas novedades diff --git a/es/manager/configuration.mdx b/es/manager/configuration.mdx deleted file mode 100644 index bf3ddc35e6..0000000000 --- a/es/manager/configuration.mdx +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: "Configuración de ComfyUI-Manager" -sidebarTitle: Config -description: "Referencia de configuración de ComfyUI-Manager: rutas y opciones de config.ini, niveles de seguridad y la ruta protegida del sistema introducida en la V3.38." -translationSourceHash: 632d3536 -translationFrom: manager/configuration.mdx -translationBlockHashes: - "Configuration paths": d1abef99 - "Config.ini options": 7addea89 - "Environment variables": 49f872b9 - "Advanced configuration": a0155718 - "extra_model_paths.yaml configuration": 8df46f19 - "CLI tools": 154ccf25 ---- - -## Rutas de configuración - -A partir de la V3.38, el Administrador usa una ruta de sistema protegida para mejorar la seguridad. - -| Versión de ComfyUI | Ruta del Administrador | -|-----------------|--------------| -| v0.3.76+ (con API de usuario del sistema) | `/__manager/` | -| Versiones anteriores | `/default/ComfyUI-Manager/` | - - -Si se ejecuta sin ninguna opción, la ruta `` toma por defecto el valor `ComfyUI/user`. Se puede definir con `--user-directory `. - - -### Archivos de configuración - -| Archivo | Descripción | -|------|-------------| -| `config.ini` | Configuración básica | -| `channels.list` | Listas de canales configurables | -| `pip_overrides.json` | Asignaciones personalizadas de paquetes pip | -| `pip_blacklist.list` | Paquetes cuya instalación se impide | -| `pip_auto_fix.list` | Paquetes que se restauran automáticamente | -| `snapshots/` | Archivos de instantáneas guardados | -| `startup-scripts/` | Archivos de scripts de inicio | -| `components/` | Archivos de componentes | - -## Opciones de Config.ini - -Modifica el archivo `config.ini` para aplicar configuraciones. La ruta se muestra en los mensajes del registro de inicio. - -```ini -[default] -git_exe = -use_uv = -default_cache_as_channel_url = -bypass_ssl = -file_logging = -windows_selector_event_loop_policy = -model_download_by_agent = -downgrade_blacklist = -security_level = -always_lazy_install = -network_mode = -``` - -### Modos de red - -| Modo | Descripción | -|------|-------------| -| `public` | Entorno de red pública estándar | -| `private` | Red cerrada con una base de datos de nodos privada configurada mediante `channel_url` (usa la caché si está disponible) | -| `offline` | Sin conexiones externas (usa la caché si está disponible) | - -### Niveles de seguridad - -| Nivel | Descripción | -|-------|-------------| -| `strong` | No permite funciones de riesgo alto ni medio | -| `normal` | No permite funciones de riesgo alto; las funciones de nivel medio están disponibles | -| `normal-` | No permite funciones de riesgo alto si se especifica `--listen` y este no comienza con `127.`; las funciones de nivel medio están disponibles | -| `weak` | Todas las funciones disponibles | - -#### Niveles de riesgo de las funciones - -| Nivel de riesgo | Funciones | -|------------|----------| -| **Alto** | Instalar mediante git url, pip install, instalación de nodos personalizados que no están en el canal predeterminado, corregir nodos personalizados | -| **Medio** | Desinstalar/Actualizar, instalación de nodos personalizados en el canal predeterminado, restaurar/eliminar instantánea, reiniciar | -| **Bajo** | Actualizar ComfyUI | - -## Variables de entorno - -| Variable | Descripción | -|----------|-------------| -| `COMFYUI_PATH` | Ruta de instalación de ComfyUI | -| `GITHUB_ENDPOINT` | Proxy inverso para el acceso a GitHub | -| `HF_ENDPOINT` | Proxy inverso para el acceso a Hugging Face | - -### Ejemplos - -Redirigir las solicitudes de GitHub a través de un proxy: -```bash -GITHUB_ENDPOINT=https://mirror.ghproxy.com/https://github.com -``` - -Cambiar el endpoint de Hugging Face: -```bash -HF_ENDPOINT=https://some-hf-mirror.com -``` - -## Configuración avanzada - -### Evitar la degradación de paquetes específicos - -Enumera los nombres de los paquetes en la sección `downgrade_blacklist` de `config.ini`, separados por comas: - -```ini -downgrade_blacklist = diffusers, kornia -``` - -### Asignación personalizada de pip - -Crea un archivo `pip_overrides.json` para cambiar la instalación de paquetes pip específicos por instalaciones definidas por el usuario. Consulta `pip_overrides.json.template` para ver el formato. - -### Evitar la instalación de paquetes pip específicos - -Enumera los nombres de los paquetes, uno por línea, en el archivo `pip_blacklist.list`. - -### Restaurar automáticamente la instalación de pip - -Enumera los requisitos de especificación de pip en `pip_auto_fix.list` (similar a `requirements.txt`). Restaurará automáticamente las versiones especificadas al iniciar ComfyUI o cuando las versiones no coincidan durante la instalación de nodos personalizados. Se puede usar `--index-url`. - -### Usar aria2 como descargador - -Para descargas más rápidas, puedes configurar ComfyUI-Manager para usar aria2. Consulta la [guía de configuración de aria2](https://github.com/Comfy-Org/ComfyUI-Manager/blob/main/docs/en/use_aria2.md). - -## Configuración de extra_model_paths.yaml - -Las siguientes configuraciones se aplican según la sección marcada como `is_default`: - -- `custom_nodes`: Ruta para instalar nodos personalizados -- `download_model_base`: Ruta para descargar modelos - -## Herramientas CLI - -ComfyUI-Manager proporciona `cm-cli`, una herramienta de línea de comandos que te permite usar las funciones del Administrador sin ejecutar ComfyUI. Esto es útil para automatizar la instalación de nodos personalizados y gestionar instalaciones en entornos sin interfaz gráfica. - -Para consultar la documentación detallada de cm-cli, revisa la [guía oficial de cm-cli](https://github.com/Comfy-Org/ComfyUI-Manager/blob/main/docs/en/cm-cli.md). - -Si buscas una experiencia de CLI más completa, considera usar [comfy-cli](/comfy-cli/getting-started). diff --git a/es/manager/install.mdx b/es/manager/install.mdx deleted file mode 100644 index 1431ed49e3..0000000000 --- a/es/manager/install.mdx +++ /dev/null @@ -1,202 +0,0 @@ ---- -title: Instalación de ComfyUI-Manager -sidebarTitle: Instalar -description: Instala ComfyUI-Manager en configuraciones de ComfyUI Desktop, Portable o manuales para buscar, instalar y actualizar nodos personalizados desde dentro de la aplicación. -translationSourceHash: 281ba347 -translationFrom: manager/install.mdx -translationBlockHashes: - "Desktop users": 8c93557e - "Portable users": b84160fb - "Manual install users": e7ec6c36 - "Updating ComfyUI-Manager": f4c1713d - "Legacy installation methods": 0239ebc3 ---- -## Usuarios de escritorio - -Comfy Desktop instala ComfyUI-Manager con cada instalación de ComfyUI y lo inicia con `--enable-manager`, así que no hay nada que instalar. El Administrador se configura por instalación desde dentro de la aplicación: - - - - En Comfy Desktop, abre la instalación y ve al panel **Manage**, luego cambia a la pestaña **Startup Args**. - - - - **Manager Security Level** (nivel de seguridad del administrador) decide qué paquetes de nodos puede instalar el Administrador: **Strict**, **Standard** (recomendado), **Relaxed** o **Permissive**. Los niveles más estrictos son especialmente importantes cuando ComfyUI está expuesto a tu red con `--listen` - - **Manager Network Mode** (modo de red del administrador) decide cómo llega el Administrador al registro de nodos: **Public** (predeterminado), **Private**, **Offline** o **Personal cloud** (solo para una máquina que controles) - - Ambas opciones se aplican la próxima vez que inicies la instalación. - - - **Startup Arguments** en la misma pestaña controla los flags con los que se inicia la instalación. Elimina `--enable-manager` para ejecutar ComfyUI sin el Administrador, o mantenlo y agrega `--disable-manager-ui` para ocultar la interfaz del Administrador mientras sus tareas en segundo plano continúan. - - - -Consulta la [pestaña Startup Args](/es/installation/desktop/usage/manage#pestaña-argumentos-de-inicio) para el resto de las configuraciones por instalación y la [referencia de flags de inicio](/development/comfyui-server/startup-flags) para los flags del Administrador. - -## Usuarios de la versión Portable - -Si usas la versión [Windows Portable](/es/installation/comfyui_portable_windows), el nuevo ComfyUI-Manager está integrado en el núcleo de ComfyUI, pero debe habilitarse. - -1. Instala las dependencias del administrador: - ```bash - .\python_embeded\python.exe -m pip install -r ComfyUI\manager_requirements.txt - ``` - -2. Inicia ComfyUI con el administrador habilitado: - ```bash - .\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --enable-manager - pause - ``` - -## Usuarios de instalación manual - -Para los usuarios con una [instalación manual](/es/installation/manual_install), el nuevo ComfyUI-Manager está integrado en el núcleo de ComfyUI, pero debe habilitarse. - -1. Activa tu entorno virtual: - ```bash - # Windows - venv\Scripts\activate - - # Linux/macOS - source venv/bin/activate - ``` - -2. Instala las dependencias del administrador: - ```bash - pip install -r manager_requirements.txt - ``` - -3. Habilita el administrador con el flag `--enable-manager` al ejecutar ComfyUI: - ```bash - python main.py --enable-manager - ``` - -### Opciones de línea de comandos - -| Opción (flag) | Descripción | -|------|-------------| -| `--enable-manager` | Habilita ComfyUI-Manager | -| `--enable-manager-legacy-ui` | Usa la interfaz clásica del administrador en lugar de la nueva UI (requiere `--enable-manager`) | -| `--disable-manager-ui` | Deshabilita la UI y los endpoints del administrador mientras mantiene las funciones en segundo plano (requiere `--enable-manager`) | - -### Cambiar entre la UI nueva y la clásica - -Las siguientes actualizaciones de versión solo son compatibles con instalaciones mediante pip. Las versiones instaladas a través de nodos personalizados no permiten cambiar a la nueva UI. - - - -Para usar la nueva UI: -```bash -python main.py --enable-manager -``` - -Para usar la interfaz clásica: -```bash -python main.py --enable-manager --enable-manager-legacy-ui -``` - - - -Los usuarios de Desktop pueden cambiar a la interfaz clásica en **Server Settings → UI Settings → Use legacy manager interface** -![Cambiar a la interfaz clásica](/images/manager/manager_use_legacy_manager_ui.png) - - - -## Actualizar ComfyUI-Manager - -ComfyUI-Manager se distribuye como su propio paquete de Python, y el núcleo de ComfyUI fija la versión con la que funciona en `manager_requirements.txt`. La forma de actualizar el Administrador depende de cómo esté instalado ComfyUI: - - - -Desktop incluye el Administrador y lo mantiene al día con las actualizaciones de Comfy Desktop. Actualiza el motor de ComfyUI desde el [panel Manage](/es/installation/desktop/usage/manage#pestaña-actualizar). - - -Actualizar ComfyUI puede dejar sin cambios el paquete del Administrador que ya está instalado. Instala los requisitos del Administrador en el entorno desde el que inicias ComfyUI y luego reinicia ComfyUI con `--enable-manager`: - -```bash -# Portable (Windows) -.\python_embeded\python.exe -m pip install -r ComfyUI\manager_requirements.txt -.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --enable-manager - -# Instalación manual -pip install -r manager_requirements.txt -python main.py --enable-manager -``` - - -Si clonaste el Administrador dentro de `custom_nodes` por tu cuenta: - -```bash -cd ComfyUI/custom_nodes/comfyui-manager -git pull -``` - -Luego reinicia ComfyUI. - - - -## Métodos de instalación clásicos - - -Para instalar ComfyUI-Manager además de una instalación existente de ComfyUI: - -1. Ve al directorio `ComfyUI/custom_nodes` en la terminal -2. Clona el repositorio: - ```bash - git clone https://github.com/Comfy-Org/ComfyUI-Manager comfyui-manager - ``` -3. Instala las dependencias del administrador: - ```bash - cd comfyui-manager - pip install -r requirements.txt - ``` -4. Reinicia ComfyUI - - - -1. Instala [Git for Windows](https://git-scm.com/download/win) (versión independiente, selecciona "use windows default console window") -2. Descarga [install-manager-for-portable-version.bat](https://github.com/Comfy-Org/ComfyUI-Manager/raw/main/scripts/install-manager-for-portable-version.bat) en tu directorio `ComfyUI_windows_portable` -3. Haz doble clic en el archivo de lote para instalar - - - -comfy-cli ofrece varias funciones para administrar ComfyUI desde la CLI. - -**Requisitos**: Python 3, Git - -**Windows:** -```bash -python -m venv venv -venv\Scripts\activate -pip install comfy-cli -comfy install -``` - -**Linux/macOS:** -```bash -python -m venv venv -. venv/bin/activate -pip install comfy-cli -comfy install -``` - -Consulta también: [documentación de comfy-cli](/comfy-cli/getting-started) - - - -**Requisitos**: python-is-python3, python3-venv, git - -1. Descarga [install-comfyui-venv-linux.sh](https://github.com/comfy-org/ComfyUI-Manager/raw/main/scripts/install-comfyui-venv-linux.sh) en un directorio de instalación vacío -2. Ejecuta: - ```bash - chmod +x install-comfyui-venv-linux.sh - ./install-comfyui-venv-linux.sh - ``` -3. Ejecuta ComfyUI con `./run_gpu.sh` o `./run_cpu.sh` - - - -**Precauciones de instalación:** -- Los archivos de ComfyUI-Manager deben estar ubicados exactamente en la ruta `ComfyUI/custom_nodes/comfyui-manager` -- No descomprimas directamente en `ComfyUI/custom_nodes` (archivos como `__init__.py` no deben estar en ese directorio) -- No instales en rutas como `ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager` o `ComfyUI/custom_nodes/ComfyUI-Manager-main` - diff --git a/es/manager/legacy-ui.mdx b/es/manager/legacy-ui.mdx deleted file mode 100644 index c981558f34..0000000000 --- a/es/manager/legacy-ui.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: Administrar nodos personalizados con ComfyUI-Manager (interfaz clásica) -sidebarTitle: Interfaz clásica -description: Instala, actualiza y administra nodos personalizados con ComfyUI-Manager usando la interfaz clásica -translationSourceHash: 665e3090 -translationFrom: manager/legacy-ui.mdx -translationBlockHashes: - "ComfyUI custom node management": 036f30fa - "Snapshot manager": 5e681705 ---- -## Gestión de nodos personalizados de ComfyUI -Aprende a instalar nodos personalizados a través de ComfyUI Manager - -### Instalar nodos - - - - Haz clic en el botón **Administrador** del menú principal (barra superior). - ![Botón Administrador](/images/manager/manager_button.jpg) - - - ![Entrada del Administrador](/images/manager/manager_entry.jpg) - - - ![Lista del Administrador](/images/manager/manager_list.jpg) - - - ![Diálogo de instalación de nodos](/images/manager/manager_install_node.jpg) - 1. Prefiere la **última** versión si está disponible - 2. Haz clic en **Seleccionar** para instalar el nodo - - - Los números de versión con dígitos son versiones publicadas por los autores en el [registro](https://registry.comfy.org/), equivalentes a versiones estables - - La versión nocturna es la última versión que los autores actualizan en GitHub, equivale a la versión de desarrollo; por lo general no pasa por un escaneo de seguridad y tiene factores de inestabilidad - - La configuración de seguridad predeterminada de ComfyUI no permite la instalación directa de versiones **nocturnas**. Puedes consultar la [Política de seguridad](/es/manager/troubleshooting#política-de-seguridad) para más detalles - - - - Después de hacer clic en instalar, el Administrador completará automáticamente la instalación de las dependencias y te pedirá que reinicies ComfyUI cuando la instalación haya finalizado - ![Reinicia ComfyUI y actualiza el navegador después de la instalación](/images/installation/custom_nodes/install-custom-nodes-by-manager-7.jpg) - ![Reinicia ComfyUI y actualiza el navegador después de la instalación](/images/installation/custom_nodes/install-custom-nodes-by-manager-8.jpg) - - - Después de reiniciar, verifica en ComfyUI Manager si el complemento correspondiente se instaló correctamente y si hay mensajes de error `import failed` - ![Verifica si el complemento se instaló correctamente](/images/installation/custom_nodes/install-custom-nodes-by-manager-9.jpg) - - - -### Instalar nodos faltantes - -Los nodos faltantes son una situación común al cargar flujos de trabajo. Por lo general, hay dos tipos de nodos faltantes: -1. Falta un nodo principal: la versión de ComfyUI no es la última; consulta [Actualizar ComfyUI](/es/installation/update_comfyui) para actualizar ComfyUI -2. Faltan nodos personalizados: faltan nodos personalizados de terceros; puedes consultar esta guía para instalarlos - -Una vez instalado ComfyUI-Manager, si faltan nodos personalizados al importar flujos de trabajo, se te avisará con la información de los nodos faltantes - -![Aviso de nodos faltantes](/images/manager/manger_missing_nodes-1.jpg) -1. Haz clic en **Abrir administrador** para activar la opción correspondiente - -![Aviso de nodos faltantes](/images/manager/manger_missing_nodes-2.jpg) -2. Haz clic en **Install Missing Custom Nodes** (Instalar nodos personalizados faltantes) en el menú del Manager para entrar a la interfaz de la lista de nodos faltantes - -![Aviso de nodos faltantes](/images/manager/manger_missing_nodes-3.jpg) -3. Consulta e instala los nodos correspondientes en la lista de nodos - - -Si notas que la lista de nodos faltantes no encuentra el nodo correspondiente, por lo general se debe a varias situaciones: -1. El autor del nodo no ha enviado ni registrado el nodo personalizado en el [registro](/registry/overview) -2. El nodo correspondiente no es de código abierto; puede ser un nodo restringido de ciertos autores o de plataformas limitadas -3. El autor original cambió la versión y eliminó el nodo correspondiente - - -### Actualizar nodos -![Versión del nodo](/images/manager/manger_node_version.jpg) -1. Cambia el filtro a **Actualizar** para filtrar los nodos que se pueden actualizar en la lista actual de nodos -2. Haz clic en el botón **Actualizar** para actualizar el nodo - -### Desinstalar nodos - -![Desinstalar nodos](/images/manager/manger_remove_nodes.jpg) -1. Selecciona el filtro "Instalado" en la lista de nodos para filtrar los nodos instalados en la lista actual de nodos -2. Haz clic derecho en el nodo correspondiente y selecciona **Desinstalar** para desinstalarlo - -> Desinstalar el nodo correspondiente no eliminará la instalación de las dependencias asociadas - -Para conocer otros métodos de instalación de complementos, consulta el siguiente artículo - - - Aprende a instalar nodos personalizados manualmente - - -## Administrador de instantáneas - -Las instantáneas guardan el estado actual de tu instalación, lo que te permite restaurar a un estado anterior. - -![Administrador de instantáneas](https://raw.githubusercontent.com/ltdrdata/ComfyUI-extension-tutorials/Main/ComfyUI-Manager/images/snapshot.jpg) - -Las instantáneas se guardan automáticamente cuando haces clic en **Guardar instantánea** o usas **Actualizar Todos**. Los archivos de instantáneas se almacenan en: `/default/ComfyUI-Manager/snapshots` - -Para restaurar: abre el Administrador de Instantáneas, selecciona una instantánea y haz clic en **Restaurar**. - - -La restauración surte efecto en el próximo inicio de ComfyUI. Para los Nodos Personalizados que no son gestionados por Git, el soporte de instantáneas es incompleto. - diff --git a/es/manager/overview.mdx b/es/manager/overview.mdx deleted file mode 100644 index 2e79a2ad4e..0000000000 --- a/es/manager/overview.mdx +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Descripción general de ComfyUI-Manager -sidebarTitle: Descripción general -description: Una extensión para administrar nodos personalizados, modelos y más en ComfyUI -translationSourceHash: 78382c67 -translationFrom: manager/overview.mdx ---- - -**ComfyUI-Manager** es una extensión diseñada para mejorar la usabilidad de [ComfyUI](https://github.com/Comfy-Org/ComfyUI). Ofrece funciones de administración para **instalar, eliminar, desactivar y activar** diversos nodos personalizados de ComfyUI. Además, esta extensión proporciona una función de hub y utilidades para acceder a una amplia gama de información dentro de ComfyUI. - -![Diálogo de ComfyUI-Manager](/images/manager/new_comfyui_manager.png) - -## Características principales - -- **Administración de nodos personalizados**: Instala, actualiza, elimina y desactiva nodos personalizados -- **Administración de modelos**: Descarga y administra modelos de diversas fuentes -- **Administración de instantáneas**: Guarda y restaura estados de instalación -- **Detección de nodos faltantes**: Detecta e instala automáticamente los nodos faltantes de los flujos de trabajo - -## Siguientes pasos - - - - Instala ComfyUI-Manager en tu entorno - - - Administra nodos personalizados y modelos con la nueva interfaz - - - Administra nodos personalizados y modelos con la interfaz clásica - - - Configura los ajustes y las opciones - - - Resuelve problemas comunes - - \ No newline at end of file diff --git a/es/manager/pack-management.mdx b/es/manager/pack-management.mdx deleted file mode 100644 index 95766b1d60..0000000000 --- a/es/manager/pack-management.mdx +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: Nodos personalizados (nueva interfaz) -sidebarTitle: Nueva interfaz -description: Instala, actualiza y administra nodos personalizados con ComfyUI-Manager usando la nueva interfaz -translationSourceHash: f175b3d9 -translationFrom: manager/pack-management.mdx ---- - - -Si no estás usando la nueva interfaz, consulta la sección [Cambiar entre la nueva interfaz y la clásica](/es/manager/install) para aprender a cambiar. - - -## Descripción general de la nueva interfaz - -![Nueva interfaz](/images/manager/new_ui_labeled.jpg) - -1. **Barra lateral izquierda (Filtros)**: Filtra nodos instalados, nodos en el flujo de trabajo, nodos faltantes, nodos actualizables, etc. -2. **Barra de búsqueda superior**: Busca paquetes de nodos (Node Pack) o nodos individuales (Node); cambia el tipo de búsqueda con el menú desplegable Filtrar -3. **Panel de detalles derecho**: Haz clic en un nodo para mostrar información detallada, incluida la descripción, el estado de habilitación, la información de versión, etc. La pestaña Descripción contiene la información del repositorio y la pestaña Nodes muestra una vista previa de todos los nodos - -## Gestión de nodos - -Aprende a usar el nuevo ComfyUI Manager para administrar nodos personalizados - -### Buscar nodos -![Filtrar](/images/manager/new_ui_filter.jpg) - -El Administrador permite buscar paquetes de nodos y nodos individuales por separado. Como se muestra arriba, puedes cambiar el tipo de búsqueda alternando el filtro. -- Node Pack: Un paquete de nodos personalizados completo -- Individual Node: Busca nodos individuales dentro de los paquetes de nodos - -### Instalar nodos - -![Instalar nodos](/images/manager/new_ui_install_pack.jpg) -1. Selecciona la tarjeta del nodo correspondiente -2. Haz clic en **Install** en la información del nodo expandida -3. O selecciona una versión específica en **Version** para instalar - -### Actualizar nodos -En el filtro **Update available**, puedes filtrar los nodos que tienen actualizaciones disponibles en la lista de nodos actual -![Actualizar nodos](/images/manager/new_ui_update_pack.jpg) -1. Los nodos actualizables mostrarán un indicador de flecha de actualización -2. Selecciona una versión específica en **Version** -3. Haz clic en el botón **Update** después de seleccionar una versión para actualizar - -### Encontrar nodos faltantes - -![Encontrar nodos faltantes](/images/manager/new_ui_missing_packs_prompt.jpg) -Si tu ComfyUI Manager está instalado correctamente, aparecerá un aviso al cargar un flujo de trabajo con nodos faltantes -1. Puedes elegir **Install All** para instalar todos los nodos a la vez -2. O elegir **Open Manager** para abrir el Manager y revisar los detalles antes de instalar - -![Encontrar nodos faltantes](/images/manager/new_ui_missing_pack.jpg) -Para encontrar nodos faltantes en un flujo de trabajo, selecciona el nodo correspondiente y luego haz clic en el botón **Missing** en el panel de vista previa para encontrar los nodos faltantes - -### Desinstalar nodos -![Desinstalar nodos](/images/manager/new_ui_uninstall_pack.jpg) -Para desinstalar un nodo instalado, selecciona el nodo correspondiente y luego haz clic en el botón **Uninstall** en el panel de vista previa para desinstalarlo - -## Preguntas frecuentes -1. ¿Por qué no encuentro el nodo que necesito? -El nuevo Administrador solo permite instalar nodos desde el [registro](/registry/overview). Si tu nodo no está registrado en el registro, regístralo primero en el Administrador. - -2. ¿Por qué no encuentro la opción de instalar mediante git? -Por seguridad y estabilidad del sistema de usuarios de ComfyUI, la nueva interfaz no permite instalar nodos mediante git. Consulta [Instalar nodos personalizados manualmente](/es/installation/install_custom_node) para aprender a instalar nodos personalizados manualmente. \ No newline at end of file diff --git a/es/manager/troubleshooting.mdx b/es/manager/troubleshooting.mdx deleted file mode 100644 index 26b11b384f..0000000000 --- a/es/manager/troubleshooting.mdx +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: Solución de problemas de ComfyUI Manager -sidebarTitle: Solución de problemas -description: "Soluciona problemas comunes de ComfyUI-Manager: rutas personalizadas del ejecutable de git, errores de base de datos, fallos de actualización y más." -translationSourceHash: 574d8622 -translationFrom: manager/troubleshooting.mdx -translationBlockHashes: - "Common issues": 6d731b32 - "Installation issues": ad2335a7 - "Network issues": 17fc7007 - "Scanner troubleshooting": 63fe9c50 - "Security policy": b07e2c4f - "Getting help": f37e18a2 ---- - -## Problemas comunes - -### Ruta personalizada del ejecutable de git - -Si tu `git.exe` está instalado en una ubicación específica distinta de la predeterminada del sistema: - -1. Instala ComfyUI-Manager y ejecuta ComfyUI una vez -2. Abre `/default/ComfyUI-Manager/config.ini` -3. Especifica la ruta completa, incluido el nombre del archivo, en `git_exe =` - -```ini -git_exe = C:\Program Files\Git\bin\git.exe -``` - -### La actualización de ComfyUI-Manager falla - -Si falla la actualización de ComfyUI-Manager, ve al directorio de ComfyUI-Manager y ejecuta: - -```bash -git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull -``` - -### Windows: error Overlapped Object - -Si encuentras `Overlapped Object has pending operation at deallocation on ComfyUI Manager load`: - -Edita `config.ini` y agrega: - -```ini -windows_selector_event_loop_policy = True -``` - -### Falló la verificación del certificado SSL - -Si encuentras el error `SSL: CERTIFICATE_VERIFY_FAILED`: - -Edita `config.ini` y agrega: - -```ini -bypass_ssl = True -``` - -## Problemas de instalación - -### Ruta de instalación incorrecta - -Los archivos de ComfyUI-Manager deben estar ubicados en `ComfyUI/custom_nodes/comfyui-manager`. - -**Errores comunes que debes evitar:** - -| Problema | Descripción | -|-------|---------| -| Archivos en la ubicación incorrecta | Archivos del administrador como `__init__.py` colocados directamente en el directorio `custom_nodes` | -| Carpeta anidada dos veces | Instalado como `custom_nodes/ComfyUI-Manager/ComfyUI-Manager` | -| Nombre de carpeta incorrecto | Instalado como `custom_nodes/ComfyUI-Manager-main` | -| Formato comprimido | Instalar desde un archivo comprimido sin la extracción adecuada | - - -Si la instalación es incorrecta, ComfyUI-Manager puede parecer que funciona, pero no se reconocerá para las actualizaciones y puede provocar instalaciones duplicadas. Elimínalo y vuelve a instalarlo correctamente con `git clone`. - - -## Problemas de red - -### Problemas de acceso a GitHub - -Si tu acceso a GitHub es limitado, configura la variable de entorno `GITHUB_ENDPOINT`: - -```bash -GITHUB_ENDPOINT=https://mirror.ghproxy.com/https://github.com -``` - -### Problemas de acceso a Hugging Face - -Si tu acceso a Hugging Face es limitado, configura la variable de entorno `HF_ENDPOINT`: - -```bash -HF_ENDPOINT=https://some-hf-mirror.com -``` - -## Solución de problemas del escáner - -Al ejecutar el script `scan.sh`: - -- Actualiza `extension-node-map.json` al extraer o clonar los nodos personalizados listados en `custom-node-list.json` en `~/.tmp/default` -- Actualiza `github-stats.json` usando la API de GitHub - -| Opción | Descripción | -|--------|-------------| -| `--skip-update` | Salta la actualización de extension-node-map.json | -| `--skip-stat-update` | Salta la actualización de github-stats.json | -| `--skip-all` | Salta ambos pasos de actualización | - - -Para evitar los límites de tasa de la API de GitHub, configura tu token: `export GITHUB_TOKEN=your_token_here` - - -Si quieres especificar una ruta diferente en lugar de `~/.tmp/default`, ejecuta `python scanner.py [path]` directamente en lugar de `scan.sh`. - -## Política de seguridad - -Si encuentras el error `This action is not allowed with this security level configuration` al instalar nodos personalizados mediante una URL de git o al usar la versión nocturna, necesitas ajustar el nivel de seguridad en tu archivo `config.ini`. - -El archivo `config.ini` se encuentra en: -- **ComfyUI v0.3.76+**: `/__manager/config.ini` -- **Versiones anteriores**: `/default/ComfyUI-Manager/config.ini` - -Donde `` es `ComfyUI/user` de forma predeterminada. Consulta [Configuración](/es/manager/configuration) para más detalles. - -Configura los niveles de seguridad en `config.ini`: - -```ini -security_level = normal -``` - -| Nivel | Descripción | -|-------|-------------| -| `strong` | No permite funciones de riesgo alto ni medio | -| `normal` | No permite funciones de riesgo alto; las funciones de riesgo medio están disponibles | -| `normal-` | No permite funciones de riesgo alto si se especifica `--listen` y este no comienza con `127.`; las funciones de riesgo medio están disponibles | -| `weak` | Todas las funciones disponibles | - -### Niveles de riesgo de las funciones - -| Nivel de riesgo | Funciones | -|------------|----------| -| **Alto** | Instalar mediante URL de git, pip install, instalación de nodos personalizados que no están en el canal predeterminado, reparar nodos personalizados | -| **Medio** | Desinstalar/Actualizar, instalación de nodos personalizados en el canal predeterminado, restaurar/eliminar instantáneas, reiniciar | -| **Bajo** | Actualizar ComfyUI | - - -Para instalar nodos personalizados mediante URL de git o versiones nocturnas, establece `security_level = weak` en tu archivo `config.ini`. - - -## Obtener ayuda - -Si sigues teniendo problemas: - -1. Revisa los [problemas de GitHub de ComfyUI-Manager](https://github.com/Comfy-Org/ComfyUI-Manager/issues) para ver si hay casos similares -2. Revisa los mensajes del registro de inicio para ver los detalles del error -3. Únete al [Discord de ComfyUI](https://discord.com/invite/comfyorg) para obtener soporte de la comunidad diff --git a/snippets/es/amd-install.mdx b/snippets/es/amd-install.mdx deleted file mode 100644 index bec5c95910..0000000000 --- a/snippets/es/amd-install.mdx +++ /dev/null @@ -1,36 +0,0 @@ -{/* translationSourceHash: f2e3e35e */} -En Linux, instala la versión ROCm 7.2 de PyTorch: - -``` -pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2 -``` - -También puedes instalar la versión nightly de PyTorch (ROCm 7.2). - - -Instalar la versión nightly (puede ser más riesgoso) -``` -pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm7.2 -``` - - -En Windows, usa los [paquetes PyTorch multiarquitectura](https://rocm.docs.amd.com/projects/ai-ecosystem/en/latest/frameworks/pytorch/install.html) de AMD con ROCm 10.0. Los extras `device-*` instalan los kernels de tu GPU y el entorno de ejecución de ROCm correspondiente de forma automática; no necesitas instalar el SDK de HIP por separado. Usa Windows 11, un [controlador de gráficos AMD](https://www.amd.com/en/support/download/drivers.html) actual y Python 3.13 de 64 bits. - -El comando de instalación siguiente usa `device-all` para instalar los kernels de todas las GPU compatibles. Para reducir el tamaño de la descarga y el uso de disco, puedes reemplazar **ambas** apariciones de `device-all` por el destino de tu GPU: - -| GPU | Extra de dispositivo | -| --- | --- | -| RX 9070 / XT, Radeon AI PRO R9700 | `device-gfx1201` | -| RX 9060 / XT | `device-gfx1200` | -| RX 7900 XT / XTX | `device-gfx1100` | -| RX 7700 XT / 7800 XT | `device-gfx1101` | -| RX 7600 / XT | `device-gfx1102` | -| Ryzen AI Max / Max+ (Strix Halo) | `device-gfx1151` | - - -Esta tabla solo contiene ejemplos. Una GPU que no aparezca aquí puede seguir siendo compatible: las arquitecturas compatibles incluyen RDNA 2, RDNA 3, RDNA 3.5 y RDNA 4. Mantén `device-all` para instalar los kernels de todos los destinos compatibles. Para otros modelos, consulta la [tabla de destinos de GPU](https://github.com/ROCm/TheRock/blob/main/RELEASES.md#gfx-target-lookup-table) de AMD y la [matriz de compatibilidad de ROCm](https://rocm.docs.amd.com/en/docs-10.0.0/compatibility/compatibility-matrix.html). - - -``` -pip install --index-url https://stable.repo.amd.com/rocm/whl-next/ "torch[device-all]==2.13.0+rocm10.0.0" "torchvision[device-all]==0.28.0+rocm10.0.0" "torchaudio==2.11.0.2+rocm10.0.0" -``` diff --git a/snippets/es/cli-reference/generate.mdx b/snippets/es/cli-reference/generate.mdx deleted file mode 100644 index 6f81269d5a..0000000000 --- a/snippets/es/cli-reference/generate.mdx +++ /dev/null @@ -1,147 +0,0 @@ -{/* translationSourceHash: 8f6d7c3c */} -**Uso**: - -```console -$ comfy generate [OPTIONS] [-- value]... -``` - -`` es una de las siguientes opciones: - -* Un **alias de modelo** (p. ej. `flux-pro`, `ideogram-edit`, `kling`, `dalle`): llama directamente a ese modelo de socio. -* Una **acción reservada**: `list`, `schema`, `refresh`, `upload`, `resume`. - -Cualquier cosa que no esté en el conjunto reservado se trata como un alias de modelo y la solicitud se envía a ese endpoint del socio. - -**Autenticación**: - -Configura la variable de entorno `COMFY_API_KEY` o pasa `--api-key ` en cada llamada. Obtén una clave en [platform.comfy.org](https://platform.comfy.org). - -**Opciones de nivel de ejecución** (funcionan con cualquier modelo): - -* `--download PATH`: Guarda la imagen/vídeo del resultado en `PATH`. -* `--async`: Envía y devuelve un ID de trabajo de inmediato en lugar de sondear hasta que termine. Reanúdalo más tarde con `comfy generate resume `. -* `--json`: Emite la respuesta sin procesar de la API como JSON (útil para scripting). -* `--timeout SECONDS`: Anula el tiempo de espera de sondeo predeterminado de 300 s. -* `--api-key KEY`: Clave API en línea (anula `COMFY_API_KEY`). - -**Ejemplos**: - -```bash -comfy generate flux-pro --prompt "a cat on the moon" --width 1024 --height 1024 --download cat.png -comfy generate ideogram-edit --image cat.png --mask m.png --prompt "add sunglasses" --rendering_speed TURBO -comfy generate kling --prompt "a paper boat drifting at dusk" --duration 5 --download boat.mp4 -``` - -### `list` - -Lista los modelos de socios disponibles con sus alias cortos. - -**Uso**: - -```console -$ comfy generate list [OPTIONS] -``` - -**Opciones**: - -* `--partner TEXT` / `-p TEXT`: Filtrar por socio (p. ej. `bfl`, `kling`, `ideogram`, `openai`). -* `--category TEXT` / `--style TEXT` / `-c TEXT`: Filtrar por categoría (p. ej. `text-to-image`, `image-edit`, `inpaint`, `upscale`, `text-to-video`, `image-to-video`). -* `--query TEXT` / `-q TEXT`: Coincidencia de subcadena con el id/resumen del modelo. - -### `schema` - -Muestra los parámetros de un modelo específico, incluidos los indicadores requeridos/opcionales, los tipos, los valores predeterminados y un ejemplo de invocación. - -**Uso**: - -```console -$ comfy generate schema -``` - -**Ejemplo**: - -```bash -comfy generate schema flux-pro -comfy generate schema kling-i2v -``` - -### `refresh` - -Actualiza el catálogo local de modelos en caché a partir de la especificación OpenAPI de la nube. Es útil cuando se agregan nuevos modelos de socios. - -**Uso**: - -```console -$ comfy generate refresh -``` - -### `upload` - -Sube un archivo local (o reubica una URL remota) al almacenamiento de Comfy e imprime la URL firmada. La mayoría de los modelos aceptan rutas de archivo locales directamente; esto es para los casos en que quieres la URL de forma explícita (p. ej., para reutilizar el mismo recurso en varias llamadas). - -**Uso**: - -```console -$ comfy generate upload [--json] -``` - -**Ejemplo**: - -```bash -comfy generate upload ./photo.jpg -comfy generate upload ./photo.jpg --json -``` - - -**Los recursos de referencia se eliminan automáticamente después de 24 horas.** Los archivos subidos (ya sea mediante `comfy generate upload` o de forma implícita cuando pasas una ruta de archivo local a un modelo) se almacenan en un bucket GCS administrado por Comfy (`api-nodes-prod`) y solo son accesibles mediante una URL firmada. Los objetos se eliminan automáticamente **1 día después de la subida** por una regla de ciclo de vida del bucket. Si necesitas que un recurso persista en tareas asíncronas de larga duración, vuelve a subirlo antes de cada tarea, o alójalo tú mismo y pasa la URL directamente. - - -### `resume` - -Reanuda una tarea asíncrona enviada anteriormente (normalmente una tarea de vídeo enviada con `--async`). Sondea hasta que el resultado esté listo y, opcionalmente, lo descarga. - -**Uso**: - -```console -$ comfy generate resume [--download PATH] [--json] -``` - -**Ejemplo**: - -```bash -comfy generate resume luma 7c3f9e2a --download out.mp4 -``` - -### Alias de modelos (seleccionados) - -Los siguientes alias cortos se aceptan como ``. Ejecuta `comfy generate list` para ver el catálogo completo y actualizado. - -**Populares**: - -| Alias | Socio | Categoría | -| --- | --- | --- | -| `nano-banana` | Google (Gemini Flash Image) | text-to-image / image-edit | -| `seedance` | ByteDance | text-to-video / image-to-video (async) | -| `grok`, `grok-edit` | xAI | text-to-image / image-edit | -| `grok-video` | xAI | text-to-video (async) | - -**Todo lo demás**: - -| Alias | Socio | Categoría | -| --- | --- | --- | -| `flux-pro`, `flux-ultra`, `flux-2` | BFL | text-to-image (async) | -| `flux-kontext`, `flux-kontext-max` | BFL | image-edit (async) | -| `flux-fill`, `flux-expand`, `flux-canny`, `flux-depth` | BFL | inpaint / outpaint / controlnet | -| `ideogram`, `ideogram-edit`, `ideogram-remix`, `ideogram-reframe`, `ideogram-bg` | Ideogram | text-to-image / image-edit | -| `dalle`, `dalle-edit` | OpenAI | text-to-image / image-edit | -| `stability-ultra`, `stability-sd3`, `stability-upscale`, `stability-upscale-creative`, `stability-upscale-fast` | Stability | text-to-image / upscale | -| `recraft`, `recraft-vectorize`, `recraft-rmbg`, `recraft-replace-bg`, `recraft-i2i`, `recraft-inpaint`, `recraft-upscale`, `recraft-upscale-creative` | Recraft | text-to-image / image-edit | -| `reve`, `reve-edit` | Reve | text-to-image / image-edit | -| `runway` | Runway | text-to-image | -| `kling`, `kling-i2v`, `kling-extend`, `kling-lipsync` | Kling | text-to-video / image-to-video / video-extend / lipsync (async) | -| `luma`, `luma-i2v` | Luma | text-to-video / image-to-video (async) | -| `hailuo` | MiniMax | text-to-video (async) | -| `runway-i2v` | Runway | image-to-video (async) | -| `moonvalley-t2v`, `moonvalley-i2v` | Moonvalley | text-to-video / image-to-video (async) | -| `pika`, `pika-i2v` | Pika | text-to-video / image-to-video (async) | -| `vidu`, `vidu-i2v`, `vidu-extend` | Vidu | text-to-video / image-to-video / video-extend (async) | \ No newline at end of file diff --git a/snippets/es/cli-reference/models.mdx b/snippets/es/cli-reference/models.mdx deleted file mode 100644 index 16ac820bea..0000000000 --- a/snippets/es/cli-reference/models.mdx +++ /dev/null @@ -1,65 +0,0 @@ -{/* translationSourceHash: be6410f1 */} -**Uso**: - -```console -$ comfy model [OPTIONS] COMMAND [ARGS]... -``` - -**Opciones**: - -* `--install-completion`: Instala el autocompletado para la shell actual. -* `--show-completion`: Muestra el autocompletado para la shell actual, para copiarlo o personalizar la instalación. -* `--help`: Muestra este mensaje y sale. - -**Comandos**: - -* `download`: Descarga un modelo en una ruta relativa especificada... -* `list`: Muestra una lista de todos los modelos descargados actualmente... -* `remove`: Elimina uno o más modelos descargados,... - -### `download` - -Descarga un modelo en una ruta relativa especificada si aún no está descargado. - -**Uso**: - -```console -$ download [OPTIONS] -``` - -**Opciones**: - -* `--url TEXT`: La URL desde la cual descargar el modelo [Requerido] -* `--relative-path TEXT`: La ruta relativa desde el espacio de trabajo actual donde instalar el modelo. [predeterminado: models/checkpoints] -* `--help`: Muestra este mensaje y sale. - -### `list` - -Muestra una lista de todos los modelos descargados actualmente en formato de tabla. - -**Uso**: - -```console -$ list [OPTIONS] -``` - -**Opciones**: - -* `--relative-path TEXT`: La ruta relativa desde el espacio de trabajo actual donde se almacenan los modelos. [predeterminado: models/checkpoints] -* `--help`: Muestra este mensaje y sale. - -### `remove` - -Elimina uno o más modelos descargados, ya sea especificándolos directamente o mediante una selección interactiva. - -**Uso**: - -```console -$ remove [OPTIONS] -``` - -**Opciones**: - -* `--relative-path TEXT`: La ruta relativa desde el espacio de trabajo actual donde se almacenan los modelos. [predeterminado: models/checkpoints] -* `--model-names TEXT`: Lista de nombres de archivo de modelos a eliminar, separados por espacios -* `--help`: Muestra este mensaje y sale. \ No newline at end of file diff --git a/snippets/es/cli-reference/nodes.mdx b/snippets/es/cli-reference/nodes.mdx deleted file mode 100644 index f64bb98eaf..0000000000 --- a/snippets/es/cli-reference/nodes.mdx +++ /dev/null @@ -1,266 +0,0 @@ -{/* translationSourceHash: 9690a4f9 */} -**Uso**: - -```console -$ comfy node [OPTIONS] COMMAND [ARGS]... -``` - -**Opciones**: - -* `--install-completion`: Instala el autocompletado para la shell actual. -* `--show-completion`: Muestra el autocompletado para la shell actual, para copiarlo o personalizar la instalación. -* `--help`: Muestra este mensaje y sale. - -**Comandos**: - -* `deps-in-workflow` -* `disable` -* `enable` -* `fix` -* `install` -* `install-deps` -* `reinstall` -* `restore-dependencies` -* `restore-snapshot` -* `save-snapshot`: Guarda una instantánea del entorno actual de ComfyUI... -* `show` -* `simple-show` -* `uninstall` -* `update` - -### `deps-in-workflow` - -**Uso**: - -```console -$ deps-in-workflow [OPTIONS] -``` - -**Opciones**: - -* `--workflow TEXT`: archivo de flujo de trabajo (.json/.png) [requerido] -* `--output TEXT`: archivo de flujo de trabajo (.json/.png) [requerido] -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `disable` - -**Uso**: - -```console -$ disable [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: deshabilita los nodos personalizados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `enable` - -**Uso**: - -```console -$ enable [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: habilita los nodos personalizados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `fix` - -**Uso**: - -```console -$ fix [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: corrige las dependencias de los nodos personalizados especificados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `install` - -**Uso**: - -```console -$ install [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: instala los nodos personalizados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `install-deps` - -**Uso**: - -```console -$ install-deps [OPTIONS] -``` - -**Opciones**: - -* `--deps TEXT`: archivo de especificación de dependencias (.json) -* `--workflow TEXT`: archivo de flujo de trabajo (.json/.png) -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `reinstall` - -**Uso**: - -```console -$ reinstall [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: reinstala los nodos personalizados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `restore-dependencies` - -**Uso**: - -```console -$ restore-dependencies [OPTIONS] -``` - -**Opciones**: - -* `--help`: Muestra este mensaje y sale. - -### `restore-snapshot` - -**Uso**: - -```console -$ restore-snapshot [OPTIONS] PATH -``` - -**Argumentos**: - -* `PATH`: [requerido] - -**Opciones**: - -* `--help`: Muestra este mensaje y sale. - -### `save-snapshot` - -Guarda una instantánea del entorno actual de ComfyUI - -**Uso**: - -```console -$ save-snapshot [OPTIONS] -``` - -**Opciones**: - -* `--output TEXT`: Especifica la ruta del archivo de salida. (.json/.yaml) -* `--help`: Muestra este mensaje y sale. - -### `show` - -**Uso**: - -```console -$ show [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: [installed|enabled|not-installed|disabled|all|snapshot|snapshot-list] [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `simple-show` - -**Uso**: - -```console -$ simple-show [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: [installed|enabled|not-installed|disabled|all|snapshot|snapshot-list] [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `uninstall` - -**Uso**: - -```console -$ uninstall [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: desinstala los nodos personalizados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. - -### `update` - -**Uso**: - -```console -$ update [OPTIONS] ARGS... -``` - -**Argumentos**: - -* `ARGS...`: actualiza los nodos personalizados [requerido] - -**Opciones**: - -* `--channel TEXT`: Especifica el modo de operación -* `--mode TEXT`: [remote|local|cache] -* `--help`: Muestra este mensaje y sale. \ No newline at end of file diff --git a/snippets/es/cloud-feature.mdx b/snippets/es/cloud-feature.mdx deleted file mode 100644 index b0725710f0..0000000000 --- a/snippets/es/cloud-feature.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 4637a183 */} - - Esta es una función de **Comfy Cloud** y solo está disponible en la Versión de la Nube. Para aprender más acerca de Comfy Cloud, consulta [Comfy Cloud](/es/get_started/cloud). - \ No newline at end of file diff --git a/snippets/es/cloud/complete-example.mdx b/snippets/es/cloud/complete-example.mdx deleted file mode 100644 index df66edee03..0000000000 --- a/snippets/es/cloud/complete-example.mdx +++ /dev/null @@ -1,142 +0,0 @@ -{/* translationSourceHash: e65a488e */} - -```typescript TypeScript -import { readFile, writeFile } from "fs/promises"; - -const BASE_URL = "https://cloud.comfy.org"; -const API_KEY = process.env.COMFY_CLOUD_API_KEY!; - -async function main() { - // 1. Cargar y modificar el flujo de trabajo - const workflow = JSON.parse(await readFile("workflow_api.json", "utf-8")); - workflow["3"].inputs.seed = 42; - workflow["6"].inputs.text = "a beautiful sunset"; - - // 2. Enviar el flujo de trabajo - const response = await fetch(`${BASE_URL}/api/prompt`, { - method: "POST", - headers: { "X-API-Key": API_KEY, "Content-Type": "application/json" }, - body: JSON.stringify({ prompt: workflow }), - }); - const { prompt_id } = await response.json(); - console.log(`Job submitted: ${prompt_id}`); - - // 3. Consultar el estado hasta que finalice - while (true) { - const statusRes = await fetch(`${BASE_URL}/api/job/${prompt_id}/status`, { - headers: { "X-API-Key": API_KEY }, - }); - const { status } = await statusRes.json(); - - if (status === "success") break; - if ( - ["error", "non_retryable_error", "lost", "cancelled"].includes(status) - ) { - throw new Error(`Job ${status}`); - } - await new Promise((resolve) => setTimeout(resolve, 2000)); - } - - // 4. Obtener las salidas mediante el endpoint de detalles de la tarea - const jobRes = await fetch(`${BASE_URL}/api/jobs/${prompt_id}`, { - headers: { "X-API-Key": API_KEY }, - }); - const job = await jobRes.json(); - const outputs = job.outputs; - - // 5. Descargar los archivos de salida - for (const nodeOutputs of Object.values(outputs)) { - for (const fileInfo of (nodeOutputs as any).images ?? []) { - const params = new URLSearchParams({ - filename: fileInfo.filename, - subfolder: fileInfo.subfolder ?? "", - type: "output", - }); - const viewRes = await fetch(`${BASE_URL}/api/view?${params}`, { - headers: { "X-API-Key": API_KEY }, - redirect: "manual", - }); - const signedUrl = viewRes.headers.get("location")!; - const fileRes = await fetch(signedUrl); - await writeFile(`./${fileInfo.filename}`, Buffer.from(await fileRes.arrayBuffer())); - console.log(`Downloaded: ${fileInfo.filename}`); - } - } -} - -main(); -``` - -```python Python -import os -import requests -import json -import time - -BASE_URL = "https://cloud.comfy.org" -API_KEY = os.environ["COMFY_CLOUD_API_KEY"] - -def main(): - # 1. Cargar y modificar el flujo de trabajo - with open("workflow_api.json") as f: - workflow = json.load(f) - - workflow["3"]["inputs"]["seed"] = 42 - workflow["6"]["inputs"]["text"] = "a beautiful sunset" - - # 2. Enviar el flujo de trabajo - response = requests.post( - f"{BASE_URL}/api/prompt", - headers={"X-API-Key": API_KEY, "Content-Type": "application/json"}, - json={"prompt": workflow} - ) - prompt_id = response.json()["prompt_id"] - print(f"Job submitted: {prompt_id}") - - # 3. Consultar el estado hasta que finalice - while True: - status_res = requests.get( - f"{BASE_URL}/api/job/{prompt_id}/status", - headers={"X-API-Key": API_KEY} - ) - status = status_res.json()["status"] - - if status == "success": - break - if status in ("error", "non_retryable_error", "lost", "cancelled"): - raise RuntimeError(f"Job {status}") - time.sleep(2) - - # 4. Obtener las salidas mediante el endpoint de detalles de la tarea - job_res = requests.get( - f"{BASE_URL}/api/jobs/{prompt_id}", - headers={"X-API-Key": API_KEY} - ) - job = job_res.json() - outputs = job["outputs"] - - # 5. Descargar los archivos de salida - for node_outputs in outputs.values(): - for file_info in node_outputs.get("images", []): - params = { - "filename": file_info["filename"], - "subfolder": file_info.get("subfolder", ""), - "type": "output" - } - # Lee la redirección en lugar de seguirla. requests conserva los encabezados - # personalizados entre hosts, lo que enviaría la clave al almacenamiento. - view_res = requests.get( - f"{BASE_URL}/api/view", - headers={"X-API-Key": API_KEY}, - params=params, - allow_redirects=False - ) - file_res = requests.get(view_res.headers["Location"]) - with open(file_info["filename"], "wb") as f: - f.write(file_res.content) - print(f"Downloaded: {file_info['filename']}") - -if __name__ == "__main__": - main() -``` - \ No newline at end of file diff --git a/snippets/es/cloud/download-outputs.mdx b/snippets/es/cloud/download-outputs.mdx deleted file mode 100644 index 78ae46c7a1..0000000000 --- a/snippets/es/cloud/download-outputs.mdx +++ /dev/null @@ -1,124 +0,0 @@ -{/* translationSourceHash: 82d7e39e */} - -```bash curl -# Paso 1: lee el destino 302. No uses -L aquí: seguir la redirección -# reenviaría tu clave API al host de almacenamiento. -SIGNED_URL=$(curl -s -o /dev/null -w '%{redirect_url}' \ - "$BASE_URL/api/view?filename=output.png&subfolder=&type=output" \ - -H "X-API-Key: $COMFY_CLOUD_API_KEY") - -# Paso 2: la URL firmada tiene su propia autorización, así que no envíes encabezados. -curl -s "$SIGNED_URL" -o output.png -``` - -```typescript TypeScript -import { mkdir, writeFile } from "fs/promises"; - -async function downloadOutput( - filename: string, - subfolder: string = "", - outputType: string = "output" -): Promise { - const params = new URLSearchParams({ filename, subfolder, type: outputType }); - // Obtén la URL de redirección - const response = await fetch(`${BASE_URL}/api/view?${params}`, { - headers: { "X-API-Key": API_KEY }, - redirect: "manual", - }); - if (response.status !== 302) throw new Error(`HTTP ${response.status}`); - const signedUrl = response.headers.get("location")!; - - // Obtén el archivo desde la URL firmada - const fileResponse = await fetch(signedUrl); - if (!fileResponse.ok) throw new Error(`HTTP ${fileResponse.status}`); - return fileResponse.arrayBuffer(); -} - -async function saveOutputs( - outputs: Record, - outputDir: string = "." -): Promise { - await mkdir(outputDir, { recursive: true }); - for (const nodeOutputs of Object.values(outputs)) { - for (const key of ["images", "video", "audio"]) { - for (const fileInfo of (nodeOutputs as any)[key] ?? []) { - const data = await downloadOutput( - fileInfo.filename, - fileInfo.subfolder ?? "", - fileInfo.type ?? "output" - ); - const path = `${outputDir}/${fileInfo.filename}`; - await writeFile(path, Buffer.from(data)); - console.log(`Saved: ${path}`); - } - } - } -} - -// Descarga todas las salidas -await saveOutputs(outputs, "./my_outputs"); -``` - -```python Python -def download_output(filename: str, subfolder: str = "", output_type: str = "output") -> bytes: - """Descarga un archivo de salida. - - Argumentos: - filename: Nombre del archivo - subfolder: Ruta de la subcarpeta (normalmente vacía) - output_type: "output" para las salidas finales, "temp" para las vistas previas - - Devuelve: - Bytes del archivo - """ - params = { - "filename": filename, - "subfolder": subfolder, - "type": output_type - } - - # No sigas la redirección. requests elimina Authorization en una redirección - # entre hosts, pero mantiene los encabezados personalizados, así que X-API-Key - # llegaría al host de almacenamiento. La URL firmada tiene su propia autorización. - response = requests.get( - f"{BASE_URL}/api/view", - headers=get_headers(), - params=params, - allow_redirects=False - ) - if response.status_code != 302: - raise RuntimeError(f"Expected a 302 redirect, got {response.status_code}") - signed_url = response.headers["Location"] - - file_response = requests.get(signed_url) - file_response.raise_for_status() - return file_response.content - -def save_outputs(outputs: dict, output_dir: str = "."): - """Guarda todas las salidas de una tarea en el disco. - - Argumentos: - outputs: Diccionario de salidas de la tarea (node_id -> output_data) - output_dir: Directorio donde se guardan los archivos - """ - import os - os.makedirs(output_dir, exist_ok=True) - - for node_id, node_outputs in outputs.items(): - for key in ("images", "video", "audio"): - for file_info in node_outputs.get(key, []): - filename = file_info["filename"] - subfolder = file_info.get("subfolder", "") - output_type = file_info.get("type", "output") - - data = download_output(filename, subfolder, output_type) - - output_path = os.path.join(output_dir, filename) - with open(output_path, "wb") as f: - f.write(data) - print(f"Saved: {output_path}") - -# Descarga todas las salidas -save_outputs(outputs, "./my_outputs") -``` - \ No newline at end of file diff --git a/snippets/es/cloud/poll-job-completion.mdx b/snippets/es/cloud/poll-job-completion.mdx deleted file mode 100644 index d677240964..0000000000 --- a/snippets/es/cloud/poll-job-completion.mdx +++ /dev/null @@ -1,102 +0,0 @@ -{/* translationSourceHash: 0a9acc20 */} -**Valores del estado de la tarea:** - -La API devuelve uno de los siguientes valores de estado: - -| Estado | Descripción | -|--------|-------------| -| `success` | La tarea finalizó correctamente. Estado terminal | -| `error` | La tarea falló. Estado terminal | -| `non_retryable_error` | La tarea falló y reintentar no ayudará. Estado terminal | -| `lost` | La tarea desapareció antes de poder finalizar. Estado terminal | -| `cancelled` | La tarea se canceló. Estado terminal | - -Esos cinco son los estados terminales. Todo lo demás significa que la tarea aún está en curso, incluidos `submitted`, `queued_waiting`, `preparing`, `executing` y estados de transición como `cancel_requested`. Consulta periódicamente hasta que veas un valor terminal en lugar de buscar coincidencias con los nombres de los estados en curso. - - -```bash curl -# Consulta periódicamente la finalización de la tarea -curl -X GET "$BASE_URL/api/job/{prompt_id}/status" \ - -H "X-API-Key: $COMFY_CLOUD_API_KEY" - -# Ejemplos de respuesta: -# {"status": "queued_waiting"} - La tarea está en cola -# {"status": "executing"} - La tarea se está ejecutando actualmente -# {"status": "success"} - La tarea finalizó correctamente -# {"status": "error"} - La tarea encontró un error -# {"status": "non_retryable_error"} - La tarea falló, reintentar no ayudará -# {"status": "lost"} - La tarea desapareció antes de finalizar -# {"status": "cancelled"} - La tarea se canceló -``` - -```typescript TypeScript -interface JobStatus { - status: string; -} - -async function getJobStatus(promptId: string): Promise { - const response = await fetch(`${BASE_URL}/api/job/${promptId}/status`, { - headers: getHeaders(), - }); - if (!response.ok) throw new Error(`HTTP ${response.status}`); - return response.json(); -} - -async function pollForCompletion( - promptId: string, - timeout: number = 300, - pollInterval: number = 2000 -): Promise { - const startTime = Date.now(); - - while (Date.now() - startTime < timeout * 1000) { - const { status } = await getJobStatus(promptId); - - if (status === "success") { - return; - } else if ( - ["error", "non_retryable_error", "lost", "cancelled"].includes(status) - ) { - throw new Error(`Job failed with status: ${status}`); - } - - await new Promise((resolve) => setTimeout(resolve, pollInterval)); - } - - throw new Error(`Job ${promptId} did not complete within ${timeout}s`); -} - -await pollForCompletion(promptId); -console.log("Job completed!"); -``` - -```python Python -def get_job_status(prompt_id: str) -> str: - """Obtiene el estado actual de una tarea.""" - response = requests.get( - f"{BASE_URL}/api/job/{prompt_id}/status", - headers=get_headers() - ) - response.raise_for_status() - return response.json()["status"] - -def poll_for_completion(prompt_id: str, timeout: int = 300, poll_interval: float = 2.0) -> None: - """Consulta periódicamente hasta que la tarea se complete o se agote el tiempo de espera.""" - start_time = time.time() - - while time.time() - start_time < timeout: - status = get_job_status(prompt_id) - - if status == "success": - return - elif status in ("error", "non_retryable_error", "lost", "cancelled"): - raise RuntimeError(f"Job failed with status: {status}") - - time.sleep(poll_interval) - - raise TimeoutError(f"Job {prompt_id} did not complete within {timeout}s") - -poll_for_completion(prompt_id) -print("Job completed!") -``` - \ No newline at end of file diff --git a/snippets/es/cloud/websocket-progress.mdx b/snippets/es/cloud/websocket-progress.mdx deleted file mode 100644 index b5155316f4..0000000000 --- a/snippets/es/cloud/websocket-progress.mdx +++ /dev/null @@ -1,130 +0,0 @@ -{/* translationSourceHash: b4729ec7 */} - -```typescript TypeScript -async function listenForCompletion( - promptId: string, - timeout: number = 300000 -): Promise> { - const wsUrl = `wss://cloud.comfy.org/ws?clientId=${crypto.randomUUID()}&token=${API_KEY}`; - const outputs: Record = {}; - - return new Promise((resolve, reject) => { - const ws = new WebSocket(wsUrl); - const timer = setTimeout(() => { - ws.close(); - reject(new Error(`Job did not complete within ${timeout / 1000}s`)); - }, timeout); - - ws.onmessage = (event) => { - // Los frames binarios llevan imágenes de vista previa, no JSON. - if (typeof event.data !== "string") return; - - const data = JSON.parse(event.data); - const msgType = data.type; - const msgData = data.data ?? {}; - - // Filtrar a nuestra tarea - if (msgData.prompt_id !== promptId) return; - - if (msgType === "executing") { - const node = msgData.node; - if (node) { - console.log(`Executing node: ${node}`); - } else { - console.log("Execution complete"); - } - } else if (msgType === "progress") { - console.log(`Progress: ${msgData.value}/${msgData.max}`); - } else if (msgType === "executed" && msgData.output) { - outputs[msgData.node] = msgData.output; - } else if (msgType === "execution_success") { - console.log("Job completed successfully!"); - clearTimeout(timer); - ws.close(); - resolve(outputs); - } else if (msgType === "execution_error") { - const errorMsg = msgData.exception_message ?? "Unknown error"; - clearTimeout(timer); - ws.close(); - reject(new Error(`Execution error: ${errorMsg}`)); - } - }; - - ws.onerror = (err) => { - clearTimeout(timer); - reject(err); - }; - }); -} - -// Espera la finalización y recopila las salidas -const outputs = await listenForCompletion(promptId); -``` - -```python Python -import asyncio -import aiohttp -import json -import uuid - -async def listen_for_completion(prompt_id: str, timeout: float = 300.0) -> dict: - """Conéctate al WebSocket y escucha la finalización de la tarea. - - Devuelve: - Las salidas finales de la tarea - """ - ws_url = BASE_URL.replace("https://", "wss://") - client_id = str(uuid.uuid4()) - ws_url = f"{ws_url}/ws?clientId={client_id}&token={API_KEY}" - - outputs = {} - - async with aiohttp.ClientSession() as session: - async with session.ws_connect(ws_url) as ws: - async def receive_messages(): - async for msg in ws: - if msg.type == aiohttp.WSMsgType.TEXT: - data = json.loads(msg.data) - msg_type = data.get("type") - msg_data = data.get("data", {}) - - # Filtrar a nuestra tarea - if msg_data.get("prompt_id") != prompt_id: - continue - - if msg_type == "executing": - node = msg_data.get("node") - if node: - print(f"Executing node: {node}") - - elif msg_type == "progress": - value = msg_data.get("value", 0) - max_val = msg_data.get("max", 100) - print(f"Progress: {value}/{max_val}") - - elif msg_type == "executed": - node_id = msg_data.get("node") - output = msg_data.get("output", {}) - if output: - outputs[node_id] = output - - elif msg_type == "execution_success": - print("Job completed successfully!") - return outputs - - elif msg_type == "execution_error": - error_msg = msg_data.get("exception_message", "Unknown error") - raise RuntimeError(f"Execution error: {error_msg}") - - elif msg.type == aiohttp.WSMsgType.ERROR: - raise RuntimeError(f"WebSocket error: {ws.exception()}") - - try: - return await asyncio.wait_for(receive_messages(), timeout=timeout) - except asyncio.TimeoutError: - raise TimeoutError(f"Job did not complete within {timeout}s") - -# Espera la finalización y recopila las salidas -outputs = await listen_for_completion(prompt_id) -``` - \ No newline at end of file diff --git a/snippets/es/comfy-cli/agent-skills.mdx b/snippets/es/comfy-cli/agent-skills.mdx deleted file mode 100644 index 4398a7ab6a..0000000000 --- a/snippets/es/comfy-cli/agent-skills.mdx +++ /dev/null @@ -1,12 +0,0 @@ -{/* translationSourceHash: c7cf8a57 */} -Instala en Claude Code, Cursor y cualquier herramienta compatible con AGENTS.md las habilidades del agente incluidas con Comfy, para que tu agente de programación pueda controlar la CLI directamente: - -```bash -comfy skills install -comfy skills list # comfy, comfy-fragments, comfy-debug, comfy-relay, comfy-director -comfy skills status # qué está instalado y dónde -``` - - - Estas son **habilidades CLI incluidas** que se instalan con `comfy skills install`. Son independientes del repositorio [Comfy Skills](https://github.com/Comfy-Org/comfy-skills/), que aloja el plugin **comfy-cloud** de Claude Code para [Comfy Cloud MCP](/agent-tools/mcp). - \ No newline at end of file diff --git a/snippets/es/comfy-cli/cloud-auth.mdx b/snippets/es/comfy-cli/cloud-auth.mdx deleted file mode 100644 index 3f6d2a21e0..0000000000 --- a/snippets/es/comfy-cli/cloud-auth.mdx +++ /dev/null @@ -1,26 +0,0 @@ -{/* translationSourceHash: e7edd6e2 */} -Ejecuta flujos de trabajo y nodos asociados en las GPUs alojadas de Comfy. No se requiere instalación local. - -```bash -comfy cloud login # OAuth del navegador + PKCE -comfy cloud whoami # muestra el estado de sesión, el método de autenticación y la URL base -comfy cloud logout # limpia la sesión local -``` - -Una vez que inicias sesión, los comandos se enrutan automáticamente a la nube. **OAuth del navegador es el método RECOMENDADO.** No hay claves que administrar y la CLI se encarga de actualizar el token por ti. Para apuntar a un entorno personalizado (por ejemplo, una VISTA PREVIA de un PR) antes de iniciar sesión: - -```bash -comfy cloud set-base-url https://my-preview.comfy.org -``` - - - **La clave API es opcional.** Solo necesitas una clave API para uso sin interfaz o en CI, donde no es posible iniciar sesión desde el navegador. Es una alternativa, no la opción predeterminada: - - ```bash - export COMFY_API_KEY=comfyui-... # o pasa --api-key en cada llamada - ``` - - - - **Duración de la sesión.** Los tokens de sesión de la nube son de corta duración (~1 h). La CLI los actualiza automáticamente cuando es necesario. Si un comando informa `cloud_unauthorized`, ejecuta `comfy cloud login` de nuevo. - \ No newline at end of file diff --git a/snippets/es/comfy-cli/generate-beta-info.mdx b/snippets/es/comfy-cli/generate-beta-info.mdx deleted file mode 100644 index e8fd9d6c4d..0000000000 --- a/snippets/es/comfy-cli/generate-beta-info.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 195387db */} - - **`comfy generate` está en beta.** Los nombres de los flags, los alias de modelos y los formatos de salida pueden cambiar. Los endpoints de los socios subyacentes son estables. Envía tu retroalimentación en el [repositorio de GitHub de comfy-cli](https://github.com/Comfy-Org/comfy-cli/issues). - \ No newline at end of file diff --git a/snippets/es/comfy-cli/generate-common-models.mdx b/snippets/es/comfy-cli/generate-common-models.mdx deleted file mode 100644 index 31d7fe703a..0000000000 --- a/snippets/es/comfy-cli/generate-common-models.mdx +++ /dev/null @@ -1,55 +0,0 @@ -{/* translationSourceHash: 45314432 */} -**Nano Banana (Google Gemini): texto a imagen y edición:** - -```bash -comfy generate nano-banana \ - --prompt "a watercolor of a sleeping fox" \ - --download fox.png - -# Edición de imagen: -comfy generate nano-banana \ - --prompt "add a top hat" \ - --image ./cat.png \ - --download edited.png - -# Especificar una variante de modelo: -comfy generate nano-banana \ - --prompt "neon city skyline" \ - --model gemini-3-pro-image-preview \ - --download city.png -``` - -**FLUX 1.1 Pro Ultra: texto a imagen de alta resolución:** - -```bash -comfy generate flux-ultra \ - --prompt "a purple Victorian house in San Francisco, golden hour" \ - --width 896 --height 1152 --seed 11 \ - --download house.png -``` - -**Seedance (ByteDance): texto a video e imagen a video, hasta 1080p / 12s:** - -```bash -# Texto a video: -comfy generate seedance \ - --prompt "a hummingbird hovering over a flower" \ - --resolution 1080p --duration 5 \ - --download hummingbird.mp4 - -# Imagen a video (anima una imagen local, se sube automáticamente): -comfy generate seedance \ - --model seedance-1-0-pro-250528 \ - --image ./painting.png \ - --ratio 3:4 --resolution 1080p --duration 5 \ - --prompt "the painting gently comes alive, a soft breeze stirs the trees" \ - --download animated.mp4 -``` - -**Grok (xAI): imágenes y video:** - -```bash -comfy generate grok --prompt "a cyberpunk street market at night" --download street.png -comfy generate grok-edit --prompt "swap the umbrella for a parasol" --image ./photo.jpg --download out.png -comfy generate grok-video --prompt "a paper plane gliding through a cathedral" --download flight.mp4 -``` diff --git a/snippets/es/comfy-cli/generate-first-call.mdx b/snippets/es/comfy-cli/generate-first-call.mdx deleted file mode 100644 index b39a7059c8..0000000000 --- a/snippets/es/comfy-cli/generate-first-call.mdx +++ /dev/null @@ -1,9 +0,0 @@ -{/* translationSourceHash: 9e81e5c2 */} -```bash -comfy generate flux-pro \ - --prompt "a cat on the moon, cinematic lighting" \ - --width 1024 --height 1024 \ - --download cat.png -``` - -La CLI sube los archivos locales, envía la tarea, consulta su estado hasta que finaliza y guarda los resultados. \ No newline at end of file diff --git a/snippets/es/comfy-cli/generate-image-edit.mdx b/snippets/es/comfy-cli/generate-image-edit.mdx deleted file mode 100644 index 94fe4383a5..0000000000 --- a/snippets/es/comfy-cli/generate-image-edit.mdx +++ /dev/null @@ -1,26 +0,0 @@ -{/* translationSourceHash: 56b6acfc */} -Pasa rutas de archivos locales. La CLI sube los archivos mediante el endpoint de almacenamiento de Comfy o los codifica en base64 según sea necesario: - -```bash -comfy generate nano-banana \ - --prompt "add a top hat" \ - --image ./cat.png \ - --download edited.png - -comfy generate flux-kontext \ - --prompt "add a top hat and a monocle" \ - --input_image ./photo.jpg \ - --download out.png - -comfy generate ideogram-edit \ - --image cat.png --mask mask.png \ - --prompt "add sunglasses" \ - --rendering_speed TURBO \ - --download edited.png -``` - -Para subir una vez y reutilizar en varias llamadas: - -```bash -comfy generate upload ./photo.jpg # imprime una URL firmada -``` diff --git a/snippets/es/comfy-cli/generate-prerequisites.mdx b/snippets/es/comfy-cli/generate-prerequisites.mdx deleted file mode 100644 index ce92c17c29..0000000000 --- a/snippets/es/comfy-cli/generate-prerequisites.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 137044b2 */} -- Una sesión de Comfy Cloud activa mediante `comfy cloud login` (OAuth en el navegador), **o** una [Clave API de Comfy](/development/api-development/getting-an-api-key) (`--api-key` / `COMFY_API_KEY`) para uso sin interfaz o en CI -- [Créditos](/interface/credits) en tu cuenta -- *Opcional:* [Explora los nodos asociados y el precio por llamada](/tutorials/partner-nodes/pricing) \ No newline at end of file diff --git a/snippets/es/comfy-cli/generate-upload-24h-note.mdx b/snippets/es/comfy-cli/generate-upload-24h-note.mdx deleted file mode 100644 index f47fa8bf08..0000000000 --- a/snippets/es/comfy-cli/generate-upload-24h-note.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 4d5c0506 */} - - Los recursos de referencia que subes se eliminan automáticamente después de **24 horas**. Se almacenan en GCS administrado por Comfy con URLs firmadas. Para pipelines de larga duración, vuelve a subirlos antes de cada tarea. Consulta la [Referencia](/comfy-cli/reference) para más detalles. - \ No newline at end of file diff --git a/snippets/es/comfy-cli/generate-video-async.mdx b/snippets/es/comfy-cli/generate-video-async.mdx deleted file mode 100644 index 66e77cd42f..0000000000 --- a/snippets/es/comfy-cli/generate-video-async.mdx +++ /dev/null @@ -1,22 +0,0 @@ -{/* translationSourceHash: 453daf1d */} -Los trabajos de video son asíncronos. La CLI bloquea y consulta el estado por defecto: - -```bash -comfy generate seedance \ - --prompt "a hummingbird hovering over a flower" \ - --resolution 1080p --duration 5 \ - --download hummingbird.mp4 - -comfy generate kling \ - --prompt "a paper boat drifting on a river at dusk" \ - --duration 5 \ - --download boat.mp4 -``` - -Regresa de inmediato con `--async` y continúa después: - -```bash -comfy generate luma --prompt "neon koi swimming through clouds" --aspect_ratio 16:9 --async -# imprime un id de trabajo; continúa con: -comfy generate resume luma --download out.mp4 -``` diff --git a/snippets/es/comfy-cli/setup.mdx b/snippets/es/comfy-cli/setup.mdx deleted file mode 100644 index 58bcda2325..0000000000 --- a/snippets/es/comfy-cli/setup.mdx +++ /dev/null @@ -1,29 +0,0 @@ -{/* translationSourceHash: 18496bdb */} -Novedad en las versiones recientes: un único asistente interactivo que se encarga del enrutamiento, la autenticación y las habilidades del agente en un solo paso. - -```bash -comfy setup -``` - -Te guía para elegir un objetivo de enrutamiento (local o nube), **iniciar sesión a través de tu navegador (OAuth)**, seleccionar un directorio de proyecto e, opcionalmente, instalar las habilidades del agente. Esta es la ruta RECOMENDADA. Abre el inicio de sesión en el navegador por ti, sin claves que copiar. - -```bash -comfy setup --where cloud -``` - - - **No interactivo (solo CI).** El OAuth del navegador necesita una sesión interactiva. Para CI, devcontainers e instalaciones por script en las que no hay navegador disponible, pasa una Clave API en su lugar: - - ```bash - comfy setup --where cloud --api-key comfyui-... --non-interactive - ``` - - -| Flag | Propósito | -| --- | --- | -| `--where local\|cloud` | Objetivo de enrutamiento; omite la pregunta | -| `--project-dir` | Directorio para flujos de trabajo, entradas y salidas | -| `--api-key` | *(Opcional)* Clave API de Comfy Cloud para entornos sin interfaz/CI; implica `--where cloud` | -| `-y, --non-interactive` | Sin preguntas. Controla todo desde los flags | -| `--skip-skills` | No Instalar las habilidades del agente | -| `--skip-verify` | Saltar la comprobación de conectividad | \ No newline at end of file diff --git a/snippets/es/comfy-cli/two-surfaces-note.mdx b/snippets/es/comfy-cli/two-surfaces-note.mdx deleted file mode 100644 index 9f05c29e96..0000000000 --- a/snippets/es/comfy-cli/two-surfaces-note.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 3ee411e3 */} - - **Dos superficies, una CLI.** Cada comando detecta automáticamente dónde ejecutarse. Si tienes la sesión iniciada en Comfy Cloud, los comandos se dirigen a la **nube**; de lo contrario, se ejecutan en tu **servidor** local. Puedes sobrescribirlo en cada llamada con `--where local|cloud`, la variable de entorno `COMFY_WHERE`, o persistirlo con `comfy set-default --where cloud`. - \ No newline at end of file diff --git a/snippets/es/comfy-router/model-code-footer.mdx b/snippets/es/comfy-router/model-code-footer.mdx deleted file mode 100644 index 67e5172a90..0000000000 --- a/snippets/es/comfy-router/model-code-footer.mdx +++ /dev/null @@ -1,22 +0,0 @@ -{/* translationSourceHash: e06487fe */} -## Antes de lanzar - -Los SDK crean una `Idempotency-Key` y la reutilizan para los reintentos automáticos. Para los reintentos manuales, reutiliza la clave original. Router puede mantener la conexión abierta hasta 10 minutos. - -Cuando una solicitud falla, Router envía un encabezado de respuesta `X-Comfy-Error-Type` que explica el motivo. Un `422` significa que Router rechazó la entrada antes de llamar al proveedor, y un `413` significa que el cuerpo de la solicitud era más grande de lo que Router acepta. Descarga los recursos generados de inmediato, porque [las URL de resultados pueden caducar](/development/comfy-router/reference#result-assets). - -Cualquier límite de tamaño mencionado en la descripción de un campo más arriba es el límite propio del proveedor para ese campo, citado de la especificación del proveedor. Router aplica un tope aparte al cuerpo completo de la solicitud, con el que cuentan los medios codificados en base64: consulta [tamaño del cuerpo de la solicitud](/development/comfy-router/limitations#request-bodies-are-capped). - -Esta página documenta un modelo socio al que se llama a través de Comfy Router. El mismo paquete `comfy-sdk` / `@comfyorg/sdk` también incluye un segundo cliente, para ejecutar todo un gráfico de flujo de trabajo de ComfyUI en Comfy Cloud: `Comfy(api_key=...)` / `new Comfy({ apiKey })`, con `client.workflows`, `client.assets` y `client.jobs`. Consulta [SDK de Comfy](/development/api-development/sdks). - - - - Autenticación, idempotencia, IDs de solicitud, agrupaciones de errores, ritmo de reintentos y límites de gasto. - - - Descubrimiento de modelos, errores de validación, reintentos y facturación. - - - Lo que Router no hace hoy y qué usar en su lugar. - - \ No newline at end of file diff --git a/snippets/es/conda.mdx b/snippets/es/conda.mdx deleted file mode 100644 index bbd94e8fe7..0000000000 --- a/snippets/es/conda.mdx +++ /dev/null @@ -1,9 +0,0 @@ -{/* translationSourceHash: d9261ac3 */} -[Instala Miniconda](https://docs.anaconda.com/free/miniconda/index.html#latest-miniconda-installer-links). Esto te ayuda a instalar las versiones correctas de Python y de las demás bibliotecas que necesita ComfyUI. - -Crea un entorno con Conda. - -``` -conda create -n comfyenv -conda activate comfyenv -``` diff --git a/snippets/es/desktop/migrate.mdx b/snippets/es/desktop/migrate.mdx deleted file mode 100644 index af97df313c..0000000000 --- a/snippets/es/desktop/migrate.mdx +++ /dev/null @@ -1,6 +0,0 @@ -{/* translationSourceHash: f0a3c3d9 */} - -**¿Ya usas el Comfy Desktop Clásico?** Comfy Desktop puede detectar y migrar automáticamente tu instalación existente. Tus nodos personalizados, flujos de trabajo, modelos y configuraciones se conservan, y Comfy Desktop respalda tu estado Clásico antes de iniciarse. La migración reutiliza tu carpeta de datos y tu entorno de Python existentes tal como están, así que haz tu propia copia de seguridad si necesitas una copia intacta. - -Aprende más en la guía [Migrar desde la versión Clásica](/es/installation/desktop/usage/migrate). - \ No newline at end of file diff --git a/snippets/es/desktop/update.mdx b/snippets/es/desktop/update.mdx deleted file mode 100644 index 4a355f8dfe..0000000000 --- a/snippets/es/desktop/update.mdx +++ /dev/null @@ -1,37 +0,0 @@ -{/* translationSourceHash: ba3d7ce2 */} -Comfy Desktop busca actualizaciones automáticamente y te permite administrarlas de dos maneras. - -## Actualización rápida - -Cuando hay una actualización disponible, aparece un botón **Desktop Update Ready** en la parte superior de la ventana: - -![Botón Desktop Update Ready](/images/desktop/installation/install_update_1.png) - -Solo haz clic en el botón ① Desktop Update Ready y Comfy Desktop se reiniciará e instalará la actualización automáticamente. - -## Actualización manual desde Configuraciones - -También puedes buscar y administrar actualizaciones desde el panel de Configuraciones: - - - - -![Abrir el menú de Configuraciones de Escritorio](/images/desktop/installation/install_update_2-1.png) - -1. **①** Haz clic en el menú de hamburguesa (arriba a la izquierda) -2. **②** Selecciona **Configuraciones de Escritorio** - - - - -![Panel de Actualizaciones en Configuraciones de Escritorio](/images/desktop/installation/install_update_2-2.png) - -En el panel **Updates**: - -1. **① Updates**: haz clic en la pestaña Updates de la barra lateral -2. **② Check for updates**: busca manualmente las actualizaciones disponibles -3. **③ Restart & Update**: aparece cuando hay una nueva versión disponible; haz clic para reiniciar y actualizar -4. **④ Automatically install Desktop updates**: actívalo o desactívalo para controlar las actualizaciones automáticas - - - \ No newline at end of file diff --git a/snippets/es/get-api-key.mdx b/snippets/es/get-api-key.mdx deleted file mode 100644 index 63e8548957..0000000000 --- a/snippets/es/get-api-key.mdx +++ /dev/null @@ -1,24 +0,0 @@ -{/* translationSourceHash: 43c0e218 */} - - - Visita la [página de inicio de sesión de Comfy Platform](https://platform.comfy.org/login) e inicia sesión con la cuenta correspondiente - ![Visita la página de inicio de sesión de Platform](/images/interface/setting/user/user-login-api-key-1.jpg) - - - Haz clic en `+ New` en API Keys para crear una clave API - ![Crear clave API](/images/interface/setting/user/user-login-api-key-2.jpg) - - - - ![Ingresa el nombre de la clave API](/images/interface/setting/user/user-login-api-key-3.jpg) - 1. (Requerido) Ingresa el nombre de la clave API, - 2. Haz clic en `Generate` para crearla - - - ![Obtener clave API](/images/interface/setting/user/user-login-api-key-4.jpg) - - Dado que la clave API solo es visible en el momento de su primera creación, guárdala inmediatamente después de crearla. No se podrá ver más adelante, así que consérvala en un lugar seguro. - Ten en cuenta que no debes compartir tu clave API con otras personas. Si se filtra, puedes eliminarla y crear una nueva. - - - \ No newline at end of file diff --git a/snippets/es/git-clone.mdx b/snippets/es/git-clone.mdx deleted file mode 100644 index 3778eefa80..0000000000 --- a/snippets/es/git-clone.mdx +++ /dev/null @@ -1,6 +0,0 @@ -{/* translationSourceHash: b4d2b517 */} -```bash -git clone https://github.com/Comfy-Org/ComfyUI.git -``` - -Más [información](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) sobre git clone. \ No newline at end of file diff --git a/snippets/es/install-comfy-from-cli.mdx b/snippets/es/install-comfy-from-cli.mdx deleted file mode 100644 index fed56fd7d6..0000000000 --- a/snippets/es/install-comfy-from-cli.mdx +++ /dev/null @@ -1,33 +0,0 @@ -{/* translationSourceHash: df1e9f29 */} -Crea un entorno virtual con Python 3.10 o superior. - - - -```bash conda -conda create -n comfy-env python=3.11 -conda activate comfy-env -``` - -```bash venv -python3 -m venv comfy-env -source comfy-env/bin/activate -``` - - - -Instala ComfyUI - -```bash -comfy install -``` - -`comfy install` pregunta qué GPU tienes e instala la compilación de PyTorch correspondiente. Responde a la pregunta o pasa un indicador de GPU para instalaciones desatendidas: - -| Plataforma | Qué instala `comfy install` | Qué necesitas además | -| --- | --- | --- | -| NVIDIA | PyTorch con runtime de CUDA (rueda de pip) | Un controlador de GPU actual (no el CUDA Toolkit completo) | -| AMD Linux | Ruedas de PyTorch para ROCm | Un controlador o stack de AMD compatible con ROCm para esas ruedas | -| AMD Windows | `torch-directml` | Una GPU AMD compatible (DirectML; no ROCm) | -| Apple silicon | Ruedas nocturnas de PyTorch (índice de CPU; Metal/MPS) | macOS en Apple silicon | -| Intel Arc | Ruedas de PyTorch para XPU | Una GPU Intel Arc o un stack XPU compatible | -| CPU | Ruedas de PyTorch para CPU | No se requiere una GPU dedicada | \ No newline at end of file diff --git a/snippets/es/install-comfycli.mdx b/snippets/es/install-comfycli.mdx deleted file mode 100644 index 6bb372a42b..0000000000 --- a/snippets/es/install-comfycli.mdx +++ /dev/null @@ -1,19 +0,0 @@ -{/* translationSourceHash: f238c0e3 */} - - -```bash pip -pip install comfy-cli -``` - -```bash homebrew -brew tap Comfy-Org/comfy-cli -brew install comfy-org/comfy-cli/comfy-cli -``` - - - -Para obtener sugerencias de autocompletado en la shell: - -```bash -comfy --install-completion -``` diff --git a/snippets/es/install-gpu-dependencies.mdx b/snippets/es/install-gpu-dependencies.mdx deleted file mode 100644 index e51e3f02a1..0000000000 --- a/snippets/es/install-gpu-dependencies.mdx +++ /dev/null @@ -1,20 +0,0 @@ -{/* translationSourceHash: bee5c92f */} -import AmdInstall from "/snippets/es/amd-install.mdx"; -import NvidiaInstall from "/snippets/es/nvidia-install.mdx"; -import MacInstall from "/snippets/es/mac-silicon-install.mdx"; -import IntelInstall from "/snippets/es/intel-install.mdx"; - -Instalar dependencias de GPU - - - - - - - - - - - - - \ No newline at end of file diff --git a/snippets/es/install/add-external-models.mdx b/snippets/es/install/add-external-models.mdx deleted file mode 100644 index 3a29b4a815..0000000000 --- a/snippets/es/install/add-external-models.mdx +++ /dev/null @@ -1,180 +0,0 @@ -{/* translationSourceHash: 879b3e7e */} -## Agregar rutas de modelos adicionales - -Si quieres gestionar tus archivos de modelo fuera de `ComfyUI/models`, puede que tengas alguno de estos motivos: - -- Tienes varias instancias de ComfyUI y quieres que compartan los archivos de modelo para ahorrar espacio en disco -- Tienes distintos programas con interfaz gráfica (como WebUI) y quieres que usen los mismos archivos de modelo -- Los archivos de modelo no se reconocen o no se encuentran - -Ofrecemos una forma de agregar rutas de búsqueda de modelos adicionales mediante el archivo de configuración `extra_model_paths.yaml`. - -### Abrir el archivo de configuración - - - - En el caso de las versiones de ComfyUI como la [portable](/es/installation/comfyui_portable_windows) y la [manual](/es/installation/manual_install), puedes encontrar un archivo de ejemplo llamado `extra_model_paths.yaml.example` en el directorio raíz de ComfyUI: - ``` - ComfyUI/extra_model_paths.yaml.example - ``` - - Cópialo y cámbiale el nombre a `extra_model_paths.yaml` para usarlo. Déjalo en el directorio raíz de ComfyUI, en `ComfyUI/extra_model_paths.yaml`. - También puedes encontrar el archivo de ejemplo de configuración [aquí](https://github.com/Comfy-Org/ComfyUI/blob/master/extra_model_paths.yaml.example) - - - - Si usas la aplicación [Comfy Desktop](/es/installation/desktop/windows), haz clic en el menú de la cápsula en la parte superior de la aplicación de escritorio, luego abre la pestaña **Almacenamiento** y agrega allí tus directorios de modelos. La cápsula solo existe en la aplicación de escritorio, no cuando ComfyUI se ejecuta en el navegador. - - ![Menú de la cápsula de Comfy Desktop: pestaña Almacenamiento con la configuración de directorios de modelos](/images/concepts/models_desktop_storage_tab.png) - - O ábrelo directamente en: - - - - ``` - C:\Users\YourUsername\AppData\Roaming\ComfyUI\extra_models_config.yaml - ``` - - - ``` - ~/Library/Application Support/ComfyUI/extra_models_config.yaml - ``` - - - - Debes mantener el archivo en el mismo directorio, no muevas estos archivos a otros lugares. - - - -Si el archivo no existe, puedes crearlo tú mismo con cualquier editor de texto. - -### Estructura de ejemplo - -Supongamos que quieres agregar las siguientes rutas de modelos a ComfyUI: - -``` -📁 YOUR_PATH/ - ├── 📁models/ - | ├── 📁 loras/ - | │ └── xxxxx.safetensors - | ├── 📁 checkpoints/ - | │ └── xxxxx.safetensors - | ├── 📁 vae/ - | │ └── xxxxx.safetensors - | └── 📁 controlnet/ - | └── xxxxx.safetensors -``` - -Después puedes configurar el archivo `extra_model_paths.yaml` como se muestra abajo para que ComfyUI reconozca las rutas de modelos en tu dispositivo: - -``` -my_custom_config: - base_path: YOUR_PATH - loras: models/loras/ - checkpoints: models/checkpoints/ - vae: models/vae/ - controlnet: models/controlnet/ -``` -o - -``` -my_custom_config: - base_path: YOUR_PATH/models/ - loras: loras - checkpoints: checkpoints - vae: vae - controlnet: controlnet -``` - - - Para la versión de escritorio, agrega la configuración a la ruta de configuración existente sin sobrescribir la configuración de rutas generada durante la instalación. Haz una copia de seguridad del archivo correspondiente antes de modificarlo, para que puedas restaurarlo si te equivocas. - - -O puedes consultar el [extra_model_paths.yaml.example](https://github.com/Comfy-Org/ComfyUI/blob/master/extra_model_paths.yaml.example) predeterminado para ver más opciones de configuración. Después de guardar, debes **reiniciar ComfyUI** para que los cambios tengan efecto. - -Abajo está el ejemplo de configuración original: - -```yaml -#Rename this to extra_model_paths.yaml and ComfyUI will load it - - -#config for a1111 ui -#all you have to do is change the base_path to where yours is installed -a111: - base_path: path/to/stable-diffusion-webui/ - - checkpoints: models/Stable-diffusion - configs: models/Stable-diffusion - vae: models/VAE - loras: | - models/Lora - models/LyCORIS - upscale_models: | - models/ESRGAN - models/RealESRGAN - models/SwinIR - embeddings: embeddings - hypernetworks: models/hypernetworks - controlnet: models/ControlNet - -#config for comfyui -#your base path should be either an existing comfy install or a central folder where you store all of your models, loras, etc. - -#comfyui: -# base_path: path/to/comfyui/ -# # You can use is_default to mark that these folders should be listed first, and used as the default dirs for eg downloads -# #is_default: true -# checkpoints: models/checkpoints/ -# clip: models/clip/ -# clip_vision: models/clip_vision/ -# configs: models/configs/ -# controlnet: models/controlnet/ -# diffusion_models: | -# models/diffusion_models -# models/unet -# embeddings: models/embeddings/ -# loras: models/loras/ -# upscale_models: models/upscale_models/ -# vae: models/vae/ - -#other_ui: -# base_path: path/to/ui -# checkpoints: models/checkpoints -# gligen: models/gligen -# custom_nodes: path/custom_nodes - -``` - -Por ejemplo, si tu WebUI está en `D:\stable-diffusion-webui\`, puedes modificar la configuración correspondiente a -```yaml -a111: - base_path: D:\stable-diffusion-webui\ - checkpoints: models/Stable-diffusion - configs: models/Stable-diffusion - vae: models/VAE - loras: | - models/Lora - models/LyCORIS - upscale_models: | - models/ESRGAN - models/RealESRGAN - models/SwinIR - embeddings: embeddings - hypernetworks: models/hypernetworks - controlnet: models/ControlNet -``` - -### Agregar rutas de nodos personalizados adicionales - -Además de agregar modelos externos, también puedes agregar rutas de nodos personalizados que no estén en la ruta predeterminada de ComfyUI. - - - Ten en cuenta que esto no cambiará la ruta de instalación predeterminada de los nodos personalizados, sino que agregará una búsqueda de rutas adicional al iniciar ComfyUI. Aún necesitas completar la instalación de las dependencias de los nodos personalizados en el entorno correspondiente para garantizar la integridad del entorno de ejecución. - - -Abajo hay un ejemplo de configuración simple (MacOS); modifícalo según tu situación real y agrégalo al archivo de configuración correspondiente, guárdalo y reinicia ComfyUI para que los cambios tengan efecto: - -```yaml -my_custom_nodes: - custom_nodes: /Users/your_username/Documents/extra_custom_nodes -``` diff --git a/snippets/es/install/desktop-resource-warning.mdx b/snippets/es/install/desktop-resource-warning.mdx deleted file mode 100644 index 9ebac23dd1..0000000000 --- a/snippets/es/install/desktop-resource-warning.mdx +++ /dev/null @@ -1,8 +0,0 @@ -{/* translationSourceHash: 5f489dee */} -## Importante: No modifiques la carpeta resource/ComfyUI - - -No agregues ni modifiques ningún contenido en la carpeta `/resource/ComfyUI`. Todo el contenido de esta carpeta se reiniciará cuando Comfy Desktop se actualice. - -A diferencia de otras Versiones de ComfyUI, la Versión Desktop administra esta Carpeta automáticamente. Durante la instalación, elegiste una ubicación Personalizada para tus Modelos, Nodos Personalizados y otros archivos de Usuario: usa esa ubicación en su lugar. - \ No newline at end of file diff --git a/snippets/es/install/desktop-venv.mdx b/snippets/es/install/desktop-venv.mdx deleted file mode 100644 index 6b54adc1f2..0000000000 --- a/snippets/es/install/desktop-venv.mdx +++ /dev/null @@ -1,78 +0,0 @@ -{/* translationSourceHash: c9c978a9 */} -## Entorno de Python de escritorio - -La instalación de escritorio creará un entorno virtual de Python en el directorio de instalación que elijas, normalmente una carpeta oculta `.venv`. - -Si necesitas gestionar dependencias para los plugins de ComfyUI, tendrás que hacerlo dentro de este entorno. Usar la línea de comandos del sistema directamente conlleva el riesgo de instalar dependencias en el entorno del sistema, así que sigue las instrucciones a continuación para activar el entorno correspondiente. - -### ¿Cómo usar el entorno de Python de escritorio? - - - - Puedes usar la terminal integrada en la aplicación de escritorio para acceder al entorno de Python. - ![Terminal de Comfy Desktop](/images/desktop/desktop_terminal.png) - 1. Haz clic en el icono de la barra de menú para abrir el panel inferior - 2. Haz clic en `Terminal` para abrir la terminal - 3. Si quieres comprobar la ubicación de instalación de Python para el entorno correspondiente, puedes usar el siguiente comando - - - ``` - python -c "import sys; print(sys.executable)" - ``` - - - ``` - which python - ``` - - - - - A menos que entiendas el significado de tus operaciones actuales, tus acciones podrían causar problemas de dependencias en el entorno correspondiente. Usa este método con precaución. - - - - También puedes usar tu terminal preferida para acceder al entorno de Python, pero primero tendrás que activar el entorno virtual. - - - Al usar otras terminales, si no estás familiarizado con las operaciones, podrías instalar dependencias accidentalmente en el entorno del sistema. Usa este método con precaución. - - - ![Usar el sistema para activar el entorno](/images/desktop/terminal.jpg) - - - En la captura de pantalla se muestra una terminal de macOS. Si usas Windows, consulta los siguientes pasos para activar el entorno virtual en tu sistema. - - - - Abre tu terminal preferida y usa el comando `cd` para navegar a tu directorio de instalación de ComfyUI, por ejemplo: - ``` - cd /ComfyUI - ``` - - - Escribe el siguiente comando en la terminal para activar el entorno virtual - - - - ``` - .venv/Scripts/activate - ``` - - - ``` - source .venv/bin/activate - ``` - - - - Después de la activación, deberías ver un prompt como `(ComfyUI)` en la terminal, lo que indica que has activado el entorno virtual. - - - Usa `which python` para comprobar la ubicación de instalación actual de Python y confirmar que no es el entorno del sistema. - - Después de completar estos pasos, habrás activado el entorno de Python correspondiente y podrás continuar realizando operaciones de instalación de dependencias en este entorno. - - - - \ No newline at end of file diff --git a/snippets/es/install/docker-notice.mdx b/snippets/es/install/docker-notice.mdx deleted file mode 100644 index 5125727035..0000000000 --- a/snippets/es/install/docker-notice.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 6af9c7d4 */} - -**Docker:** ComfyUI no proporciona una imagen oficial de Docker. Si quieres ejecutar ComfyUI en un contenedor, puedes usar las imágenes mantenidas por la comunidad en [Docker Hub](https://hub.docker.com/search?q=comfyui). Estas imágenes **no están mantenidas oficialmente por Comfy-Org** y no cuentan con el soporte del equipo de ComfyUI. Úsalas bajo tu propio riesgo. - \ No newline at end of file diff --git a/snippets/es/install/external-models-desktop.mdx b/snippets/es/install/external-models-desktop.mdx deleted file mode 100644 index 4409154072..0000000000 --- a/snippets/es/install/external-models-desktop.mdx +++ /dev/null @@ -1,13 +0,0 @@ -{/* translationSourceHash: 909de1a7 */} -## Agregar rutas de modelos externos - -Si tienes modelos almacenados en otras ubicaciones de tu computadora fuera del directorio de instalación de ComfyUI, agrégalos en Comfy Desktop en lugar de editar archivos de configuración a mano: - -- **Todas las instancias:** [Configuraciones de Escritorio → Almacenamiento](/es/installation/desktop/usage/settings#almacenamiento) → **Modelos compartidos** → **+ Agregar directorio compartido** -- **Solo una instancia:** [Administrar → Almacenamiento](/es/installation/desktop/usage/manage#pestaña-almacenamiento) → **Directorios de modelos** - -También puedes colocar un `extra_model_paths.yaml` en la carpeta ComfyUI de esa instancia (`/ComfyUI/extra_model_paths.yaml`). ComfyUI carga este archivo al iniciar. - -El Comfy Desktop clásico usaba un archivo diferente en los datos de la aplicación (`extra_models_config.yaml` dentro de la antigua carpeta de soporte de la aplicación `ComfyUI`). Prefiere la interfaz de Almacenamiento en el Comfy Desktop actual. - -Para instrucciones detalladas, consulta la [documentación de Modelos](/basic-concepts/models) \ No newline at end of file diff --git a/snippets/es/install/find-models-folder.mdx b/snippets/es/install/find-models-folder.mdx deleted file mode 100644 index 383adb965e..0000000000 --- a/snippets/es/install/find-models-folder.mdx +++ /dev/null @@ -1,15 +0,0 @@ -{/* translationSourceHash: fca73be0 */} -Por defecto, los modelos se almacenan en `/ComfyUI/models/` con subcarpetas como `checkpoints`, `embeddings`, `vae`, `lora`, `upscale_model`, etc. ComfyUI detecta los modelos en estas carpetas y en las rutas configuradas en `extra_model_paths.yaml` al iniciar. - - - - Haz clic en el menú de la cápsula en la parte superior de la aplicación de escritorio y luego abre la pestaña **Storage** para revisar tus directorios de modelos. La cápsula solo existe en la aplicación de escritorio, no cuando ComfyUI se ejecuta en un navegador. Haz clic en el icono de carpeta junto a un directorio para abrirlo en tu administrador de archivos. - - ![Menú de la cápsula de Comfy Desktop: pestaña Storage mostrando la configuración de directorios de modelos](/images/concepts/models_desktop_storage_tab.png) - - - Para la versión portable, la carpeta de modelos suele estar ubicada en: - - `ComfyUI_windows_portable/ComfyUI/models/` - - \ No newline at end of file diff --git a/snippets/es/install/first-generation.mdx b/snippets/es/install/first-generation.mdx deleted file mode 100644 index 8f2afde599..0000000000 --- a/snippets/es/install/first-generation.mdx +++ /dev/null @@ -1,8 +0,0 @@ -{/* translationSourceHash: b7526208 */} -## Primera generación de imágenes - -Después de una instalación exitosa, puedes consultar la sección a continuación para comenzar tu recorrido con ComfyUI~ - - -Este tutorial te guiará en la instalación de tu primer modelo y en la generación de imagen a partir de texto - \ No newline at end of file diff --git a/snippets/es/install/install-link.mdx b/snippets/es/install/install-link.mdx deleted file mode 100644 index c1508f30e0..0000000000 --- a/snippets/es/install/install-link.mdx +++ /dev/null @@ -1,41 +0,0 @@ -{/* translationSourceHash: 72fc9164 */} - - - Comfy Desktop permite la instalación independiente en **Windows**, **macOS (Apple Silicon)** y **Linux** (AppImage y `.deb`). - - El código fuente está en [GitHub](https://github.com/Comfy-Org/Comfy-Desktop) - - Las instalaciones de Desktop siguen por defecto la versión **estable** de ComfyUI. Si quieres cada última confirmación (commit), usa la versión portable o una instalación manual con git, o cambia el canal de actualización de la instancia a **Latest on GitHub**. - - A continuación puedes elegir la instalación adecuada para tu sistema y hardware - - - - Adecuada para **Windows** 10 o posterior. Se recomienda GPU NVIDIA o AMD. - - - - - Adecuada para macOS con **Apple Silicon** - - - - - Instala el AppImage o el `.deb`, o compila y ejecuta desde el código fuente. - - - - - - - La versión portable es una versión de ComfyUI que integra un entorno Python integrado independiente; con la versión portable puedes probar las últimas funciones, actualmente solo es compatible con el sistema **Windows** - - Compatible con la versión de ComfyUI para **Windows** que se ejecuta en **GPU Nvidia** o **solo con CPU**, siempre usa las últimas confirmaciones (commits) y es completamente portable. - - - - - - Compatible con todos los tipos de sistema y de GPU (Nvidia, AMD, Intel, Apple Silicon, Ascend NPU, Cambricon MLU) - - - \ No newline at end of file diff --git a/snippets/es/install/maintenance-page.mdx b/snippets/es/install/maintenance-page.mdx deleted file mode 100644 index 80b7913b19..0000000000 --- a/snippets/es/install/maintenance-page.mdx +++ /dev/null @@ -1,17 +0,0 @@ -{/* translationSourceHash: 49eccc48 */} -Hay muchas razones por las que podrías tener problemas al instalar ComfyUI. Puede que haya fallado una conexión de red al instalar pytorch (15 GB), o que no tengas git instalado. La página de mantenimiento se abre automáticamente cuando detecta un problema y te ofrece una forma de resolverlo. - -Puedes usarla para resolver la mayoría de los problemas: - -- Crear un entorno virtual de Python -- Reinstalar las dependencias principales que falten en tu entorno virtual de Python administrado por Desktop -- Instalar git, VC redis -- Elegir una nueva ubicación de instalación - -La página de mantenimiento predeterminada muestra el contenido actual del error - -![Página de mantenimiento de ComfyUI](/images/desktop/maintenance-1.jpg) - -Al hacer clic en `All` puedes ver todo el contenido sobre el que se puede operar en este momento - -![Página de mantenimiento de ComfyUI](/images/desktop/maintenance-2.jpg) \ No newline at end of file diff --git a/snippets/es/install/mirror-links.mdx b/snippets/es/install/mirror-links.mdx deleted file mode 100644 index f35ff0829e..0000000000 --- a/snippets/es/install/mirror-links.mdx +++ /dev/null @@ -1,36 +0,0 @@ -{/* translationSourceHash: f69a92ac */} - Para los distintos errores de mirror, puedes consultar el contenido siguiente para intentar encontrar manualmente otros mirrors y reemplazarlos. - - Los casos siguientes se aplican principalmente a usuarios de China. - - #### Mirror de instalación de Python - - Si el mirror predeterminado no está disponible, prueba el mirror de abajo. - - ``` - https://python-standalone.org/mirror/astral-sh/python-build-standalone - ``` - - Si necesitas encontrar otras direcciones de mirror alternativas de GitHub, busca y construye una dirección de mirror que apunte a las releases del repositorio `python-build-standalone`. - - ``` - https://github.com/astral-sh/python-build-standalone/releases/download - ``` - Construye un enlace con el siguiente patrón - - ``` - https://xxx/astral-sh/python-build-standalone/releases/download - ``` - - Como la mayoría de los servicios de mirror de Github los ofrecen terceros, presta atención a la seguridad durante su uso. - - #### Mirror de PyPI - - - Alibaba Cloud: https://mirrors.aliyun.com/pypi/simple/ - - Tencent Cloud: https://mirrors.cloud.tencent.com/pypi/simple/ - - University of Science and Technology of China: https://pypi.mirrors.ustc.edu.cn/simple/ - - Shanghai Jiao Tong University: https://pypi.sjtu.edu.cn/simple/ - - #### Mirror de Torch - - - Aliyun: https://mirrors.aliyun.com/pytorch-wheels/cu130/ diff --git a/snippets/es/install/troubleshooting-feedback.mdx b/snippets/es/install/troubleshooting-feedback.mdx deleted file mode 100644 index 925c9555cd..0000000000 --- a/snippets/es/install/troubleshooting-feedback.mdx +++ /dev/null @@ -1,27 +0,0 @@ -{/* translationSourceHash: e71c0b51 */} -### Informes de fallos de instalación - -Si encuentras algún error durante la instalación, revisa si hay informes de errores similares o envíanos los errores a través de: - -- Problemas en GitHub: https://github.com/Comfy-Org/Comfy-Desktop/issues -- Foro oficial de Comfy: https://forum.comfy.org/ - -Cuando envíes informes de errores, asegúrate de incluir los siguientes registros y archivos de configuración para ayudarnos a localizar e investigar el problema: - -1. Archivos de registro - -| Nombre de archivo | Descripción | Ubicación | -|-------------|-------------------------------------------------------------------------------------------------|------------------| -| main.log | Contiene los registros relacionados con el inicio de la aplicación de escritorio y del servidor desde el proceso de Electron | {log_path} | -| comfyui.log | Contiene los registros relacionados con el funcionamiento normal de ComfyUI, como la salida de la terminal del proceso principal de ComfyUI | {log_path} | - -![Ubicación de los archivos de registro de ComfyUI](/images/desktop/win-comfyui-desktop-10-logs.jpg) - -2. Archivos de configuración - -| Nombre de archivo | Descripción | Ubicación | -|--------------------------|---------------------------------------------------------------------------------|-------------------| -| extra_model_paths.yaml | Contiene rutas adicionales donde ComfyUI buscará modelos y nodos personalizados | {config_path} | -| config.json | Contiene la configuración de la aplicación. Este archivo no debe editarse directamente | {config_path} | - -![Ubicación de los archivos de configuración de ComfyUI](/images/desktop/win-comfyui-desktop-11-config.jpg) \ No newline at end of file diff --git a/snippets/es/install/troubleshooting-gpt.mdx b/snippets/es/install/troubleshooting-gpt.mdx deleted file mode 100644 index b080c6f105..0000000000 --- a/snippets/es/install/troubleshooting-gpt.mdx +++ /dev/null @@ -1,19 +0,0 @@ -{/* translationSourceHash: b848ce9c */} -### Identificación del error - -Si la instalación falla, deberías ver la siguiente pantalla: - -![Instalación de ComfyUI fallida](/images/desktop/win-comfyui-desktop-7.jpg) - -Se recomienda seguir estos pasos para encontrar la causa del error: -1. Haz clic en `Show Terminal` para ver la salida del error -2. Haz clic en `Open Logs` para ver los registros de instalación -3. Visita el foro oficial para buscar reportes de errores -4. Haz clic en `Reinstall` para intentar reinstalar - -Antes de enviar retroalimentación, se recomienda proporcionar la **salida del error** y los **archivos de registro** a herramientas como **GPT** - -![Instalación de ComfyUI fallida - Registro de errores](/images/desktop/win-comfyui-desktop-8.jpg) -![Instalación de ComfyUI fallida - Retroalimentación a GPT](/images/desktop/win-comfyui-desktop-9.jpg) - -Como se muestra arriba, pregúntale a GPT la causa del error correspondiente, o elimina ComfyUI por completo y reintenta la instalación. \ No newline at end of file diff --git a/snippets/es/install/update-comfyui.mdx b/snippets/es/install/update-comfyui.mdx deleted file mode 100644 index deb6549151..0000000000 --- a/snippets/es/install/update-comfyui.mdx +++ /dev/null @@ -1,10 +0,0 @@ -{/* translationSourceHash: 2770d24c */} -## Cómo actualizar Comfy Desktop - -Actualmente, Comfy Desktop usa actualizaciones con detección automática. Asegúrate de que las Actualizaciones Automáticas estén habilitadas en las Configuraciones. - -![Configuraciones de Comfy Desktop](/images/desktop/comfyui-desktop-update-setting.jpg) - -También puedes buscar actualizaciones manualmente desde el `Menu` --> `Help` --> `Check for Updates`. - -![Comfy Desktop: Buscar actualizaciones](/images/desktop/desktop_check_for_updates.jpg) \ No newline at end of file diff --git a/snippets/es/install/update-requirement.mdx b/snippets/es/install/update-requirement.mdx deleted file mode 100644 index 58b8ec4a0e..0000000000 --- a/snippets/es/install/update-requirement.mdx +++ /dev/null @@ -1,44 +0,0 @@ -{/* translationSourceHash: 67d1eacd */} - - - **Método recomendado**: Usa el script de lote `ComfyUI_windows_portable\update\update_comfyui.bat`, que actualizará tanto el código de ComfyUI como todas las dependencias de Python. - - **Actualización manual de dependencias**: - Si necesitas actualizar las dependencias manualmente, usa el siguiente comando: - ```bash - # Abre la línea de comandos en el directorio de la versión portable - .\python_embeded\python.exe -m pip install -r ComfyUI\requirements.txt - ``` - - - - - - Si usas Conda para administrar entornos de Python, activa tu entorno primero: - ```bash - conda activate comfyui # o el nombre de otro entorno - ``` - - - Navega al directorio raíz de ComfyUI y actualiza el código con Git: - ``` - cd - git pull - ``` - - - Actualiza las dependencias de ComfyUI. Este paso es crucial, especialmente para el `comfyui-frontend-package`: - ``` - pip install -r requirements.txt - ``` - - - - - - La versión Desktop normalmente gestiona las actualizaciones de dependencias de forma automática. Si tienes problemas: - 1. **Verifica si la actualización automática** está habilitada - 2. **Activa la actualización manualmente**: Menú → Ayuda → Buscar actualizaciones - 3. **Reinstala la versión Desktop** (en casos extremos) - - \ No newline at end of file diff --git a/snippets/es/install/user-directory.mdx b/snippets/es/install/user-directory.mdx deleted file mode 100644 index ea2588e84d..0000000000 --- a/snippets/es/install/user-directory.mdx +++ /dev/null @@ -1,46 +0,0 @@ -{/* translationSourceHash: 7cf25588 */} -El directorio de usuario de ComfyUI es donde se almacenan tus configuraciones personales, flujos de trabajo y personalizaciones. La ubicación depende de tu tipo de instalación: - - - -``` -C:\Users\\AppData\Roaming\ComfyUI\user -``` - - -``` -~//ComfyUI/user -``` - - -``` -~/.config/ComfyUI/user -``` - - -El directorio de usuario se encuentra en tu carpeta de instalación de ComfyUI: -``` -/user -``` - -Por ejemplo, si clonaste ComfyUI en `C:\ComfyUI`, tu directorio de usuario sería `C:\ComfyUI\user\default` (o `C:\ComfyUI\user\john` si configuraste un nombre de usuario personalizado). - - -ComfyUI admite varios usuarios por instalación. Si no configuraste un nombre de usuario personalizado, se usa "default" de forma predeterminada. Cada usuario tiene su propio subdirectorio dentro de la carpeta `user`. - - - -El directorio de usuario se encuentra en tu carpeta portátil de ComfyUI: -``` -/ComfyUI/user -``` - -Por ejemplo: `ComfyUI_windows_portable/ComfyUI/user/default` - - -ComfyUI admite varios usuarios por instalación. Si no configuraste un nombre de usuario personalizado, se usa "default" de forma predeterminada. Cada usuario tiene su propio subdirectorio dentro de la carpeta `user`. - - - - -Esta ubicación contiene tus flujos de trabajo, configuraciones y otros archivos específicos de cada usuario. \ No newline at end of file diff --git a/snippets/es/intel-install.mdx b/snippets/es/intel-install.mdx deleted file mode 100644 index 9054624a7e..0000000000 --- a/snippets/es/intel-install.mdx +++ /dev/null @@ -1,8 +0,0 @@ -{/* translationSourceHash: 3670e03e */} -Las GPU Intel Arc (Arc serie A, Arc serie B y procesadores Core Ultra con Arc Graphics) son compatibles a través del backend XPU nativo de PyTorch. Las GPU Intel usan XPU, no CUDA. - -```bash -pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu -``` - -Asegúrate de que tu [controlador de GPU Intel](https://www.intel.com/content/www/us/en/developer/articles/tool/pytorch-prerequisites-for-intel-gpu.html) esté instalado y actualizado. No instales los wheels de CUDA. Si ComfyUI sigue sin detectar la GPU, consulta [solución de problemas de GPU Intel](/troubleshooting/overview#intel-gpu-issues). \ No newline at end of file diff --git a/snippets/es/interface/cancel-bypass.mdx b/snippets/es/interface/cancel-bypass.mdx deleted file mode 100644 index b0562e48fb..0000000000 --- a/snippets/es/interface/cancel-bypass.mdx +++ /dev/null @@ -1,11 +0,0 @@ -{/* translationSourceHash: 987c7169 */} -### Cómo cambiar el estado Omitir de un nodo - -Cuando un nodo se establece en estado Omitir, los datos que pasan a través de él no se verán afectados por el nodo y se enviarán directamente a la salida. Solemos establecer nodos en estado Omitir cuando no los necesitamos. -Aquí tienes tres formas de cambiar el estado Omitir de un nodo: - -![Alternar Omitir](/images/interface/nodes/cancel-bypass.jpg) - -1. Después de seleccionar el nodo, haz clic en la flecha de la sección de indicadores del cuadro de herramientas de selección para cambiar rápidamente el estado Omitir del nodo -2. Después de seleccionar el nodo, haz clic derecho en el nodo y selecciona `Mode` -> `Always` para cambiar al modo Always -3. Después de seleccionar el nodo, haz clic derecho en el nodo y selecciona la opción `Bypass` para cambiar el estado Omitir \ No newline at end of file diff --git a/snippets/es/interface/settings-menu-context.mdx b/snippets/es/interface/settings-menu-context.mdx deleted file mode 100644 index 55040d3821..0000000000 --- a/snippets/es/interface/settings-menu-context.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 9bf37611 */} - -Las configuraciones descritas en esta página se encuentran en el **menú de configuraciones dentro de la aplicación de ComfyUI**. Puedes abrirlo navegando a **Configuraciones** (icono de engranaje) o usando el atajo de teclado `Ctrl + ,`, y luego seleccionar la categoría correspondiente para ver y configurar estas opciones. - \ No newline at end of file diff --git a/snippets/es/interface/supported-languages.mdx b/snippets/es/interface/supported-languages.mdx deleted file mode 100644 index 7a60230d19..0000000000 --- a/snippets/es/interface/supported-languages.mdx +++ /dev/null @@ -1,18 +0,0 @@ -{/* translationSourceHash: 55b1b5f7 */} -Actualmente, ComfyUI es compatible con los siguientes idiomas: - -- English(en) -- 中文(简体)(zh) -- 中文(繁體)(zh-TW) -- Français(fr) -- 한국어(ko) -- Русский(ru) -- Español(es) -- 日本語(ja) -- العربية(ar) -- Deutsch(de) -- עברית(he) -- Italiano(it) -- فارسی(fa) -- Português (BR)(pt-BR) -- Türkçe(tr) \ No newline at end of file diff --git a/snippets/es/mac-silicon-install.mdx b/snippets/es/mac-silicon-install.mdx deleted file mode 100644 index 1d2462a983..0000000000 --- a/snippets/es/mac-silicon-install.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: b4ddc620 */} -``` bash -conda install pytorch-nightly::pytorch torchvision torchaudio -c pytorch-nightly -``` diff --git a/snippets/es/nvidia-install.mdx b/snippets/es/nvidia-install.mdx deleted file mode 100644 index 872fd3d3bf..0000000000 --- a/snippets/es/nvidia-install.mdx +++ /dev/null @@ -1,13 +0,0 @@ -{/* translationSourceHash: b76ad28b */} -``` -pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130 -``` - -También puedes instalar la versión nightly de PyTorch. - - -Instalar la versión nightly (puede ser más arriesgado) -``` -pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu132 -``` - diff --git a/snippets/es/pip-install.mdx b/snippets/es/pip-install.mdx deleted file mode 100644 index ec638f1ab4..0000000000 --- a/snippets/es/pip-install.mdx +++ /dev/null @@ -1,5 +0,0 @@ -{/* translationSourceHash: 9853d556 */} -```bash -cd ComfyUI -pip install -r requirements.txt -``` diff --git a/snippets/es/run-comfy.mdx b/snippets/es/run-comfy.mdx deleted file mode 100644 index b75139d87a..0000000000 --- a/snippets/es/run-comfy.mdx +++ /dev/null @@ -1,9 +0,0 @@ -{/* translationSourceHash: 07a843d0 */} -Inicia la aplicación - -``` -cd ComfyUI -python main.py -``` - -Ejecuta `python main.py --help` para ver la ayuda integrada, o consulta la [Referencia de indicadores de inicio](/development/comfyui-server/startup-flags) para obtener una lista completa de las opciones de línea de comandos. \ No newline at end of file diff --git a/snippets/es/sdk/surfaces.mdx b/snippets/es/sdk/surfaces.mdx deleted file mode 100644 index faab3b8e0f..0000000000 --- a/snippets/es/sdk/surfaces.mdx +++ /dev/null @@ -1,26 +0,0 @@ -{/* translationSourceHash: cd0a663c */} -{/* - Apertura compartida que nombra ambas superficies del SDK, importada por: - development/api-development/sdks.mdx (la página de Comfy Cloud / Comfy API v2) - development/comfy-router/api.mdx (la página del Router) - Vive aquí para que ninguna de las dos páginas describa el paquete como si fuera la - única superficie. Edita aquí, no en ninguna de las dos páginas. - - El quickstart.mdx propio del Router NO está deliberadamente en esa lista: es de - propiedad del sync (se escribe upstream y se republica aquí tal cual, ver - .github/scripts/sync-owned), así que un import añadido allí sería revertido por el - siguiente sync. api.mdx es la primera página editable en la navegación del Router. -*/} - -**Un paquete, dos superficies.** `comfy-sdk` (PyPI) y `@comfyorg/sdk` (npm) incluyen dos clientes que hablan con dos servicios diferentes. Los nombres de los métodos se repiten entre ambos (`run`, `submit`, `events`) y significan cosas distintas en cada uno, así que revisa qué cliente construye un fragmento de código antes de copiarlo. - -| Superficie | Qué hace | Cómo accedes a ella | URL base | Autenticación | -|---|---|---|---|---| -| **[Comfy Router](/development/comfy-router/quickstart)** | Llama a un modelo socio (FLUX, Veo, Gemini, Kling) con el cuerpo de solicitud propio de ese proveedor y devuelve su respuesta nativa | Python: `client.models` en un `Comfy()`. TypeScript: `comfy.models` en el espacio de nombres `comfy` a nivel de módulo | `https://api.comfy.org`, ruta `/v2/models/{provider}/{model}` | `COMFY_API_KEY`, o `comfy.config({ credentials })` | -| **[Comfy Cloud y Comfy API v2](/development/api-development/sdks)** | Ejecuta un flujo de trabajo de ComfyUI en formato API de principio a fin: sube recursos, envía el gráfico, sigue la tarea y descarga las salidas | `Comfy(api_key=...)` / `new Comfy({ apiKey })`, luego `client.workflows`, `client.assets`, `client.jobs` | `https://cloud.comfy.org` de forma predeterminada, o lo que indique `COMFY_BASE_URL` | `api_key` / `apiKey` en el constructor | - -Ninguna superficie envuelve a la otra, y una misma clave API creada en [tu espacio de trabajo de Comfy](https://platform.comfy.org/profile/api-keys) funciona para ambas. - - - Los dos lenguajes exponen la superficie del Router de manera distinta. En Python, `Comfy()` incluye ambas: `client.models.run(...)` para el Router y `client.workflows` / `client.assets` / `client.jobs` para Cloud. En TypeScript son exportaciones separadas con nombres deliberadamente similares: `comfy` (en minúsculas, el espacio de nombres a nivel de módulo) contiene `comfy.models`, mientras que `Comfy` (la clase) es el cliente de Cloud y no tiene `.models`. - \ No newline at end of file diff --git a/snippets/es/sdk/versions.mdx b/snippets/es/sdk/versions.mdx deleted file mode 100644 index 78d0acc61e..0000000000 --- a/snippets/es/sdk/versions.mdx +++ /dev/null @@ -1,11 +0,0 @@ -{/* translationSourceHash: ec63c2de */} -{/* - FUENTE ÚNICA DE VERDAD para la versión publicada del SDK. Cada página que indica una - versión importa este fragmento en lugar de escribir su propio número, de modo que un lanzamiento - actualiza un solo archivo. No agregues un número de versión a una página del SDK; agrégalo aquí. - Última comprobación contra los registros: 2026-10-10. -*/} - - - **Versión actual: 0.5.0.** [`comfy-sdk`](https://pypi.org/project/comfy-sdk/) en PyPI y [`@comfyorg/sdk`](https://www.npmjs.com/package/@comfyorg/sdk) en npm se publican juntos y comparten un número de versión. Instala la última versión (`pip install comfy-sdk`, `npm install @comfyorg/sdk`) o indica un rango en lugar de anclar una versión exacta. Los dos ecosistemas lo expresan de forma distinta: `comfy-sdk>=0.5` es un límite inferior y acepta versiones menores posteriores, mientras que `@comfyorg/sdk@^0.5` es el rango compatible de npm para `0.5.x` y no llega hasta `0.6.0`, así que hay que elevar el rango con circunflejo cuando se publica una nueva versión menor. Usa `@comfyorg/sdk@>=0.5.0` si quieres que el lado de npm también siga las versiones menores posteriores. Las páginas del registro son la fuente autoritativa si esta nota se queda desactualizada. - \ No newline at end of file diff --git a/snippets/es/tutorials/basic/installation-models.mdx b/snippets/es/tutorials/basic/installation-models.mdx deleted file mode 100644 index 394d9e39d8..0000000000 --- a/snippets/es/tutorials/basic/installation-models.mdx +++ /dev/null @@ -1,7 +0,0 @@ -{/* translationSourceHash: 950ff9f3 */} -Asegúrate de tener al menos un archivo de modelo SD1.5 en la carpeta `ComfyUI/models/checkpoints`. Si no estás seguro de cómo instalar un modelo, consulta la sección [Inicia el viaje de dibujo con IA de ComfyUI](/es/get_started/first_generation#3-instalación-de-modelos) para ver las instrucciones de instalación de modelos. - -Puedes usar los siguientes modelos: -- [v1-5-pruned-emaonly-fp16.safetensors](https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/blob/main/v1-5-pruned-emaonly-fp16.safetensors) -- [Dreamshaper 8](https://civitai.com/models/4384?modelVersionId=128713) -- [Anything V5](https://civitai.com/models/9409?modelVersionId=30163) \ No newline at end of file diff --git a/snippets/es/tutorials/flux/prompt-techniques.mdx b/snippets/es/tutorials/flux/prompt-techniques.mdx deleted file mode 100644 index 459ca3b0ae..0000000000 --- a/snippets/es/tutorials/flux/prompt-techniques.mdx +++ /dev/null @@ -1,59 +0,0 @@ -{/* translationSourceHash: a819d4a4 */} -## Técnicas de prompts para FLUX Kontext - -### 1. Modificaciones básicas -- Simple y directo: `"Change the car color to red"` -- Mantén el estilo: `"Change to daytime while maintaining the same style of the painting"` - -### 2. Transferencia de estilo -**Principios:** -- Nombra el estilo con claridad: `"Transform to Bauhaus art style"` -- Describe las características: `"Transform to oil painting with visible brushstrokes, thick paint texture"` -- Conserva la composición: `"Change to Bauhaus style while maintaining the original composition"` - -### 3. Consistencia de personajes -**Marco de trabajo:** -- Descripción específica: `"The woman with short black hair"` en lugar de "ella" -- Conserva las características: `"while maintaining the same facial features, hairstyle, and expression"` -- Modificaciones paso a paso: cambia primero el fondo y luego las acciones - -### 4. Edición de texto -- Usa comillas: `"Replace 'joy' with 'BFL'"` -- Mantén el formato: `"Replace text while maintaining the same font style"` - -## Soluciones a problemas comunes - -### El personaje cambia demasiado -❌ Incorrecto: `"Transform the person into a Viking"` -✅ Correcto: `"Change the clothes to be a viking warrior while preserving facial features"` - -### Cambios en la posición de la composición -❌ Incorrecto: `"Put him on a beach"` -✅ Correcto: `"Change the background to a beach while keeping the person in the exact same position, scale, and pose"` - -### Aplicación imprecisa del estilo -❌ Incorrecto: `"Make it a sketch"` -✅ Correcto: `"Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture"` - -## Principios fundamentales - -1. **Sé específico y claro**: usa descripciones precisas y evita términos vagos -2. **Edición paso a paso**: divide las modificaciones complejas en varios pasos simples -3. **Preservación explícita**: indica qué debe permanecer sin cambios -4. **Selección de verbos**: usa "cambiar" y "reemplazar" en lugar de "transformar" - -## Plantillas de buenas prácticas - -**Modificación de objeto:** -`"Change [object] to [new state], keep [content to preserve] unchanged"` - -**Transferencia de estilo:** -`"Transform to [specific style], while maintaining [composition/character/other] unchanged"` - -**Reemplazo de fondo:** -`"Change the background to [new background], keep the subject in the exact same position and pose"` - -**Edición de texto:** -`"Replace '[original text]' with '[new text]', maintain the same font style"` - -> **Recuerda:** Cuanto más específico, mejor. Kontext destaca por comprender instrucciones detalladas y mantener la consistencia. \ No newline at end of file diff --git a/snippets/es/tutorials/partner-nodes/faq.mdx b/snippets/es/tutorials/partner-nodes/faq.mdx deleted file mode 100644 index b007a505fc..0000000000 --- a/snippets/es/tutorials/partner-nodes/faq.mdx +++ /dev/null @@ -1,79 +0,0 @@ -{/* translationSourceHash: cf42f8dd */} - - - - Actualiza tu ComfyUI a la última versión (el último commit o la última [versión de escritorio](https://www.comfy.org/download)). - Es posible que agreguemos más compatibilidad con API en el futuro y se actualicen los nodos correspondientes, así que mantén tu ComfyUI actualizado. - - - Ten en cuenta que debes distinguir entre la versión nocturna y la versión de lanzamiento. - En algunos casos, la última versión `release` puede no actualizarse a tiempo en comparación con la versión `nightly`. - Como todavía estamos iterando rápidamente, asegúrate de usar la última versión cuando no encuentres el nodo correspondiente. - - - - - - El acceso a la API requiere que tu solicitud actual se base en un entorno de red seguro. Los requisitos actuales para acceder a la API son los siguientes: - - La red local solo permite el acceso desde `127.0.0.1` o `localhost`, lo que puede significar que no puedas usar los Nodos asociados en un servicio de ComfyUI iniciado con el parámetro `--listen` en un entorno de LAN. - - Poder acceder a nuestro servicio de API normalmente (es posible que se requiera un servicio de proxy en algunas regiones). - - Tu cuenta no tiene suficientes [créditos](/interface/credits). - - - - - Actualmente, solo se admite el acceso desde `127.0.0.1` o `localhost`. - - Asegúrate de que tu cuenta tenga suficientes créditos. - - - - Los Nodos asociados requieren créditos para las llamadas a la API de modelos de código cerrado, por lo que no admiten el uso gratuito. - - - - Consulta la siguiente documentación: - 1. [Cuenta de Comfy](/interface/user): busca la sección `User` en el menú de configuraciones para iniciar sesión. - 2. [Créditos](/interface/credits): después de iniciar sesión, la interfaz de configuraciones mostrará el menú de créditos. Puedes comprar créditos en `Settings` → `Credits`. Usamos un sistema de prepago, por lo que no habrá cargos inesperados. - 3. Completa el pago a través de Stripe. - 4. Comprueba si los créditos se han actualizado. Si no es así, intenta reiniciar o actualizar la página. - - - - Actualmente, no admitimos reembolsos de créditos. - Si crees que hay un error que resulte en un saldo sin usar debido a problemas técnicos, por favor [contacta con soporte](mailto:support@comfy.org). - - - - Los créditos no están pensados para usarse como un saldo negativo ni como una línea de crédito. Sin embargo, debido a condiciones de carrera en las que los nodos asociados no siempre informan los costos antes de la ejecución, una sola ejecución puede consumir más créditos que tu saldo restante y dar como resultado temporalmente un saldo negativo después de completarse. Cuando tu saldo sea negativo, no podrás ejecutar Nodos asociados hasta que recargues y restaures un saldo positivo. Asegúrate de tener suficientes créditos antes de realizar llamadas a la API. - - - - Visita el menú [Créditos](/interface/credits) después de iniciar sesión para consultar los créditos correspondientes. - - - - Actualmente, los Nodos asociados todavía están en fase de pruebas y aún no admiten esta función, pero hemos considerado agregarla. - - - - Sí, la expiración depende del tipo de créditos: - - **Créditos mensuales**: expiran al final de tu período de facturación - - **Créditos de recarga**: expiran 1 año a partir de la fecha de compra - - - - No, tus créditos no se pueden transferir a otros usuarios y están limitados a la cuenta con la sesión iniciada actualmente, pero no restringimos la cantidad de dispositivos que pueden iniciar sesión. - - - - No limitamos la cantidad de dispositivos que pueden iniciar sesión; puedes usar tu cuenta donde quieras. - - - - Envía una solicitud por correo electrónico a support@comfy.org y eliminaremos tu información. - - - - Los Nodos asociados envían tus entradas (prompts, imágenes y otro contenido) a proveedores externos para su procesamiento. Estos proveedores aplican sus propias políticas de moderación de contenido. No envíes contenido NSFW ni otro contenido prohibido a los Nodos API. - - - \ No newline at end of file diff --git a/snippets/es/tutorials/partner-nodes/req-hint.mdx b/snippets/es/tutorials/partner-nodes/req-hint.mdx deleted file mode 100644 index 112cdb32b0..0000000000 --- a/snippets/es/tutorials/partner-nodes/req-hint.mdx +++ /dev/null @@ -1,4 +0,0 @@ -{/* translationSourceHash: 1afc47c6 */} - -Para usar los Nodos asociados, debes asegurarte de haber iniciado sesión correctamente y de estar utilizando un entorno de red permitido. Consulta la sección [Descripción general de los Nodos asociados](/tutorials/partner-nodes/overview) de la documentación para conocer los requisitos específicos de uso de los Nodos asociados. - \ No newline at end of file diff --git a/snippets/es/tutorials/partner-nodes/requirements.mdx b/snippets/es/tutorials/partner-nodes/requirements.mdx deleted file mode 100644 index fa30477424..0000000000 --- a/snippets/es/tutorials/partner-nodes/requirements.mdx +++ /dev/null @@ -1,55 +0,0 @@ -{/* translationSourceHash: c196b1a2 */} -## Requisitos previos para usar los Nodos asociados - -Para usar los Nodos asociados, se deben cumplir los siguientes requisitos: - - -### 1. Requisitos de versión de ComfyUI - -Actualiza tu ComfyUI a la última versión, ya que es posible que agreguemos más compatibilidad con API en el futuro y los nodos correspondientes se actualicen, así que mantén tu ComfyUI actualizado. - - -Ten en cuenta la diferencia entre las versiones nocturna y de lanzamiento. Recomendamos usar la versión `nightly` (que es la confirmación de código más reciente), ya que es posible que la versión de lanzamiento no se actualice de manera oportuna. -Esto se refiere a la versión de desarrollo y a la versión estable, y como todavía estamos iterando rápidamente, es posible que este documento no se actualice con prontitud, así que presta atención a las diferencias entre versiones. - - -### 2. Requisitos de cuenta y créditos - -Debes haber iniciado sesión en tu ComfyUI con una [cuenta de Comfy](/interface/user) y tener un saldo de [créditos](/interface/credits) mayor que 0. - -Inicia sesión mediante `Settings` -> `User`: - -![ComfyUI User Interface](/images/interface/setting/user.jpg) - -Ve a `Settings` -> `Credits` para comprar créditos -![Credits Interface](/images/interface/setting/purchase-1.jpg) - -Consulta la documentación correspondiente sobre la cuenta y los créditos para asegurar este requisito: -- [Cuenta de Comfy](/interface/user): busca la sección `User` en el menú de configuraciones para iniciar sesión. -- [Créditos](/interface/credits): después de iniciar sesión, la interfaz de configuraciones mostrará un menú de créditos donde puedes comprar créditos. Usamos un sistema de prepago, así que no habrá cargos inesperados. - - -### 3. Requisitos del entorno de red - -El acceso a la API requiere que tus solicitudes actuales se realicen en un entorno de red seguro. Los requisitos actuales para el acceso a la API son los siguientes: - - - La red local solo permite el acceso desde `127.0.0.1` o `localhost`, y puedes usar directamente la función de inicio de sesión. -- Si accedes desde una red de área local o un sitio web que no esté en la lista de permitidos, inicia sesión con una Clave API. Consulta [Iniciar sesión con una Clave API](/interface/user#logging-in-with-an-api-key). -- Deberías poder acceder normalmente a nuestro servicio de API (en algunas regiones, es posible que necesites usar un servicio de proxy). -- El acceso debe realizarse en un entorno `https` para garantizar la seguridad de las solicitudes. - - -Acceder en un contexto no seguro conlleva riesgos importantes, lo que puede provocar las siguientes consecuencias: -1. La autenticación puede ser robada, lo que ocasiona la filtración de la información de tu cuenta. -2. Tu cuenta puede ser utilizada de forma maliciosa, lo que resulta en pérdidas financieras. - -Incluso si en el futuro abrimos esta restricción, recomendamos encarecidamente no acceder a los servicios de API mediante solicitudes de red no seguras debido a los altos riesgos que implica. - - - -### 4. Usar los nodos correspondientes - -**Agregar al flujo de trabajo**: agrega el Nodo asociado a tu flujo de trabajo tal como lo harías con otros nodos. -**Ejecutar**: configura los parámetros y luego ejecuta el flujo de trabajo. - -![Partner Nodes](/images/tutorial/api_nodes/sidebar.jpg) \ No newline at end of file diff --git a/snippets/es/tutorials/partner-nodes/supported-models.mdx b/snippets/es/tutorials/partner-nodes/supported-models.mdx deleted file mode 100644 index 745c8e5d00..0000000000 --- a/snippets/es/tutorials/partner-nodes/supported-models.mdx +++ /dev/null @@ -1,19 +0,0 @@ -{/* translationSourceHash: e44e59f5 */} -- **ElevenLabs**: Texto a voz, Voz a voz, Texto a diálogo, Texto a efectos de sonido, Aislamiento de voz, Voz a texto -- **Black Forest Labs**: FLUX 1.1[pro] Ultra, FLUX.1[pro], FLUX.1 Kontext Pro, FLUX.1 Kontext Max, FLUX.1 Canny Control, FLUX.1 Depth Control, FLUX.1 Expand, FLUX.1 Fill -- **Google**: Veo 3.1, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini Image -- **Ideogram**: V3, V2, V1 -- **Kling**: 3.0, 3.0 Omni, 2.6, O3, O3 Omni, Control de movimiento y efectos -- **Luma**: Photon, Photon Flash, Ray 3.2, UNI-1, UNI-1 Max -- **MiniMax**: Texto a vídeo, Imagen a vídeo, Hailuo-02, T2V-01, I2V-01 -- **Moonvalley**: Imagen a vídeo, Texto a vídeo, Vídeo a vídeo -- **OpenAI**: o1, o1-pro, o3, o4-mini, gpt-4o, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5-mini, gpt-5-nano, DALL·E 2, DALL·E 3, GPT-Image-1 -- **PixVerse**: V4 y efectos -- **Pika**: 2.2 -- **Recraft**: V3, V2 y varias herramientas -- **Hunyuan 3D**: Texto a 3D, Imagen a 3D, Multivista a 3D -- **Rodin**: Generación 3D -- **Runway**: Texto a imagen, Imagen a vídeo (Gen4 Turbo), Aleph2 -- **Stability AI**: Stable Image Ultra, Stable Diffusion 3.5 Large, Stable Diffusion 3.5 Medium, Image Upscale -- **Tripo**: v1-4, v2.0, v2.5 -- **Vidu**: Texto a vídeo (Q1/Q2/Q3), Imagen a vídeo (Q1/Q2/Q3), Vídeo de referencia (Q1/Q2), Inicio-Fin a vídeo (Q1/Q2), Extensión de vídeo (Q1) \ No newline at end of file diff --git a/snippets/es/tutorials/update-reminder.mdx b/snippets/es/tutorials/update-reminder.mdx deleted file mode 100644 index 3e4c26f50a..0000000000 --- a/snippets/es/tutorials/update-reminder.mdx +++ /dev/null @@ -1,22 +0,0 @@ -{/* translationSourceHash: 4f43b9ae */} - - - - Asegúrate de que tu ComfyUI esté actualizado. - - [Descargar ComfyUI](https://www.comfy.org/download) - - [Guía de actualización](/es/installation/update_comfyui) - - Los flujos de trabajo de esta guía se encuentran en las [Plantillas de flujos de trabajo](/interface/features/template). - Si no los encuentras en las plantillas, es posible que tu ComfyUI esté desactualizado. - - Si faltan nodos al cargar un flujo de trabajo, estas son las posibles razones: - 1. No estás usando la última versión de ComfyUI (versión nocturna) - 2. Algunos nodos fallaron al importarse durante el inicio - - - - [Cloud](https://cloud.comfy.org) se actualizará después del lanzamiento estable de ComfyUI. - - Por lo tanto, si notas que falta algún nodo central en este documento, puede deberse a que los nuevos nodos centrales aún no se han publicado en la última versión estable. Espera al próximo lanzamiento estable. - - - \ No newline at end of file From 6a69a720d09a9c03299fd499fdff86d679c21d50 Mon Sep 17 00:00:00 2001 From: comfyui-wiki Date: Sun, 25 Oct 2026 02:27:44 -0700 Subject: [PATCH 2/2] test: keep router-pricing link fixtures independent of translation state The #2070 revert restored the stale ideogram-4-5 fixture that fails once that page is translated. Keep the #2071 fixture fix on main so CI stays green; this is not Spanish locale content. --- .../i18n/translate-router-pricing.test.ts | 138 ------------------ 1 file changed, 138 deletions(-) diff --git a/.github/scripts/i18n/translate-router-pricing.test.ts b/.github/scripts/i18n/translate-router-pricing.test.ts index 6e69360dfa..e69de29bb2 100644 --- a/.github/scripts/i18n/translate-router-pricing.test.ts +++ b/.github/scripts/i18n/translate-router-pricing.test.ts @@ -1,138 +0,0 @@ -import { expect, test } from "bun:test"; -import { existsSync, readFileSync, statSync } from "node:fs"; -import { join } from "node:path"; -import { render } from "../snippets/gen-router-pricing.ts"; -import { REPO_ROOT } from "./i18n-config.mjs"; -import { keepLinksInsideLocale, localizedPageContent } from "./translate-router-pricing.ts"; - -const PAGE = "development/comfy-router/pricing.mdx"; -const LOCALES = ["ja", "zh", "ko"] as const; -const links = (content: string) => [...content.matchAll(/\]\((\/[^)]+)\)/g)].map((match) => match[1]); -const technicalKeys = (content: string) => [...content.matchAll(/`([^`]+)`/g)].map((match) => match[1]); -const providers = (content: string) => [...content.matchAll(/ match[1]); -const numericRates = (content: string) => { - const bothCurrencies = content.replace( - //g, - "$1
$2", - ); - const rows: string[][] = []; - let priceColumns: number[] = []; - for (const line of bothCurrencies.split("\n")) { - if (!line.startsWith("|")) { priceColumns = []; continue; } - const cells = line.split("|").slice(1, -1).map((cell) => cell.trim()); - if (/^(Name|名前|名称|이름)$/.test(cells[0])) { - priceColumns = cells.flatMap((cell, index) => /credits|usd|クレジット|积分|크레딧/i.test(cell) ? [index] : []); - continue; - } - if (cells.every((cell) => /^:?-+:?$/.test(cell))) continue; - // Parse only price columns. A price can be bare under a token-unit header, - // or inline after a media/cache label, with its unit in the cell. - rows.push(priceColumns.flatMap((index) => [...cells[index].matchAll(/(?:^|)(?:[^<>:]+:\s*)?\$?(\d{1,3}(?:,\d{3})*(?:\.\d+)?|\d+(?:\.\d+)?)(?:\s*\/|(?=)|$)/g)].map((match) => match[1].replaceAll(",", "")))); - } - return rows; -}; - -test("numeric parity includes bare and inline prices without model, option, or unit numbers", () => { - const fixture = `| Name | Model ID | Option | Input credits / 1M tokens | Output credits / 1M tokens | -| --- | --- | --- | ---: | ---: | -| GPT 5.6 | \`openai/gpt-5.6\` | 1080p | 52.75
Audio: 105.5
Write 5m: 131.875 | 316.5 | - -| Name | Model ID | Credits | -| --- | --- | ---: | -| Model 30 | \`provider/model-30\` | 4.25 / 30 frames (rounded up) |`; - expect(numericRates(fixture)).toEqual([["52.75", "105.5", "131.875", "316.5"], ["4.25"]]); - expect(numericRates(fixture.replace("Audio: 105.5", "音声: 105.6"))).not.toEqual(numericRates(fixture)); -}); - -for (const locale of LOCALES) { - test(`${locale} pricing preserves rate numbers, model IDs, and link targets`, () => { - const english = render(); - const localized = localizedPageContent(english, locale); - expect(numericRates(localized)).toEqual(numericRates(english)); - expect(technicalKeys(localized)).toEqual(technicalKeys(english)); - expect(providers(localized)).toEqual(providers(english)); - - // The same links in the same order: a translated target keeps its exact - // path, an untranslated one stays inside the locale (nearest localized - // page) instead of falling back to the English page. - const localizedLinks = links(localized); - const englishLinks = links(english); - expect(localizedLinks.length).toEqual(englishLinks.length); - localizedLinks.forEach((link, index) => { - if (link.replace(/^\/(ja|zh|ko)\//, "/") === englishLinks[index]) return; - expect(link.startsWith(`/${locale}/`)).toBe(true); - }); - - expect(localized).not.toMatch(/Metronome|Pricing source|Extra conditions|Serving provider/); - expect(localized).toContain("translationSourceHash:"); - expect(localizedPageContent(english, locale)).toBe(localized); - }); - - test(`${locale} pricing keeps every link inside the locale and points at an existing page`, () => { - for (const link of links(localizedPageContent(render(), locale))) { - const path = link.split(/[?#]/)[0]; - if (!path.startsWith("/") || path.startsWith("/images/") || path.startsWith("/snippets/")) continue; - - // A localized page must not send readers to the English page just because - // the exact target has not been translated yet. - expect(path.startsWith(`/${locale}/`)).toBe(true); - - // Only real pages count, same contract as nearestExistingLocaleTarget. - const localized = path.slice(`/${locale}/`.length); - expect([ - join(REPO_ROOT, locale, `${localized}.mdx`), - join(REPO_ROOT, locale, localized, "index.mdx"), - ].some(existsSync)).toBe(true); - } - }); -} - -test("all pricing locales match deterministic generation including translation metadata", () => { - const english = readFileSync(join(REPO_ROOT, PAGE), "utf8"); - expect(english).toBe(render()); - for (const locale of LOCALES) { - expect(readFileSync(join(REPO_ROOT, locale, PAGE), "utf8")).toBe( - localizedPageContent(english, locale), - ); - } -}); - -test("stale English pricing cannot produce apparently fresh translations", () => { - expect(() => localizedPageContent(`${render()}\nStale English content.`, "ja")).toThrow("English Router pricing page is stale"); -}); - -test("pricing check validates all locales without writing them", () => { - const files = [PAGE, ...LOCALES.map((locale) => `${locale}/${PAGE}`)].map((path) => join(REPO_ROOT, path)); - const before = files.map((path) => ({ content: readFileSync(path, "utf8"), modified: statSync(path).mtimeMs })); - const result = Bun.spawnSync(["bun", ".github/scripts/i18n/translate-router-pricing.ts", "--check"], { cwd: REPO_ROOT }); - expect(result.stderr.toString()).toBe(""); - expect(result.exitCode).toBe(0); - expect(files.map((path) => ({ content: readFileSync(path, "utf8"), modified: statSync(path).mtimeMs }))).toEqual(before); -}); - -test("keepLinksInsideLocale keeps an untranslated target inside the locale", () => { - const untranslated = - "See [Ideogram 4.5](/ja/development/comfy-router/models/ideogram/ideogram-4-5/code)."; - const kept = keepLinksInsideLocale(untranslated, "ja"); - expect(kept).toContain("](/ja/development/comfy-router/models)"); - expect(kept).not.toContain("/development/comfy-router/models/ideogram"); -}); - -test("keepLinksInsideLocale keeps the exact target and fragment when it exists", () => { - const translated = - "See [Ideogram V4](/ja/development/comfy-router/models/ideogram/ideogram-v4/code#examples)."; - expect(keepLinksInsideLocale(translated, "ja")).toBe(translated); -}); - -test("keepLinksInsideLocale drops the fragment when it falls back to an ancestor page", () => { - const fallback = - "See [Ideogram 4.5](/ja/development/comfy-router/models/ideogram/ideogram-4-5/code#examples)."; - const kept = keepLinksInsideLocale(fallback, "ja"); - expect(kept).toContain("](/ja/development/comfy-router/models)"); - expect(kept).not.toContain("#examples"); -}); - -test("keepLinksInsideLocale falls back to English only when the locale has no page on that path", () => { - const nowhere = "See [Nowhere](/ja/no-such-area/deeper/code)."; - expect(keepLinksInsideLocale(nowhere, "ja")).toContain("](/no-such-area/deeper/code)"); -});