Serie ComfyUI (XI) — Introducción a ControlNet: control real sobre la forma
- 1 mar
- 14 Min. de lectura
Continuamos la Serie ComfyUI, dedicada a aprender y dominar workflows de IA 100 % en local, paso a paso y con ejemplos reales. En esta entrega damos un salto clave: pasamos de “guiar por estilo” a controlar la estructura de la imagen.
Hasta ahora hemos visto que:
los prompts definen cómo queremos que se vea una imagen,
img2img transforma una imagen base,
pero el resultado puede variar demasiado si el modelo “interpreta” libremente la forma.
Aquí es donde entra ControlNet.
En este artículo aprenderás:
qué es ControlNet y por qué es tan importante,
qué información puede extraer de una imagen (bordes, profundidad, líneas…),
cómo comparar distintos preprocesadores,
y cómo usar Canny Edge y Depth Anything para generar una imagen controlada de verdad.
Todo ello usando un workflow práctico y visual:
📁 WF_ComfyUI_ControlNet.json (descargable al final del artículo)

🎯 Qué vas a lograr
Con este workflow y este artículo aprenderás a:
Entender qué aporta ControlNet frente a img2img tradicional.
Visualizar qué “ve” cada preprocesador de ControlNet a partir de una misma imagen.
Comparar de forma práctica distintos métodos de extracción:
Canny Edge
Lineart
HED
Depth
Depth Anything
Identificar qué tipo de información estructural es útil según el objetivo (líneas, volumen, contorno).
Aplicar ControlNet Canny para fijar la silueta y los bordes.
Aplicar ControlNet Depth Anything para conservar proporciones y volumen.
Combinar dos ControlNet en un mismo workflow sin perder estabilidad.
Generar imágenes donde:
el prompt controla el estilo
y ControlNet controla la forma
Sentar las bases para workflows avanzados de:
cómic
ilustración
personajes consistentes
series narrativas
💡 Al terminar este capítulo, tendrás claro cuándo usar ControlNet, por qué y con qué tipo, antes de entrar en flujos más complejos.
🧠 ¿Qué es ControlNet? (explicado fácil)
ControlNet es una extensión del proceso de generación que permite imponer una estructura concreta a la imagen final usando información extraída de una imagen de referencia.
Dicho de forma sencilla:
El prompt dice cómo debe verse la imagen (estilo). ControlNet dice cómo debe estar construida (forma).
En un flujo clásico, el modelo interpreta el prompt y “reimagina” la escena con bastante libertad.
Eso está bien para creatividad, pero es un problema cuando quieres:
mantener una pose concreta,
respetar proporciones,
conservar caras,
repetir composiciones,
o crear series coherentes.
Aquí es donde ControlNet marca la diferencia.
🔍 ¿Qué hace realmente ControlNet?
ControlNet funciona en dos pasos:
1️⃣ Extrae información estructural de una imagen base
2️⃣ Inyecta esa información durante la generación para guiar al modelo
Esa información puede ser, por ejemplo:
bordes y contornos
líneas de dibujo
profundidad
pose corporal
orientación de superficies
El modelo ya no “imagina” la estructura:l a sigue.
🧩 Prompt vs ControlNet
Es importante entender esta separación de responsabilidades:
Prompt → estilo, colores, atmósfera, temática
ControlNet → forma, silueta, composición, volumen
Por eso ControlNet no sustituye a los prompts: los complementa.
Un buen workflow usa:
prompts claros
ControlNet bien elegido
y pesos ajustados con criterio
🧠 ¿Por qué img2img no es suficiente?
Img2img transforma una imagen existente, pero:
puede deformar caras,
alterar proporciones,
reinterpretar poses,
variar demasiado entre ejecuciones.
ControlNet actúa como un andamiaje invisible que:
limita esa libertad
y aporta estabilidad visual.
🎯 Cuándo ControlNet es especialmente útil
cómic e ilustración
personajes recurrentes
series de imágenes
narrativa visual
arquitectura
escenas complejas
En resumen: Img2img es creativo, ControlNet es preciso.
🧩 Requisitos
Para poder ejecutar este workflow y seguir el artículo sin problemas, necesitarás lo siguiente:
💻 Software
ComfyUI instalado y funcionando correctamente.
Recomendado: ejecución con GPU (aunque el análisis de preprocesadores puede hacerse más lento en CPU).
🧠 Modelos y nodos necesarios
ControlNet (soporte activado en tu instalación de ComfyUI).
Preprocesadores de ControlNet, entre ellos:
Canny
Lineart / Anime Lineart
HED
Depth
Depth Anything
Modelos ControlNet compatibles con SDXL o SD1.5 (según el checkpoint usado):
ControlNet Canny
ControlNet Depth (Depth Anything)
💡 La mayoría de estos nodos vienen incluidos en instalaciones estándar o se pueden instalar fácilmente desde Custom Nodes.
💡 Nota práctica importante
Si al cargar el workflow te falta algún nodo o modelo, ComfyUI:
mostrará un aviso automático,
e incluirá un acceso directo a Custom Nodes para instalarlo.
Esto facilita mucho probar workflows complejos sin configuraciones manuales largas.
🗂️ Crear o cargar el workflow en ComfyUI
Tienes dos formas de trabajar con este flujo, como en el resto de artículos de la serie.
🅰️ Opción A — Cargar el workflow ya creado (recomendado)
1️⃣ Descarga el archivo del artículo:📁 WF_ComfyUI_ControlNet.json
2️⃣ Abre ComfyUI.
3️⃣ En el menú superior, selecciona: Workflow → Load
4️⃣ Carga el archivo JSON descargado.

