Escalado gratuito con IA en ComfyUI con Ultimate SD Upscale y SD 1.5, incluso con 4 GB de VRAM

Escala fotos y renders 4× (o 16× encadenando) en local y gratis: Ultimate SD Upscale con un checkpoint SD 1.5 y un modelo de escalado de OpenModelDB, con teselas de 512 px para que funcione en una GPU de 4 GB.

Anton Tenitsky13 de octubre de 20269 min de lecturaVersión en vídeo más abajo

Esta guía se tradujo del inglés con IA y puede contener errores. Leer el original.

Una tetera de porcelana blanca con forma de calavera, escalada 16 veces hasta 8K con Ultimate SD Upscale

No necesitas una tarjeta de 24 GB ni un servicio en línea para escalar bien una imagen. Ultimate SD Upscale alimenta la GPU con una pequeña tesela cada vez, así que una tarjeta con 4 GB de VRAM puede producir imágenes de 4K y 8K en local, gratis y sin censura. La calidad es realmente buena. Aquí construyo el flujo desde cero, explico los ajustes que importan y muestro dónde funciona y dónde falla.

En resumen

  • Nodos: Ultimate SD Upscale y rgthree (para el comparador de imágenes).
  • Modelos: un checkpoint SD 1.5 (epiCPhotoGasm) más un modelo de escalado de OpenModelDB.
  • Ajustes: 4×, 20–30 steps, dpmpp_2m_sde_gpu / karras, denoise 0,25, teselas de 512 × 512, CFG 6–8.
  • Velocidad con 4 GB: 512 → 2048 px en 73 segundos; 1600 → 6400 px en unos 11 minutos.
  • Más grande: encadena dos nodos para 16×.

¿Nuevo en ComfyUI? Mira fundamentos de nodos de ComfyUI e instalar el ComfyUI Manager.

La vía rápida: carga el flujo

El flujo terminado es gratuito en mi Patreon. También puedes arrastrar a ComfyUI una de sus imágenes de salida: el flujo está guardado en los metadatos de la imagen. Instala los nodos que falten desde el Manager y reinicia.

El flujo recuerda los nombres de los modelos, no los archivos. Si no tienes el mismo modelo de escalado o checkpoint en tus carpetas, el campo muestra «undefined»; elige el tuyo. Sube tu imagen en Load Image y pulsa Queue.

Constrúyelo desde cero

1. Instala los nodos

En Manager → Custom Nodes Manager, instala Ultimate SD Upscale y los nodos ComfyUI de rgthree (tiene el nodo de comparación que uso mucho). Reinicia.

2. El nodo principal y sus entradas

  1. Añade Ultimate SD Upscale. Tiene muchos parámetros; más sobre ellos abajo.
  2. Añade Load Checkpoint con un modelo SD 1.5 (yo uso epiCPhotoGasm) y conecta su modelo y su VAE.
  3. Añade dos nodos CLIP Text Encode para las entradas positive y negative, y déjalos vacíos. Haz clic en el punto gris de cada uno para colapsarlos, ya que no hay nada que ver.
  4. Añade Load Upscale Model y conéctalo.
  5. Añade Load Image con la imagen que quieres escalar, un Save Image para la salida y un Image Comparer de rgthree: la salida escalada en image_a y la original en image_b.
El nodo Ultimate SD Upscale con entradas para image, model, positive, negative, VAE y upscale model, con upscale_by fijándose en 4
Ultimate SD Upscale: imagen, checkpoint, prompts vacíos, VAE y un modelo de escalado.

3. Consigue modelos de escalado en OpenModelDB

OpenModelDB es un gran sitio para encontrar modelos de escalado. Unos son mejores para rostros, otros para objetos, anime o estilos de dibujos animados. Cada página muestra muestras de antes y después, modelos similares y la licencia, así que compruébala si piensas en un uso comercial. Los archivos son pequeños: megabytes, no gigabytes.

Los que uso:

Modelo Para qué es bueno
4x-UltraSharp Detalle nítido; mi modelo por defecto
4x-FaceUpSharpDAT Rostros, más nítido
4x-FaceUpDAT Rostros, más suave y alisado
4x-Nomos2-hq-drct-l Arquitectura; lo uso para rocas
La página de 4x-FaceUpSharpDAT en OpenModelDB con una comparación de rostros de muestra y los detalles de la licencia
OpenModelDB muestra muestras, la licencia y modelos similares para cada escalador.

Pon los archivos en ComfyUI/models/upscale_models/ y luego Edit → Refresh Node Definitions para que aparezcan en la lista.

Cables más ordenados: en Settings (abajo a la izquierda) → LiteGraph, cambia el modo de dibujo de los enlaces de spline a straight o lineal.

