Curso de Prompt Engineering

0 de 26 lecciones completas (0%)

4. Prompting en IAs de Imágenes

4.5. Prompt Engineering en Midjourney

Esta es una lección de muestra

Inscríbete o accede para hacer esta lección.

Vamos ahora con el Prompt Engineering en Midjourney.

Midjourney es una IA Generativa de Imágenes cuyos resultados son mucho más artísticos y orientados a las ilustraciones que las opciones anteriores (aunque Midjourney 5 es mucho más fotorrealista y, de hecho, ese es su estilo por defecto).

Además, en su versión 5, es la IA Generativa de Imágenes más avanzada hasta la fecha. Por tanto, es donde conseguiremos los mejores resultados.

Nosotros nos vamos a centrar en la versión 5, porque, como ya hemos mencionado antes, casi siempre será mejor utilizar la última versión.

Ten en cuenta que, si usas una versión anterior, algunas de las cosas que mencionemos a continuación pueden no aplicarse tal cual se explican (especialmente, al hablar de parámetros).


Más de 3000 orangotanes ya reciben mis emails

Suscríbete a la Niusleta de Joseo20.

Yo sí mando spam. Cuando tengo que vender, vendo. El resto de tiempo envío emails con temas que considero interesantes.

Hablo de todo lo que me sale de los cojones, no sólo de marketing o negocios. Hay política, filosofía y otras gilipolleces.

Es probable que después de leerla me odies.

Incluye orangotanes.


Entendiendo Midjourney

Empecemos por ver algunas generalidades de Midjourney y, luego, profundizamos en los prompts.

Comandos en Midjourney

Midjourney funciona a través de Discord y te permite utilizar diferentes comandos para sacarle el máximo partido.

Para todo lo relativo al Prompt Engineering, los que nos interesan son estos:

  • /blend: Blend sirve para subir varias imágenes y mezclarlas. Está especialmente pensado para usuarios que estén en dispositivos móviles.
  • /imagine: El comando que usarás para introducir tus prompts y generar imágenes.
  • /prefer option: Este comando te permite crear tus propios parámetros que funcionan como una mezcla de los parámetros que le especifiques. Por ejemplo, puedes crear el parámetro –guay y que, cuando lo uses en un prompt, actúe como –ar 2:3 –sytlize 1000 (por decir algo).
  • /prefer suffix: Este comando te permite especificar un sufijo para todos tus prompts. Por ejemplo, una combinación de estilos y potenciadores. Te puede ahorrar tiempo si ya tienes una estructura de prompt bien establecida que funciona bien.
  • /settings: Este comando abre el panel de opciones, para activar diferentes parámetros por defecto, de modo que no tengas que añadirlos manualmente a tus prompts (por ejemplo, la versión de Midjourney que vayas a usar).
  • /describe: Este comando te permite meterle una imagen y que Midjourney te genere cuatro prompts para ella. Está de puta madre para sacar ideas, estilos, artistas y potenciadores. Sin embargo, como ellos mismos avisan, hay que tener cuidado porque, en ocasiones, sólo las combinaciones de palabras funcionan, y coger algunas sueltas puede no llevarte al resultado de la imagen original. Además, para temas de composición funciona regular. Funciona mejor en temas de conceptos, elementos, estilos y asín.

Versiones y modelos

Midjourney, como digo, está en su versión 5 actualmente. Pero puedes acudir a versiones anteriores si lo deseas. Para ello, sólo tienes que usar el parámetro –v y elegir la versión (1, 2, 3, 4 y 5).

Además, puedes elegir entre estilos diferentes dentro de cada modelo con pequeñas diferencias en ellos a la hora de generar las imágenes. Para elegir el estilo, usa el parámetro –style y elige el estilo que quieras (4a, 4b o 4c en el caso de Midjourney 4 y 5a o 5b en el caso de Midjourney 5). Por defecto, el modelo siempre es el último (c en Midjourney 4 y b en Midjourney 5).

También tienes el modelo Niji, que puedes usar añadiendo el parámetro –niji al final del prompt. Este modelo genera imágenes más orientadas al anime y al manga.

Por último, tienes los modelos experimentales, que puedes activar mediante –test y –testp. Estos modelos están pensados para que los usuarios aporten feedback. 

Ten en cuenta que, dependiendo de la versión, los estilos o el modelo que elijas, tendrás unas limitaciones u otras en cuanto a parámetros.

En las explicaciones que vamos a hacer en los siguientes apartados vamos a utilizar la versión 5. Si quieres conocer mejor las particularidades de cada modo de Midjourney, visita su documentación.

Upscaler

Midjourney, hasta la versión 5, generaba imágenes en baja resolución y, después, podías hacer upscaling para generarla con mayor resolución y un mayor grado de detalle. Esto es algo que lograbas haciendo clic en los botones U1, U2, U3 o U4 que aparecían bajo la cuadrícula con las imágenes generadas.

En la versión 5, Midjourney genera una cuadrícula de cuatro imágenes, todas ellas de 1024×1024. Al hacer clic en el botón de U1, U2, U3 o U4, en vez de hacerle upscaling, lo que haces es separarla de la cuadrícula de imágenes de 2×2.

Variations

Debajo de cada botón de Upscaling, aparecerá también el botón de hacer variaciones. Los botones de V1, V2, V3 y V4 sirven para generar variaciones de esa misma imagen y con ese mismo prompt.

Como ya deberías saber a estas alturas, para cada una de las cuatro imágenes, Midjourney generó una primera imagen de puro ruido. Y es a partir de esa imagen de puro ruido y a tu prompt que llegó al resultado final.

Pues bien, gracias a la función Variations, puedes generar cuatro nuevas imágenes que tengan una imagen de ruido de partida muy similar y el mismo prompt. Como el proceso es estocástico, la imagen generada no será exactamente la misma, pero sí se parecerá.

Remix Mode

Pero… ¿Y si quiero editar el prompt, además de reutilizar la misma imagen de ruido inicial?

Pues te vas a /settings y activas la función “Remix Mode”.

Esta funcionalidad está en base de pruebas, pero funciona muy bien. Además, no tienes que elegir entre una forma de hacer variaciones y otra. Activando el Remix Mode, tendrás a la vez ambas formas de hacer variaciones.

Por tanto, conviene activarla.

Una vez la actives, cuando hagas clic en las variaciones, se te abrirá una ventanita, donde podrás editar el prompt. Si quieres hacer una variación “tradicional”, pues dejas el prompt tal cual.

Al cambiar el prompt, puedes cambiar cualquier parte del mismo. Desde la imagen de partida, hasta el texto del prompt y estos parámetros: Aspect Ratio (aunque el resultado no es bueno), No, Stop, Tile, Video y Version.

Ten en cuenta que el Remix Mode funciona de forma un poco contraintuitiva.

¿A qué me refiero?

Pues que podrías pensar: “Bueno, me va a generar una nueva imagen desde el mismo puro ruido de partida y con el nuevo prompt”. Pero no es así. Tiene en cuenta la imagen generada, su composición y sus elementos.