🅱️ Opción B — Crear el workflow desde cero
Si prefieres entenderlo pieza a pieza, puedes recrearlo manualmente. En las siguientes secciones explicamos qué hace cada bloque del flujo.

🧪 Qué puede extraer ControlNet de una imagen
Antes de usar ControlNet para generar imágenes finales, es fundamental entender qué tipo de información estructural es capaz de extraer a partir de una imagen base.
Por eso, el primer bloque real de este workflow no está pensado para “crear arte”, sino para observar, comparar y aprender.
La idea es sencilla pero muy potente: tomamos una sola imagen y vemos qué información distinta puede extraer cada preprocesador de ControlNet.
🖼️ Imagen base como punto de partida
Nodo: LoadImage
Esta imagen se bifurca hacia varios preprocesadores.
Cada salida se visualiza mediante PreviewImage.
Esto te permite ver, en paralelo, cómo interpreta la imagen cada modelo antes de usarlo para generar nada nuevo.
🔍 Preprocesadores incluidos en el workflow
A continuación, repasamos los principales preprocesadores utilizados y qué tipo de información extrae cada uno.
Resumen - Preprocesadores ControlNet
Preprocesador | Qué extrae | Nivel de control | Cuándo usarlo | Notas clave |
Canny Edge | Bordes duros y contornos principales | Alto | Cómic, ilustración, arquitectura, objetos | Muy estable y predecible. Define muy bien la silueta |
HED | Bordes suaves y orgánicos | Medio | Estilos pictóricos, ilustración suave | Menos rígido que Canny, más natural |
LineArt | Dibujo limpio tipo entintado | Alto | Ilustración, manga, cómic | Ideal cuando quieres un look dibujado |
Anime LineArt | Lineart optimizado para anime | Alto | Manga, anime, personajes | Mejor detección de caras y ojos |
Depth (MiDaS) | Profundidad aproximada | Medio | Escenas simples, fondos | Puede fallar en caras y manos |
Depth Anything | Profundidad precisa y estable | Alto | Personas, paisajes, escenas complejas | Excelente para mantener volumen y proporciones |
Normal Maps | Orientación de superficies | Alto (técnico) | 3D, iluminación, materiales | Menos usado en ilustración, muy técnico |