Los ajustes que importan

  • upscale_by: 4. El nodo llega hasta 4 veces el original. Puedes encadenar nodos para 16×, 32× y más.
  • Steps: 20–30. 40–50 da una calidad ligeramente mejor pero tarda mucho más; hay un punto de rendimientos decrecientes.
  • Sampler: dpmpp_2m_sde_gpu, que es mejor para imágenes realistas, con el scheduler karras. Vale la pena experimentar con ellos.
  • Denoise: 0,25. Esto es muy importante. Con 1,0 crea una imagen completamente nueva. Con 0,2–0,25 conserva la mayor parte de la imagen y añade algo de detalle; parece que se queda un 90 % y cambia un 10 %. A veces subo a 0,35, que es más o menos el máximo antes de que la imagen empiece a cambiar.
  • Ancho y alto de tesela: 512. SD 1.5 se entrenó con imágenes de 512 × 512, así que funciona mejor con teselas de 512. El nodo divide incluso una imagen enorme en muchas teselas y procesa cada una por separado, y por eso funciona en una tarjeta modesta; solo tarda más. Muchos otros métodos de escalado simplemente fallan cuando te quedas sin VRAM.
  • CFG: 6–8. Más bajo da más variación; muy bajo da ruido. Muy alto crea artefactos como un exceso de nitidez. 8 está bien.
Ajustes de Ultimate SD Upscale: sampler dpmpp_2m_sde_gpu, scheduler karras, denoise 0,25, mode Linear, ancho y alto de tesela 512, mask blur 8
Los ajustes que uso: denoise 0,25 y teselas de 512 px para SD 1.5.

Con un checkpoint SDXL la tesela sería de 1024 × 1024. Lo probé: calidad ligeramente mayor, pero mucho más lento. SD 1.5 a 512 funciona mucho más rápido con una calidad muy parecida.

Prueba con una foto que conozcas bien

Empieza con una imagen que conozcas muy bien. Usé un selfie de Angkor Wat, en Camboya, con dibujos en el fondo y un logotipo en mi camiseta, y lo reduje a 512 × 512 a propósito para ver lo bien que se recuperaba.

La ventana de comandos muestra el tamaño del lienzo, el número de teselas y el progreso. De 512 → 2048 con 4× son 16 teselas. A 4K u 8K el recuento sube rápidamente: 64, 128, 300, 400 teselas.

La consola de ComfyUI mostrando un lienzo de 2048 por 2048, tamaño de tesela 512, 16 teselas en una cuadrícula de 4 por 4, y luego un lienzo de 6400 por 4800 con 130 teselas
La consola muestra el tamaño del lienzo, la cuadrícula de teselas y los segundos por tesela.

En mi portátil de 4 GB tardó 73 segundos. Al arrastrar el deslizador del comparador: el logotipo se mantiene nítido y sin cambios, se conservan las tallas del techo del templo y las gafas se ven exactamente como en la vida real. Eso sí, añadió un grano en mi nariz que no recuerdo haber tenido.

Un selfie dividido por el deslizador del comparador de imágenes, mostrando el original de 512 píxeles y el escalado 4x lado a lado
Antes y después, divididos por el comparador. Las gafas y la pared tallada resisten de cerca.

Cambiar a 4x-FaceUpDAT dio un aspecto más favorecedor y suave. Alisó más la piel e hizo un gran trabajo con las gafas y los ojos, quizá mejor que UltraSharp. Pero mi barba se volvió mucho más sedosa de lo que es, y en primer plano extremo las paredes del fondo cogieron trazos como de pelo.

Un primer plano extremo de la barba y los labios escalados
FaceUpDAT con zoom extremo: piel suave, una barba más sedosa que en la realidad.

Ir más grande, y cuándo deja de ayudar

Para una imagen de 8K, lo más fácil es volver a cargar la salida de 2K en Load Image y ejecutar de nuevo.

Cogí una foto de 400 × 300 de Donald Trump de la Enciclopedia Británica. La primera pasada dio unos 1600 px de ancho. La segunda pasada, 1600 × 1200 → 6400 × 4800, necesitó 130 teselas a unos 4–5 segundos cada una y tardó 683 segundos. Los ordenadores más rápidos pueden hacer un segundo por tesela o menos. El nodo muestra la tesela actual, así que puedes comprobar cuánto queda e irte a tomar un café.

El resultado salió mucho más suave, y no necesariamente de una buena manera. En un zoom ultra se veía mejor, pero en un plano medio no creo que mejorara mucho; la piel perdió calidad por el denoise y el alisado extra. En una segunda pasada puede tener sentido cambiar de modelo, por ejemplo UltraSharp, para evitar que el rostro se alise demasiado.

Comparar el original y el final

El comparador solo se actualiza cuando se ejecuta el grafo, así que para comparar el pequeño original y el resultado de 6K sin volver a escalar: selecciona los nodos de escalado y pulsa Ctrl+B para desactivarlos, añade dos nodos Load Image (la imagen final y el original), conéctalos al comparador y pon en cola. Se ejecuta en unos segundos.