Entonces, podrías pensar: “Bueno, pues entonces si genero un guerrero y, al editar el prompt, pongo ‘hacha’, entenderá que quiero que ese guerrero tenga un hacha”. Pero tampoco es así. Si haces eso, te generará una especie de hombre-hacha.

Si quieres hacer eso, tendrás que usar el mismo prompt y añadir el detalle de que incluya el hacha.

El Remix Mode funciona más bien como una forma de “recordar” los elementos generales de la imagen (composición, colores, etc) y “moverlos” a otro diseño.

En cierto sentido, se parece un poco al img-to-img de Stable Diffusion (salvando mucho las distancias), porque te permite trasladar un mismo concepto a varias formulaciones.

Por ejemplo, si tengo esta ilustración de un personaje que he generado con Midjourney (no me preguntes por qué Midjourney considera eso un hacha):

axeman:: full body image:: detailed, watercolor --ar 2:4 --v 5

Puedo pasarlo a este guerrero espartano al hacer variaciones con el prompt ligeramente modificado:

leonidas:: full body image:: detailed, watercolor --ar 2:4 --v 5

¿Por qué Leonidas en vez de “spartan soldier”? Como ya dije en una lección anterior, tienes que pensar en qué es lo que la IA reconoció más durante su entrenamiento. Seguro que hay más ilustraciones publicadas de “Leonidas” que de “soldado espartano”. El concepto “Leonidas” sintetiza lo que busco en “soldado espartano”.

Volvamos a la imagen. En concreto, las dos de abajo.

Ok. No son espectaculares.

Pero lo que quiero que veas es que, manteniendo el 90% de la imagen, cambia elementos para acercarse a lo nuevo que has mencionado en el prompt al hacer el remix.

Añade un casco dorado y unos trapos rojos que nos recuerdan a los espartanos de 300. La ropa también es un poco diferente, más ajustada a lo que podríamos esperar de un espartano.

La cuestión es que hace una mezcla de lo que generó y el nuevo prompt.

Eso es todo lo que podrás hacer con el Remix Mode. Si quieres tener un poco más de control, tendrás que usar las semillas. Hablamos de ellas más adelante.


Más de 3000 orangotanes ya reciben mis emails

Suscríbete a la Niusleta de Joseo20.

Yo sí mando spam. Cuando tengo que vender, vendo. El resto de tiempo envío emails con temas que considero interesantes.

Hablo de todo lo que me sale de los cojones, no sólo de marketing o negocios. Hay política, filosofía y otras gilipolleces.

Es probable que después de leerla me odies.

Incluye orangotanes.


Parámetros

Los parámetros son las variaciones técnicas que podemos aplicar para que la generación de las imágenes se produzca de una forma u otra. Dependiendo del modelo que usemos, tendremos acceso a unos parámetros u otros (y los valores de los parámetros también variarán).

Los parámetros siempre se colocan al final del prompt, empiezan por “–» o “—“ (Midjourney acepta ambos) y puedes añadir tantos como quieras.

Para la versión 5 de Midjourney, estos son los parámetros que tenemos:

Aspect Ratios

Este parámetro (–aspect o –ar) te permite controlar la proporción de una imagen. Es decir, si es cuadrada (1:1), más alta que ancha (2:3) o más ancha que alta (3:2). Date cuenta de que 1:1 es lo mismo que 2:2 y que 2:3 es lo mismo que 4:6.

El aspect ratio no es sólo una cuestión de cuáles serán las dimensiones finales de la imagen, sino que afectan a la imagen con ruido que entra en el modelo de primeras y, en consecuencia, toda la composición se ve afectada por ello.

Así que, si quieres crear un mapa o una panorámica, usa aspecto ratios apaisados. Si quieres generar personajes o retratos, usa aspecto ratios más verticales.

También ten en cuenta esto cuando estés imitando algo. Por ejemplo, si estás tratando de crear un fotograma de una película, tendrás que adaptar el aspecto ratio para que se parezca al que se usa en el cine.

El aspect ratio por defecto es 1:1. Es decir, un cuadrado.

En cuanto a los valores que puedes usar en este parámetro, en Midjourney 5 puedes usar cualquier proporción que quieras (aunque superiores a 2:1 aún es experimental y los resultados no siempre son buenos –por ejemplo, deja fuera partes de la imagen que podrían aparecer dentro con una mejor composición).

Ejemplo (ponerlo en 3 columnas):

–ar 1:1
–ar 2:4
–ar 4:2
cute kitten eating cheese in impressionist style --ar <lo que sea>

Como ves, no sólo cambian las dimensiones y ya está. Cambia la composición y cómo Midjourney enfoca el trabajo. Comprender cómo el aspect ratio afecta a la imagen generada (más allá de las dimensiones) es fundamental para obtener buenos resultados.

Chaos

El parámetro Chaos (–chaos o –c) es como la Temperatura en las IAs de Texto, por decirlo de algún modo. Cuanto más alto sea este parámetro, más originales e inesperados serán los resultados. Cuanto más bajo sea, más estables serán los resultados generados (y menos impredecibles).

Un Chaos alto puede venir bien en la fase de experimentación y lluvia de ideas. Una vez tengas claro qué es lo que quieres, lo mejor es poner un nivel de Chaos bajo, para que todas las imágenes generadas sean, más o menos, lo que deseas.

El valor por defecto de este parámetro es 0 y puede ir desde 0 hasta 100.

Vamos a ver unos ejemplos aumentando gradualmente el Chaos usando siempre el mismo prompt:

— c 0
— c 5
— c 10
— c 15
— c 20
— c 40
— c 60
— c 80
— c 100
Pink Tyrannosaurus with top-hat playing poker in a casino table, 3d render highly detailed --c <lo que sea>

Como ves, a medida que sube el Chaos, los resultados son mucho más randoms y menos predecibles. Aunque siempre hay alguna joyita que vale la pena rescatar.

Y, la verdad, en este caso ha respetado bastante bien el prompt en todos los casos. En otros casos, los resultados son mucho más locos.

Por ejemplo:

Alexander the Great riding on his horse:: oil painting, highly detailed --c <lo que sea>

Image Weight

Image Weight (–iw) es un parámetro importante cuando vayamos a usar imágenes de partida y texto en nuestros prompts. Este parámetro determinará cuánto peso tienen las imágenes del prompt en relación al input textual.

El valor por defecto es 1 y puede ir desde 0.5 hasta 2.

Por ejemplo, supongamos que usamos esta imagen de Goku como imagen de partida:

Y que lo que queremos es que use eso como base para crear un empresario de éxito. Por decir algo. Pues podemos hacer lo siguiente, dependiendo del peso que le demos a la imagen:

–iw 0.5
–iw 1
–iw 1.5
–iw 2
<url de la imagen> successful businessman with suit and briefcase:: flat design --ar 2:4 --iw <lo que sea>

No

El parámetro No (–no) sirve para introducir prompts negativos. Es decir, en lugar de especificar qué es lo que queremos, especificamos qué es lo que NO queremos.

No es necesario usar “–no» antes de cada palabra que no quieras dentro. Todo lo que vaya tras el –no hasta el siguiente parámetro, se intentará eliminar de las imágenes generadas.