👀 ¿Por qué es tan importante este paso?
Porque ControlNet no es magia: cada modelo controla algo distinto.
Antes de generar, observa.V er qué extrae cada ControlNet te ahorra horas de pruebas después.
Ejemplo:
Cómic / ilustración → Canny + LineArt
Realismo controlado → Depth Anything
Series coherentes → Canny + Depth
Estilos suaves → HED + Depth
⚙️ El workflow: estructura general
Este workflow está diseñado con un enfoque didáctico y progresivo. No se limita a generar una imagen final, sino que permite entender qué hace ControlNet en cada fase y por qué funciona.
A alto nivel, el flujo se divide en tres grandes bloques:
🧩 Bloque 1 — Imagen base y preprocesado
Este primer bloque responde a una pregunta clave: ¿Qué información puede extraer ControlNet de una imagen?
Aquí se realiza lo siguiente:
Se carga una imagen base.
Esa imagen se envía a distintos preprocesadores:
Canny Edge
Lineart / Anime Lineart
HED
Depth
Depth Anything
Cada salida se visualiza con PreviewImage.
👉 Este bloque no genera imágenes nuevas, solo muestra representaciones estructurales de la imagen original.
Es fundamental para:
comparar preprocesadores,
entender qué tipo de control aporta cada uno,
decidir cuál usar en la generación final.
🧠 Bloque 2 — Preparación del ControlNet
En este bloque se selecciona qué información estructural vamos a usar realmente para generar la imagen.
En el workflow se eligen dos:
Canny Edge → para controlar líneas y contornos
Depth Anything → para controlar volumen y profundidad
Aquí ocurre lo siguiente:
Se cargan los modelos ControlNet correspondientes.
Cada uno se conecta a su nodo ControlNetApplyAdvanced.
Se define:
la fuerza de cada ControlNet
en qué parte del proceso actúa
👉 Este bloque es el puente entre “ver la estructura” y “usar la estructura”.
🎨 Bloque 3 — Generación de la imagen final
Este último bloque es el de generación propiamente dicha, donde se combinan todos los elementos:
Modelo base (checkpoint SDXL)
Prompts:
positivo (estilo)
negativo (limpieza)
Conditioning modificado por:
ControlNet Canny
ControlNet Depth
Sampler, pasos y scheduler
Decodificación final a imagen RGB
Aquí es donde ocurre la magia:
El prompt define el estilo
ControlNet define la estructura
El sampler genera los detalles finales
El resultado es una imagen coherente, estable, con forma controlada pero visualmente rica
🧱 Entendiendo el workflow paso a paso
1️⃣ LoadImage
Qué hace: carga la imagen base que vamos a usar como referencia. Es la imagen que se enviará a los preprocesadores y, más adelante, servirá para controlar la generación con ControlNet.
Qué tocar: selecciona tu imagen de prueba (ideal: foto con sujeto claro y fondo con profundidad).
Conexiones del nodo: su salida IMAGE se bifurca hacia los nodos de preprocesado (Canny, Lineart, HED, Depth…) y también hacia el bloque final si el workflow lo requiere.
🧪 Bloque A — Preprocesadores (visualizar qué extrae cada uno)
2️⃣ Canny Edge Preprocessor
Qué hace: extrae bordes duros y contornos principales (líneas claras).
Qué tocar: normalmente solo ajustar threshold si el nodo lo permite (más bajo = más bordes).
Conexiones del nodo: recibe IMAGE desde LoadImage y entrega un MAP/IMAGE que va a PreviewImage.
3️⃣ HED Preprocessor
Qué hace: extrae bordes más suaves y orgánicos, menos agresivos que Canny.
Qué tocar: en general nada; úsalo para comparar “control suave”.
Conexiones del nodo: IMAGE desde LoadImage → PreviewImage.
4️⃣ LineArt / Anime LineArt Preprocessor
Qué hace: genera una versión “dibujada” de la imagen (lineart limpio), muy útil para estilos ilustrados.
Qué tocar: si hay selector de tipo (lineart vs anime lineart), elige según estilo final.
Conexiones del nodo: IMAGE desde LoadImage → PreviewImage.
5️⃣ Depth Preprocessor (MiDaS)
Qué hace: genera un mapa de profundidad aproximado.
Qué tocar: normalmente nada, es para comparación.
Conexiones del nodo: IMAGE desde LoadImage → PreviewImage.
6️⃣ Depth Anything Preprocessor
Qué hace: genera un mapa de profundidad más preciso y estable que MiDaS (mejor para personas/escenas complejas).
Qué tocar: normalmente nada; este será uno de los elegidos para controlar la generación.
Conexiones del nodo: IMAGE desde LoadImage → PreviewImage y/o al bloque ControlNet.
7️⃣ PreviewImage (varios)
Qué hace: muestra en pantalla el resultado de cada preprocesador.
Qué tocar: nada.
Conexiones del nodo: recibe cada MAP/IMAGE de los preprocesadores.
💡 Hasta aquí, el objetivo es comparar. Una vez visto qué mapas te interesan, pasamos al bloque generativo.