16×: encadena dos nodos de escalado

  1. Selecciona el nodo Ultimate SD Upscale, Ctrl+C, y luego Ctrl+Shift+V para pegarlo con todas sus conexiones.
  2. Conecta la salida de imagen del primer nodo a la entrada de imagen del segundo.
  3. Conecta la salida del segundo nodo a Save Image y al image_a del comparador (el original se queda en image_b).
  4. Ambos nodos comparten el checkpoint, los prompts vacíos y el modelo de escalado. Para usar distintos modelos de escalado en cada pasada, copia también el nodo Load Upscale Model.

Puedes escribir en los prompts y sí afecta al resultado, pero a mí no me funcionó bien, así que los dejo vacíos.

Dos nodos Ultimate SD Upscale encadenados uno tras otro, alimentando Save Image y un Image Comparer que muestra una tetera con forma de calavera
Dos nodos de escalado seguidos: de 512 px a 8K en una sola ejecución.

En el portátil esto puede tardar 30 minutos. No es una tarea trivial para un ordenador con poca VRAM; muchos escaladores que estudié no podían hacerlo en absoluto, y otros añaden demasiado ruido.

Resultados: dónde brilla y dónde falla

Mi tetera calavera, de la guía de fusión de imágenes con imagen a imagen, pasó de 512 px a 8K con UltraSharp, con un detalle altísimo incluso con zoom ultra. Yo la imprimiría y la pondría en la pared.

Una tetera de porcelana blanca con forma de calavera, escalada de 512 píxeles a 8K
De 512 px a 8K con UltraSharp, encadenado dos veces.

Me metí en el escalado con IA por mi propio trabajo. En un frasco de perfume que diseñé en 3D-Coat, los cortes de vóxeles dejan bordes toscos; pasar de 1500 a unos 3000 px los suavizó de maravilla.

Un primer plano extremo del tapón de un frasco de perfume dorado con crestas diagonales, dividido por el deslizador del comparador
Un render de 3D-Coat: los bordes toscos de los vóxeles salen suaves.

En el diseño de un robot, UltraSharp afiló en cambio los bordes dentados de polígonos de 3D-Coat. 4x-FaceUpDAT dio líneas mucho más suaves, las que yo quería. Algunos detalles diminutos del rostro se aplastaron y cambiaron, un coste menor para un gran escalado rápido de un render final.

Un diseño de robot acorazado oscuro con líneas de panel suaves tras el escalado
FaceUpDAT suavizó los bordes dentados que UltraSharp había afilado.

Dónde falló: una foto de corales submarinos tomada con GoPro, de 2500 px de ancho, llevada a 10–12K. Está claro que los modelos no se habían entrenado mucho con corales. Recortar un trozo de 300 px para darle más margen de inventar detalle tampoco ayudó. Para imágenes submarinas necesitaría un modelo de escalado completamente distinto.

Una foto submarina de corales dividida por el comparador, con el lado escalado lleno de textura con rayas y manchas
Un fallo: corales con los que los modelos no se habían entrenado.

En un render antiguo de unas rocas cuyo archivo de escena perdí, el resultado intermedio de 2000–3000 px era realmente bonito. A 8–10K se suavizó demasiado, con ese aspecto de exceso de reducción de ruido; sigue siendo mucho mejor que la imagen original diminuta, pero no era un aspecto que me gustara.

Si conoces otras técnicas de escalado que funcionen mejor, deja un comentario en el vídeo. Este es solo mi flujo.

Ver la versión en vídeo (22:11)

Todo lo anterior también está en el vídeo, si prefieres seguirlo en pantalla. El vídeo está en inglés.

Preguntas frecuentes

¿Puedo escalar imágenes con solo 4 GB de VRAM?

Sí. Ultimate SD Upscale divide la imagen en teselas de 512 × 512 y las procesa una a una. En un portátil de 4 GB, una imagen de 512 px pasó a 2048 px en 73 segundos; una salida de 6400 × 4800 supuso 130 teselas a unos 4–5 segundos cada una.

¿Qué denoise debo usar para escalar?

0,25 conserva la mayor parte de la imagen y añade algo de detalle. 0,35 es más o menos el máximo antes de que la imagen empiece a cambiar. Con 1,0 obtienes una imagen completamente nueva.

¿Cuál es el mejor modelo de escalado?

Depende de la imagen. 4x-UltraSharp mantiene los detalles nítidos; 4x-FaceUpDAT es más suave y alisado, bueno para rostros y para disimular bordes dentados; Nomos2 va bien con arquitectura y rocas. Ninguno funcionó bien con una foto de coral submarino.

¿Cómo escalo más de 4×?

Pasa la salida otra vez por el nodo, o encadena dos nodos Ultimate SD Upscale para 16×. Cuenta con tiempos de render muy largos y vigila el exceso de alisado a partir de 8K.

Anton Tenitsky es artista 3D con más de 15 años en gráficos por ordenador, que ha trabajado con Nickelodeon, Gameloft, Marvel Rivals y muchos otros clientes. Más sobre mí

Guías relacionadas