Funciona regular, la verdad. Yo prefiero usar los multiprompts (de los que hablamos más adelante), porque funcionan mejor y son más modulables. Pero, bueno, ahí está el parámetro –no.

En general, conviene usarlo con conceptos concretos para eliminar elementos de una composición que nos gusta.

Por ejemplo, imagina que has generado esta imagen. Y te gusta el concepto, la composición y todo eso. Pero no te gusta que tenga seis dedos (razonable). Puedes descargarla, usarla como image prompt, y eliminar la mano:

female pastry chef at the reception of a pastry shop --ar 3:2 
<url de la imagen> female pastry chef at the reception of a pastry shop --no hands --ar 3:2 --iw 2 

También puedes hacer variaciones de una imagen para eliminar letras:

cute facade and shop window of a grocery store --seed 4 
cute facade and shop window of a grocery store --no typography, lettering, text --seed 4

Pero no hace falta que te esperes a una segunda generación. Puedes hacer la primera eliminando directamente algo que sepas de antemano que no quieras que aparezca. Por ejemplo:

exterior of a club with neon lights in a dark alley :: cyberpunk, anime style --ar 3:2 --no red 

Quality

El parámetro Quality (–quality o –q) nos permite generar imágenes más o menos detalladas en función del valor que le pongamos. Las imágenes más detalladas tardarán más en producirse y serán más caras que las normales (y las menos detalladas serán más rápidas y baratas).

Ojo: Que sean más detalladas no significa que tengan mayor resolución. Simplemente, el nivel de detalle de la imagen es mayor.

Ten en cuenta que no siempre que pongas este parámetro al máximo conseguirás mejores resultados. En aquellas imágenes que requieran de un gran nivel de detalle (retratos, mapas, diseños arquitectónicos, etc) pues sí, pero si estás haciendo un logo o un personaje, no tanto.

En Midjourney 5, el valor por defecto es 1, que es, a la vez, el valor máximo. No puedes gastar más para generar imágenes más detalladas. Pero sí puedes reducir el –q para obtener imágenes más rápidas y con menor coste.

Aquí te dejo un ejemplo:

–q 1
–q 0.5
–q 0.25
male necromancer dancing with rabbits --q <lo que sea>

Repeat

El parámetro –repeat o –r te permite generar las cuadrículas de 2×2 imágenes que desees para un prompt dado haciendo un único envío.

Es decir, imagina que tienes un prompt y quieres enviarlo 3 veces.

Con la forma tradicional de trabajar, tendrías que enviarlo una vez, luego copiar el prompt, pegarlo en la caja de escritura de Discord y volver a enviarlo. Y así otra vez más. Y otra más por cada nueva generación que quieras.

Con el parámetro –repeat, nos ahorramos eso. Ponemos al final del prompt –r 3 y Midjourney asumirá que le hemos mandado ese prompt 3 veces y nos generará 3 resultados (12 imágenes en total, porque son 3 cuadrículas de 2×2).

Es muy útil para ahorrar tiempo, pero también es útil para aumentar tu creatividad. Puedes combinar este parámetro con el parámetro Chaos para generar un montón de movidas random y aumentar la probabilidad de descubrir algo interesante.

Seed

El parámetro seed (–seed) tiene bastante miga.

Cuando Midjourney se pone a generar una imagen, “etiqueta” la imagen inicial de puro ruido con un número aleatorio. Es decir, tiene una “etiqueta” para ese punto de partida.

Si el punto de partida es el mismo en dos generaciones y ambas tienen el mismo prompt, el resultado será el mismo.

Pues bien, ese número aleatorio se conoce como semilla o seed.

A nosotros nos puede interesar jugar con ese número para tratar de hacer pequeñas variaciones que mantengan lo esencial de una imagen.

Entonces, podemos hacer dos cosas: O bien obtener la semilla de una imagen que hayamos generado (para ello, reaccionamos a la generación de la imagen con el emoji del sobre, y nos llegará el número de la semilla a nuestro inbox de Discord), o bien especificamos el número para la semilla (en ese caso, usamos el parámetro –seed y un número entre 0 y 4294967295).

Por ejemplo, si generas unas imágenes con este prompt:

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 

Obtendrás cuatro imágenes (digamos, estas):

Si vuelves a usar ese mismo prompt, obtendrás exactamente el mismo resultado (esto de que obtengas “exactamente” los mismos resultados depende de la versión, pero en la 5 son idénticos).

Obviamente, esto aplica a tus generaciones. Si pones ese prompt a generar algo, no te saldrá lo mismo que a mí. Pero si lo vuelves a poner, sí te saldrá lo mismo que te ha salido a ti en un primer momento.

Este parámetro es el único que nos aporta un poco de control, así que viene bien tenerlo en cuenta.

Por ejemplo, nos puede servir para quitar algo que no nos interese vía prompt negativo:

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999
cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --no white, orange --seed 999 

Como ves, al quitar los colores blanco y naranja, los gatos originales pasan a ser pardos o negros.

Aunque, directamente, podríamos decirle que nos genere el gato en el color que queramos:

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 
Yellow cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 

También nos puede servir para quedarnos con la idea general de una imagen, pero cambiar el Aspect Ratio:

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999
cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --ar 3:2 --seed 999 

Lo podemos usar para cambiar elementos (gato por perro, por ejemplo):

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 
dog hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 

También podemos cambiar el estilo, pero ten en cuenta que, en este caso, los cambios serán bastante más bestias. Se mantendrán los elementos, pero cambiará bastante (por ejemplo, pasando de ese “in the style of emotional and dramatic scenes” a “in the style of van gogh”).

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 
cat hunting butterflies, in the style of van gogh, close-up shots, saturated pigments --seed 999

También podemos cambiar el orden del prompt para ver cómo el orden de los elementos afecta al resultado:

cat hunting butterflies, in the style of emotional
 and dramatic scenes, close-up shots, saturated pigments --seed 999
butterflies being hunted by a cat, close-up shots, saturated pigments, in the style of emotional and dramatic scenes --seed 999

Por supuesto, también para jugar con el parámetro caos:

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 
cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 --c 100

O para jugar con el Stylize (hablamos de él en el siguiente apartado):

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 
La imagen tiene un atributo ALT vacío; su nombre de archivo es midjourney63.png
cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 --s 1000

Y, por último, claro, podemos mezclar un poco de todo:

cat hunting butterflies, in the style of emotional and dramatic scenes, close-up shots, saturated pigments --seed 999 
white dog hunting butterflies at the beach, close-up shots, saturated pigments, in the style of botero --no black --s 1000 --c 2 --seed 999 

Jajaja el segundo parece que haya perdido una batalla de paintball.

Obviamente, estas imágenes no tienen nada que ver con las originales… ¡A pesar de partir de la misma semilla (es decir, la misma imagen de puro ruido)!

Es lógico, el prompt ha cambiado muchísimo. Así que, aunque se parta de la misma base, el resultado es totalmente distinto.

Por último…