🎨 Bloque B — Generación final con ControlNet (Canny + Depth Anything)
8️⃣ CheckpointLoaderSimple
Qué hace: carga el modelo base (SDXL) con sus componentes MODEL + CLIP + VAE.
Qué tocar: selecciona tu checkpoint SDXL (mejor si es ilustrado/comic/stylized si ese es tu objetivo).
Conexiones del nodo:
CLIP → CLIPTextEncode (positivo/negativo)
MODEL → KSampler
VAE → VAEDecode (y/o VAEEncode si lo hubiera)

9️⃣ CLIPTextEncode (Positive)
Qué hace: convierte tu prompt positivo (estilo) en conditioning.
Qué tocar: el texto del estilo (realismo, cómic, ilustración…).
En nuestro ejemplo hemos usado: cyberpunk woman standing on an icy mountain peak, snowstorm, futuristic armor, glowing blue cyber implants, frozen landscape, epic cinematic scene, volumetric fog, dramatic lighting, ultra realistic, IMAX style, science fiction
Conexiones del nodo: salida CONDITIONING → cadena de ControlNetApplyAdvanced o directo al sampler (según el workflow).
🔟 CLIPTextEncode (Negative)
Qué hace: genera el conditioning negativo para evitar artefactos o estilos no deseados.
Qué tocar: negativos típicos: watermark, text, blur, artifacts…
En nuestro ejemplo hemos usado: watermark, text
Conexiones del nodo: salida CONDITIONING → KSampler como negativo.
1️⃣1️⃣ ControlNetLoader (Canny)
Qué hace: carga el modelo ControlNet específico para Canny.
Este nodo carga el modelo ControlNet especializado en Canny Edge, que es el encargado de interpretar el mapa de bordes (líneas y contornos) generado por el preprocesador Canny y usarlo para condicionar la generación.
Este modelo no genera imágenes por sí solo. Su función es actuar como un modelo auxiliar que le dice al modelo principal dónde deben respetarse las líneas durante el proceso de difusión.
Dicho de forma simple:
el preprocesador Canny genera un “dibujo” de bordes,
el modelo ControlNet Canny le dice al modelo base: “respeta estas líneas cuando generes la imagen”.
Qué tocar: seleccionar el archivo correcto (canny para tu tipo de modelo: SDXL o 1.5).
En nuestro caso: control-lora-canny-rank256.safetensors
Este archivo se puede descargar de CivitAI o de HuggingFace, y se tiene que colocar en "C:\pinokio\api\comfy.git\app\models\controlnet"
Conexiones del nodo:
salida CONTROL_NET → ControlNetApplyAdvanced (Canny).
1️⃣2️⃣ ControlNetLoader (Depth)
Qué hace: carga el modelo ControlNet de Depth (para usar el mapa de profundidad).
Qué tocar: seleccionar el modelo depth compatible.
En nuestro caso: control-lora-depth-rank256.safetensors
Este archivo se puede descargar de CivitAI o de HuggingFace, y se tiene que colocar en "C:\pinokio\api\comfy.git\app\models\controlnet"
Conexiones del nodo:
salida CONTROL_NET → ControlNetApplyAdvanced (Depth).
1️⃣3️⃣ ControlNetApplyAdvanced (Canny)
Qué hace:
Este nodo es el encargado de inyectar la información estructural de Canny Edge dentro del proceso de generación.
Concretamente, toma:
el conditioning del prompt positivo (lo que queremos que se genere),
el modelo ControlNet Canny,
y el mapa de bordes generado por el preprocesador Canny,
y los combina para indicarle al modelo base dónde y cómo debe respetar las líneas durante la difusión.
En la práctica, este nodo decide:
cuánto peso tienen los contornos,
en qué momento del proceso influyen,
y hasta qué punto el modelo puede reinterpretar la imagen.
⚙️ Parámetros clave
🔧 strength
Define cuánta autoridad tiene el mapa de Canny sobre la generación.
Valores orientativos:
0.3 – 0.5 Control suave. El modelo sigue las líneas generales, pero se permite reinterpretar detalles.
0.6 – 0.8 ✅ (zona recomendada)Buen equilibrio entre:
respeto a la silueta
libertad creativa
0.9 – 1.2Control muy fuerte.Las líneas mandan casi por completo, pero:
puede rigidizar la imagen
puede generar resultados “forzados” si el prompt no acompaña.
.
⏱️ start / end
Estos parámetros indican en qué parte del proceso de difusión actúa ControlNet.
Recuerda:
la difusión va de ruido → imagen
y se ejecuta en pasos normalizados entre 0 y 1
Valores habituales:
start = 0.0 ControlNet actúa desde el primer paso (máximo control estructural).
end = 1.0 ControlNet actúa durante todo el proceso.
Esta configuración es la más común cuando:
quieres máxima fidelidad a la forma
trabajas con cómic, ilustración o poses exactas.
Configuraciones alternativas interesantes
start = 0.0 / end = 0.6ControlNet guía la estructura inicial,pero deja libertad al modelo al final para detalles finos.
start = 0.2 / end = 1.0El modelo empieza más libre y luego se “amarra” a las líneas.
Estas variantes son útiles cuando:
quieres un resultado menos rígido
buscas un estilo más orgánico o pictórico.
🔌 Conexiones del nodo
Este nodo tiene tres entradas fundamentales:
conditioning← desde CLIPTextEncode (positivo) Define el estilo y contenido visual.
control_net← desde ControlNetLoader (Canny) Define cómo interpretar el mapa de bordes.
image / hint← desde el preprocesador Canny Es el mapa de líneas que se va a respetar.
➡️ Salida del nodo
La salida es un conditioning modificado, que:
ya no es solo “texto”,
sino texto + estructura.
Este conditioning:
se puede encadenar a otro ControlNetApplyAdvanced (por ejemplo, Depth),
o enviarse directamente al KSampler.
1️⃣4️⃣ ControlNetApplyAdvanced (Depth)
Qué hace: aplica el control estructural de Depth Anything para mantener volumen y proporciones.
Qué tocar:
strength: cuánto manda Depth (ej. 0.4–0.9)
start/end: normalmente 0→1 o solo primeras fases si quieres más libertad al final
Conexiones del nodo:
recibe conditioning ya modificado por Canny
controlnet depth
mapa depth anythingSalida → KSampler.

