Aplicación de escritorio · VisionAI Studio
VisionAI Studio

Tu idea.Tu estudio de imágenes.

Generación de imágenes procesada en la placa de video local.

Genera y edita imágenes a partir de una descripción, en la placa de video de la propia máquina.

App de escritorioImágenesPropio

  • Tauri
  • React
  • Python
  • PyTorch
Aplicación de escritorio · VisionAI Studio
VisionAI Studio

Tu idea.Tu estudio de imágenes.

Generación de imágenes procesada en la placa de video local.

  • Tauri
  • React
  • Python
  • PyTorch

Genera y edita imágenes a partir de una descripción, en la placa de video de la propia máquina.

App de escritorioImágenesPropio

  • Tauri
  • React
  • Python
  • PyTorch

PortafolioVisionAI Studio

La placa de video

Antes de dibujar, mide la máquina.

Generar imágenes pesa: cada modelo necesita una cantidad de memoria en la placa de video. Al encender, el motor descubre qué placa hay, cuánta memoria tiene y qué cabe en ella, y elige el modelo, el tamaño y los ahorros. Cambia la placa y mira qué cambia.

La placa de la máquina

Tamaño máximo
512 × 512
Tiempo estimado (512², 20 pasos)
8 s
Precisión
FP16

Ahorros de memoria que se activan

  • Atención y decodificación en partes

Los modelos de uso general

  • DreamShaper 8Descarga 2,1 GB en el 1.er usoCabe
  • SSD-1BRecomendadoDescarga 3,5 GB en el 1.er usoCabe
  • Z-Image Turbo GGUFDescarga 3,8 GB en el 1.er usoCabe
  • SDXL Base 1.0Descarga 6,9 GB en el 1.er usoPide 8 GB
  • SDXL LightningDescarga 6,9 GB en el 1.er usoPide 8 GB
  • FLUX.1 SchnellDescarga 12 GB en el 1.er usoPide 12 GB

Las reglas son las del motor (gpu_detector.py): el orden de búsqueda es NVIDIA, AMD (ROCm), DirectML y, por último, solo el procesador; vale la placa con más memoria. Recomendado: 16 GB o más, el XL rápido; 10 GB, el XL; 6 GB, el XL compacto; por debajo, el de 4 GB, en DirectML, siempre el de 4 GB. El tiempo es el del modelo recomendado, por 3,5 en DirectML y por 1,3 en ROCm. La app tiene otros modelos además de estos 6.

Escena del proyecto: la pantalla de generación en un monitor de vidrio, con el menú de proporciones abierto, entre cristales violetas

La creación empieza en las elecciones.

Descripción, estilo, modelo y proporción bajo tu control.

Descripción • Modelo • Proporción • Variaciones

Quien describe la imagen escribe en portugués; quien la dibuja entiende inglés y prefiere palabras clave. El motor hace el puente: cambia los términos conocidos, suma el estilo elegido y arma también la lista de lo que hay que evitar. Escribe una frase (el diccionario de la app es en portugués) y cambia el estilo.

Prueba:
Estilo
  1. 1. Diccionario propio

    4 término(s) cambiado(s), del más largo al más corto:

    • fundo brancowhite background
    • armaduraarmor
    • espadasword
    • quero∅
  2. 2. ¿Quedó portugués?

    No quedó portugués: la frase sigue sin salir de la máquina.

  3. 3. Palabras clave del estilo+ stylized · colorful
  4. 4. Refuerzo de calidad, high quality, clean render
  5. 5. Lo que va al motor

    Descripción final

    colorful, stylized, sword, armor, white background, cartoon style, vibrant colors, game asset, clean edges, solid colors, no background, centered, studio lighting, 3d render style, high quality, clean render

    Lo que hay que evitar

    BadDream, UnrealisticDream, photorealistic, hyperrealistic, noise, grain, bokeh, depth of field, motion blur, text, watermark, signature, logo, ugly, deformed, disfigured, blurry, out of focus, (worst quality:1.4), (low quality:1.4), jpeg artifacts

Las reglas son las del motor (prompt_engine.py): el diccionario cambia término por término, siempre por palabra entera y del más largo al más corto; "quero", "me gera" y parecidos desaparecen. Si quedan " de ", " com ", " para " y otros, la frase va a un traductor en línea. Después, el estilo entra al final, las palabras clave que faltan van al comienzo y la categoría decide el refuerzo de calidad. Los 2 primeros términos del negativo son correcciones que el motor carga junto con el modelo. El diccionario de la app tiene más términos que los usados aquí.

Escena del proyecto: la pantalla de edición en un monitor de vidrio, sobre un escenario de cristal

Transformar imágenes. Construir posibilidades.

Edición de una imagen existente, en un proyecto con Python, Rust y React.

Proyecto propio

Para cambiar solo una parte de una imagen, se pinta encima de lo que se quiere rehacer. La app convierte la pintura en una máscara en blanco y negro y la envía: con máscara, el motor rehace solo lo blanco; sin ella, la imagen entera. Pinta sobre la imagen y mira cómo se forma la máscara.

Pinta lo que cambia

Arrastra sobre la imagen. Ctrl+Z deshace.

La máscara que va al motor

Sin máscara: rehace la imagen entera (img2img).

0% de la imagen marcada para rehacer

Lo que la app enviaría

{
  "image_path": "…/minha-imagem.png",
  "mask_base64": null,
  "strength": 0.50,
  "steps": 20,
  "guidance_scale": 7.0
}

Antes de editar, la imagen se achica

1672 × 941 → 768 × 432

Las pantallas reales

Las reglas son las de la app (Img2ImgView.tsx y la ruta img2img): pincel de 5 a 80 px, hasta 20 estados para deshacer, y todo píxel con transparencia por encima de 30 pasa a blanco en la máscara. El lado mayor baja a 768 px y los dos lados pasan a múltiplos de 8, como exige el modelo. La fuerza va de 0,05 a 1. El resultado real sale del motor local, en la placa de video.

Las tecnologías

De qué está hecho, pieza por pieza

Dos programas que trabajan juntos en la misma máquina: la ventana en Tauri y React, y un motor en Python que conversa con ella por una dirección local y dibuja las imágenes en la placa de video. Elige una pieza para ver qué hace aquí y en qué archivo está.

8tecnologías, en 2 capas

La ventana

El motor