¡Atención! En la versión 5 de Midjourney no puedes usar el emoji del sobre para obtener la semilla de una imagen a la que has hecho Upscale.

¿Por qué?

En las versiones 4 o anteriores de Midjourney, las cuatro imágenes generadas de primeras compartían semilla (y, por tanto, la imagen de puro ruido), pero estas imágenes no estaban en sus dimensiones máximas.

Para obtenerlas a tamaño grande, tenías que darle a Upscale. Y, al hacerlo, Midjourney tenía que generar una nueva imagen de puro ruido basada en la de menor resolución (para poder llenar el espacio vacío entre la imagen original de la cuadrícula y la final con Upscale).

En ese segundo proceso, aparecía una semilla específica para la imagen a la que hacías Upscale. Y te la podían mandar por mensaje privado usando el emoji del sobre.

En cambio, en la versión 5, las imágenes ya se generan directamente a su máxima resolución. Al hacer clic en Upscale, realmente no se hace un “Upscale”, sino que se separa la imagen de la cuadrícula. Por tanto, no hay esa “segunda semilla” que sí había en versiones anteriores.

Stop

El parámetro Stop (–stop) te permite parar la generación antes de que haya terminado los pasos de denoising que, por defecto, seguiría. En consecuencia, el resultado suele ser menos detallado y más borroso.

Por defecto, viene a 100, pero lo puedes poner en cualquier valor entre 10 y 100.

No me preguntes qué utilidad tiene. Yo no lo sé.

Por ejemplo:

–stop 20
–stop 40
–stop 60
–stop 80
–stop 100
interior design of a church --stop <lo que sea> --seed 888

Como ves, en todos los pasos se atisba el resultado final (que es el mismo que el prompt original sin usar el parámetro Stop).

Stylize

Ya sabes que Midjourney fue entrenado para generar imágenes más artísticas que sus competidores. Pues bien, el parámetro Stylize (–stylize o –s) sirve para determinar cuánto de caso hace Midjourney a su entrenamiento (este parámetro también se entrena con los votos positivos de los usuarios en las imágenes generadas).

Cuanto más alto sea, más caso hará a ese entrenamiento y más sudará de tu prompt. Cuanto más bajo sea, más caso hará a tu prompt, pero menos artístico será el resultado.

¿A qué nos referimos exactamente con “artístico”? Pues a cuestiones de color, composición, formas… Y, sobre todo, nivel de detalle. Si lo dejas bajo y has metido mierda en el prompt, sacarás mierda. Si lo dejas alto, sacarás algo mejor, pero que, seguramente, no se parezca a lo que habías puesto en el prompt.

En la versión 5 de Midjourney, este valor viene por defecto a 100 (aunque puedes modificar ese valor por defecto para tus generaciones desde /settings) y se puede poner cualquier otro entre 0 y 1000 en cualquier prompt que utilices.

Quizá estés pensando que este parámetro, si cuanto más lo subo más pasa de mi prompt, se parece al parámetro Chaos.

Sí y no. Ambos harán que Midjourney ignore más tu prompt cuanto más lo subas, pero “Stylize” lo hará para irse más por la parte de la calidad de la ilustración, añadiendo detalles y haciéndolo más bonito, mientras que “Chaos” lo hará para irse más por la creatividad y la generación random, creando cosas locas.

Digamos que Stylize no hará caso a la parte de los modificadores de tu prompt (pero sí a la descripción), mientras que Chaos no hará caso ni a los modificadores ni a la descripción del prompt.

Aquí un ejemplo:

–s 0
–s 100
–s 200
–s 300
–s 400
–s 500
–s 600
–s 700
–s 800
–s 900
–s 1000
Alexander the Great riding on his horse:: oil painting, highly detailed --s <lo que sea>

Pero hay algo más que mencionar.

Otra forma de entender el parámetro Stylize es que, cuanto más alto sea, más querrá “hacer algo” el modelo. Si no lo subimos, el modelo será más vago y hará lo mínimo necesario. Como tú en el cole.

Sin embargo, por mucho que quiera hacer el modelo, si el prompt sólo tiene un par de elementos, tendrá poco con lo que jugar. Si le damos más elementos, más opciones para esforzarse tendrá.

Por eso, el parámetro Stylize suele tener efectos más potentes (y, a veces, inesperados) en prompts largos.

Por eso, las diferencias entre esto y esto:

–s 0
–s 1000
Alexander the Great riding on his horse:: oil painting, highly detailed --s <lo que sea>

Son menores que entre esto y esto:

–s 0
–s 1000
an eagle flies over the scene of a victorious Alexander the Great riding his horse, many dead soldiers on the ground, the sun is setting --s <lo que sea>

Porque, hasta donde alcanza a comprender mi pequeña cabeza de primate, en el segundo prompt hay muchos más elementos a “estilizar”.

Por supuesto, dejamos de lado todas las incongruencias y cosas raras que hay en la imagen. Nos centramos en el aspecto de los detalles y la estilización.

Por último, mencionar que, en mi experiencia, subir un poco el Stylize tendrá buenos resultados hasta cierto punto. A partir de ese punto (que es variable para cada caso), el extra en estilo que ganaremos será pequeño y correremos el riesgo de que se vuelva “demasiado creativo” sin ganar mucho en la mejora estilística.

Tile

Por último, tenemos el parámetro Tile (–tile), que permite generar imágenes que se pueden utilizar posteriormente de forma repetida para crear patrones continuos.

Quizá no se entienda mucho, con este ejemplo se verá mejor:

La imagen tiene un atributo ALT vacío; su nombre de archivo es midjourney88-512x1024.png
colored drops, pastel colors --tile 

Descárgate esa imagen y súbela a esta web para ver el resultado: https://www.pycheung.com/checker/

Esa es la idea.

No es lo más útil para la mayoría de la gente, pero puede ser útil para ciertos casos. Por ejemplo, podrías, por ejemplo, generar un tile, usarlo para hacer un patrón, descargarlo, y luego mezclarlo como image prompt con otro image prompt de una chica con un vestido blanco, de forma que la mezcla resultante sea la chica con un vestido con dicho patrón.

Por decir algo.

No sé.


Más de 3000 orangotanes ya reciben mis emails

Suscríbete a la Niusleta de Joseo20.

Yo sí mando spam. Cuando tengo que vender, vendo. El resto de tiempo envío emails con temas que considero interesantes.

Hablo de todo lo que me sale de los cojones, no sólo de marketing o negocios. Hay política, filosofía y otras gilipolleces.

Es probable que después de leerla me odies.

Incluye orangotanes.


Entendiendo el prompting en Midjourney

Ahora que conocemos los parámetros, vamos ahora a entender el prompting en Midjourney.

Midjourney admite como prompts las imágenes, los inputs textuales (que nosotros dividimos en descripciones, modificadores de estilo y potenciadores) y tiene parámetros.

Siguiendo el esquema general que dimos en Generalidades sobre el Prompt Engineering en IAs de Imágenes y como hemos hecho en las lecciones anteriores, vamos a ver cada parte del prompt paso a paso, primero con una breve explicación teórica y, luego, con ejemplos prácticos.