1️⃣5️⃣ KSampler
Qué hace: El nodo KSampler es el encargado de generar la imagen final. Aquí es donde confluyen todos los elementos del workflow:
el modelo base (SDXL o SD1.5),
el estilo definido por los prompts,
la estructura impuesta por ControlNet (Canny + Depth),
y los parámetros que controlan cómo evoluciona el ruido hacia una imagen coherente.
En otras palabras: si ControlNet define qué forma debe tener la imagen y el prompt define cómo debe verse, KSampler decide cómo se materializa todo eso paso a paso.
⚙️ Parámetros clave del KSampler
🔢 steps
Define el número de pasos de difusión.
20–25 → rápido, suficiente para pruebas
25–35 ✅ (zona recomendada) Buen equilibrio entre calidad y tiempo
40+ → más detalle, pero con rendimientos decrecientes
💡 Con ControlNet, no es necesario abusar de los pasos: la estructura ya está bien definida.
🎛 CFG (Classifier-Free Guidance)
Controla cuánto se obliga al modelo a seguir el prompt.
4–6 → estilo suave, más libertad
6–8 ✅ (recomendado)Buen equilibrio entre estilo y naturalidad
9+ → muy rígido, puede introducir artefactos
⚠️ Importante: Con ControlNet activo, un CFG demasiado alto puede provocar imágenes forzadas. Es mejor subir strength de ControlNet antes que subir CFG.
🔄 Sampler
Define el método matemático con el que se realiza la difusión.
Opciones comunes y recomendadas:
DPM++ 2M / DPM++ 2M SDE ✅Muy estable, excelente con ControlNet
Euler / Euler aMás rápido, algo menos fino, pero válido
UniPCBuen control, algo más lento
💡 Si no sabes cuál usar:DPM++ 2M SDE + Karras es una apuesta segura.
📈 Scheduler
Define cómo se distribuyen los pasos de denoise.
Karras ✅Distribución no lineal, mejor calidad con menos pasos
Normal / Simple Más básicos, útiles para pruebas
Con ControlNet, Karras suele dar resultados más limpios y estables.
🎲 Seed (si aplica)
Seed fija → resultados reproducibles
Seed aleatoria → variaciones creativas
🔌 Conexiones del nodo
El KSampler recibe todo lo necesario para generar la imagen:
MODEL← desde CheckpointLoaderSimple Define el modelo base que genera la imagen.
Positive conditioning← desde la cadena de ControlNetApplyAdvancedAquí ya viene combinado:
prompt positivo
Canny
Depth
Negative conditioning← desde CLIPTextEncode (negativo)Limpia artefactos, texto, ruido, estilos no deseados.
Latente / Ruido inicial← desde el nodo correspondiente del workflowDefine el punto de partida del proceso.
➡️ Salida del nodo
LATENT Este latente representa la imagen final antes de ser convertida a píxeles visibles.
Esta salida se conecta directamente a: VAEDecode

