Comodines y prompts dinámicos: A1111, Forge, Fooocus
Sintaxis de comodines y generación de prompts dinámicos en A1111, Forge y Fooocus
On this page
Comodines y prompts dinámicos: A1111, Forge, Fooocus
TL;DR: Los comodines y los prompts dinámicos permiten a los usuarios de Stable Diffusion insertar valores aleatorios o predefinidos en los prompts usando la sintaxis __filename__. Este artículo cubre la sintaxis en A1111, Forge y Fooocus, los modos de generación y las correcciones comunes.
¿Qué son los comodines?
Un comodín es un token de marcador de posición como __filename__ que se expande a un valor aleatorio de un archivo .txt en el momento de la generación. En lugar de escribir "una imagen de un perro", escribes __animal__ y la herramienta elige una línea del archivo. Esto permite explorar muchas variaciones del prompt sin reescribir cada una manualmente.
Comparación de sintaxis entre plataformas
Sintaxis básica de comodines
Las tres plataformas usan la misma estructura básica de token:
__filename__
El token referencia un archivo .txt que contiene un valor por línea. Durante la generación, la herramienta lee el archivo, elige una línea y la inserta en el prompt.
A1111 Dynamic Prompts usa esto como su mecanismo principal (https://github.com/adieyal/sd-dynamic-prompts). La extensión lee archivos desde extensions/sd-dynamic-prompts/wildcards y sustituye valores aleatoriamente o de forma combinatoria.
Fooocus usa la misma sintaxis (https://github.com/lllyasviel/Fooocus). Los usuarios colocan archivos .txt en el directorio wildcards/ y los referencian de la misma forma en los prompts.
Forge hereda de la base de código de A1111 pero no incluye una extensión nativa de comodines (https://github.com/lllyasviel/stable-diffusion-webui-forge). Los usuarios deben instalar la extensión sd-dynamic-prompts por separado para obtener soporte completo de comodines.
Sintaxis de variantes
A1111 y Forge usan llaves con separadores de barra para elecciones aleatorias inline:
{option1|option2|option3}
Para seleccionar varios valores de una lista:
{2$$chocolate|vanilla|strawberry}
El número seguido por $$ le indica a la herramienta que elija esa cantidad de opciones únicas de la lista.
Variantes de Fooocus
Fooocus admite un sistema de variantes más simple. Lee listas predefinidas y las aplica según la configuración, pero su sintaxis de variantes es menos flexible que la estructura {}|{} de A1111.
Modos de generación explicados
Modo combinatorio (A1111)
La generación combinatoria enumera cada combinación posible de opciones en lugar de tomar un resultado aleatorio. Para una plantilla como {a|b} {c|d}, produce:
- a c, a d, b c, b d
Cuando hay comodines presentes, añade un prompt por valor del comodín. Esto puede dispararse rápidamente con varios comodines, por lo que A1111 incluye un control deslizante Max Generations para limitar la salida.
Modo aleatorio (todas las plataformas)
El modo aleatorio elige una opción por posición por prompt. La misma plantilla produce un solo resultado por generación:
a c
o
b d
Puedes ejecutarlo varias veces para obtener variedad, pero sin garantía de cubrir todas las combinaciones.
Diferencia clave
Modo | Qué hace | Caso de uso
|------|-------------|----------|
Combinatorial | Produce todas las combinaciones posibles | Pruebas exhaustivas, generación de datasets Random | Elige una combinación aleatoria por generación | Exploración creativa, imágenes puntuales
Construir archivos de comodines reutilizables
Estructura de directorios de A1111
extensions/sd-dynamic-prompts/wildcards/
├── seasons.txt
├── artists/
│ ├── famous.txt
│ └── contemporary.txt
└── styles/
├── impressionist.txt
└── surrealist.txt
Estructura de directorios de Fooocus
wildcards/
├── animal.txt
├── artist.txt
├── color.txt
├── color_flower.txt
├── extended-color.txt
├── flower.txt
└── nationality.txt
Fooocus incluye siete archivos predeterminados. Puedes añadir los tuyos propios creando nuevos archivos .txt en este directorio.
Funciones avanzadas de A1111
Coincidencia con comodín (glob): Usa __artists*__ para coincidir con todos los archivos que comienzan con "artists" en varios archivos.
Coincidencia recursiva: Usa __styles/**/*__ para coincidir con archivos en cualquier subdirectorio anidado.
Anidamiento: Coloca un token de comodín dentro de otro archivo de comodín. Si countries.txt contiene __africa__, se resolverá recursivamente a los valores reales en africa.txt.
Consideraciones específicas de cada plataforma
A1111 Dynamic Prompts
A1111 tiene el sistema de comodines más completo. Soporta:
- Directorios jerárquicos de comodines
- Coincidencia con comodín (glob) y recursiva de archivos
- Modos de generación combinatoria y aleatoria
- Selección múltiple con desduplicación mediante
{2$$}
La desventaja: el modo combinatorio puede generar miles de prompts si no tienes cuidado con el límite Max Generations.
Fooocus
Fooocus adopta un enfoque más simple. Usa la misma sintaxis __filename__ pero ofrece menos opciones de configuración. Incluye un motor de procesamiento de prompts basado en GPT-2 sin conexión que puede ayudar con la variedad de prompts, pero no ofrece un modo combinatorio explícito.
Forge
Forge está construido sobre A1111 pero no incluye extensiones de comodines por defecto. Los usuarios reportan que a veces los comodines no se resuelven, mostrando el texto literal __token__ en su lugar. La corrección más común es instalar la extensión sd-dynamic-prompts y asegurarse de que los archivos estén en el directorio correcto.
Errores comunes y soluciones
El comodín devuelve el texto literal __season__
Causa: El archivo de comodín no está en el directorio correcto, o el nombre de archivo no coincide con el token usado en el prompt.
Solución: Coloca el archivo en extensions/sd-dynamic-prompts/wildcards/ y verifica que el nombre de archivo coincida exactamente. Las rutas deben ser absolutas, no relativas.
Valores de comodín duplicados en la salida
Causa: Usar el mismo comodín dos veces en un prompt sin desduplicación.
Solución: Envuélvelo en una variante: {2$$__flavours__} garantiza selecciones únicas del mismo archivo.
Demasiadas imágenes generadas
Causa: El modo combinatorio está habilitado con varios comodines, produciendo un número exponencial de combinaciones.
Solución: Deshabilita la casilla de modo combinatorio, o aumenta el límite del control deslizante Max Generations para limitar la salida.
El control deslizante de conteo por lotes demasiado bajo
Causa: El máximo predeterminado de conteo por lotes de A1111 es 100, insuficiente para conjuntos combinatorios grandes.
Solución: Edita ui-config.json y cambia "txt2img/Batch count/maximum" a un valor superior como 1000.
Recursos de aprendizaje
Documentación oficial
- sd-dynamic-prompts README — Documentación completa de comodines y prompts dinámicos de A1111
- Fooocus wildcards directory — Archivos de comodines oficiales
- Forge repository — Código base y noticias de Forge
Documentación interna
Para más detalles de implementación, consulta:
Solución de problemas
Mensajes de error comunes:
"No values found for wildcard some/wildcard"— Comprueba que el archivo exista en el directorio de comodines correcto"MetadataIncompleteBuffer"y"PytorchStreamReader"— Estos se relacionan con la corrupción de archivos del modelo, no con comodines
Conclusión
Cada plataforma maneja los comodines de forma diferente. A1111 ofrece el conjunto de funciones más completo con generación combinatoria y coincidencia avanzada de archivos. Fooocus ofrece una experiencia más simple y simplificada, pero carece de modo combinatorio. Forge hereda la arquitectura de A1111 pero requiere la instalación manual de la extensión para un soporte confiable de comodines.
Elige la plataforma según tus necesidades:
- A1111: Ideal para pruebas sistemáticas y exploración exhaustiva de prompts
- Fooocus: Ideal para uso rápido y sencillo de comodines sin sobrecarga de configuración
- Forge: Compatible con extensiones de A1111 pero requiere configuración
Preguntas frecuentes (FAQ)
¿Cuál es la diferencia entre el modo aleatorio y el modo combinatorio en A1111?
El modo aleatorio elige una combinación por generación. El modo combinatorio genera cada combinación posible de tu plantilla. Usa aleatorio para exploración creativa; usa combinatorio cuando necesites cobertura completa de todas las opciones.
¿Dónde coloco los archivos de comodín en Fooocus?
Coloca archivos .txt en el directorio wildcards/ en la raíz de tu instalación de Fooocus. El repositorio incluye siete archivos predeterminados: animal.txt, artist.txt, color.txt, color_flower.txt, extended-color.txt, flower.txt y nationality.txt.
¿Qué sintaxis comparten A1111, Forge y Fooocus?
Las tres usan dobles guiones bajos para comodines: __filename__. La extensión A1111 Dynamic Prompts proporciona el conjunto completo de funciones; Fooocus usa el mismo token pero con menos opciones; Forge hereda de A1111 pero necesita la extensión instalada.
¿Puedo anidar comodines dentro de otros comodines?
Sí. En A1111, puedes colocar tokens __wildcard__ dentro de otros archivos de comodín. Si countries.txt contiene __africa__, el sistema lo resuelve recursivamente a los valores de africa.txt. Esto permite estructuras jerárquicas complejas de comodines.
¿Cómo hago que Fooocus agote todos los artistas de un archivo?
Fooocus usa selección aleatoria por defecto, por lo que no puedes garantizar que todos los valores se usen en una sola ejecución. Crea un archivo de comodín completo que liste todos los artistas, luego genera varias imágenes para aumentar la cobertura. El motor de procesamiento de prompts GPT-2 de Fooocus puede ayudar a variar los resultados.