Intentaré evolucionar un mismo concepto inicial (creación de un personaje) sumándole cosas al prompt poco a poco. A ver dónde acabamos. Sin embargo, ten en cuenta que no es necesario llenar completamente el prompt con todas las opciones que nos ofrece Midjourney.

Nosotros lo vamos a hacer así para que se vea la evolución y cómo podemos jugar.

Imágenes de partida

En Midjourney, puedes usar imágenes como punto de partida para influenciar la composición, el estilo y los colores de la imagen que deseas generar.

Las imágenes de partida se pueden utilizar tanto solas (en cuyo caso, tendrás que subir un mínimo de dos imágenes), como en compañía de inputs textuales (en este caso, con una sola imagen será suficiente).

Como es obvio, cuanto más se parezcan las imágenes que pases como input, menos original será el resultado (porque todas las imágenes guían a la IA en la misma dirección). Cuanto más variadas sean entre sí, más original y sorprendente será el resultado obtenido.

Para usar imágenes de partida como parte del prompt, tendrás que copiar el enlace de la imagen y ponerlo al principio del prompt. Aunque puedes hacerlo con cualquier imagen online, yo recomiendo hacerlo subiendo la imagen al propio Discord y copiando la URL ahí.

Como truco básico, deberías redimensionar las imágenes que utilices para que todas tengan el mismo aspect ratio que la imagen de salida que vas a generar con Midjourney.

Por ejemplo, si vas a generar una imagen con a 1:1 (cuadrada), sube imágenes cuadradas. Si vas a generar imágenes 2:3, súbelas a 2:3. Aproximadamente.

Cuando uses imágenes y texto como prompt, podrás modificar el peso que quieres que tenga la imagen (o imágenes) en el conjunto del prompt. Para ello, tendrás que usar el parámetro –iw, del que ya hemos hablado antes.

Image Prompting en práctica

Vamos a ver de forma práctica cómo funciona el image prompting.

Por ejemplo, si usamos tres fotos del Perseo de Cellini, nos puede arrojar algo así:

Imágenes de input:

Imágenes de output:

<url imagen 1> <url imagen 2> <url imagen 3> --ar 2:3

(Le añado el parámetro –ar porque las imágenes tienen un aspect ratio cercano a ese y si lo dejase en 1:1 el resultado sería malo).

Como ves, bastante parecido al Perseo de Cellini: Una escultura de bronce de un tío estilizado, desnudo, sobre un pedestal y con cosas en las manos. Es verdad que no queda NADA claro qué coño tiene en las manos, pero bueno, eso nos la pela por el momento.

En cambio, si ponemos una foto del Perseo de Cellini, un fotograma de Ivar con cara de loco y una ilustración de Goku Super Saiyajin 3 nos arroja algo así:

Imágenes de input:

Imágenes del output:

<url imagen 1> <url imagen 2> <url imagen 3> --ar 2:4

Bastante loco, ¿no?

Es cierto que el resultado está lleno de errores (manos, espadas locas, lanzas que se sabe dónde empiezan, pero no dónde acaban, etc) y que parece un moñeco, pero, para ver el efecto de mezclar imágenes, nos vale.

Por cierto, que el fondo sea algo parecido a una ciudad o un edificio o algo así se debe a que la única imagen con fondo es la del Perseo.

Ahora que tenemos las imágenes mezcladas, vamos a coger una y a jugar con ella a través del prompt textual.

Por ejemplo, la primera:

Input textual

Ahora, también podemos añadir un prompt textual para jugar con el personaje creado.

Descripción

La primera parte del prompt textual debe ser la descripción de la imagen.

Sujeto

Y, dentro de la descripción de la imagen, empezamos por los personajes (en este caso, sólo uno).

Le metemos la imagen del personaje que nos ha molado y describimos en qué lo queremos convertir. Por ejemplo, queremos que sea un guerrero cimmeriano con una espada:

<url imagen> muscular cimmerian warrior with a sword

Y ya está, así hemos conseguido un personaje interesante a partir de la mezcla de Ivar, Perseo y Goku. Lo vamos a llamar Iverku (soy el rey del naming).

Acciones

Pero, claro, si no está haciendo nada, pues es un poco truño. Añadamos acciones. Por ejemplo, está enfrentándose a sus enemigos y riéndose con risa loca. 

<url imagen> muscular Cimmerian warrior armed with a sword facing his enemies while laughing with macabre laughter --ar 2:3
Entorno

Ahora, añadamos un fondo o algo de entorno, que se ve muy triste el personaje ahí sin contexto. Vamos a ponerle algo alegre: Un montón de calaveras en un desfiladero:

<url imagen> muscular Cimmerian warrior armed with a sword facing his enemies while laughing with macabre laughter in a gorge on top of a pile of skulls --ar 2:3--ar 2:3 

Bueno, bueno, la cosa va tomando forma. Sigue pareciendo un moñeco, pero eso es porque no hemos metido estilos ni técnicas ni na de na.

Iluminación

Ahora, toca la iluminación. Vamos a ponerle una luz dramática y bien cargada de sombras, que encaje con el rollo:

<url imagen> muscular Cimmerian warrior armed with a sword facing his enemies while laughing with macabre laughter in a gorge on top of a pile of skulls, dramatic lighting, shadows in caravaggio style --ar 2:3 

Es verdad que he metido “Caravaggio style”, que es un modificador, pero es para que pille el rollo de la iluminación y las sombras.

Cámara

Y, ahora, si quisiéramos, podríamos jugar con la cámara, los ángulos y esas mierdas de las que no tengo ni idea. Pero, como hemos usado una imagen de partida, ésta tira mucho y complica jugar con los ángulos de la cámara, incluso con multiprompts o el –iw.

Por tanto, en mi caso, lo voy a dejar tal cual está.

Detalles

Por último, podemos añadir detalles. Metemos algunos adjetivos, unos elementos emocionales, etc. También aprovecho para cambiar el orden del prompt para conseguir destacar lo que más me interesa (recuerda, cuanto más cerca del principio, más peso tiene en el resultado final).

Sin embargo, antes de eso, voy a descargarme la imagen que más me gusta hasta el momento para usarla como base.

¿Por qué?

Pues porque ya le estoy metiendo muchos detalles y, como la imagen de partida sigue siendo muy distinta, el resultado está empezando a no ser el deseado.

Así que me cojo esta imagen:

La meto como image prompt y ahí sí meto ya el prompt con los detalles y consigo esto:

<url imagen> wounded muscular Cimmerian warrior on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style --ar 2:3

Y me quedo con esta:

Modificadores de estilo

Y, ahora que ya tenemos la imagen que queremos, podemos usarla como base para generar las nuevas, donde ya metemos los detalles del estilo.

En este caso, vamos a meterle un modificador de medio (fotograma de película) y un modificador de autor (by Nína Tryggvadóttir, sea quien sea).

<url imagen> wounded muscular Cimmerian warrior on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style, character portrait by Nína Tryggvadóttir, movie still --ar 2:3

Y con eso, suficiente.

Elijo una que me mole, y nos vamos al apartado de potenciadores.

Potenciadores