1️⃣6️⃣ VAEDecode
Qué hace: convierte el latente en una imagen RGB visible.
Qué tocar: nada.
Conexiones del nodo: salida IMAGE → PreviewImage y SaveImage.
1️⃣7️⃣ PreviewImage + SaveImage
Qué hace: muestran y guardan el resultado final.
Qué tocar: en SaveImage, el prefijo o carpeta si quieres organizar outputs.
Conexiones del nodo: reciben la salida IMAGE desde VAEDecode.
▶️ Cómo usar este workflow
1️⃣ Abre ComfyUI
2️⃣ Carga el archivo 📁 WF_ComfyUI_ControlNet.json
3️⃣ En LoadImage, selecciona una imagen base
4️⃣ Observa las salidas de los preprocesadores
5️⃣ Ajusta prompts si quieres
6️⃣ Pulsa Run
7️⃣ Analiza cómo ControlNet afecta al resultado
💡 Cuándo usar ControlNet (y cuándo no)
Usa ControlNet si:
quieres coherencia
trabajas por series
necesitas repetir poses
haces cómic o ilustración
No es necesario si:
buscas creatividad libre
quieres resultados muy abstractos
estás explorando ideas rápidas
🌐 Recursos útiles
🌍 Hugging Face: uno de los mayores repositorios de IA del mundo, donde encontrarás miles de modelos —incluidos los compatibles con Stable Diffusion y ComfyUI— listos para descargar y usar.
🎨CivitAI: plataforma comunitaria donde los usuarios comparten modelos, estilos, LoRAs y nodos específicos para ComfyUI, clasificados por categoría, versión y nivel de complejidad.
🧠 En Lozkorp:
Descubre el artículo previo donde introdujimos ComfyUI dentro del ciclo “Generación de imágenes con IA en local (IV)”:🔗 Generación de imágenes con IA en local (IV) — ComfyUI
Serie ComfyUI (V) -- Generar imágenes a partir de prompts guardados en un archivo de texto
Serie ComfyUI (VI) — Extraer prompts desde una carpeta de imágenes (WD14 Tagger)
Serie ComfyUI (VII) — Img2Img simple: mejorar o modificar una imagen en local
Serie ComfyUI (VIII) — Upscale de imágenes: qué es, cómo funciona y workflow comparativo
Serie ComfyUI (IX) — Upscale y normalización automática de imágenes
Archivo JSON de este ejemplo 📁 WF_ComfyUI_ControlNet.json
🗺️ Conclusión
Con esta entrega de la Serie ComfyUI ya tienes una comprensión sólida de qué es ControlNet y por qué cambia por completo la forma de trabajar con IA generativa.
Has visto que:
los prompts definen el estilo,
img2img aporta una base visual,
pero ControlNet es lo que realmente fija la estructura.
A través de este workflow has aprendido a:
analizar qué información extraen distintos preprocesadores,
entender cuándo usar Canny, LineArt o Depth,
combinar Canny Edge y Depth Anything para controlar líneas y volumen,
y generar imágenes coherentes sin deformaciones ni interpretaciones excesivas.
ControlNet no elimina la creatividad: la canaliza. Permite repetir poses, mantener proporciones y construir series visuales con coherencia real, algo imprescindible en ilustración, cómic y narrativa visual.
Descarga el workflow, cárgalo en tu ComfyUI y experimenta con tus propias imágenes. Prueba distintos preprocesadores, ajusta strengths y observa cómo cambia el resultado al modificar solo un parámetro cada vez.
Si te interesa dominar la IA de verdad, sin depender de la nube y con control total, sigue la serie completa en:
🚀 Aquí es donde la generación deja de ser aleatoria y empieza a ser diseño.





















Comentarios