Ahora, las salsas mágicas. Aquí hay un montón de opciones y apuesto a que ni los mayores expertos saben qué hace cada cosa. Algunas sí son obvias, como los saturados o el 8k, pero otras ni puta idea.

Yo le echo cosas al tuntún hasta que consigo algo que mola. También le bajo un poco el –iw para que el efecto de las palabrejas estas sea mayor.

wounded muscular Cimmerian warrior on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style, character portrait by Nína Tryggvadóttir, captures raw emotions, in the style of emotionally charged scenes, movie still, highly saturated pigments, 8k, gothcore, 32k uhd, disfigured forms, dusan djukaric, andrzej sykut --ar 2:3 --iw 0.75 

Y, en particular, me quedo con esta:

Oye… pero cuánta vuelta, ¿no?

Si has llegado hasta aquí, estarás diciendo “pa este viaje no hacían falta esas alforjas”.

Y es verdad.

Hemos ido paso a paso no porque sea la forma normal de proceder, sino porque quería que se fueran viendo los cambios según íbamos avanzando.

Cuando tú estés haciendo tus propias imágenes, el input textual lo harás casi del tirón y, como mucho, tendrás que hacer algunas modificaciones en base al conjunto del prompt. No irás pasito a pasito como he hecho yo.


Más de 3000 orangotanes ya reciben mis emails

Suscríbete a la Niusleta de Joseo20.

Yo sí mando spam. Cuando tengo que vender, vendo. El resto de tiempo envío emails con temas que considero interesantes.

Hablo de todo lo que me sale de los cojones, no sólo de marketing o negocios. Hay política, filosofía y otras gilipolleces.

Es probable que después de leerla me odies.

Incluye orangotanes.


Parámetros

Para terminar, jugamos un poco con los parámetros para obtener los mejores resultados posibles.

Subimos la imagen, metemos el mismo prompt y empezamos a jugar con los parámetros. En mi caso, lo dejo así:

wounded muscular Cimmerian warrior on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style, character portrait by Nína Tryggvadóttir, captures raw emotions, in the style of emotionally charged scenes, movie still, highly saturated pigments, 8k, gothcore, 32k uhd, disfigured forms, dusan djukaric, andrzej sykut --ar 2:3 --iw 1.25 --s 750

Y, finalmente, me quedo con esta. Te la dejo junto a la original de la mezcla de Perseo, Goku e Ivar pa que veas cómo hemos pasado de algo mu raro y mu loco a algo que mola.

Que, también te digo, podrías haberlo hecho sin el prompt image, pero, insisto, lo que quiero es que veas cómo se puede jugar pasito a pasito y qué efecto tiene cada cosa.

Trucos de Prompt Engineering para Midjourney

Para terminar, vamos a ver algunos trucos de Prompt Engineering para Midjourney:

Permutations en Midjourney: ¿Qué son y cómo funcionan?

Un problema muy habitual en Midjourney era que, una vez llegabas a algo mínimamente interesante y estabas refinando el prompt, tenías que pedir por separado varias generaciones de imágenes.

Por ejemplo, tenías este prompt:

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed --ar 2:3

Te gustaba el resultado y querías usarlo para, por ejemplo, generar un caballero medieval, un luchador de Muay Thai y un reptiliano.

Pues tenías que cambiar el principio del prompt para poner al caballero, enviarlo, luego cambiar el prompt para poner al luchador de Muay Tahi, enviarlo, etc.

Era un coñazo.

Y no digamos ya cuando estabas buscando hacer pequeños cambios de detalle para conseguir un mejor resultado o jugar con los parámetros.

Piensa que, para cambiar 4 partes del prompt, usando 4 posibles opciones en cada una, te obligaba a pedir individualmente 24 generaciones.

Tremenda tocada de huevos.

Pues bien, las permutaciones sirven para resolver ese problema y hacer más fácil este trabajo.

Lo que haces es convertir este prompt:

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed --ar 2:3

En este otro:

{viking warrior with shield, muay thai fighter, reptilian}, full body, rotcore, intense action scene, oil painting, highly detailed --ar 2:3

Si has completado el Módulo de Creación de Proyectos Gitanos de Joseo20, ya estarás familiarizado con el Spin Text. Pues esto es, básicamente, lo mismo. Pero usando comas “,” en vez de plecas “|”.

Lo que pasará aquí es que Midjourney generará un /imagine con cada uno de los conceptos separados por comas que haya dentro de las llaves.

Permutaciones anidadas

Puedes, incluso, meter llaves dentro de llaves para generar más permutaciones:

{viking warrior with {sword, axe, shield}, muay thai fighter, reptilian}, full body, rotcore, intense action scene, oil painting, highly detailed --ar 2:3

Así, tu guerrero vikingo se generará con espada, hacha y escudo en trabajos separados.

¡Cuidado!

Es fácil que se te vaya la olla con esto y hay un par de problemas:

  1. Cada generación gasta horas rápidas, así que es fácil que te las fundas a la velocidad del rayo si empiezas a usar esto en masa. Úsalo sólo cuando sea necesario y con cabeza.
  2. Sólo se procesarán las primeras 40 combinaciones, así que limita las generaciones de tu prompt con permutaciones a 40 combinaciones como máximo.

¿Y cómo sé cuántas permutaciones estoy generando con un único prompt?

Usa esta herramienta: Sp1n.me y pon plecas (|) para separar los elementos a variar en el prompt.

Por ejemplo, para el prompt:

{viking warrior with {sword, axe, shield}, muay thai fighter, reptilian}, full body, rotcore, intense action scene, oil painting, highly detailed --ar 2:3

Déjalo tal que así:

{viking warrior with {sword, |axe, |shield}, muay thai fighter, |reptilian}, full body, rotcore, intense action scene, oil painting, highly detailed --ar 2:3

Pro tip: Puedes dejar las comas, que no afectan a la herramienta, y, de esa forma, luego puedes retirar las plecas con un simple Search & Replace en cualquier editor de texto.

¿Dónde puedo usar las permutaciones?

Las permutaciones pueden utilizarse tanto en el /imagine, como en el Remix, como en el /describe. Así que aprovéchalo, que es un superpoder muy útil y que ahorra mucho tiempo.

Y, sí, puedes usar las permutaciones para permutar parámetros, permitiéndote encontrar la mejor combinación para obtener resultados que sean la hostia.

Para ello, puedes hacerlo de dos modos:

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed {--ar 3:2, --ar 2:3}

Y

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed --ar {3:2, 2:3}

El único caso en el que las permutaciones no funcionarán es si intentas usarlo junto al parámetro –repeat/–r.

También puedes usarlo en multiprompts (hablamos de ellos en el siguiente apartado), tal que así:

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed:: {with shield::2, with shield::1.5}

O

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed:: with shield::{2, 1.5}

Y, para terminar, también puedes usarlo para permutar prompts de imágenes. Por ejemplo, puedes tener un prompt textual que crea un entorno y un estilo y meterle una imagen como image prompt para que el personaje de esa imagen (más o menos) aparezca en ese entorno.

Pues bien, puedes permutar diferentes enlaces a imágenes para probar eso mismo con diferentes personajes de diferentes imágenes.

Algo así:

{<url imagen 1>, <url imagen 2>, <url imagen 3>} standing in a red desert, full body, rotcore, intense action scene, oil painting, highly detailed

¿Y si tengo un elemento que, en sí mismo, incluye una coma?

Imagina que tienes dos combinaciones de estilos que te gusta usar y que sabes que funcionan bien cuando las diferentes palabras están incluidas a la vez. Por ejemplo:

<el prompt que sea> rotcore, intense action scene, oil painting, highly detailed

Y

<el prompt que sea> cyberpunk, 3d render, soft light, sci-fi art

El problema aquí es que tienes que combinar esos dos estilos (que incluyen todos esos términos), pero ya incluyen comas en sí mismos.

Si los permutas tal cual, Midjourney tomará por separado cada elemento y los permutará.

Para evitar esto, debes usar “\” para que Midjourney ignore las comas que quieres que ignore.

El resultado sería este:

<el prompt que sea> {rotcore\, intense action scene\, oil painting\, highly detailed, cyberpunk\, 3d render\, soft light\, sci-fi art}

De esta forma, la única coma que “verá” Midjourney será la que separa “highly detailed” de “cyberpunk”.


Más de 3000 orangotanes ya reciben mis emails

Suscríbete a la Niusleta de Joseo20.

Yo sí mando spam. Cuando tengo que vender, vendo. El resto de tiempo envío emails con temas que considero interesantes.

Hablo de todo lo que me sale de los cojones, no sólo de marketing o negocios. Hay política, filosofía y otras gilipolleces.

Es probable que después de leerla me odies.

Incluye orangotanes.


Multi-prompts en Midjourney: ¿Qué son y cómo funcionan?

A lo largo de la lección, he hablado bastante de multi-prompts. Es el momento de explicar qué son.

Aunque veas un montón de comas en la mayoría de prompts, lo cierto es que Midjourney apenas les hace caso. El resultado que obtienes con comas o sin ellas es básicamente el mismo. Al igual que muchos otros signos de puntuación.

Aquí un ejemplo usando la misma semilla para el mismo prompt con y sin comas:

viking warrior with shield, full body, rotcore, intense action scene, oil painting, highly detailed –ar 2:3 –seed 445
viking warrior with shield full body rotcore intense action scene oil painting highly detailed –ar 2:3 –seed 445

Vemos que no es EXACTAMENTE el mismo resultado, pero, si hubiésemos querido generar a estos vikingos de la nada, nos habría dado igual usar comas o no usarlas. El resultado habría sido satisfactorio igualmente. ¡Incluso hay uno prácticamente idéntico!

Las comas tienen un efecto muy pequeñito en el prompt. Usarlas o no usarlas nos llevará a los mismos resultados en la práctica.

Si quieres separar elementos de forma efectiva, tal y como lo harías con puntos o comas en un texto, deberás usar dos veces dos puntos (así: “::”). Esta es la forma de separar prompts y, por eso, llamamos a este tipo de prompts “multiprompts”.

Mira cómo cambia la cosa si sustituimos las comas por dos puntos:

viking warrior with shield:: full body:: rotcore:: intense action scene:: oil painting:: highly detailed --ar 2:3 --seed 445 

Ahora la cosa sí cambia (aunque usar el multiprompt aquí no tiene mucho sentido, pero bueno, por ilustrar el asunto).

Los multiprompts son formas duras de separar elementos de un prompt, asegurándonos de que Midjourney entiende cada parte por separado. Esto ayuda a que, a nivel semántico, Midjourney comprenda bien qué debe representar.

Un ejemplo podría ser el de “cotton candy”. Si lo que quieres es utilizar los conceptos algodón y caramelos, pero pones ese prompt, lo que conseguirás será algodón de azúcar, porque “cotton candy” en inglés es “algodón de azúcar”. En cambio, si pones “cotton:: candy”, le estás diciendo a Midjourney que debe tratar esos dos elementos semánticos por separado.

Aquí un ejemplo:

girl in cotton candy dress
girl in cotton:: candy dress 

Como ves, el uso de estos separadores no tiene por qué ser correcto gramaticalmente. Lo que buscamos es compartimentar (clusterizar) la semántica del prompt.

Quizá en este caso no se note mucho el efecto, pero en otras palabras compuestas sí puede marcar una gran diferencia (piensa en “heart attack”, “hot dog”, “hot key”, “key master” y muchas otras y cómo pueden alterar la semántica de un prompt).

Además, los multiprompts nos permiten añadir pesos a las distintas partes del prompt. Por ejemplo, si ponemos “cheese cake”, tendremos una tarta de queso. Si ponemos “cheese:: cake”, tendremos una tarta hecha de quesos. Si ponemos “cheese:: cake::1.5”, daremos más peso relativo al concepto de tarta, y nos hará una tarta con queso.

Tal que así:

cheese cake
cheese:: cake
cheese:: cake::1.5

Date cuenta de que los pesos son relativos y parten del valor por defecto 1. Es decir. “cheese:: cake::1.5” hace que “cake” pese un 50% más porque, en la práctica, es como si el prompt fuera “cheese::1 cake::1.5”. Si pusiéramos “cheese::1.5 cake::1.5”, obtendríamos el mismo resultado que con “cheese:: cake::” o “cheese::2 cake::2”, porque hemos equilibrado los pesos.

Por supuesto, llega un punto en el que apenas notas el cambio. A partir de una relación 1:6 (aunque esto varía dependiendo de cada prompt), cada valor incremental apenas se notará.

Y, como eres un tío listo, ahora te estarás preguntando: “¿Y si le pongo un valor negativo?”.

Pues si le pones un valor negativo, eliminarás ese elemento del resultado. En la práctica, será como usar el parámetro “–no«. No obstante, el parámetro –no añadirá un peso negativo de 0.5. Personalmente, prefiero hacerlo mediante ::, porque me permite tener una mayor organización en el prompt y un mayor control de cada parte del mismo (además de poder añadir un mayor peso al prompt negativo, para aquellas ocasiones en que 0.5 no sea suficiente). También he notado que, incluso para el mismo valor de 0.5, el multiprompt negativo funciona mejor que el parámetro –no.

Por cierto, si le pones un valor de 0, será como si esa palabra no estuviera en el prompt. Es decir, Midjourney podría utilizarlo en la imagen generada, pero no lo tomaría como especificado en el prompt y, por tanto, no lo estaríamos intentando forzar a que aparezca. O sea, que poner un valor 0 es una gilipollez.

Para terminar, veamos un ejemplo jugando con los pesos:

lion:: steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514
lion:: steel-made::2 digital paint, highly detailed –ar 4:2 –seed 3435673514
lion:: steel-made::3 digital paint, highly detailed –ar 4:2 –seed 3435673514
lion:: steel-made::4 digital paint, highly detailed –ar 4:2 –seed 3435673514
lion:: steel-made::5 digital paint, highly detailed –ar 4:2 –seed 3435673514
lion:: steel-made::10 digital paint, highly detailed –ar 4:2 –seed 3435673514

Ahora, subamos el peso a lion:

lion:: steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514
lion::2 steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514
lion::3 steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514
lion::4 steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514
lion::5 steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514
lion::10 steel-made:: digital paint, highly detailed –ar 4:2 –seed 3435673514

Date cuenta que no vale la pena subirlo demasiado porque se le va mucho la olla. Creo que es porque trata de destacar los elementos característicos de un león, como la melena, y por eso los resultados son tan raros. Igual que al tratar de resaltar los elementos de “Steel-made” te pone una fábrica porque why not.

Por último, una consideración sobre los multiprompts: Están pensados para ayudar a Midjourney a prestar atención. Los usas para que dé más peso o vea de forma distinta el conjunto del prompt.

Esto significa que, si añades más de 2-3 multiprompts, vas a hacer que Midjourney tenga los mismos problemas que tenía con el prompt simple: No va a saber en qué fijarse, en qué poner atención y en qué poner más énfasis.

Por tanto, no abuses de los multiprompts y úsalos con cabeza.

Duplica partes del prompt para otorgarles un extra de peso

Este truco lo descubrí intentando quitar un elemento de una imagen (no recuerdo qué era). El parámetro –no no funcionaba, así que usé ::-1, pero tampoco funcionaba.

Y el problema es que la suma de los pesos en el multiprompt tiene que ser 0 o más. Por tanto, no puedes poner ::-2 para que ese prompt negativo sea más fuerte (la suma sería -1).

Así que lo que hice fue duplicar el prompt y, de esa forma, parece que le puse más peso a esa parte del prompt.

La verdad, he estado buscando algún ejemplo donde poder replicar esto y no lo encuentro. Los que estoy sacando con ::-1 se arregla. Pero, bueno, si te encuentras con esa situación, haz la prueba. A mí me funcionó.

Prompt completo junto a prompt con pesos para cosas que no aparecen

¿Te pasa que metes una descripción y a Midjourney le suda la polla? ¡Tranquilo!

Otro truco que funciona bastante bien es usar un prompt completo y luego añadir un multiprompt con pesos extra para aquello que no está apareciendo en la imagen.

Volvamos a nuestro guerrero cimeriano:

<url imagen> wounded muscular Cimmerian warrior with many tattoos on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style, character portrait by Nína Tryggvadóttir, captures raw emotions, in the style of emotionally charged scenes, movie still, highly saturated pigments, 8k, gothcore, 32k uhd, disfigured forms, dusan djukaric, andrzej sykut –ar 2:3 –iw 1.25 –s 750
<url imagen> wounded muscular Cimmerian warrior with many tattoos on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style, character portrait by Nína Tryggvadóttir, captures raw emotions, in the style of emotionally charged scenes, movie still, highly saturated pigments, 8k, gothcore, 32k uhd, disfigured forms, dusan djukaric, andrzej sykut:: cimmerian warrior have many tattoos in his skin::2 –ar 2:3 –iw 1.25 –s 750

Como ves, el primero no tiene tatuajes a pesar de estar en el prompt. El segundo sí los tiene, porque le hemos añadido importancia metiéndole al final un prompt secundario que “apuntala” una idea del prompt grandote.

Eso sí, esta técnica sólo funciona si en el prompt original (el completo, el grandote) no has usado multiprompts.

Además, aunque yo he usado ::2, lo mejor es tratar de poner lo mínimo posible para lograr que aparezca el elemento deseado. Lo que queremos es darle el peso mínimo para que aparezca, no para que se coma el prompt original.

Repite palabras para que aparezcan

Sí, así de simple. Si, a pesar de usar la técnica anterior, no logras que aparezca el elemento que falta, repite la palabra hasta que aparezca.

Vamos a poner tatuajes a nuestro guerrero cimeriano:

<url imagen> wounded muscular Cimmerian warrior with many tattoos tattoos tattoos tattoos tattoos tattoos tattoos tattoos tattoos tattoos tattoos tattoos on top of a pile of rotten skulls in a gorge, fully covered in blood armed with a sword facing his enemies while laughing with macabre laughter, dramatic lighting, shadows in caravaggio style, character portrait by Nína Tryggvadóttir, captures raw emotions, in the style of emotionally charged scenes, movie still, highly saturated pigments, 8k, gothcore, 32k uhd, disfigured forms, dusan djukaric, andrzej sykut --ar 2:3 --iw 1.25 --s 750 

Y de paso hemos conseguido que se ría, que antes no se reía tanto.

Usa el image prompt para una (mediocre) aproximación al img-to-img

También puedes usar esta opción como una aproximación al img-to-img, tratando de lograr que la IA cree algo guapo con una imagen que tú hayas hecho. Pero el resultado no es muy bueno (quizá si haces algo con suficiente calidad, sí, no lo sé).

Te pongo un ejemplo con esta obra de arte hecha con Paint:

Y esto lo que genera Midjourney al pasarle mi obra de arte y un prompt diciéndole lo que quiero:

<url imagen> full body dinosaur spitting fire from its mouth –iw 0.75 --ar 4:2 

Me gusta más la mía, la verdad.

También te digo que puedes pedirle que haga directamente la imagen sin usar un image prompt dibujado por ti de mala manera. Además, date cuenta de que ese img-to-img es mucho más pobre que en Stable Diffusion.

Fíjate que, si no le paso esa imagen como prompt image y uso el mismo input textual, me genera algo bastante diferente:

 full body dinosaur spitting fire from its mouth --ar 4:2

Usa /describe para obtener ideas para tus prompts

Por supuesto, usa el /describe para generar ideas para tus prompts. Según he podido notar, /describe funciona bien para estilos y conceptos generales. Sin embargo, sigue flaqueando en temas de composición.

Pero para obtener ideas para potenciadores y modificadores de estilo viene de puta madre. Algunos de los términos que usé para hacer al guerrero cimeriano los he sacado con esta técnica. Si no de qué iba a conocer yo a Nína Tryggvadóttir.

Juega con el /describe después de usar el parámetro Chaos

Una buena forma de expandir tu creatividad es generar imágenes con niveles de Chaos diferentes y, cuando salga algo loco pero interesante, descargar la imagen y pasársela al /describe para que te dé un prompt útil para recrear lo que has generado por azar.

El Remix Mode es mágico

Me encanta el Remix Mode. Puedes usarlo para generar variaciones y cambiar los personajes, los fondos… Lo que sea. Y, si no lo consigues a la primera, puedes jugar con los pesos en un multiprompt y lograr lo que buscas. Es fácil y consigues una buena variedad para ir, iterativamente, acercándote a lo que deseas.


Más de 3000 orangotanes ya reciben mis emails

Suscríbete a la Niusleta de Joseo20.

Yo sí mando spam. Cuando tengo que vender, vendo. El resto de tiempo envío emails con temas que considero interesantes.

Hablo de todo lo que me sale de los cojones, no sólo de marketing o negocios. Hay política, filosofía y otras gilipolleces.

Es probable que después de leerla me odies.

Incluye orangotanes.


Deja un comentario